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.

[参考译文] TMS320F28379D:当 FOC 控制 F28379D 从4级更改为4级时、无法控制电机

Guru**** 2381520 points
Other Parts Discussed in Thread: TMDXIDDK379D, SFRA
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1311266/tms320f28379d-motor-cannot-be-controlled-when-foc-control-f28379d-changes-from-level4-to-level

器件型号:TMS320F28379D
主题中讨论的其他器件:TMDXIDDK379DSFRA

您好,

TI 朋友!

套件型号:套件 IDDK - TMDXIDDK379D    

问题发生的地方:快速电流环路的4级到6级:4级(电流和转速环验证;6级:SFRA 的扫描功能) PI 控制器;SDFM 采样模式;T 格式

特定问题说明:

(1)  在4级、电机可以跟踪给定的速度传感器、为了进行6级实施、我将 SCI 初始化配置为:
SCI_setConfig (SCIA_BASE、DEVICE_LSPCLK_FREQ、57600 (SCI_CONFIG_WLEN_8 | SCI_CONFIG_STOP_ONE | SCI_CONFIG_PAR_NONE))。

未对其他器件进行任何具体更改。

(2)使用6级功能时、电机电流运行电机标志位会在上电后自动停止、即使我选中了运行电机选项也无法更改、因此无法通过双闭环控制对电机进行正确控制。

我不太确定问题可能在哪里、如下所示:

它在这里停留了很长时间、这可能是什么原因造成的?
如果需要显示特定代码来解决此问题、我很乐意提供!

谢谢!

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

    此时、在与客户进行测试后、最初认为这可能是编码器问题。 为此、我们进行了以下测试:
    1.返回 Level4 ,观察 tFormat_crcError (crcError),发现值为0,即编码器可以正常工作。
    2.在6级(即 SFRA 电平)中,将注入电流幅度从0.005更改为0。 我们认为此时它的工作方式应该与4级相同、但此时 tFormat_crcError 为1。
    在 T-Format 过程中、我们进行了以下更改:
    内联 void readTformatEncPosition (void)
    {

    //if (tFormat_dataId = PM_TFORMAT_DATAID3)
    if (tFormat_dataId = PM_TFORMAT_DATAID0)
    {
    //retVal1 = PM_tformat_receiveData (PM_TFORMAT_DATAID3);
    retVal1 = PM_tformat_receiveData (PM_TFORMAT_DATAID0);

    /* crcResult = PM_tformat_getCRC (0、80、8。
    (uint16_t *)(&tformatData.rxPkts)、tformatCRCtable、10);*/
    crcResult = PM_tformat_getCRC (0、40、8、(uint16_t *)&tformatData.rxPkts、tformatCRCtable、 5);

    crcResult = crcResult ^(0xFF);

    if (!tformat_checkCRC (crcResult、tformatData.crc))
    {
    tFormat_crcError = 1;
    runMotor = MOTOR_STOP;

    现在还不太明白增加 SFRA 为什么会影响编码器?

    非常感谢您,期待您的回复!

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

    尊敬的 Bob:

    2. 在6级(即 SFRA 电平)中、将注入电流振幅从0.005更改为0。 我们认为此时它的工作方式应该与4级相同、但此时 tFormat_crcError 为1。[/引号]

    在使用 SFRA 注入任何值之前、该解决方案是否能在 BL#6中正常工作?

    现在不明白为什么增加 SFRA 会影响编码器?

    可能是与 CPU 利用率相关的问题。 SFRA 功能需要服务一些额外代码/ISR、以干扰编码器任务。

    此致!

    凯文

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

    Kevin 老师好!
    将4级改为6级后、系统会自动更新部分代码(我认为您必须知道这一点、哈哈)、即使我将注入幅值从默认的0.005更改为0、编码器仍然会显示 CRC 错误。 我认为这可能是代码的这两个部分之间的问题、但我对应该正确更改哪一部分感到困惑、您有什么建议吗?

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

    2. 静态内联空注射 SFRA(空)
    {
    if (sfraTestLoop == SFRA_TEST_D_AXIS)
    {
    sfraNoiseD = SFRA_F32_Inject (0.0);

    否则为(sfraTestLoop = SFRA_TEST_Q_AXIS)
    {
    sfraNoiseQ = SFRA_F32_Inject (0.0);

    否则为(sfraTestLoop = SFRA_TEST_SPEEDLOOP)
    {
    sfraNoiseW = SFRA_F32_Inject (0.0);

    返回;

    当我仅使用上述代码而未添加任何参考值时电机无法工作

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

    尊敬的 Bob:

    由于您使用的是 T-format 编码器、您使用的采样模式是什么、"single_sampling/"double_sampling"? 另外、PWM 频率是多少?

    谢谢。

    嘉兴市