Rogue Part 3: Starting with the Sabertooth 2x25
Back to Part 2
So far, I'm pretty happy with the Sabertooth 2x25. Since it was the easiest way to verify that I wired the motors properly, I connected a Futaba R/C Car controller and receiver, and set it up for mixed mode. Not too unexpectedly, it jumped around a bit as I turned everything on, but first wiring attempt was a charm! I didn't even have to change the polarity of the motor connections. I had to play with the trim settings so it would actually rest, and decided that exponential response was smarter since it peeled out with the slightest forward or reverse stick.
Looking at the datasheet from Dimension Engineering, it's pretty clear that the authors are R/C guys, not programmers and probably not too familiar with digital device datasheets...I am a fan of truth tables, so I made this one up.
| Mode 1: Analog Input | ||||||
| SW1 | SW2 | SW3 | SW4 | SW5 | SW6 | |
| Lithium Cutoff Disabled | ON (UP) | ON (UP) | ON (UP) | X | X | X |
| Lithium Cutoff Enabled | ON (UP) | ON (UP) | OFF (DOWN) | X | X | X |
| Mixed Mode | ON (UP) | ON (UP) | X | ON (UP) | X | X |
| Independent Mode | ON (UP) | ON (UP) | X | OFF (DOWN) | X | X |
| Linear Response | ON (UP) | ON (UP) | X | X | ON (UP) | X |
| Exponential Response | ON (UP) | ON (UP) | X | X | OFF (DOWN) | X |
| Standard Sensitivity | ON (UP) | ON (UP) | X | X | X | ON (UP) |
| Exponential Sensitivity | ON (UP) | ON (UP) | X | X | X | OFF (DOWN) |
| Mode 2: R/C Input | ||||||
| SW1 | SW2 | SW3 | SW4 | SW5 | SW6 | |
| Lithium Cutoff Disabled | OFF (DOWN) | ON (UP) | ON (UP) | X | X | X |
| Lithium Cutoff Enabled | OFF (DOWN) | ON (UP) | OFF (DOWN) | X | X | X |
| Mixed Mode | OFF (DOWN) | ON (UP) | X | ON (UP) | X | X |
| Independent Mode | OFF (DOWN) | ON (UP) | X | OFF (DOWN) | X | X |
| Linear Response | OFF (DOWN) | ON (UP) | X | X | ON (UP) | X |
| Exponential Response | OFF (DOWN) | ON (UP) | X | X | OFF (DOWN) | X |
| Standard R/C Mode | OFF (DOWN) | ON (UP) | X | X | X | ON (UP) |
| Microcontroller Mode | OFF (DOWN) | ON (UP) | X | X | X | OFF (DOWN) |
| Mode 3: Simplified Serial | ||||||
| SW1 | SW2 | SW3 | SW4 | SW5 | SW6 | |
| Lithium Cutoff Disabled | ON (UP) | OFF (DOWN) | ON (UP) | X | X | X |
| Lithium Cutoff Enabled | ON (UP) | OFF (DOWN) | OFF (DOWN) | X | X | X |
| 2400 baud | ON (UP) | OFF (DOWN) | X | ON (UP) | ON (UP) | X |
| 9600 baud | ON (UP) | OFF (DOWN) | X | OFF (DOWN) | ON (UP) | X |
| 19200 baud | ON (UP) | OFF (DOWN) | X | ON (UP) | OFF (DOWN) | X |
| 38400 baud | ON (UP) | OFF (DOWN) | X | OFF (DOWN) | OFF (DOWN) | X |
| Slave Select Disabled | ON (UP) | OFF (DOWN) | X | X | X | ON (UP) |
| Slave Select Enabled | ON (UP) | OFF (DOWN) | X | X | X | OFF (DOWN) |
| Mode 4: Packetized Serial | ||||||
| SW1 | SW2 | SW3 | SW4 | SW5 | SW6 | |
| Lithium Cutoff Disabled | OFF (DOWN) | OFF (DOWN) | ON (UP) | X | X | X |
| Lithium Cutoff Enabled | OFF (DOWN) | OFF (DOWN) | OFF (DOWN) | X | X | X |
| Address: 128 | OFF (DOWN | OFF (DOWN) | X | ON (UP) | ON (UP) | ON (UP) |
| Address: 129 | OFF (DOWN) | OFF (DOWN) | X | OFF (DOWN) | ON (UP) | ON (UP) |
| Address: 130 | OFF (DOWN) | OFF (DOWN) | X | ON (UP) | OFF (DOWN) | ON (UP) |
| Address: 131 | OFF (DOWN) | OFF (DOWN) | X | OFF (DOWN) | OFF (DOWN) | ON (UP) |
| Address: 132 | OFF (DOWN) | OFF (DOWN) | X | ON (UP) | ON (UP) | OFF (DOWN) |
| Address: 133 | OFF (DOWN) | OFF (DOWN) | X | OFF (DOWN) | ON (UP) | OFF (DOWN) |
| Address: 134 | OFF (DOWN) | OFF (DOWN) | X | ON (UP) | OFF (DOWN) | OFF (DOWN) |
| Address: 135 | OFF (DOWN) | OFF (DOWN) | X | OFF (DOWN) | OFF (DOWN) | OFF (DOWN) |
We rewired the motors with some super-flexible and super-tough cables. The original wires were really stiff, and showed signs of warmth at a couple of points. Now, the wires are long enough for point-to-point wiring rather than the daisy-chain of connections we started with. We removed the brakes that were on the motors, and we're not sure if we want to put them back on. We need to look up the spec sheet for them (thanks for good labeling by manufacturers), since they get hot fast when we connect them to 24 volts directly (a lot hotter a lot faster than when they're energized by the chair's original brain).
The plan is to run the Sabertooth in Packetized Serial Mode. We're thinking about using a nRF24L01+ radio link, connected to a Wii nunchuck. Joystick control will be just a small part of its movement, but one of the easiest to implement. We'll use one of the buttons on the nunchuck as an override just in case intelligent motion isn't quite so intelligent when we try new capabilities. We want to have a pretty capable remote control, but want to use it for giving it behavioral commands rather than real-time joystick control.
Next step will be to dig into capturing the nunchuck signals with an Arduino. Once it looks like we're properly reading the nunchuck, we'll hookup all three and give it a whirl. Then, we'll set up the radio link and start building the behavioral and sensory hardware and software.