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.

[参考译文] TMS320F28035:电流限制算法

Guru**** 2390755 points
Other Parts Discussed in Thread: TMS320F28035

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1478309/tms320f28035-current-limit-algorithm

器件型号:TMS320F28035

工具与软件:

您好!

我使用 TMS320f28035通过带传感器的 PMSM 来驱动电机控制。 如何限制 main bara 的电流? 可以通过任何方法来使用 Id、Iq 值或任何其他值  

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

    尊敬的 Yavuz:

    您能否查看 MathWorks 论坛上的此问答、看看是否有帮助? 谢谢!

    https://www.mathworks.com/matlabcentral/answers/2129026-dc-current-limitation-in-foc-of-pmsm

    谢谢!

    嘉兴市

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

    /*--------------------------DC Current Limit Code Snippet depend on SpeedRPM--------------------------*/
        if (DC_Bara_Current_value_mA > DC_BARA_Current_max_limit)
        {
            if (limitHizAtamaSwitch == 0)
                limitedSpeedRPM = YENI_REF_HIZ_FROM_RS422; // speed command assign to limitedRPM value when dc calculated value surpass the limit current value
    
            limitHizAtamaSwitch = 1;    //for once assign
            akimHizLimitleyici = 1;  // for doesnt assign new command speed value in control algorithm
            limitedSpeedRPM -= 0.1;             // decreasing 0.1RPM every loop
            SpeedRef = _IQ(limitedSpeedRPM / speed1.BaseRpm); // for new proccessing value for speed
        }
        else if (DC_BARA_Current_max_limit - DC_Bara_Current_value_mA < 150.0)   //schmitt zone for 150ma
        {
            if (limitedSpeedRPM > YENI_REF_HIZ_FROM_RS422)
                akimHizLimitleyici = 0; // In hysteresis zone if new RPM value is low from limited RPM valu, it run 
            else
                akimHizLimitleyici = 1; // In hysteresis zone if new RPM value is high from limited RPM valu, it doesnt run 
        }
        else        // normal proccesing 
        {
            limitHizAtamaSwitch = 0; //for new RPM value assign 
            akimHizLimitleyici = 0;
        }
    /*-----------------------------------------------------------------------------------------------------------*/

    此处的电流限制代码取决于速度 RPM。

    我尝试使用命令值的速度控制来限制直流原电流、但我的小齿轮可以使用控制 id Iq max min 参数的另一种方法。 我已经使用分流电阻器计算出 DC bara。 如果我知道 Id Iq 值给我们多少电流(他们的值附带每单位),我可以控制它们。 我知道它们通过 wihht 的直流原电压发生变化。