I am trying to use a BaneBots BB-3-9 speed controller to control some larger motors. I am new to Arduino, and have not been able to get this to work. From what I have read (and please correct me if I am wrong), it is expecting to be talked to like a servo, with pulses. I have been able to get my motors turning a little, but I think it was probably a fluke. I would really appreciate any help at all, and any push in the right direction (maybe some sample code or something?). I can post the code I am using now if that would be helpful. Basically I have been using the servo library, with some results, and I also tried the analogWrite() function, which didn't work at all. I saw this post on these forums, and was wondering if these suggestions would also work for me:
The Arduino should be able to communicate with the controller via any of the supported modes. Mode 1: analog Use the analogWrite() command. They say you'll need a resistor/capacitor filter on the output pin. You'll have to use one of the pins labeled with "PWM". Mode 2: R/C Use the Servo library. Treat it like a continuous-rotation servo. You'll have to use either pin 9 or pin 10. Mode 3: simplified serial Connect the Rx/Tx lines (pins 0 and 1, they're labeled) to the controller as per the spec. Use code like the following: Code:
Serial.begin(9600); Serial.print(127); // idle Serial.print(255); // full forward Serial.print(0); // full reverse
Note that you'll have to set the baud rate using DIP switches on the motor controller. Mode 4: Packeted serial Physical connections will be exactly the same as the serial. You'll just need to send slightly more complex packets over the serial interface.
Any help would be much appreciated!