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.

[参考译文] DRV8312-C2-KIT:如何在 BLDC_Sensored 上更改方向

Guru**** 2609255 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/678414/drv8312-c2-kit-how-to-change-the-direction-on-bldc_sensored

器件型号:DRV8312-C2-KIT
主题中讨论的其他器件: ash

您好,

我在 DRV8312-C2-KIT 上运行 BLDC_Sensored。 如何更改电机 方向 ?

谢谢

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

    修改 MOD6CNT_MACRO ()如下所示,此方法更易于实现。
    if (SpeedRef > 0)

    如果(v.TrigInput >0)

    如果(v.Counter == 5)/*在计数器为5时将其复位*/
    V.Counter = 0;
    其他
    V.Counter++; /*否则,增加1 */

    其他

    如果(v.TrigInput >0)

    如果(v.Counter ==0)/*当计数器为0时复位*/
    V.Counter = 5;
    其他
    五.计数器---- /*否则,减少1 */


    2.修改 BLDCPWM_MACRO ()以获得具有不同状态序列的正负速度基准。

    BTW、您应该在改变方向之前将电机减慢至零并重新启动。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    非常感谢您的快速回复和明确的方向。
    我很快就会尝试。

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

    该方法可以更改开环外壳上的方向。 如何在固定占空比或 PID 的闭环上实现它?

    再次感谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这是相同的、根据参考速度更改换向序列以更改旋转方向、这不依赖于开环/闭环。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的回复。

    无论我使用 SpeedRef 还是我的 mod1.direction (我添加了)在计数器上倒计数或递增计数 !   电动机顺时针转动。 通过使 speedRef 变为负 值或我的方向变为 CClockWise、电机以正确的方向旋转1/3圈、然后再次回到顺时针方向!

    谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    抱歉。 您还必须根据霍尔输入信号更改换向状态。

    //对以下 if-else-if 语句进行注释
    //换向状态的反相霍尔逻辑。
    IF (HALL1.HallGpioAccepted == 5)
    pwm1.CmtnPointer = 0;

    否则、如果(HALL1.HallGpioAccepted=1)
    pwm1.CmtnPointer = 1;

    否则、如果(HALL1.HallGpioAccepted == 3)
    pwm1.CmtnPointer = 2;

    否则、如果(HALL1.HallGpioAccepted == 2)
    pwm1.CmtnPointer = 3;

    否则、如果(HALL1.HallGpioAccepted == 6)
    pwm1.CmtnPointer = 4;

    否则、如果(HALL1.HallGpioAccepted == 4)
    pwm1.CmtnPointer = 5;