cancel
Showing results for 
Search instead for 
Did you mean: 

PLL vs CORDIC

Akella
Associate II

Hello to all.

What are the advantages of one algorithm over another PLL vs CORDIS?

Is there a description of the methods for setting the coefficients.

1 ACCEPTED SOLUTION

Accepted Solutions
FouadB
ST Employee

​Hello,

Both sensor less algorithms Observer-PLL and Observer-CORDIC are used to provide an estimation of the electrical speed and angle.

PLL could be more dedicated to applications that not requiring a full torque at zero or very low speed (speed > 5% of nominal speed).

It means that it needs a minimum level of speed to work efficiently.

While it is not the case for the CORDIC, but it is more sensitive the level of noise presents in the estimated back EMF. 

Regarding the tuning:

All parameters of Observer are automatically computed by the MC Workbench according to the motor’s parameters (electrical and

mechanical params) used for the application.

For the Observer-PLL, there is no tuning required for PLL gains (P and I).

In both case, some tuning may be required for the Gain G2 (/2, /4, /8 according to the noise in the observed BEMF).

It can be set in Workbench GUI (open “Speed Sensing�? in manual editing mode).

Due to inherent noisiness of the CORDIC algorithm, the speed variance threshold parameter could be increased to avoid some “speed error feedback�?.

Best regards,

FB

If you agree with my answer, please accept it by clicking on 'Accept as solution'."

View solution in original post

4 REPLIES 4
FouadB
ST Employee

​Hello,

Both sensor less algorithms Observer-PLL and Observer-CORDIC are used to provide an estimation of the electrical speed and angle.

PLL could be more dedicated to applications that not requiring a full torque at zero or very low speed (speed > 5% of nominal speed).

It means that it needs a minimum level of speed to work efficiently.

While it is not the case for the CORDIC, but it is more sensitive the level of noise presents in the estimated back EMF. 

Regarding the tuning:

All parameters of Observer are automatically computed by the MC Workbench according to the motor’s parameters (electrical and

mechanical params) used for the application.

For the Observer-PLL, there is no tuning required for PLL gains (P and I).

In both case, some tuning may be required for the Gain G2 (/2, /4, /8 according to the noise in the observed BEMF).

It can be set in Workbench GUI (open “Speed Sensing�? in manual editing mode).

Due to inherent noisiness of the CORDIC algorithm, the speed variance threshold parameter could be increased to avoid some “speed error feedback�?.

Best regards,

FB

If you agree with my answer, please accept it by clicking on 'Accept as solution'."
Onorm.1
Associate II

Hello, I try to run my BLDC motor in sensorless Mode Using Cordic or PLL. For the moment, none of them works, I was wondering if there was a tuning procedure that I can follow? my ST motor workbench is ver1.0.2.0.

Olivier

FouadB
ST Employee

May I suggest you to upgrade your version to latest MCSDK version 5.4.5.

When the update will be completed, could you please add more details about the issue encountered ?

Best regards,

FB

If you agree with my answer, please accept it by clicking on 'Accept as solution'."
Onorm.1
Associate II

Hello Fouad, Actually this is firmware version 3.0 that I am using. I can't update, my project is all based on 3.0 library. I tried to tune PLL + Observer + PLL and Cordic. None of them give clean sensorless speed measurements. It remains unprecise ans unstable. So far, I'm stuck.