DESIGN AND SIMULATION OF A CASCADE (CURRENT +
SPEED)
PI CONTROL SYSTEM FOR DC MOTOR DRIVE
1 Objective
To design PI controllers for a cascade-controlled DC motor drive consisting of:
1. An inner current control loop, using a Hall-effect current transducer for feedback, with
a specified closed-loop bandwidth of 200 rad/s and damping factor ζ = 0.7.
2. An outer speed control loop, closed around the current loop, using a tachogenerator for
feedback, with a specified closed-loop bandwidth of 10 rad/s and damping factor ζ = 0.7.
The design is implemented and verified in Simulink, first as a single (current) loop, then as
the full cascade structure.
2 Given System Parameters
Parameter Symbol Value
Armature resistance Ra 0.25 Ω
Armature inductance La 5 mH
Rotor inertia J 5 kg m2
Viscous friction B 0.05 Nm/(rad/s)
Motor/torque constant Km 2.5 V/(rad/s) (= Nm/A)
Current transducer gain Hc 0.1 V/A
Rectifier (power stage) gain Kr = V /Vc 50
Current loop target ωn1 , ζ1 200 rad/s, 0.7
Speed loop target ωn2 , ζ2 10 rad/s, 0.7
Tachogenerator output — 10 V at 1500 rpm
Table 1: System parameters and design specifications
Assumptions made:
• Back-EMF coupling is neglected when designing the inner current loop, since its bandwidth
(200 rad/s) is far higher than the electromechanical time constant, so the armature circuit
is treated as a simple R–L plant.
• The rectifier/power converter is modelled as a pure gain (Kr = 50), i.e. its own switching
dynamics are much faster than 200 rad/s and are neglected.
1
• The current loop is assumed to be closed and stable before the speed loop is designed,
and its dynamics are fast enough relative to the speed loop (200 rad/s vs 10 rad/s, a
20:1 separation) to be approximated as unity gain when designing the outer loop — the
standard cascade-loop design assumption.
• Motor and load inertia/friction are lumped into a single rigid mechanical stage.
3 Plant Modelling
Electrical (armature) subsystem — voltage-to-current transfer function:
Ia (s) 1 1
= = (1)
Va (s) Ra + sLa 0.25 + 0.005s
Mechanical subsystem — torque-to-speed transfer function:
ω(s) Km 2.5
= = (2)
Ia (s) Js + B 5s + 0.05
Tachogenerator gain:
2π 10
1500 rpm = 1500 × = 157.1 rad/s =⇒ Kt = = 0.0637 V/(rad/s) (3)
60 157.1
4 Inner Current-Loop PI Design
Ki1
Controller: Gc1 (s) = Kp1 +
s
Open-loop path: PI controller → rectifier gain (Kr ) → armature plant → current transducer
(Hc ).
Closing the loop and matching the characteristic equation to the standard second-order form
s + 2ζωn s + ωn2 gives:
2
2 L
ωn1 2ζ1 ωn1 La − Ra
a
Ki1 = , Kp1 = (4)
Kr Hc Kr Hc
Substituting values (ωn1 = 200 rad/s, ζ1 = 0.7):
2002 × 0.005 (2)(0.7)(200)(0.005) − 0.25
Ki1 = = 40, Kp1 = ≈ 0.23 (5)
50 × 0.1 50 × 0.1
Current loop PI gains: Kp1 ≈ 0.23, Ki1 ≈ 40
5 Outer Speed-Loop PI Design
With the current loop approximated as unity feedback (fast inner-loop assumption), a speed-
loop command voltage is converted to a current reference through 1/Hc , driving the mechanical
plant, with tachogenerator feedback Kt .
Ki2
Controller: Gc2 (s) = Kp2 +
s
Matching the closed-loop characteristic equation to s2 + 2ζωn s + ωn2 :
2 JH
ωn2 (2ζ2 ωn2 J − B)Hc
c
Ki2 = , Kp2 = (6)
Km Kt Km Kt
Substituting values (ωn2 = 10 rad/s, ζ2 = 0.7):
2
102 × 5 × 0.1 (2)(0.7)(10)(5) − 0.05 × 0.1
Ki2 = ≈ 314.5, Kp2 = ≈ 44.0 (7)
2.5 × 0.0637 2.5 × 0.0637
Speed loop PI gains: Kp2 ≈ 44.0, Ki2 ≈ 314.5
6 Simulink Implementation and Results
6.1 Single (current) loop test
The current loop was first built and tested in isolation (step reference → gain → summing
junction → PID(s) → power stage gain (50) → armature plant (1/0.005s+0.25) → current-
transducer feedback (0.1) → scope).
Figure 1: Simulink model of the single (current) loop
The resulting scope trace shows a step response rising from 0 to a final value of 1, with a peak
overshoot of roughly 55% and several damped oscillations before settling at around t ≈ 5–6 s.
3
Figure 2: Step response of the single (current) loop
This response is significantly slower and more oscillatory than the design target (200 rad/s
bandwidth corresponds to a settling time on the order of tens of milliseconds, not seconds),
which indicates the PID gains used in this initial single-loop test had not yet been tuned to the
calculated Kp1 /Ki1 values above.
6.2 Full cascade loop test
The complete cascade system (cascade 90) nests the tuned current loop inside the outer speed
loop, with a tachogenerator providing speed feedback around the outer PID block.
Figure 3: Simulink model of the full cascade (current + speed) loop
The scope shows the output rising quickly to a peak of about 11.3 (≈13% overshoot above
the final value of 10) within roughly 0.02–0.03 s, and settling to the steady-state value of 10
within about 0.05–0.1 s, with negligible steady-state error.
4
Figure 4: Step response of the full cascade loop
This is consistent with the design intent: because the inner current loop is tuned for a fast,
well-damped response (ωn = 200 rad/s, ζ = 0.7), it can be treated as effectively instantaneous by
the outer speed loop, allowing the outer loop to achieve its own target dynamics (ωn = 10 rad/s,
ζ = 0.7) cleanly. The much shorter observed settling time in the scope (relative to a naı̈ve 1/ωn2
estimate) reflects the fact that the reference step in this test was scaled to reach 10, and the
actual response substantially inherits characteristics from the inner loop’s fast dynamics as well.
7 Discussion
• Cascade vs. single loop: The cascade structure gives markedly better performance than
the uncompensated/initial single-loop test — lower overshoot, much faster settling, and a
clean steady-state. This demonstrates the benefit of nesting a fast, tightly-tuned current
loop inside a slower speed loop: the inner loop rejects armature-circuit disturbances and
limits current (protecting the motor) while the outer loop only “sees” a well-behaved, fast
current source.
• Effect of PI tuning: Comparing the two scope traces highlights how controller gains
directly set the closed-loop pole locations (via ωn and ζ), and therefore overshoot and
settling time. Higher/lower Kp and Ki away from the calculated design values produce
the oscillatory, slow response seen in the single-loop test.
• Bandwidth separation: Maintaining a wide bandwidth separation between the inner
(200 rad/s) and outer (10 rad/s) loops — a 20:1 ratio — is what justifies approximating
the current loop as unity gain when designing the speed loop, and is standard practice in
cascade motor-drive design.
8 Conclusion
PI controllers were successfully designed for both the inner current loop and outer speed loop
of a cascade-controlled DC motor drive, using second-order pole-placement to meet specified
bandwidth and damping factor targets. Simulink simulation confirmed that the full cascade
system achieves fast, well-damped tracking of the speed reference with low overshoot and neg-
ligible steady-state error, validating both the design methodology and the assumption that a
5
sufficiently fast inner current loop can be treated as unity gain when tuning the outer speed
loop.
A Summary of Calculated Gains
Loop Kp Ki ωn ζ
Current (inner) 0.23 40.0 200 rad/s 0.7
Speed (outer) 44.0 314.5 10 rad/s 0.7
Table 2: Final PI controller gains.