Main Content

Speed Control of a DC Motor Using BJT H-Bridge

This example shows the simulation of an H-bridge used to generate a chopped voltage and to control the speed of a DC motor.

Gilbert Sybille (Hydro-Quebec)


The Bipolar Junction Transistor (BJT) when used for power switching applications, operates as an IGBT. When it is conducting (BJT operating in the saturated region), a forward voltage Vf is developed between collector and emitter (in the range of 1 V). Therefore, the IGBT block can be used to model the BJT device.

The IGBT block does not simulate the gate current controlling the BJT or IGBT. The switch is controlled by a Simulink® signal (1/0). The DC motor uses the preset model (5 HP 24V 1750 rpm). It simulates a fan type load (where Load torque is proportional to square of speed). The armature mean voltage can be varied from 0 to 240 V when the duty cycle (specified in the Pulse Generator block) is varied from 0 to 100%.

The H-bridge consists of four BJT/Diode pairs (BJT simulated by IGBT models). Two transistors are switched simultaneously: Q1 and Q4 or Q2 and Q3. When Q1 and Q4 are fired, a positive voltage is applied to the motor and diodes D2-D3 operate as free-wheeling diodes when Q1 and Q4 are switched off. When Q2 and Q3 are fired, a negative voltage is applied to the motor and diodes D1-D4 operate as free-wheeling diodes when Q2 and Q3 are switched off.


The motor starts in the positive direction with a duty cycle of 75% (mean DC voltage of 180V). At t= 0.5 sec., the armature voltage is suddenly reversed and the motor runs in the negative direction.

'Scope' shows motor speed, armature current and load torque and 'Currents' shows currents flowing in BJT Q3 and diode D3.