The controller has the below methods to detect shorts happenng in the power stage (between the motor phases or in H-bridge MOSFETs):


  • Short circuit error: The instantaneous current of the motor exceeds 120% of the peak current of the controller. This check runs non-stop during the operation of the controller
  • Mosfail error: The controller will check for shorted MOSFETs every time it turns ON or when a special command is given. It will not check by default for shorted MOSFETs during its normal operation. This detection method is available only in controllers supporting STO. 


Besides these two protections, there are secondary methods that could detect in an indirect way such malfunctions, such as:


  • Amps trigger: The motor current is higher than a value for a defined time. 
  • Loop error: The motor feedback does not follow sufficiently the set command
  • Stall error: There is not motor movement for a defined time


If any of the previous protections are triggered, the controller will respond by disabling the power stage (floating all MOSFETs - giving a software emergency stop). Disabling the power stage will prevent the MOSFETs from being switched, but nothing can prevent the current flowing from a MOSFET's D-S contact, if the MOSFET is shorted. Having a top and bottom MOSFET shorted will create a closed circuit within the battery poles.




WARNING! The controller cannot prevent the current flow if both top and bottom MOSFETs are shorted!


Depending on the combination of damaged MOSFETs, we have the following categories: 


1. No short circuit when the controller is idle


In any of the below combinations, where only top or only bottom MOSFETs are shorted, current will not flow if controller does not switch the MOSFETs.


If a motor command is given, there will be an instance of time whre both top and bottom MOSFETs are ON and the current will increase as literally the battery + and - will be shorted. The controller then should immediately trigger the short circuit error and go on Emergency stop. If the error is cleared and motor command is given the same thing will happen again. The battery fuse should not trip because the the controller will go in error state imeediately.


2. Battery is permanently shorted


In the below cases both top and bottom MOSFETs of one phase are shorted, leading to a permanent battery short. Even if the controller does not switch the MOSFETs (power stage is disabled) the current will continue to flow since the MOSFETs have left permanently ON. 


The controller cannot do anything to prevent the current flow, since it doesn't have any internal fuse or switch. In that case the battery fuse should trip since the maximum battery current will be pulled. 


WARNING! The controller will not be able to prevent the current flow if both Top and Bottom MOSFETs are shorted!


3. Battery is permanently shorted though the motor phases


In the below case, where one top MOSFET of one motor phase and one bottom MOSFET of a different motor phase are shorted, the battery current will pass though the motor windings.


This can lead to motor rotation if the motor used is DC. Also the fuse will not trip as the battery will be shorted though the motor windings and the current will be reduced. Again here the controller does not have the ability to prevent the current flow.


WARNING! In case of DC motor, the beyond combination will lead to permanent motor rotation!


Protecting the system with a supervisory controller


The supervisory controller of the system should detect any erronous cases and open the main contactor if the controller misbehaves or is if it unresponsive. Such erroneous cases can be:


  • The controller is unresponsive (does not reply in queries/commands)
  • There is motor speed when the motor command is zero
  • There is motor current when the given command is zero
  • The controller reports a fault



Below is an example of an implementation where a supervisory controller can be used for that purpose.