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.

instalSPIN-FOC中几个函数的疑问

Other Parts Discussed in Thread: MOTORWARE

1,为什么在est估计得时候会有static inline _iq TRAJ_getIntValue(TRAJ_Handle handle) 这个函数是什么意思,

EST_run(obj->estHandle,CTRL_getIab_in_addr(handle),CTRL_getVab_in_addr(handle), pAdcData->dcBus,TRAJ_getIntValue(obj->trajHandle_spd));

如下图FAST估计得时候不是只有有I,V和Ubus这几个变量吗?

2.CTRL_run Online()与CTRL_run Online_User有什么不同吗?我看代码好像执行的是一样的程序。

3,我想从CCS里面观察EST估算出来的angle,但是有以下问题

 datalog.iptr[0] = &angle_gen.Angle_pu;  // datalogBuff[0]
  datalog.iptr[1] = &gAdcData.I.value[1];  // datalogBuff[1]
  datalog.iptr[2] = gMotorVars.angle_est_pu; 

,,,,,,,

gMotorVars.angle_est_pu=EST_getAngle_pu(obj->estHandle);

代码第三行红色部分出现了警告,然后CCS观测到的图形不在0-1之间,明显datalog加的不对

"G:/motorware_1_01_00_18/sw/solutions/instaspin_foc/src/proj_lab01c.c", line 269: warning #515-D: a value of type "_iq" cannot be assigned to an entity of type "int32_t *"

前两个datalog格式是iq格式就没事儿,后面的gMotorVars.angle_est_pu同样是iq24格式怎么就不行了呢,


  • ?顶一下望解惑

  • 1,为什么�est估计得时候会有static inline _iq TRAJ_getIntValue(TRAJ_Handle handle) 这个函数是什么意思,

    EST_run(obj->estHandle,CTRL_getIab_in_addr(handle),CTRL_getVab_in_addr(handle), pAdcData->dcBus,TRAJ_getIntValue(obj->trajHandle_spd));

    如下图FAST估计得时候不是只有有I,V和Ubus这几个变量吗?

    ERIC:

     TRAJ函数是设置速度指令的实时值。比如你给个1000rpm的指令,速度环的指令不是马上变为1000,而是一个慢慢加速的速度指令,这样可以避免PID饱和。

    FAST里面指的是物理信号输入。

    2.CTRL_run Online()与CTRL_run Online_User有什么不同吗?我看代码好像执行的是一样的程序

    ERIC: 

    不同的,一个用于电机参数识别,一个是正常电机运转。

    3,我想从CCS里面观察EST估算出来的angle,但是有以下问题

     datalog.iptr[0] = &angle_gen.Angle_pu;  // datalogBuff[0]
      datalog.iptr[1] = &gAdcData.I.value[1];  // datalogBuff[1]
      datalog.iptr[2] = gMotorVars.angle_est_pu; 

    ,,,,,,,

    gMotorVars.angle_est_pu=EST_getAngle_pu(obj->estHandle);

    代码第三行红色部分出现了警告,然后CCS观测到的图形不在0-1之间,明显datalog加的不对

    "G:/motorware_1_01_00_18/sw/solutions/instaspin_foc/src/proj_lab01c.c", line 269: warning #515-D: a value of type "_iq" cannot be assigned to an entity of type "int32_t *"

    前两个datalog格式是iq格式就没事儿,后面的gMotorVars.angle_est_pu同样是iq24格式怎么就不行了呢,

    Eric: 哥,人家是指针,你直接给变量?然后就报错给你看。

  • 谢谢,受教了。