This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

F28069M 例程lab02b中USER_softwareUpdate1p6()函数使用问题



你好:

    现在使用的控制板为LAUNCHXL-F28069M,驱动板为BOOSTXL-DRV8305EVM配套使用控制24VBLDC,代码为Lab02b例程。使用学习中遇到以下问题:

1. 使用user.h中自定义的电机参数时,调用USER_softwareUpdate1p6(ctrlHandle)函数,逐行仿真时计算了该函数中的变量具体值,见图1中所示,请问该函数的具体用途?

2. 由手册中的说明,个人理解该函数是为了得到电感最大值而进行了Q格式缩放,但仿真发现EST_getLs_coarse_max_pu(ctrlHandle->estHandle)返回值为44.79999924,在IQ24格式下,直接计算Ls_coarse_max*fullScaleInductance,即

_IQmpy(EST_getLs_coarse_max_pu(ctrlHandle->estHandle), _IQ(fullScaleInductance)),返回值为0.02068936825,并不会超IQ24范围,为什么这里需要缩放?

3. USER_softwareUpdate1p6(ctrlHandle)函数中计算L_max0.00184731,比问题2中算出的返回值还小,就更不理解USER_softwareUpdate1p6(ctrlHandle)函数了。

4. 在通过电机参数计算PI系数时,在USER_calcPIgains(ctrlHandle)函数中有Ls_d = EST_getLs_d_H(obj->estHandle),仿真值为0.0007092811,与user.h中设置的值相同,Ls_q值也与Ls_d 相同,既然计算PI系数值时是直接调用user.h中的参数,为何还需要USER_softwareUpdate1p6(ctrlHandle)函数

    以上为学习中遇到的问题,请各位大神指点迷津,感激万分,谢谢。