I have a problem that’s driving me crazy. I expect that if I explain it here, you’ll point out something obvious that I’ve missed.
I have two guitar-picking robots that use the Micro Maestro 6 servo controller. See:
For each robot, I have an Arduino Uno board that recieves MIDI and sends commands to the servo controller using the Arduino library posted on the Pololu resources page. Each has a separate 5 volt, 10 amp power supply. The two power supplies are delivering a little bit more than 5V–one of them is at 5.24V, the other at 5.3V. The Arduino, the servo controller board, and the servos are all driven from the same power supply:
Power supply in --> Arduino Vin
Power supply in --> Micro Maestro 6 VIN
Power supply in --> Micro Maestro Servo Power +
Power supply ground --> Arduino Ground --> Micro Maestro GND --> Micro Maestro Servo Power -
The Micro Maestro 6 baud rate is set to 32000 via the Pololu Maestro Control Center application, and in the Arduino sketch.
The servos are all PowerHD DSM 44s (specs are here: https://www.pololu.com/product/2142).
The setup performs perfectly when the Micro Maestro 6 controllers are plugged into USB. The Pololu Maestro Control Center is not running.
The trouble starts when I unplug the USB cable. In general, things work well for a minute or two. After that, the controller starts missing commands, garbling commands, and swinging servo arms around at random. This happens when the servos are not under any load (when I’ve disconnected the motors from the shafts that let the robot pick the strings).
Plug USB back in again, and everything works perfectly.
This sounds like a serial communication mismatch, to me. What is the obvious thing I’m missing? Does the The Pololu Maestro Control Center application set the baud rate at the driver level, and not on the board itself?
The point is for humans to be able to pick up the guitar and improvise with the preprogrammed picking patterns (fretting with both hands is fun). I really need to be able to deploy these without a USB cable running to a computer.