how do I debug?

Hi

I just assembled my motor shield, but I can't make it work. The engine turns on fine when plugged to DC, but not when plugged to my motor shield. Also, the power LED on my motor shield doesn't turn on. How do I debug this? I have a multimeter, but where's the interesting places to measure? The engine is embedded in a RC Helicopter:

More photos here: http://www.flickr.com/photos/27233200@N07/

The Arduino is running the test program from the assembly guide: // Motor Shield test // by NKC Electronics // Test Motor B

int dirbpin = 12; // Direction pin for motor B is Digital 12 int speedbpin = 9; // Speed pin for motor B is Digital 9 (PWM) int speed = 999; int dir = 0;

void setup() { pinMode(dirbpin, OUTPUT); Serial.begin(9600); }

void loop() { digitalWrite(dirbpin, dir); // set direction analogWrite(speedbpin, speed); // set speed (PWM) dir = ((dir == 0) ? 1 : 0); // change direction delay(2000); // 10 seconds Serial.println("Loop done"); }

The Arduino makes it through all the loop code

What are the specs of your motor? The current limit on the motor shield is very low and cheap toy motors tend to be low voltage, high current devices.

That's a nice looking protoboard you have. Do you have any info about it?

The thing is, the Power-led on the motor shield doesn't light up in any case. I think its supposed to do that..

The motor takes 3,6 volt. I don't know its Amp limit.

The breadboard is the "professional development board" from Parallax. (that means, it has a dedicated basic stamp slot)

The thing is, the Power-led on the motor shield doesn't light up in any case. I think its supposed to do that..

The motor takes 3,6 volt. I don't know its Amp limit.

I had a quick look at the schematic for the motor shield. The LED is directly on the power so it should be on. What happens when there's no motor connected and you have the shield on the powered Arduino?

That shield is based on the L293D driver chip. The voltage range is 4.5 to 36V, so your motor voltage is too low to use that shield. The cheap low volt motors are typically around 1.5 to 2 amps under normal load up to 3 amps in a stall. The L293D is good for 0.6 amps per channel.

I had a quick look at the schematic for the motor shield. The LED is directly on the power so it should be on. What happens when there's no motor connected and you have the shield on the powered Arduino?

Nothing happens - ie. the LED on the motor shield doesn't light up. The LED on the Arduino does light up though.

That shield is based on the L293D driver chip. The voltage range is 4.5 to 36V, so your motor voltage is too low to use that shield. The cheap low volt motors are typically around 1.5 to 2 amps under normal load up to 3 amps in a stall. The L293D is good for 0.6 amps per channel.

0.6 amps? I guess that will be limited even further by the power supply capability of the Arduino (which is 0.3 amps according to the specs page)

Nothing happens - ie. the LED on the motor shield doesn't light up. The LED on the Arduino does light up though.

With no motors connected, it sounds like something might be wrong with the motor shield. I'd like to see a post from someone more familiar with that exact shield.

0.6 amps? I guess that will be limited even further by the power supply capability of the Arduino (which is 0.3 amps according to the specs page)

0.3 amps is not going to drive anything bigger than a pager motor.

I think you're right that this shield takes its motor power from the Arduino supply, which is a very bad way of doing it because the Arduino can't provide enough power. It should have its own separate power supply like ladyada's shield does. Her shield also uses the L293D chip though so it won't help with the motor you've got.

I was reading the specs of your Paralax board, it has an L293D on board as well, so you really don't need the shield if you want to use that chip (though not with the motor you have).

I think you're right that this shield takes its motor power from the Arduino supply, which is a very bad way of doing it because the Arduino can't provide enough power.

Maybe if I powered the Arduino by a hefty separate power supply, the shield could suck more juice.

I was reading the specs of your Paralax board, it has an L293D on board as well, so you really don't need the shield if you want to use that chip (though not with the motor you have).

Hmm, interesting! ..And just slightly embarrassing that I didn't discover that myself..

The Arduino motor shield needs an external power supply. It takes the power from Vin, not 5V, so you need to connect the Arduino to external power.