How to use the MC9S12ZVM_AMMCLIB_RTM?

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

How to use the MC9S12ZVM_AMMCLIB_RTM?

ソリューションへジャンプ
910件の閲覧回数
sufree
Contributor II

Hello,I want to use the MC9S12ZVM_AMMCLIB_RTM in BLDC motor controlling,and I set as the advise:

twrt.PNG

and add the ".h" file which is necessary,but when I use the function :

GFLIB_ControllerPIrAW_F16, the output always is 0.

sdf.PNG

Can give me some advise ?

タグ(2)
0 件の賞賛
1 解決策
600件の閲覧回数
pachamatej
NXP Employee
NXP Employee

Hello,

I can see you are changing the controller parameters every time before the controller function is called. That is not wrong except for the *.f32Acc = 0 and *.f16InErrK1 = 0 - these parameters are internal accumulator and previous error. It should be left unchanged when the controller is supposed to run. These parameters should be reset on every transition from stop to run (before the PI controller is supposed to run), but not before every call of the controller.

Another concern is your "a" variable - since it is constant and you are using it as the error input of the controller, the PI controller will integrate this error and eventually saturate with no way back.

Final comment - please use the latest version of the AMMCLib library. Your version works as well, but most of the library functions have been optimized to provide better performance.

Please let me know if it solves your issue.

Best regards,

Matej

元の投稿で解決策を見る

0 件の賞賛
2 返答(返信)
601件の閲覧回数
pachamatej
NXP Employee
NXP Employee

Hello,

I can see you are changing the controller parameters every time before the controller function is called. That is not wrong except for the *.f32Acc = 0 and *.f16InErrK1 = 0 - these parameters are internal accumulator and previous error. It should be left unchanged when the controller is supposed to run. These parameters should be reset on every transition from stop to run (before the PI controller is supposed to run), but not before every call of the controller.

Another concern is your "a" variable - since it is constant and you are using it as the error input of the controller, the PI controller will integrate this error and eventually saturate with no way back.

Final comment - please use the latest version of the AMMCLib library. Your version works as well, but most of the library functions have been optimized to provide better performance.

Please let me know if it solves your issue.

Best regards,

Matej

0 件の賞賛
600件の閲覧回数
sufree
Contributor II

It works,thank you !

0 件の賞賛