Electronic – how choose transistor for driver circuit of stepper motor

drivermotorstepper motortransistors

I need to drive a 1A stepper motor coil from a digital output that can source only 5mA. That would require Hfe of 1A / 5mA = 200, but I can't find a transistor with that much gain. Is there any transistor that would fit, or is there something else I can do?

Best Answer

Apparently you are asking how to find a transistor that can be used for switching 1A from a 5mA digital signal?

1A / 5mA = 200, which is the gain required if a single bipolar transistor were used. That's unrealistically high for a transistor that can handle 1A. You don't say what the voltage is, but that would be useful to know. Lower voltage transistors can be made with higher gain.

In any case, this is too much for a single BJT. That leaves a few obvious options:

  1. Use a FET. Those are switched with voltage instead of current. Again, you don't say what voltage you need to switch, but you can get FETs up to 30V or so that can be switched well enough directly from a 0-5V digital logic output.

    You have now added that the supply for the stepper drive is 12V. In that case, here is a example circuit:

    The resistor is only to make sure the FET is off if the digital output should ever go to high impedance. If it's always being solidly driven and startup glitches don't matter, then you can leave off R1.

  2. Use more than one transistor to get higher gain. For example:

    The total gain from the logic signal current to the switched current is roughly the product of the gains of Q1 and Q2. Q2 can be counted on to have a gain of 15 in this case. Since you want to switch 1A, that means it needs 1A/15 = 67mA base current. R1 sees 5V minus the B-E drops of both transistors, which leaves about 3.6V. That divided by 36Ω causes about 100mA base current, which leaves some comfortable margin. R2 makes sure that Q2 is off unless explicitly driven on, and also helps turn it off faster. Assuming 700mV B-E drop, R2 will draw 700µA when Q2 is being driven on. Since we have 100mA available and only need 2/3 of that, that still leaves plenty of base drive for Q2.

    The current thru Q1 will be about 100mA when on. Such a small signal low voltage transistor can be counted on for a gain of 50 in this case, which means the 0-5V digital output only needs to provide 2mA, which is well within your spec.

Added in response to 4 comments:

You are switching something with significant inductance. Inductor current can not turn off instantly. Without the diode, when turned off the inductor would raise the voltage on P1 until it's existing current can flow - somehow somewhere. That would probably be by exceeding the maximum collector voltage of Q2 and causing it to break down. That is bad. The diode provides a nice safe path for this current until the stored energy in the inductor is dissipated. It does have a downside in that the stepper coil current will decay slowly after the coil is switched off. This can be dealt with by turning the coil off a bit early, and/or adding a resistor in series with the diode so that the coil sees a higher back voltage, which ramps down the current more quickly. Note that Q2 then must be rated to withstand the supply voltage plus this additional voltage.

I would not use a darlington transistor. Yes, those can be found with the necessary overall gain, but they will also have significantly higher on voltage. That will not only take away a little bit of drive voltage from the stepper coil, but it will also cause higher power dissipation in the transistor.

The circuit I showed is almost a darlington except that the collector of Q1 is tied to the 5V supply instead of the collector of Q2. That allows Q2 to fully saturate. That will be at less than half the voltage drop of a true darlington.