Motor Drives
DC motor models, H-bridge circuits, PWM speed control, brushless DC motors, 3-phase inverters, and field-oriented control โ converting electrical power to precisely controlled mechanical motion.
1. DC Motor Electrical Model
A brushed DC motor is modeled as a resistor, inductor, and back-EMF voltage source in series. The armature circuit equation is:
\[ V = I_a R_a + L_a \frac{di_a}{dt} + K_e\,\omega \]
\(K_e\omega\) = back-EMF (opposes increasing speed); \(K_e\) = back-EMF constant (Vยทs/rad)
The mechanical equation relates electromagnetic torque to shaft dynamics:
\[ J\frac{d\omega}{dt} = T_{em} - B\omega - T_{load} \qquad T_{em} = K_t\,I_a \]
For ideal motor: \(K_t = K_e\) (same constant, SI units). Steady-state speed: \(\omega_{ss} = (V - I_{a,ss} R_a)/K_e\)
Speed regulation is the fractional speed drop from no-load to full-load: \(SR = (\omega_{NL} - \omega_{FL})/\omega_{FL}\). Small \(R_a\)gives good regulation. The mechanical time constant is \(\tau_m = J R_a / (K_e K_t)\), and electrical time constant \(\tau_e = L_a / R_a\).
2. H-Bridge โ Bidirectional Control
An H-bridge uses four switches (MOSFETs) to apply positive or negative voltage to the motor, enabling forward, reverse, and braking. It is named for its circuit topology resembling the letter H.
Dead time must be inserted between turning one switch OFF and the complementary switch ON to prevent shoot-through (simultaneous conduction of top and bottom switches, which would short the supply). Typical dead time: 50โ200 ns.
3. PWM Speed Control
Pulse-width modulation (PWM) varies the average voltage applied to the motor by switching rapidly between full supply and zero. The average voltage is:
\[ \langle V \rangle = D \cdot V_{supply} \]
\(D\) = duty cycle (0 to 1). Switching frequency typically 10โ50 kHz for motors.
The motor inductance \(L_a\) acts as a low-pass filter โ at sufficiently high switching frequency, the current ripple is negligible and the motor responds to the average voltage. The current ripple is \(\Delta I_a = V_{supply}\,D(1-D)/(f_{sw}\,L_a)\).
Sign-Magnitude PWM
Direction set by sign of command. Magnitude sets duty cycle. Simple control, but current can become discontinuous near zero speed.
Locked Anti-Phase PWM
D = 50% = zero, D > 50% = forward, D < 50% = reverse. Continuous current (both polarities available). Better for smooth low-speed control.
4. Brushless DC Motors & 3-Phase Inverters
Brushless DC (BLDC) motors replace mechanical commutation (brushes and commutator) with electronic commutation. The stator has three-phase windings; the rotor has permanent magnets. A 3-phase inverter (6 switches) creates the rotating magnetic field:
\[ v_a = V_{dc} \sin(\theta) \qquad v_b = V_{dc}\sin(\theta - 120ยฐ) \qquad v_c = V_{dc}\sin(\theta + 120ยฐ) \]
6-Step (Trapezoidal) Commutation
Commutate every 60ยฐ using Hall-effect sensors. Simple, efficient. Produces torque ripple due to step transitions.
Sinusoidal (FOC)
Field-Oriented Control (vector control) injects sinusoidal currents. Minimal torque ripple, excellent efficiency. Requires encoder/resolver. Used in servo drives, EV traction motors.
V/f Control for Induction Motors
Induction motors run from the AC grid. Speed is controlled by varying frequency with a variable-frequency drive (VFD). To maintain constant flux, the voltage-to-frequency ratio is kept constant: \(V/f = \text{const}\). For example, if rated at 400 V / 50 Hz, running at 25 Hz requires 200 V. Above rated frequency, the voltage is held at rated and the motor operates in flux-weakening (field-weakening) mode.
5. Field-Oriented Control (FOC)
FOC transforms the 3-phase AC quantities into a rotating d-q reference frame aligned with the rotor flux. In this frame, the flux-producing component \(i_d\) and torque-producing component \(i_q\) can be controlled independently โ just like in a separately-excited DC motor.
For maximum torque per ampere, set \(i_d^* = 0\) (IPMSM adds reluctance torque). The torque command \(T^* = \tfrac{3}{2}p\,\lambda_r\,i_q^*\) where \(p\)is pole pairs and \(\lambda_r\) is rotor flux linkage. FOC enables smooth torque from zero speed and is the standard for EV motors, CNC machines, and industrial servo drives.
Python Simulation
DC motor speed and current responses at different PWM duty cycles, steady-state speed vs duty cycle (theory vs simulation), torque-speed characteristics, power analysis, and load-step response.
Click Run to execute the Python code
Code will be executed with Python 3 on the server