MCLIB difference between regular and high_speed_inlining?

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

MCLIB difference between regular and high_speed_inlining?

1,154件の閲覧回数
robotjosh
Contributor IV

I've been having ongoing problems using MCLIB to make a PMSM motor turn.  I had been using Cortex_M4_high_speed_inlining.a, when I try to set a speed the motor holds the current position harder until an integral component winds up.  Reversing the speed target makes it wind down drawing less current to hold the same position and then it winds back up drawing more current and holding the position hard again.   I tried using Cortex_M4.a instead.  Code execution time is only a few microseconds longer in the main current loop and should not interfere with operation.  Results are that this version of the library sets pwm values to extreme values, draws too much current, and causes gate driver errors.

What are the differences between Cortex_M4.a and Cortex_M4_high_speed_inlining.a besides slightly longer execution time?

We are expected to use these libs to control powerful and potentially dangerous motors, are there any plans to make the source code available?  I could answer most of my own questions with access to the source code.  I am uncomfortable being responsible for powerful motor driver while not being allowed to know how the code works.

0 件の賞賛
返信
2 返答(返信)

1,045件の閲覧回数
xiangjun_rong
NXP TechSupport
NXP TechSupport

Hi, Josh,

can you tell us the library location of the Cortex_M4_high_speed_inlining.a on freescale website? I can not find it after I search on Freescale website. is there any documentation which describes the api function?

BR

XiangJun Rong

0 件の賞賛
返信

1,045件の閲覧回数
robotjosh
Contributor IV

These files Cortex_M4.a and Cortex_M4_high_speed_inlining.a are included in the download "Software for PMSM Vector Control with Encoder on Kinetis K40"

I ran all the function tests from the reference manual and noticed that the function GMCLIB_DecouplingPMSM returns wildly different results when using the different versions of the library and neither result is close to what the reference manual is expecting.  It could be an issue with incorrect use of pointers or arrays that cause optimization bugs.

0 件の賞賛
返信