Let's Make Robots!

Our First Robot - Build Broken

Well, I don't know what happened.  I rewired up the Robot to get that snarl of wires out of the way and now the motors don't work with the motor shield and the servo used with the Ping sensor jitters.

Here are things I've tried:

I've tried rewiring the motors to the breadboard a few different ways to no avail because I thought it was the poor soldering job I did on the wires and the wires I made were not seated in the breadboard properly.  I made new solid core wires with no effect.

If I put power and ground from the breadboard to the motors, they work fine.

Oh well, I'm sure I'll be pondering this for a few hours.

Maus

 


 

25 Jan 2012

I have removed the shields and hooked up the wires directly to 5v power.

Here's the power output:

Each motor output should be 4.99v according to my multimeter.  Here are my results:

Next step is take the motor drivers out and hook them up individually to see if the chips are blown.

Datasheet: www.ti.com/lit/ds/symlink/sn754410.pdf

Testing the HBridge

Here's my testing rig.  I have power and ground to the appropriate pins and move my green wire to the output I want to test.

Everything checks out okay and I didn't blow up the chip!

26 Jan 2012

With help from the people in the shout box, I have the shield wired up to a breadboard and working fine.  The next step is putting it back on the Arduino and getting the motors running again on the platform.

My thanks to:

  • birdmun
  • mogul
  • ChuckCrunch

Maybe now we can get to something I know about, programming!

Maus

Comment viewing options

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

Ok, I took off the shields and wired up the motors directly to the arduino.  Here's what I found:

  • When I connect either motor to the 5v pin, it moves.
  • When I connect either motor to the PWM pin 13, the LED does not come on on the board and the motor does not turn on.
  • If there are no wires connected to pin 13, the LED blinks like it should.

Question1: I have the board hooked up to the USB and not running off the battery pack.  Would that make much of a difference?  I don't think it should.

Question 2:  If the motor does not turn on with the pin, would that mean a short somewhere along the motor wires?

Confused Maus

I can not think of a time that you should EVER connect a motor directly to a microcontroller. That is a good way to *pop* one. Microcontroller pins can typically only supply a few tens of mA. That is rarely enough for a motor, and, if you shut off the power to the motor the back EMF will likely *pop* the microcontroller.

Long story short, until you know for sure it will work, NEVER connect a motor directly to the output pins of a microcontroller.

To answer question 2: you don't have enough current at pin 13 to drive the motor and the LED. So, you don't get anything with both connected.

Motor driver boards and even some motor driver ICs have diodes built in to compensate for back EMF when a motor or other coil is connected.

Ok, so I won't do that again. I don't think I ever read anything like that in all the beginning tutorials, but maybe I just forgot.

So a better test might be to wire up the Arduino to a transisitor to turn the motor on/off.  Just like in the Beginning Arduino book?

Maybe similar to this: http://itp.nyu.edu/physcomp/Tutorials/HighCurrentLoads

 

Next, back up the line and hook the motors the the shield and feed 5v to one of the inputs and the enable for that motor, ground the other pin, and see if the motor spins. If not, then I would guess the shield is your problem and you would need to check that the motor driver is getting power and it is not popped. If that doesn't work then you will need to make sure you haven't harmed the ouputs from your arduino.

Just my 2 cents.