aerograce:
I am working with this stepper motor:
McLennan Servo Supplies Unipolar Permanent Magnet Stepper Motor 7.5°, 6.6Ncm, 5 V dc, 550 mA, 6 Wires
http://sg.rs-online.com/web/p/stepper-motors/3514580/
And I am using arduino Mega2560, ULN2004A chip to control the motor. I follow exactly the wiring on the arduino stepper motor page, except that I power the motor with a separate power supply, and the arduino with USB cable. I am not sure why the stepper motor doesnt turn at all.
The datasheet of the motor is in the link, I have shown the wiring schematic from arduino library and my own wiring. Can someone tell me whats wrong? This has driven me crazy for days.
Right, firstly the ULN2004 is not rated for 5V logic(*), you should be using the ULN2003.
Secondly the absolute maximum current for the chip is 500mA, in practice 300mA is about the most
you should put through it for reliable operation.
Thirdly the total power dissipation may be more than the chip can handle without extra cooling
hardware (heatsink/fan)
Fourthly you'll be losing about 1.5V to the darlington output Vsat, so a 6.5V supply would be about
right, or in practical terms a 6V 1.5A supply (you only energize two windings at most simultaneously
I would recommend using an ULN2803, which has 8 channels, and doubling them up, 2 channels in
parallel per motor pin - this solves the over-current issue and will reduce self-heating a bit. Add
a chip heatsink.
Much better, but more expensive, use 4 logic-level MOSFETs and freewheel diodes, then you'll
only need a 5V supply and no heat dissipation to speak of.
(*) I'd never heard of the ULN2004 before - its specifically for high voltage PMOS logic drive, a technology
that is long since gone