01 Simulation Overview

Simulink model implements three-loop cascade controller for separately excited DC motor driving Carelli 1928 tramway. Control hierarchy — outermost to innermost: angular speed PIarmature current PIexcitation current PI. Each loop tuned via pole-zero cancellation → 90° phase margin.

Additional features: back-EMF feedforward decoupling (cancels coupling between electrical/mechanical dynamics), anti-windup back-calculation (prevents integrator windup during saturation), rate limiter on speed reference (limits acceleration to 0.545 m/s² for passenger comfort, αmax ≈ 9.13 rad/s² at motor shaft), dynamic field-weakening above base speed (Ie,ref = En / (Ks·ω)).
Speed loop BW
2 rad/s
Armature BW
20 rad/s
Excitation BW
40 rad/s
ωbase → ωmax
101.6 → 195.3 r/s
Slope Tdist (5%)
743 Nm · 89.8%
Back-EMF at vmax
538.8 V < 600

02 Vehicle Speed — v(t)

✓ No overshoot Field weakening km 4–6
Speed profile v(t) showing vehicle speed tracking the kinematic reference across the 10 km route
// Figure 7 — Speed profile v(t) · Simulink · Carelli 1928 · PoliMi 2026

Speed profile confirms correct tracking of kinematic reference across all seven route segments. Rate limiter on ωref produces smooth linear ramps at each acceleration/deceleration phase, limiting acceleration to amax = 0.545 m/s² (passenger-comfort threshold, αmax ≈ 9.13 rad/s² at motor shaft).

Zero overshoot

PI speed loop, tuned with pole-zero cancellation, PM = 90° → reaches each reference step without overshoot. Validates bandwidth separation strategy (ωm = 2 rad/s).

Zero steady-state error

Integral action of PI eliminates steady-state tracking error at constant speed, including in presence of slope disturbances (±5% at km 3–4 and 8–9).

Field-weakening region (km 4–6)

At vmax ≈ 11.67 m/s motor operates above base speed. Speed tracking remains accurate despite excitation current dynamically reduced below nominal.

Slope disturbance rejection

At km 3 (uphill +5%) Tdist = 743 Nm — 89.8 % of Tn. PI integral action drives the steady-state error back to zero; the transient speed dip lasts τs = 1/ωm ≈ 2 s. On downhill (km 8) the armature current reverses for regenerative braking.

03 Armature Current — ia(t)

Clamped at 156 A Anti-windup ✓
Armature current ia(t) showing saturation at 156A during acceleration phases and low steady-state values at constant speed
// Figure 8 — Armature current i_a(t) · Simulink · Carelli 1928 · PoliMi 2026

Armature current confirms inner PI loop correctly limits Ia to rated value 156 A during all acceleration phases. Back-calculation anti-windup (Kb,a = 100) prevents current spikes at transitions from saturation to unsaturated operation.

Saturation at rated current

During acceleration ramps speed PI demands max torque. Saturation block clamps Ia at +156 A — max traction while protecting motor windings from thermal overload.

Anti-windup effectiveness

Back-calculation (Kb,a = 100) prevents integrator windup. Transitions saturated → unsaturated: smooth — no current spikes that would trip electrical protection.

Low steady-state current

At constant speed on flat track Ia only overcomes viscous friction (β = 0.81 Nms) → low steady-state value, efficient operation. On the 5 % uphill the gravity component alone draws ≈ 140 A; with friction included the total approaches the saturation limit of 156 A.

Regenerative braking

During deceleration km 9–10 armature current reverses → regenerative braking. Negative Ia confirms motor acts as generator, feeding energy back to DC line.

04 Excitation Current — ie(t)

Field weakening active Ie,min ≈ 2.6 A ✓
Excitation current ie(t) showing constant value at 5A in base-speed region and field-weakening reduction to ~2.6A at max speed
// Figure 9 — Excitation current i_e(t) · Simulink · Carelli 1928 · PoliMi 2026

Excitation current plot validates field-weakening strategy. Current holds at nominal 5 A until base speed reached. Beyond this point controller dynamically reduces excitation via 1/ω law — keeps back-EMF below 600 V DC supply.

Constant excitation (km 0–3, 6–10)

In base-speed region Ie held at nominal 5 A. Excitation PI (ωe = 40 rad/s, PM = 90°) tracks constant reference without error.

Field-weakening activation

As ω exceeds ωbase = 101.6 rad/s: Ie,ref = En/(Ks·ω). At ωmax = 195.3 rad/s (vmax = 42 km/h) the reference drops to ≈ 2.60 A; the resulting back-EMF e = Ks·Ie·ω = 538.8 V stays 0.05 % below En, strictly under the 600 V line voltage. Constant-power region spans a factor 1.92 in speed.

Smooth transitions

Transitions into/out of field-weakening region smooth — no underdamped oscillations. Validates 90° phase margin design for excitation loop.

Restoration to nominal

When speed ref drops below ωbase at km 6, FW block restores Ie,ref = 5 A. Excitation PI tracks step without overshoot.

05 Key Control Diagrams

Simulink diagrams illustrate main control subsystems. Cascade architecture decouples three loops via bandwidth separation (factor ≥ 10× between adjacent loops).

// Speed control scheme — overall cascade architecture
Speed control scheme of the DC machine showing the cascade PI architecture
// Excitation current loop — field weakening logic
Simulink diagram of excitation current control with field-weakening
// Armature current loop — back-EMF decoupling
Simulink diagram of armature current control with back-EMF feedforward
// Mechanical control — kinematic profile & rate limiter (amax = 0.545 m/s², αmax ≈ 9.13 rad/s²)
Simulink mechanical control subsystem with kinematic profile and rate limiter

06 Conclusions

Cascade PI architecture proves capable of controlling Carelli 1928 tram drive across full operating envelope — rated-speed traction, above-rated field-weakening, slope disturbances — while respecting every electrical and mechanical constraint.

Three design decisions proved essential: interpreting Kt as total machine constant Ks (verified by dual KVL/power-balance check), strict bandwidth separation (40/20/2 rad/s) for independent loop stability, back-calculation anti-windup to prevent integrator saturation during frequent current-limiting events typical of urban traction cycles.

Project submitted for course Dynamics of Electrical Machines and Drives (10 CFU) — MSc Automation and Control Engineering, Politecnico di Milano, under supervision of Prof. Francesco Castelli Dezza.

Full Report GitHub Repository