What is StallCheck() function in MC9S12ZVML128_BLDC_Sensorless ?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

What is StallCheck() function in MC9S12ZVML128_BLDC_Sensorless ?

Jump to solution
774 Views
sohyunjang
Contributor III

I use MC9S12ZVML128_BLDC_Sensorless example project.

I am wondering that Function: void StallCheck(void)'s role.

I think that stallcheck is Overcurrent and Lowcurrent check.

Is it right?

I want a detailed explanation.


TThThank you.

pachamatej

Labels (1)
0 Kudos
1 Solution
564 Views
pachamatej
NXP Employee
NXP Employee

Actually, it has nothing to do with currents. The StallCheck() function is checking for the motor stall status (the situation when the rotor is blocked).

When the motor is running, an average zero-crossing period is calculated. If one of the acutal periods is greater or less than limit, stallCheckCounter is increased. Or, if one the periods is less then STALLCHECK_MIN_CMT_PERIOD, the stallCheckCounter is increased as well.

If the stallCheckCounter is greater than zero, a "Stall" is indicated. Once it reaches STALLCHECK_MAX_ERRORS, a fault is thrown and the application falls in to FAULT state.

The StallCheck() function is called after a new zero-crossing period is available, but in Sensorless mode only.

 

Please let me know if you need more explanation.

Regards,

Matej

View solution in original post

0 Kudos
1 Reply
565 Views
pachamatej
NXP Employee
NXP Employee

Actually, it has nothing to do with currents. The StallCheck() function is checking for the motor stall status (the situation when the rotor is blocked).

When the motor is running, an average zero-crossing period is calculated. If one of the acutal periods is greater or less than limit, stallCheckCounter is increased. Or, if one the periods is less then STALLCHECK_MIN_CMT_PERIOD, the stallCheckCounter is increased as well.

If the stallCheckCounter is greater than zero, a "Stall" is indicated. Once it reaches STALLCHECK_MAX_ERRORS, a fault is thrown and the application falls in to FAULT state.

The StallCheck() function is called after a new zero-crossing period is available, but in Sensorless mode only.

 

Please let me know if you need more explanation.

Regards,

Matej

0 Kudos