cancel
Showing results for 
Search instead for 
Did you mean: 

Mechanical RPM and Encoder Speed

luke514
Senior

I'm driving a BLDC motor (14 poles) through the profiler and connect it to the STM32 B-G431B-ESC1 inverter. I am using a sensorless control (PLL + Observer) with an auxiliary encoder mounted on top.

Motor Pilot allows me to set the mechanical speed at which the motor runs, i.e., 2142 RPM:

MotorPilot 2.png

I plotted (again with Motor Pilot) the speed of the endoer and that calculated by the sensorless PLL. They are about the same, i.e.160:

MotorPilot.png

1) However, I don't understand what scale the "y" in the graph is

2) Shouldn't the speeds in this second image be 2142 RPM ?? (as set with the Pilot)

.. maybe I am confusing electrical and mechanical speeds? and/or maybe there is an internal normalization in the code?

luke514_0-1729086845381.png

From this formula:

luke514_1-1729088320344.png 

Electrical Freq. (Hz) = 250 Hz

 

 

 

 

 

 

1 REPLY 1
GMA
ST Employee

Hello @luke514,

There is a ticket on our side to align reported speed values.

On current implementation, speed values reported on High Frequency plot are scaled by FREQUENCY_SCALE value.

GMA_0-1730969924213.png

Then computation is: "reported value"/FREQUENCY_SCALE and resulting value is ("Electrical Frequency"*10/"pole pair value")

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