I’m getting some interesting problems with the controller. Here’s the story:
I’m trying to get two motors running on the controller using serial commands sent from an old Handyboard (I HAVE to use the Handyboard for school). I have tested the data using the Pololu Serial Transmitter utility for Windows and everything works as expected. I can transmit any data I want and the utility detects it just fine.
Now to the tricky part. When I try to send the data to the motor controller, it does a lot of weird things. I’ve seen it do a few:
(in order of frequency, most frequent first)
Nothing. No lights, no nothing.
Run one motor full speed for about 1 second, then pulse the other motor every second indefinitely. (I think this is an error code, but the manual has no mention of error codes)
Run the motors constantly, but not quite the way I asked. Either the direction will be wrong, the speed, or the motor.
Rarely, it will do what I asked it to.
I have tried several things to fix the problem:
Shortened the wire from the handyboard to the controller to about 2 inches and soldered it in.
Added small capacitors across the motor leads.
Run the data transfer at multiple baud rates (9600, 4800, 2400, 1200)
Reset the controller before sending the data (and waiting 100mS for the controller to come back on of course)
First, is there any documentation for the LED error codes? What would cause it to pulse the motors in that pattern?
Next, what else could I try to get this thing running? I’m running out of time before the next project milestone and I have to get this thing going.
Your problems are probably coming from noise on the serial line. What you suspect to be an error code is probably the behavior when you change the motor number. What kind of power supply or supplies are you using? Can you post some pictures of your setup? Do you have access to an oscilloscope?
I wish I had access to an oscilloscope. Unfortunately, nobody at the University of Utah thinks mechanical engineers need that kind of stuff, even though we’re supposed to design and build autonomous robots.
I kinda suspected noise as well. That’s why I tried to shorten the serial wire. After I posted, I decided to write a for loop which sent a new motor instruction every 20mS. The LEDs blink sporadically for a few seconds and then I’ll get one long flash and infinite short flashes, one every second. I also got some other weird patterns. One of the patterns is that one LED will start flashing about twice a second indefinitely.
Anyway, since our group has to have a moving robot in two days, we decided to just use a PWM controlled motor driver (that’s what the handyboard was designed for, serial motor control is kind of a hack). We might need to use this controller later and I would love to get it working so I’ll keep you posted.