I am having a problem making a stepper motor run. The problem is that the voltages that I am reading from the motor never reach zero (they move from a high voltage to a smaller voltage) so they never are switching on and off (from a high voltage to 0) as I thought it would.
Right now I have the following setup:
The pulse source is an Arduino Uno and the inductance and resistance I got from the motor's datasheet.
What I was hoping for was if somebody could tell me if the direction I am going to is the right one. Should it work like a switch? And if it should what are some possibilities of why it isn't working?
EDIT: I accidentally wrote 47 Ohms on the motors resistance, it was supposed to be 4.7 ohms.
Best Answer
Darlington pairs have very high saturation voltage. In this case if you refer to the datasheet for the TIP122 you will see that you might expect anything from 2-4V across the C-E.
In your case the saturation voltage will be very high because you have minimal base current for the TIP122.
A FET may be a better device to consider.
Update: The base current you use is far too low. You have to overdrive the base to ensure the final transistor gets closer to saturation.
Using the Fairchild datasheet for the TIP122 (there is an error in the OnSemi version) you get this graph.
For Ib=Ic/250 you will need 4mA of base current (it's slightly more complicated than this because of the internal resistors). With a Vbe(sat) of around 1.5V you need an 875 Ohm base resistor driving from a 5V Arduino.
This should give you a Vce(sat) of approximately 0.8V at 1A.