Let's Make Robots!

rover 5 w dagu 4 channel motor control hardware problem?

I am running the dagu Rover 5 (4 motor/4 encoder verion) using a Mega2560 and the Dagu 4 channel motor control.  This is my first attempt at a robot, but do have some experience using several models of Arduinos and motor controllers. 

The code I used is from this first message (by Nick Gammon) and wired exactly the same: http://forum.arduino.cc/index.php?topic=82618.0

When I got the motor controller, the power supply terminal to the motor had come un-soldered.  the solder was stuck to the pins, but the pins moved freely.  Also, the Rover itself, I didn't even get it out of the box and I noticed that one of the coils on a motor lead was not soldered to the motor lead (they used the shrink tubing on the coil without the wire attached! that is what made me double check the motor control board!).  I ordered both pieces from two seperate companies, so something is going wrong in the manufacturing....I didn't find the loose solder on the controller board until I ran it a few times.

So, anyhow..the problem is that the motors will not go forward!  They go backwards just fine, they go backward in a turn in both directions just fine, but will not go forward at all... (in a right turn,  the left side will just show the slightest motion forward.)  I have tried a couple different arduinos, wired it more than a few times and tried every possible battery combination.  Currently powering the arduino only via USB and the motors with a 3800mA 7.2v hobby battery (brand new, less than a half hours use after full charge...polarity to the board is correct.).I have edited the code and even taken two motors off the control board (one left and one right)... 3 days of trying and nothing will get the motors too work forward.

I am tempted to try/order another control board, but this one is brand new.  Is there something that I, as a newbie am missing in the code or in the hardware. The only thing I just thought of, the motor control pin (each motor) does not have a ground pin. Same as everyone is trying in the original code/wiring.... Would that make any difference?

Thanks for any help.


Edit 10 minutes later: I Hate leaving the original mesage (makes me look like an...), but it is what helped me find the answer.  I double checked the photos of the wiring on the original rover.  It does not have the ground to EACH motor control connected.  When I connected the ground... the forward and forward in turns all started right up!  Leaving the original post in case anyone else has the same problem since this code snippit is VERY popular.

BTW, new to the board, first message.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

I spent half an hour one day wondering why one of my robots wouldn't work properly and then I realised I had not used pinMode() to configure my output pins.

Sorry to bump an old old topic, but I have just sat here for ages wondering why my motors run one way only and you know what? I did the exact same thing followed by an extensive facepalm.

First, welcome to LMR.  Second, you should NOT feel bad about your mistake.  Everyone makes mistakes.  I certainly make more than my fair share.  I am glad you got it fixed and I am even more glad you left your post after adding the fix.  A lot of people can get help from seeing that.  Thank you for that.  I look forward to seeing your robot posted on LMR soon.