PMSM - safety features

Thread Starter

Krzysztof Bieda

Joined Jan 5, 2016
Hello Everyone,

I have designed pretty well working PMSM/BLDC controller that handles
both trapezoidal and sinusoidal(FOC) control.

I have added comparators on supply voltage and current readings to know
when voltage drops below certain level and when current jumps above critical level.

Now I do not know what to do with that.
I know that it is necessary for safety, but what should I do when it happens?

I thought:
- when voltage drops bellow certain level - then minimize current on regulator ( simply minimize set current on current PI)
- when current goes above critical level - then do the same like above

but when I do something like that then motor will decrease in torque when every critical action happens.

I am also reading temperature of motor from internal thermistor. What to do when that temp increases above critical level.

Any guidelines?



Joined Dec 2, 2013
Depending on the usage
a: critical (eq cooling system) move to save speed/load and generate external alarm.
Save operations could be 25% of its normal load.
b: non critical generate external alarm and close down controller .
However you are the person to define its usage in the used environment.


Joined Sep 6, 2014
Monitor dc voltage. Deceleration/regeneration can cause high dc voltage and semiconductors can/will fail. Stop modulation (or disable h-bridge ) below maximum allowed dc. Dc voltage will increase between detection time and modulation stop so have margin. Often (in industrial use) there is another controller that activates when dc voltage goes high but dc voltage is well before overvoltage trip limit. It can reduce regeneration in order to reduce overvoltage and avoid trip.

Dc undervoltage means supply loss, component on dc circuit is shorted or shoot through on bridge. If supply is from battery undervoltage is unlikely. Either stop modulation (undervoltage trip/fault) or make another controller that control torque close to zero. It would keep the dc voltage on operational range while waiting that supply comes back. Needs a method to detect that supply came back. Or just stop modulation and restart if wanted when supply=DC voltage is ok.

At least on foc current is limited by control as long control is working. For example if torque current limit is 10 A rms, peak current is about 15 A. You could set instant overcurrent fault limit to about 20 A or somewhat higher. Something to avoid nuisance trips.

Foc limits motor current to set/designed level. On designed operating conditions -like ambient temperature- motor temperature should not reach critical temperature. Therefore fault or delayed fault makes sence on detection. If it is possible to have two detection levels, one can be used for warning and then user or program can reduce load and so on.


Joined Sep 6, 2014
Dc overvoltage during regeneration mode happens easily when supply ac current is rectified to dc with diode bridge. If automotive means that supply is a direct connection to rather big capacity battery then overvoltage is unlikely.


Joined Jul 18, 2013
I agree it depends on the application, but for most is seems obvious that if there is conditions being experienced that cause the the drive to operate outside of its specified parameters then an external signal should be output and the drive shut down.