Why to use ULN2003A or H-bridge?

Hi all,

my question might seem stupid, but is I need to understand this!

from an electrical point of view why do I need to use a ULN2003A chip with unipolar motors and H-bridge for bipolar motors and then connect them to arduino?
I mean can I drive the motor directly without using them? If yes then why?

You need something to interface between an Arduino and a motor because the Arduino pins can't supply power for a motor - they just provide control signals.

If you are using a bipolar motor be sure to study the difference between a proper stepper motor diver board (eg. the Pololu A4988) and a H-bridge (such as an L298). H-bridges are really meant for DC motors and are a poor choice for stepper motors.

...R

Valdi:
from an electrical point of view why do I need to use a ULN2003A chip with unipolar motors and H-bridge for bipolar motors...?

It's just due to the arrangement of the electromagnetic coils inside the motor. In a unipolar motor the current only flows in one direction through each coil and in a bipolar motor the current is switched to flow in either direction.

The unipolar style made a lot of sense in the "old days" because all you needed were four electromechanical switches to drive them -- the earliest CNC machines could be controlled with punch cards or paper tape because of this. The reason why they fell out of favor compared to bipolar motors is that with a bipolar motor you can use a single coil to both push and pull the rotor, and less copper inside the motor means you can wind everything more densely for better performance. It just took a little time for the electronics technology to catch up to make controlling bipolar motors more feasible.

Valdi:
Hi all,

my question might seem stupid, but is I need to understand this!

from an electrical point of view why do I need to use a ULN2003A chip with unipolar motors and H-bridge for bipolar motors and then connect them to arduino?
I mean can I drive the motor directly without using them? If yes then why?

Arduino pin current absolute maximum = 40mA (in practice 25mA is a sane maximum).
Arduino pin voltage range 0..5V

Stepper motor current requirements 0.25 to 3A depending on size.
Stepper motor voltage requirement (if a high performance bipolar) - anything upto
120V (commonly 40V or so - this is for current-limiting chopper drivers). For
simple unipolar steppers, 12V is a common voltage.

See the problem?