cancel
Showing results for 
Search instead for 
Did you mean: 

speed measurement resolution

sjson
Associate

Hello.

I am currently conducting FOC (Field-Oriented Control) tests using the Motor Control Workbench with the Nucleo-G431RB board and the IHM08M1 power stage.

My target speeds are 300 rpm and 150 rpm.

However, when using Hall sensors with motors that have 4 and 8 pole pairs, the measured speed resolution appears to be limited to 6 rpm.

Initially, I suspected this limitation was due to the resolution of the Hall sensors.

However, even after switching to incremental encoders (1024 PPR and 8192 PPR), the measured speed still increments in 6 rpm steps.

Is there any method to enhance the speed measurement resolution in this setup?

1 ACCEPTED SOLUTION

Accepted Solutions
GMA
ST Employee

Hello @sjson,

The reported RPM value uses the following computation (refer to register_interface.c):

/** Revolutions Per Minute: 1 Hz is 60 RPM */
#define U_RPM 60
/** Tenth of Hertz: 1 Hz is 10 01Hz */
#define U_01HZ 10
MCI_GetAvrgMecSpeedUnit(pMCIN) * U_RPM) / SPEED_UNIT);

 You can add an RPM value filtering to the reported values.

If you agree with the answer, please accept it by clicking on 'Accept as solution'.
Best regards.
GMA

View solution in original post

2 REPLIES 2
GMA
ST Employee

Hello @sjson,

The reported RPM value uses the following computation (refer to register_interface.c):

/** Revolutions Per Minute: 1 Hz is 60 RPM */
#define U_RPM 60
/** Tenth of Hertz: 1 Hz is 10 01Hz */
#define U_01HZ 10
MCI_GetAvrgMecSpeedUnit(pMCIN) * U_RPM) / SPEED_UNIT);

 You can add an RPM value filtering to the reported values.

If you agree with the answer, please accept it by clicking on 'Accept as solution'.
Best regards.
GMA

Thank you