When I first built this Stewart Platform I had never worked with 6 stepper motors at once. I didn’t spend a lot of time looking for electronics because I already had some available in the store – Adafruit Motor Shields stack to so you can control up to 64 steppers at once. When I ran my first tests the shields showed a down side: the time it takes for the Arduino to talk to the shields can be measured in milliseconds. Doesn’t sound like much, does it? I have 6 steppers that have 400 steps per turn and I’m using 1/16th microstepping. To move 1/2 turn means 200*16=3200 steps each. If it takes 3 milliseconds (3000 microseconds) to make one step then moving all 6 steppers 1/2 turn takes 57.6 seconds. That’s fine for some other applications but it’s unacceptable for this project and my future work.
I turned to the people I know who have the most knowledge with moving a lot of motors: irc.freenode.com#reprap. Whenever I get stuck on a problem and Google can’t help me I turn to IRC for some live help. There I learned about the RUMBA control board from reprapdiscount.com. They even had a reprap wiki page that gives all the technical details I need. Order arrived quickly and works like a charm. How great? The Adafruit boards take 3000 microseconds to make a step. The RUMBA takes less than 150 for all six steppers. That means the same move as before takes 1.28 seconds. ZOOM!
Long story short, I’m going to be ordering more of these boards and using them in Stewart Platforms. I’ll keep using the Adafruit boards for my 7 and 8 stepper projects, too…until someone sends me a 7 or 8 stepper control board.
Edit: The firmware for the new controller is in the same github project, https://github.com/MarginallyClever/RotaryStewartPlatform2. ./firmware_rumba_minimal has the same program as ./firmware_ams2 (adafruit motor shield 2), with one addition: M17 (enable motors) is the opposite of M18 (disable motors).