Topics

RUMBA Boards


@Northwind
 

A few months ago, I found a telescope stand with an equatorial mount at Value Village for $20. I ordered a 70mm refractor from Orion and soon added a stepper drive run on an Arduino Nano.

Having had glimpses of interesting objects, such as the rings of Saturn, I soon felt the need for something bigger. I've ordered an 8" reflector on a Dobsonian mount, which won't arrive until near Christmas. This gives me time to work on the hardware to drive the mount. I just completed two 102:1 worm drive units with NEMA 17 steppers, which will in turn drive 20:200 belt reduction pulleys to the Alt and Azimuth functions.

Having found a few references in this group to the possibility of using Rumba boards for OnStep operations (in 2017), I'm wondering whether anything further has been done in this regard. I happen to have two spare RUMBA boards and a supply of TMC2130 drivers, so I would prefer to use these if possible. I can, of course, use Arduino boards and make up whatever circuit boards I need. I have UNOs and Nanos on hand.

Thanks in advance for any response.

Mike


Howard Dutton
 
Edited

I added support for the RUMBA board to the latest master branch OnStep.
Naturally you will have to test and hopefully the pinmap is good and works and will not damage your hardware.

The marked up schematic is attached, also see the Pins.Rumba.h file.


Howard Dutton
 

The marked up schematic image was too large for a message so I dropped it into the Photos section here:
https://onstep.groups.io/g/main/album?id=256103


Howard Dutton
 

On Mon, Nov 2, 2020 at 07:19 AM, Howard Dutton wrote:
The marked up schematic image was too large for a message so I dropped it into the Photos section here:
https://onstep.groups.io/g/main/album?id=256103
Even then it's a large image and needs to be downloaded and viewed to really see everything, but it's all there.


@Northwind
 

Thank you so much for putting in so much work to put this technology into our hands. I'm just at the beginning of my journey, so I think this group will be a big help.

Time to start cutting the aluminum for the 200-tooth timing belt pulleys.


Howard Dutton
 

On Mon, Nov 2, 2020 at 03:16 AM, @Northwind wrote:
and a supply of TMC2130 drivers, so I would prefer to use these if possible.
No problem, but keep in mind you're going to be up against being a new user and on newly supported (somewhat) experimental h/w.  Seems like the drive ratios at ~1000:1 overall are reasonable so you are moving in the right direction to start with, a good sign.

Anyway, with TMC2130's this new pinmap uses an SPI bus and drivers w/SPI pins up are generally required, similar to these:

https://www.ebay.com/itm/BIGTREETECH-TMC2130-V3-0-SPI-Stepper-Motor-Driver-Silent-For-SKR-V1-3-V1-4-Turbo/273852620118?hash=item3fc2e35d56:g:NEEAAOSwx4Rc36U7

Naturally there are probably other more elegant and difficult ways for those skilled enough to do the soldering.  At any rate everything extra (beyond EN,Step,Dir) that goes to the drivers is on the "EXP1" header MISO, CLK, MOSI, and all 5 CS pins.


@Northwind
 

Thanks for the tip on the drivers. Mine are V1.0, so I ordered the SPI version of the ones you suggested.

I got the 200-tooth pulleys done today. Interestingly enough, GT2 timing belt pulleys can also be meshed directly and used as gears. Especially useful for the ALT mount modifications.


@Northwind
 

Just an update. I have uploaded OnStep to the Rumba board. It took a while to clear all of the error messages. Almost all of them had to do with the RTC. That's mostly because I downloaded a set of  RtcDS3231 files in order to set the time on my RTC board. Had to do an #include for each of the files in the set. It felt really good when it finally loaded. It responds properly to the :GVP# command.

Your pinout diagram helped me find all of the necessary SPI and I2C connections. I just now sorted out the ST4 pins.

Still waiting for the TMC drivers to arrive. That could take until January, but hopefully sooner. It will be great to see the steppers moving at their prescribed rates. The worm gears make 1.4 revolutions per day on my GEM driver.

Is it possible to use a Nano to build the SHC? I might give that a try. Makes a good winter project.


@Northwind
 

I finished building the SHC, with the ESP32 board and an SSD1306 display. I can't upload the configured sketch to it because I can't find any place to define the processor. I would have thought it would be in the config.h file, but I can't find it there. I've looked in quite a few other files in the set, but no joy. Where do I look to set this designation?

Thanks.


Khalid Baheyeldin
 

On Wed, Nov 18, 2020 at 01:36 PM, @Northwind wrote:
I can't upload the configured sketch to it because I can't find any place to define the processor. I would have thought it would be in the config.h file, but I can't find it there.
The microcontroller type is defined in the Arduino IDE.
Go to Tools, then Board, then select ESP32 Dev Module.


