Help - Pololu SMC05A LowVoltage Dual Serial Motor Controller

Ok, so I have an Arduino Duemilanove and a Pololu SMC05A Low-Voltage Dual Serial Motor Controller.

I’ve hooked up everything like in the diagram in this thread:

With the exception that I have some makeshift 2 battery holders.

Here are some photos:
http://img5.imageshack.us/img5/5272/img4062v.jpg
http://img858.imageshack.us/img858/6717/img4063n.jpg

(I’ve connected the motor controller to a breadboard (without those rail things…) using headers that came in the same plastic package as the motor controller. The black part of the headers are above the motor controller.)

I’ve tried the code here: http://psurobotics.org/wiki/index.php?title=Pololu_Dual_Serial_Motor_Controller like Tommy in the thread I linked above, and also I tried the code here: https://forum.pololu.com/t/additional-chassis-level/41/1.
It did nothing but a light in the motor controller made a very faint and small red blink and that was all. Last night for a few hours I researched, experimented, mixed and matched programs and wirings, but the same result or no blink.

I have a “GM9 - Gear Motor 9” (http://www.robotshop.com/ProductInfo.aspx?pc=RB-Sbo-07).

Hopefully you can see it in this photo:
http://img860.imageshack.us/img860/1378/img4065.jpg

I haven’t done any configuration for the motors/motor controller.

Does anyone know how to make this work? Is the wiring correct? Maybe the program is wrong?

Thanks in advance!

[b]EDIT: I fixed the first image’s URL.

EDIT2: I bought and tried an actual 2 AA battery holder, still the motors don’t move at all… no lights either on the motor controller. :([/b]

Hi,

I am using the SMC05A with Arduino Duemilanove. I would suggest the following steps:

  • Remove the motor connections from the Controller, these include Pin 1 (motor supply) and Pins 6-9, Motor 0 & 1 outputs
  • Connect the reset line of the Motor controller to Pin 13 or the Aruduino.
  • Modify the Program in the link you have provided (psurobotics.org/wiki/index.php?t … Controller) to re-define reset pin as #define resetPin 13
  • Run the program. You should see the Motor control leds slowly cycling red/green.
  • Once you know that you are communicating with the controller, you can re-connect the motor connections.
  • After connecting the motors, if the motor controller leds stop intermittently, you may have some noise issues. Follow the pololu guidelines of soldering capacitors between motor terminals and motor casing.

The reason for moving the reset pin to Pin 13 of the arduino is that Pin 13 has a pull-up resistor on the Duemilanove boards. You can stay on Pin 8, if you do, add a 20K pull up resistor to Vcc.

Hope this helps.

Hello,

Thanks for your response!

I followed your instructions:
I removed the external battery supply of the motor controller and the motor wires. So I left the 2nd (the wire connecting to the Arduino ground pin I left, I removed the external battery ground), 3rd, 4th, 5th pins. I reconnected the Reset pin to 13, and left the Serial to 7.

I tried the program after changing the resetPin to 13, and the motor controller did nothing. On my Arduino the L LED lit up and stayed lit, but no lights on the motor controller.

Could I have possibly broken my motor controller? I don’t remember ever seeing smoke or hearing an explosion from the motor controller…?

EDIT: Also in the program it says:

Should I change this? I have nothing connected to digital pin 6.

EDIT2: Forgot to add this: Before checking this thread (and so not reading your post) I tried the setup and code here: http://www.robotshop.com/content/PDF/arduino-pololu-motor-controler-code.pdf
Again nothing happened.

Thanks again!

Hello.

You should not be disconnecting the motor power supply, just the motors. It should be easy to tell if your motor controller is still functioning; just disconnect everything (including the reset pin) and apply power.

- Ben

I do not know what is going on in your case… it could be broken.

Just to confirm, I am connecting to the RST and SER pins on the motor controller on the side with the 9-pin header, not on the 3-pin header. I do not get any continuity between the RST/SER pins from one header to the other.

Perhaps someone from Pololu can educate us on what the RST and SER pins on the 3-pin header do.

[quote=“Rocobics”]Hello,

Thanks for your response!

I followed your instructions:
I removed the external battery supply of the motor controller and the motor wires. So I left the 2nd (the wire connecting to the Arduino ground pin I left, I removed the external battery ground), 3rd, 4th, 5th pins. I reconnected the Reset pin to 13, and left the Serial to 7.

I tried the program after changing the resetPin to 13, and the motor controller did nothing. On my Arduino the L LED lit up and stayed lit, but no lights on the motor controller.

Could I have possibly broken my motor controller? I don’t remember ever seeing smoke or hearing an explosion from the motor controller…?

EDIT: Also in the program it says:

Should I change this? I have nothing connected to digital pin 6.

EDIT2: Forgot to add this: Before checking this thread (and so not reading your post) I tried the setup and code here: http://www.robotshop.com/content/PDF/arduino-pololu-motor-controler-code.pdf
Again nothing happened.

Thanks again![/quote]

The 3-pin header is for making RS-232 serial connections. The RST pin is connected to the board’s reset through a level-shifter, so you can use an RS-232 serial handshaking line like DTR or RTS to reset the board. The SERIN pin can be connected directly to an RS-232 TX line.

- Ben

Thanks for all the responses.

Nothing seemed to work, I don’t know, maybe I damaged it with all my experimenting with it that night…
But right now I’m getting a Adafruit Motor Shield, hopefully that will work. :smiley:

I’ve just been playing around with this myself and noticed none of the forums I found have a solution to this problem. So far, the only solution I have found is to leave the reset pin (both of them) floating. For some reason once the output goes above a certain threshold (round about 10% capacity) the reset pin is unable to remain HIGH on the arduino (perhaps the driver trying to pull too much current from it? I haven’t tested why this happens, it just does) and since the pin is no longer HIGH, the driver powers off!
I am using an DFRduino Mega (Arduino Mega 1280 clone) and as such am able to use Serial2 for sending commands to the driver instead of requiring SoftwareSerial. Motor power is coming from 3 parallel LiPo cells (3.6ish volts) running a Tamiya Dual Motor Gearbox setup.
Hope this is helpful for others along the line. I’ll post back again if I find anything else that may help with this (such as the schematic of the board I mill to connect everything if anybody wants it).