Stepper motor control: Darlington protection

I am running a big unipolar stepper motor (rated 24V and 3A) with a ULN2004A.

So far I am using 6V and it works fine for tests using the MotorKnob example but the Darlington gets really hot, I am afraid it will blow.
What should I do to protect the chip?

Thank you very much for any advice.

No heatsink, it is the same setup as this:
http://www.tigoe.net/pcomp/code/category/code/arduinowiring/51
or this:

(rated 24V and 3A) with a ULN2004A

You can't run 3A through a ULN4004 - about 650mA is the limit. see:-
http://www.thebox.myzen.co.uk/Tutorial/Power.html
and
http://www.thebox.myzen.co.uk/Tutorial/Power_Examples.html

I'm pretty surprised it hasn't caught fire and is still working!

:o

Thank you everybody for your answers. Grumpy_Mike's site is a gold mine I learned a lot today.

To drive my motor I think I need 4 mosfets or as the motor maker advised a SLA7026M and of course proper care.