@Northwind
 

Thanks, Khalid. In my case, it was the NodeMCU-32s board. It kept timing out on connection, so I went back to the Amazon listing, where it mentioned that you had to press the IOO button for a couple of seconds in order to upload. That worked. Even got a message on the display for a few seconds.

I'll try connecting it to the RUMBA board after lunch.


@Northwind
 

The SHC powers up and displays the OnStep splash, followed by "Establishing Connection", but times out. Without the ST4 wiring connected to the JTAG header, I'm reading 4.9V on pins 4 & 7 (as expected), and 4.09V on pins 1, 3, 5 & 9. I have ST4_INTERFACE set to ON (not ON_PULLUP). I don't see any surface-mount resistors associated with the JTAG header.

Is there some setting in the OnStep sketch that I need to look at, or should I remove the pull-up resistor array(s) from the SHC?


Khalid Baheyeldin
 

If you don't have any resistors on the pins that connect to the SHC, then it may not work at all.
For other boards, we need a resistor network on those lines inside the OnStep controller.


Howard Dutton
 

On Wed, Nov 18, 2020 at 02:28 PM, @Northwind wrote:
I have ST4_INTERFACE set to ON (not ON_PULLUP). I don't see any surface-mount resistors associated with the JTAG header.
Unless you add external resistors your only hope of it working is to use ON_PULLUP.  External resistors (about 2k) are recommended.


@Northwind
 

That confuses me a bit. As stated, the pins on the Rumba are already high. Adding more pull-ups (physical or software) won't change that. It did occur to me after I sent that last post that the long resistor array was on the buttons and not the main ST4.

Tomorrow, I might try looking at the RA+ and DE+ lines with the DSO, just to see if the SHC is trying to talk - or at least, how effective it is.


Mike Ahner
 

On Wed, Nov 18, 2020 at 10:51 PM, @Northwind wrote:
That confuses me a bit. As stated, the pins on the Rumba are already high. Adding more pull-ups (physical or software) won't change that.
Are they high or are they only floating? Many micros will float high with no load or no pullups/pulldowns, but they are just floating because of the internal state of the pin driver, particularly if the pin is open-collector. (Quite common)

I would expect your DSO to show the pins are floating and with a load (the SHC), are no longer valid high, perhaps in undefined voltage territory.


Dave Schwartz
 

With some MCUs, most notably those from ST Microelectronics, the built-in pullup resistors are quite weak. The specification is minimum 30K, maximum 50K and typical 40K ohms.

This means that the current through those resistors is quite low and only to the 3.3V supply even though the pin may be 5V tolerant. It also means that if external electromagnetism on the cable (antenna) causes all the positive charge carriers to rush to the far end, a low value will be left at the pin which the resistor will not allow to be filled quickly enough (at 82 microamps) to prevent the pin circuitry from detecting the high-to-low transition causing a glitch in the communications. The pin on the SHC MCU is more than capable of sinking 82 microamps so when it drives the signal line low, OnStep knows the SHC did it intentionally and that it really meant it

That's why we add a pullup resistor nearly 20x stronger (and to 5V on those MCUs where the pin is 5V tolerant)... it provides much higher noise immunity.

On 2020-11-19 1:18 a.m., Mike Ahner wrote:
On Wed, Nov 18, 2020 at 10:51 PM, @Northwind wrote:

That confuses me a bit. As stated, the pins on the Rumba are
already high. Adding more pull-ups (physical or software) won't
change that.

Are they high or are they only floating? Many micros will float high with no load or no pullups/pulldowns, but they are just floating because of the internal state of the pin driver, particularly if the pin is open-collector. (Quite common)

I would expect your DSO to show the pins are floating and with a load (the SHC), are no longer valid high, perhaps in undefined voltage territory.


@Northwind
 

Good point, but I would expect floating values to be somewhat random. All of these pins were exactly the same value.I'm inclined to think Dave has a good point (later post) and the built-in resistors are on the weak side.


@Northwind
 

I can see your point, Dave. It would be easy to test with any load.

Okay. I placed a 40k resistance across the meter probes. With no load, supply voltage is 4.943V and the signal pins are all at 4.910V. With the 40k load, supply stays at 4.943, while the signal pins drop to 2.545V. Pulling the internal resistor to ground draws 0.15 mA, so the internal resistor is around 33k.

I'll add 2k resistors from +5V to the main ST4 connections and see what happens.

Thanks, Dave.