The problem
An EV motor's peak torque is limited by current, but how long it can deliver that torque is limited by winding temperature. Datasheets give peak and continuous ratings that depend on cooling and ambient, and an Indian vehicle climbing a long ghat road at 40 °C can exceed the continuous rating. A thermal network model lets students compute these ratings from losses and thermal resistances and see what limits them.
Objectives
- Estimate copper, iron and rotor losses as functions of torque and speed.
- Build a lumped-parameter thermal network for winding, stator, rotor and housing.
- Compute continuous torque against speed for a winding temperature limit.
- Find how long the motor can sustain peak torque from different starting temperatures.
- Study the effect of ambient temperature and cooling on the ratings.
What you need
Tools and toolboxes
- MATLAB — Loss maps, parameter scripts, bisection searches for continuous torque and plotting.
- Simulink — Loss calculation from torque and speed, duty-cycle inputs and logging.
- Simscape — Thermal Mass, Thermal Resistance and Convective Heat Transfer blocks for the network. A basic-Simulink version with integrators is equally valid if Simscape is not licensed.
Software
- MATLAB R2023b or later
- Simulink
- Simscape (optional)
Extra parts and data
- Published motor datasheet or textbook example motor data — Winding resistance, rated current, torque constant and approximate masses are needed to set losses and thermal capacities.
Key concepts
- Lumped-parameter thermal network (LPTN)
- The motor is divided into a few nodes, each with a heat capacity, linked by thermal resistances. It is the electrical-circuit analogy of heat flow: temperature is voltage and heat flow is current.
- Copper loss with temperature
- P_cu = 3·I²·R(T), with R(T) = R20·(1 + α·(T − 20)) and α ≈ 0.0039 /K for copper. Hotter windings have higher resistance and generate more loss, a positive feedback.
- Insulation class
- Winding insulation has a temperature class, for example class F (155 °C) or class H (180 °C). Designers keep the hotspot below the class limit with a margin.
- Continuous versus peak rating
- Continuous torque is the torque at which winding temperature settles exactly at the limit. Peak torque can be held only until the winding heats up to the limit.
Step-by-step guide
- 1
Choose an example motor and limits
Pick an example motor, for example a 5 kW continuous, 10 kW peak PMSM for a scooter or small three-wheeler, with phase resistance, torque constant, rated speed, total mass and an assumed split between copper, stator iron, rotor and housing. Set the winding limit, for example 140 °C as a margin below a class F rating, and ambient cases of 25, 40 and 45 °C. Record every value in a parameter script, labelled as example data.
Checkpoint: A parameter script with node masses, specific heats and limits, and a sketch of the network.
- 2
Build the loss model
Compute phase current from torque using I = T / (1.5·p·λ) for a surface PMSM, ignoring field weakening at first. Copper loss is 3·I²·R(T) with temperature-dependent resistance taken from the winding node. Model iron loss with a Steinmetz-style fit, P_fe = k_h·f·B² + k_e·f²·B², or a simple speed-dependent table scaled to an example value at rated speed. Add a small rotor loss for magnet eddy currents.
Checkpoint: Loss values at rated torque and speed are plausible, giving an efficiency in the low-to-mid 90 per cent range for the example motor.
- 3
Build the thermal network
Create four nodes with Thermal Mass blocks: winding, stator iron, rotor and housing. Connect winding to stator through a resistance representing slot insulation, stator to housing through the contact and yoke resistance, rotor to stator across the air gap and housing to ambient through a convection block whose h depends on cooling type (natural, forced air or water jacket). Derive the resistances from geometry with R = L/(k·A) where possible.
Checkpoint: A network diagram in Simscape with every resistance and capacity traced to a formula or a stated assumption.
- 4
Verify the network
Inject a constant heat flow into the winding node only and run to steady state. Check that the steady winding temperature equals ambient plus heat flow times the series resistance from winding to ambient. Then check the dominant time constant from the step response against an estimate from the largest capacity and resistance. Use ode23t with a relative tolerance of 1e-4 and log with the Simulation Data Inspector.
Checkpoint: Steady winding temperature matches the hand calculation within one degree.
- 5
Couple losses and thermal model
Feed the loss model with torque and speed commands and route copper, iron and rotor losses into the matching nodes. Feed the winding temperature back into the resistance calculation. Run a constant rated-torque test from cold and check that the winding settles below the limit. Watch for thermal runaway in the model at very high torque, where rising resistance pushes losses up faster than cooling can follow.
Checkpoint: At rated torque the winding settles at a steady temperature below the limit; at a high overload it rises steadily towards and past the limit.
- 6
Compute continuous torque against speed
Write a MATLAB script that, for each speed in a grid, uses bisection on torque, running sim() each time, to find the torque at which the steady winding temperature equals the limit. Repeat for each ambient and cooling case. Plot continuous torque against speed; it typically falls at high speed as iron losses grow. Use a tolerance of about 0.5 N·m on the bisection and limit each run to the time needed to reach steady state.
Checkpoint: Continuous torque curves for each ambient and cooling case, falling with speed and lower at higher ambient.
- 7
Compute peak torque duration
Apply peak torque starting from cold (ambient) and from a hot start (steady state at continuous torque), and record the time for the winding to reach the limit. Repeat for several overload levels and plot time-to-limit against torque. Simulate a ghat climb duty cycle, for example sustained 80 per cent of peak torque for ten minutes, to see whether it is feasible at 40 °C ambient.
Checkpoint: A time-to-limit curve that falls steeply with overload, with hot-start times much shorter than cold-start times.
- 8
Sensitivity and cooling comparison
Vary the uncertain parameters, such as slot insulation resistance, housing convection coefficient and copper fill, by ±20 per cent and report the change in continuous torque at rated speed. Compare natural, forced-air and water-jacket cooling by changing the housing convection. Discuss which resistance is the bottleneck for heat leaving the winding. Present the results as a tornado chart so the most influential parameter stands out, and link it to where test data would reduce uncertainty most.
Checkpoint: A sensitivity table and a statement of which thermal resistance limits the rating most.
- 9
Report
Present the loss model, network, verification, continuous-torque curves, peak-duration curves and the duty-cycle result. State the limitations: a few lumped nodes cannot capture the hotspot inside the slot, end-winding heat paths are simplified and losses come from simple fits. Suggest how the model would be calibrated against a test with thermocouples on a real motor. Include the parameter script and the bisection code in an appendix.
Checkpoint: A report with ratings stated for each ambient and cooling case and an honest list of assumptions.
Testing & validation
- Steady winding temperature for a known heat injection matches hand calculation.
- Step-response time constant consistent with node capacities and resistances.
- Efficiency at rated point in a plausible range.
- Continuous torque and peak-duration curves for each ambient and cooling case.
- Sensitivity of ratings to the uncertain thermal resistances.
Expected results
A motor thermal network model with loss coupling that produces continuous-torque curves and peak-torque durations for different ambient and cooling conditions, with the limiting heat path identified.
Take it further
- Add more nodes for end windings and slot hotspot.
- Use the model as a real-time temperature estimator inside a torque derating controller.
- Couple with a water-jacket coolant loop in Simscape Fluids.
- Fit the network parameters to measured thermocouple data from a test motor.
Viva and review questions
Why does continuous torque fall at high speed?
Iron losses grow with frequency, and at high speed field weakening adds current, so more of the cooling capacity is used by speed-dependent losses and less is left for torque-producing copper loss.
Why is a hot-start peak duration much shorter?
The winding starts closer to its limit, so there is less thermal headroom to absorb the extra copper loss before reaching the limit.
How does winding resistance change with temperature?
It rises by about 0.39 per cent per kelvin for copper, so a winding at 140 °C has roughly 45–50 per cent more resistance than at 20 °C.
Learn it at DIYguru
These DIYguru courses and programmes teach what this project needs.
