I down load the Motor Control Development Toolbox for MPC564xL v1.3.0,I used the GFLIB_ControllerPIp building a PI model,comparing the model built by the PI from simulink,the question is the paramater of Kp and Ki is the same ,but the answer is not

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

I down load the Motor Control Development Toolbox for MPC564xL v1.3.0,I used the GFLIB_ControllerPIp building a PI model,comparing the model built by the PI from simulink,the question is the paramater of Kp and Ki is the same ,but the answer is not

ソリューションへジャンプ
1,591件の閲覧回数
edenli
Contributor V

The model buit by NXP GFLIB_ControllerPIp ,as shown Part B in the fig. 1:

pastedImage_1.png

                                                                                                 Fig.1

The model buit by PI module from Matlab/Simulink,As shown Part A in the Fig. 1

 The analysis of simuliation result as shown below:

   pastedImage_3.png

why the result is arisen?I Cannt resolve the question,who can help me......

タグ(1)
1 解決策
1,380件の閲覧回数
Daniel_Popa
NXP Employee
NXP Employee

Hi Eden Li,

The model used in GFLIB_ControllerPIp does not take into account the Ts/2 factor for discrete time domain trasformation using the bilinear method. This factor is transferred into the Integral gain to simplify the mathematical computations.

Therefore, if you implement your own controller in Simulink, just modify the Gain Value for the Discrete-Time Integrator to 2/(simulation sample time). This way you will get the same output as the GFLIB_ControllerPIp.

The other way around would be consider Ts/2 factor when computing the GFLIB_ControllerPIp.s32IntegGain.

Hope this helps!

Daniel

元の投稿で解決策を見る

3 返答(返信)
1,381件の閲覧回数
Daniel_Popa
NXP Employee
NXP Employee

Hi Eden Li,

The model used in GFLIB_ControllerPIp does not take into account the Ts/2 factor for discrete time domain trasformation using the bilinear method. This factor is transferred into the Integral gain to simplify the mathematical computations.

Therefore, if you implement your own controller in Simulink, just modify the Gain Value for the Discrete-Time Integrator to 2/(simulation sample time). This way you will get the same output as the GFLIB_ControllerPIp.

The other way around would be consider Ts/2 factor when computing the GFLIB_ControllerPIp.s32IntegGain.

Hope this helps!

Daniel

1,380件の閲覧回数
edenli
Contributor V

Thank you very much!

0 件の賞賛
返信
1,380件の閲覧回数
Daniel_Popa
NXP Employee
NXP Employee

FYI, this is a model and the corresponding comparison results:

InputValue =  Controllers Error (simulated as a sine wave)

PIPvalue = output of NXP controller (yellow)

SIMULINKPIPvalue = output of SIMULINK controller (blue)

Comparison.jpg