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.

[参考译文] TMS320F28027F:集成/实现飞跨启动(转子已在移动)到 Lab11a 中、其中没有 CTRL 对象

Guru**** 2606725 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/682245/tms320f28027f-integrate-implement-flying-start-rotor-already-moving-into-lab11a-where-there-is-no-ctrl-object

器件型号:TMS320F28027F

我正在努力 将飞行启动(转子已在移动)特性从 Lab10e 集成/实现到 Lab11a 中、其中没有 CTRL 对象。 在执行此任务时、是否有任何关于应注意或避免什么的建议?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您可以按照 lab10e 指南中的飞行开始控制流程图来设计项目、lab10e 中的大多数飞行开始代码也可以在 lab11a 中重复使用。 基本控制概念是启用 instaSPIN FAST 估算器、禁用速度闭环、启用电流(ID&IQ)闭环并将两者都设置为零。 FAST 将检测转子速度和角度、在启用速度闭合环路之前、首先将实际反馈速度设置为速度 PI 稳压器的目标速度和轨迹。 如果您有任何其他问题、请告诉我、您完成移植不会遇到任何挑战。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢您、lab10e 指南可提供帮助。 在 lab11a 中、建议使用什么机制来禁用速度闭环?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    在项目中添加两个全局变量,如下所示,使用 FS_FLAG_enableSpeedCtrl 替换 MOTOR_RunCtrl()中的 FLAG_enableSpeedCtrl。

    bool FS_FLAG_enableSpeedCtrl = false;
    _IQ FS_IQ_ref_pu =_IQ (0.0);

    然后按如下所示更改 mainISR()中的代码。

    //适当时运行 PID 速度控制器
    if (fs_flag_enableSpeedCtrl == true)

    if (((pidCntSpeed++>= USER_NUM_CTRL_TICKS_PER_SPEED_TICK)&&(!gMotorVars.Flag_enableRsRecalc))

    //计算 Id 参考平方
    _iq Id_ref_squared_pu =_IQmpy (PID_getRefValue (pidHandle[1])、PID_getRefValue (pidHandle[1]));

    //考虑 IQ^2+ID^2 =为^2
    _iq IQ_Max_pu =_IQsqrt (GIS _Max_squared_pu - ID_ref_squared_pu);

    //清除计数器
    PidCntSpeed = 0;

    //为速度控制器输出设置新的最小值和最大值
    PID_setMinMax (pidHandle[0]、-IQ_Max_pu、IQ_Max_pu);

    //运行速度控制器
    PID_RUN_SPD (pidHandle[0]、TRAJ_getIntValue (trajHandle_SPD)、SPED_PU、&(gIdq_ref_pu。value[1]));


    其他

    gIdq_ref_pu.value[1]= FS_IQ_ref_pu;