Motor driver modules for motors allow you to control the working speed and direction of two motors simultaneously. Here we present an alternative ULN2803 based motor driver circuit to drive two motors. The main advantage of this project is its low-cost design.
Circuit and working
The diagram depicting the control circuit for bi-directional DC motor operation is presented in Figure 1. This circuit comprises the ULN2803 high-current Darlington transistor array pack (IC1), four pnp BC327 transistors (T1 through T4), four resistors (R1 through R4), two switches (S1 and S2) used for motor direction control, and a 9V DC power source.
Transistors T1 and T2 control motor M2, while transistors T3 and T4 control motor M1. Pin 9 of IC1 is ground and pin 10 is connected to 9V. Working of the two motors (M1 and M2) is explained in Tables I and II, respectively.
Case 1 (M1)
The internal transistor arrays within the ULN2803 serve as inverters. When point A=0 and B=1, as illustrated in the circuit, output pins 17 and 18 become high (9V), while pins 15 and 16 become active-low (0V). In this configuration, the base of the pnp transistor T4 is held high via resistor R4, causing T4 to be in a cut-off state. Simultaneously, the base of transistor T3 is maintained low through resistor R3. Consequently, T3 becomes conductive, supplying 9V to one terminal of motor M1. The other terminal of M1 is grounded (0V). Consequently, motor M1 turns in a specific direction, such as the forward direction.
Case 2 (M1)
When point A=1 and B=0, the output pins 17 and 18 of IC1 go low (0V), and pins 15 and 16 become active-high (9 volts). This configuration causes the base of transistor T4 to go low, facilitated by resistor R4, leading to T4 becoming conductive. Simultaneously, the base of transistor T3 is made high through resistor R3, placing T3 in a cut-off state. Consequently, the first terminal of M1 receives no voltage (0V), while the second terminal is supplied with 9 volts. Under these conditions, motor M1 rotates in the opposite direction, often referred to as the reverse direction.
Case 3 (M2)
When point C=0 and D=1, output pins 13 and 14 of IC1 will be high (9V), and pins 11 and 12 will be active-low. Transistor T2 is in cut-off state and transistor T1 conducts. Motor M2 rotates in one direction, say, forward direction.
Case 4 (M2)
Similarly, in the case where point C=1 and D=0, output pins 13 and 14 of IC1 go low, while pins 11 and 12 become active-high (9 volts). This results in transistor T2 becoming conductive, while T1 enters a cut-off state. As a consequence, motor M2 turns in the opposite direction.
In the event that all the inputs (A, B, C, and D) are set to logic 0 (GND), both motors will come to a complete stop since there will be no voltage differential at the terminals of the motors.
It’s important to note that if all the inputs are set to logic 1 (9 volts), the transistors will risk overheating and damaging. Therefore, it is strongly advised against applying high voltages to both input terminals simultaneously in this circuit configuration.
Construction and testing of ULN2803 Based Motor Driver Circuit
Fig. 2 displays a real-size PCB layout for the bi-directional DC motor control circuit, while Fig. 3 illustrates the arrangement of its components. Proceed to assemble the components onto the PCB. Attach the motors to the designated M1 and M2 markings on the PCB. For the power supply, connect a 9V PP3 battery to the circuit. You have the option to utilize double-pole double-throw or slide switches for S1 and S2.