Skip to main content
Associate
May 12, 2025
Solved

speed measurement resolution

  • May 12, 2025
  • 1 reply
  • 665 views

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?

Best answer by GMA

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.

1 reply

GMA
GMABest answer
Technical Moderator
May 13, 2025

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
sjsonAuthor
Associate
May 15, 2025

Thank you