Let's Make Robots!

motor shield not working...

I was testing a geared stepper with my arduino motor shield and it suddenly stopped working. It has power in the 5V pin 'cause that's were I have my Ping sensor connected, but there seems to be none going to the motor connections. Any ideas? I can't afford another one... please tell me it's not dead.

PS: The L293DNE was a bit hot yesterday while testing other steppers, but it was working this morning. 

Comment viewing options

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

First; change the title of your post!

 Secondly; check your circuits with a multimeter.

I checked... there are .5V coming from one L293DNE and like 250mV from the other one. The one with less voltage is the one been used. I was using the M1 / M2 first with the same result; now I'm using M3 / M4, but still no response.
What should I look for with the multimeter? I was using the schematic from ladyada's website to test the pins of the L293DNE's and I notice some voltage differences, but I'm not sure what they mean.

And your code is ???

Have you run tests of turning one input on and off with the multimeter attached to the h-bridge outputs?

When yu turn one input of the h-bridge on, you should see the corresponding output also go  high. as in 5 volts at the input, should give the motor voltage output minus about 1.2 volts.

I'm using the sample code for the motor shield from here: http://www.ladyada.net/make/mshield/use.html I believe the RELEASE command sets the LOW value you mentioned. The output voltage is about .5V, which seems strange to me. Input is 9-12V.

#include <AFMotor.h>

AF_DCMotor motor(2, MOTOR12_64KHZ); // create motor #2, 64KHz pwm

void setup() {
Serial.begin(9600); // set up Serial library at 9600 bps
Serial.println("Motor test!");

motor.setSpeed(200); // set the speed to 200/255
}

void loop() {
Serial.print("tick");

motor.run(FORWARD); // turn it on going forward
delay(1000);

Serial.print("tock");
motor.run(BACKWARD); // the other way
delay(1000);

Serial.print("tack");
motor.run(RELEASE); // stopped
delay(1000);
}

 

First check if you really do have a geared STEPPER motor or a geared DC motor. How many wires are coming out of the motor? If there are only 2, it`s a DC motor but if there are more than 2 wires it`s most likely a stepper.

IF you have confirmed it`s a DC motor AND you just recently changed the motor connections.. then likely you haven`t changed the code to reflect the different connections.  AF_DCMotor motor(2, MOTOR12_64KHZ); line should probably be changed to something like AF_DCMotor motor(1, MOTOR12_64KHZ); but check the documentation on that site.

IF you have confirmed it`s a stepper, then your problem is that the code you are using is for a DC motor. Stepper motor code and wiring diagram is on the same page you linked.

I was testing a stepper (4 wires) (bipolar) with the corresponding code. Then I tried to test a DC motor with the code posted above to check the motor pins on the shield. I can distinguish between steppers and motors.

I asked about this issue in the adafruit forum and someone told me the problem is probably a fried chip. My new question is if one of the chips dies, what happens to the other one? Are they connected to each other? (L293DNE)

Thanks for replying.

Everything will be connected through logic and motor voltage, and ground.

I guess whether or not both chips have fried comes down to why the chip has fried in the first place. Sorry, can`t really help much. As a last resort you could try swapping the chips but you`d have to get out the soldering iron to do that :/

What would be a good motor controller to make with a limited source of parts (range 4~5A)? There are no local suppliers in my country, so everything has to be done over the internet where shipping is crucial.

Should I move this question to another part of the forum? Thanks.

I recommend just using a SN754410NE and building a motor controller on your own.

Do you really need a 4~5Amp for your motors?