Why use or implement a DC/stepper motor controller? Is it not possible to connect the motor directly to an MCU output pin without the driver?
-
\$\begingroup\$ The existing answers discuss controllers for DC motors, which raise the supplied current. Stepper motors require a much more complex driver than DC motors, because their coils need to be activated in a specific sequence in order to rotate the shaft. They therefore need a controller to convert power into the correct sequence of pulses to the motor's various inputs. Read more: en.wikipedia.org/wiki/Stepper_motor \$\endgroup\$– JackCommented May 15, 2014 at 20:50
-
2\$\begingroup\$ There are low current DC and even stepper motors, such as these steppers, which can be driven directly off microcontroller output pins. These particular ones need 7 to 15 mA of current. One does require flyback diodes across the coils, to prevent frying the MCU. \$\endgroup\$– Anindo GhoshCommented May 16, 2014 at 3:51
2 Answers
A microcontroller has a very low output current. You shouldn't drive directly more than an usual indicator LED with it.
The motor draws a much higher current. Connecting directly will result in not working motor and destroying the microcontroller due to high currents.
Drivers are not used only for motors. They are used for any device that usually draws more than 50-100 mA.
Maximum current of microcontroller output (typically 10-20mA) is not enough to drive motor coil.
Connecting motor directly to microcontroller will damage microcontroller output transistor.
Easiest way to connect DC motor to microcontoller is circuit like this:
Image source and more information: link
-
\$\begingroup\$ thanks alot for your answer..very usefull link.. thanks alot \$\endgroup\$ Commented May 15, 2014 at 19:22
-
\$\begingroup\$ To allow the others to see more answer. .the driver can be also connected with opto-isolation ,, see the link above \$\endgroup\$ Commented May 15, 2014 at 19:23