Introduction: Transistor Motor Driver

About: We are a group of photography enthusiasts.

This article shows you how to make a linear transistor motor driver.

The output motor control voltage is proportional to the input voltage. The higher is the input voltage the faster the motor will move. The speed of the motor can be also increased by raising the power supply voltage.

The gain of this circuit is very high and there are two channels for each of the two motors. This is useful if you are making a remote control car or remote control boat.

You can see my circuit working in the video with one channel being tested.

Supplies

Components: NPN BJT power transistors - 2, PNP BJT power transistors - 2, 2.2 ohm (high power) - 4 or 1 ohms (high power)- 2, 100 ohms (high power) - 2, 1 kohm - 2, 10 kohm - 2, 100 kohm - 2, Heat Sinks - 4, insulated wires, DC motors - 2, matrix board, nuts, bolts, washers, solder, sticky tape, heat transfer paste, blue tack.

Tools: wire stripper, pliers, soldering iron.

Optional components: 1 mm metal wire (connections), encasement (box).

Optional tools: two channel remote control with minimum 3 V output or signal generator, multi-meter.

Step 1: Design the Circuit

The circuit above is showing one channel.

Rc2a and Rc2b are used for output short circuit protection. At times the motor movement could be impeded by mechanical faults that can cause the motor to short the output and thus burning the Q2 output transistor. You can use just one high power resistor instead of Rc2a and Rc2b.

Calculate the minimum Q1 transistor current gain to ensure saturation:
Beta1 = Ic1 / Ib1 = ((Vs - VceSat1) / Rc1 + (Vs - Vbe2 - VceSat1) / Rb2) / ((Vin - Vbe2) / Rb1)

= ((3 V - 0.2 V) / 10,000 ohms + (3 V - 0.7 V - 0.2 V) / 100 ohms) / ((1 V - 0.7 V) / 1,000 ohms)

= (2.8 V / 10,000 ohms + 2.1 V / 100 ohms) / (0.3 V / 1,000 ohms)

= 70.9333333333

Calculate the minimum Q2 transistor current gain to ensure saturation:

Beta2 = Ic2 / Ib2 = ((Vs - VceSat2) / ((Rc2a||Rc2b) + Rmotor)) / ((Vs - Vbe2 - VceSat1) / Rb2)

= ((3 V - 0.2 V) / ((2.2 ohms)||(2.2 ohms) + 10 ohms)) / ((3 V - 0.7 V - 0.2 V) / 100 ohms)

= (2.8 V / (1.1 ohms + 10 ohms)) / (2.1 V / 100 ohms)

= (2.8 V / 11.1 ohms) / (2.1 V / 100 ohms)

= 12.012012012

If the motor impedance is less than 10 ohms then the Q2 current gain will need to be higher than 12.

Calculate the maximum transistor power dissipation:

Maximum power dissipation occurs when Vce (collector emitter voltage is at half supply voltage):

P1max = Vce1 * Ic1 = (Vs / 2) * (Vs / 2 / Rc1 + (Vs / 2 - Vbe2) / Rb2)

= 1.5 V* (1.5 V / 10,000 ohms + (1.5 V - 0.7 V) / 100 ohms)

= 1.5 V* (1.5 V / 10,000 ohms + 0.8 V / 100 ohms)

= 0.012225 W = 12.225 mW

P2max = Vce2 * Ic2 = (Vs / 2) * (Vs / 2 / ((Rc2a||Rc2b) + Rmotor))

= 1.5 V * (1.5 V / (1.1 ohms + 10 ohms))

= 1.5 V * (1.5 V / 11.1 ohms)

= 0.2027027027 = 202.7027027 mW

Select heat sinks:

Click on this link for more information: https://www.instructables.com/id/Component-Heat-Dissipation

Step 2: Simulations

I used old PSpice simulation software to reduce the drawing time.

The input to the circuit is a sine wave. Yet the output is showing a very steep slope/climb to the maximum current value of about 250 mA. This is due to a high amplification from two cascaded transistors. You can still achieve linear control by limiting the input signal amplitude.

You can see that my circuit does NOT allow reversing in output current direction. When the input is negative the output current is not negative but simply zero.

Step 3: Make the Circuit

I used power resistors for Rin, Rb1 and Rc1 because I already had those types of resistors in my inventory. You only need high power transistors for Rb2, Rc2a and Rc2b. Rc2a and Rc2b can be replaced with just one high power resistor. I used four Schottky diodes (two per channel) to reduce the forward bias voltage drop.

Step 4: Put Inside the Box

I used a cardboard box from a parcel that I received recently. I used blue tack to attach the circuit and the heat sinks to the box.

Step 5: Testing

I connected the input one of the my channels to signal generator. You can see that the motor is swinging from side the side. However, applied voltage has the same direction. The pendulum swings back not because of changes in the current direction but because the circuit simply turns OFF when the input voltage is negative.

Robots Contest

Participated in the
Robots Contest