Electronic – arduino – DC Motor control with an Arduino

arduinodc motormotor

This might be a simple, silly question, but I am wondering why I can't just connect a DC motor to an arduino board to have it running. One pin to the ground and the other to one of the PWM outputs.

I just did the sweep tutorial for a servo motor http://arduino.cc/en/Tutorial/Sweep and it works fine. I know that a servo has more electronics in there with pot providing feedback.

From what I understand to drive even a small DC motor I would need more circuitry (an H bridge?) or another shield dedicated to driving motors. I can understand this if I was driving some relatively big DC motors.

But I am trying to understand why a small DC motor with a ground and PWM input would not work. Especially for a brushed a motor like this one http://music.columbia.edu/~douglas/classes/motor_mania/DC_simple2.jpg

Surely its just a matter of DC current passing through the wire. Is it the inductive charge building up in the coils that can cause reverse current back to the board thats the problem.

Basically, from a conceptual point, given I have a ground and a voltage (albiet a pulsed one), what do I need to do it to make it drive a DC motor.

Best Answer

It's because of the amount of current you need to drive the motor, the arduino can't supply much.