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.

[参考译文] TMS320F2.8054万F:如何根据不同的电机速度来调整LS

Guru**** 2454880 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/655468/tms320f28054f-how-to-chage-ls-according-to-different-motor-speed

部件号:TMS320F2.8054万F

您好,

     我的客户认为电动机电感器 在 高速 和低速之间存在差异。 他们希望每1000转/分更换一次LS。

他们已经 尝试在 马达运行时修改lab5b中的LS,但是 如果 更换LS , 马达将停止运行。

我们想 知道如何在 lab5b中以不同的马达速度修改LS。 谢谢。  

  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    LS与电机转速无关,只有LQ与电流有关,LQ将随电流增加而降低。 您可以按照以下功能重新设置LD和LQ。 使用实际LD&L替换obj->motorParams.ls_d和obj->motorParams.ls_q

    void软件更新1p6 (CTRL_HANDLE句柄)

    Ctrl_Obj *obj =(CTRL_Obj *)句柄;
    float_t fullScale电 感= EST_getFullScale电 感(obj->estHandle);
    float_t LS_粗糙_max =_IQ30toF (EST_getLs_粗糙_max_PU (obj->estHandle);
    Int_least8_t Lshift = ceil (log(obj->motorParams.ls_d/(LS_粗糙_max*fullScale感 应))/log (2.0));
    UINT_least8_t LS_qFmt = 30 - Lshift;
    float_t L_max =全标度电感*电流(2.0 ,Lshift);
    _IQ LS_d_PU =_IQ30 (obj->motorParams.ls_d / L_max);
    _IQ LS_q_PU =_IQ30 (obj->motorParams.LS_q / L_max);


    //存储结果
    est_setls_d_pu (obj->estHandle,ls_d_pu);
    est_setls_q_pu (obj->estHandle,ls_q_pu);
    est_setls_qFmt(obj->estHandle,ls_qFmt);

    返回;
    }//结束软件更新1p6()函数
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好Yanming,
    您的代码有效。 非常感谢。

    陈信哲