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:使用 F28027F 在 HAL 驱动 DRV8305时切换 EPWMxA 和 EPWMxB

Guru**** 2539140 points
Other Parts Discussed in Thread: TMS320F28027F, MOTORWARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/706627/compiler-tms320f28027f-switch-epwmxa-and-epwmxb-in-hal-driving-drv8305-with-f28027f

器件型号:TMS320F28027F
主题中讨论的其他器件: MOTORWARE

工具/软件:TI C/C++编译器

您好!

我正在使用 TMS320F28027F 和 DRV8305N 开发定制板。 由于我的定制电路板布局要求、我必须按如下方式交换 TMS 上的 ePWM 引脚:

EPWM1A -> INH_A

EPWM1B -> INL_A

EPWM2A -> INL_C

EPWM2B -> INH_C

EPWM3A -> INL_B

EPWM3B -> INH_B

由于电路板已经进行了制造和组装、因此我无法再更改布线。 您能帮我了解固件配置需要哪些更改吗?

非常感谢!

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

    这里是 I 所做的更改、它导致电机短路并损坏 DRV。 如果您能引导我了解应该更改哪些功能、我将不胜感激。  谢谢!

    在 HAL_Handle HAL_init ()中

    //初始化 PWM 句柄

    // obj->pwmHandle[0]= PWM_init ((void *) PWM_ePWM1_base_ADDR、sizeof (PWM_Obj);

    // obj->pwmHandle[1]= PWM_init ((void *) PWM_ePWM2_base_ADDR、sizeof (PWM_Obj);

    // obj->pwmHandle[2]= PWM_init ((void *) PWM_ePWM3_base_ADDR、sizeof (PWM_Obj);

     obj->pwmHandle[0]= PWM_init ((void *) PWM_ePWM1_base_ADDR、sizeof (PWM_Obj));

     obj->pwmHandle[1]= PWM_init ((void *) PWM_ePWM3_base_ADDR、sizeof (PWM_Obj));

     obj->pwmHandle[2]= PWM_init ((void *) PWM_ePWM2_base_ADDR、sizeof (PWM_Obj));

    在 HAL_setupPwms()中

    if (cnt>0)

       {

         //设置计数器比较控制寄存器(CMPCTL)

         PWM_setLoadMode_cmpA (obj->pwmHandle[cnt]、PWM_LoadMode_Zero);

         PWM_setLoadMode_CMPB (obj->pwmHandle[cnt]、PWM_LoadMode_Zero);

         PWM_setShadowImage Mode_CMPB (obj->pwmHandle[cnT]、PWM_ShadowImage Mode_Shadow);

         PWM_setShadowImage Mode_cmpA (obj->pwmHandle[cnt]、PWM_ShadowImage Mode_Immediate);

         //设置动作限定器输出 A 寄存器(AQCTLA)

         PWM_setActionQual_CntUp_CMPB_PwmB (obj->pwmHandle[cnt]、PWM_ActionQual_set);

         PWM_setActionQual_CntDown_CMPB_PwmB (obj->pwmHandle[cnt]、PWM_ActionQual_clear);

         //设置死区发生器控制寄存器(DBCTL)

         PWM_setDeadBandOutputMode (obj->pwmHandle[cnt]、PWM_DeadBandOutputMode_EPWMxA_rising_EPWMxB_Falling);

         PWM_setDeadBandPolarity (obj->pwmHandle[cnT]、PWM_DeadBandPolarity _EPWMxA_Inverted);

       }

       其他

       {

         //设置计数器比较控制寄存器(CMPCTL)

         PWM_setLoadMode_cmpA (obj->pwmHandle[cnt]、PWM_LoadMode_Zero);

         PWM_setLoadMode_CMPB (obj->pwmHandle[cnt]、PWM_LoadMode_Zero);

         PWM_setShadowImage Mode_cmpA (obj->pwmHandle[cnt]、PWM_ShadowImage Mode_Shadow);

         PWM_setShadowImage Mode_CMPB (obj->pwmHandle[cnt]、PWM_ShadowImage Mode_Immediate);

         //设置动作限定器输出 A 寄存器(AQCTLA)

         PWM_setActionQual_CntUp_CmpA_PwmA (obj->pwmHandle[cnt]、PWM_ActionQual_set);

         PWM_setActionQual_CntDown_CmpA_PwmA (obj->pwmHandle[cn]、PWM_ActionQual_clear);

         //设置死区发生器控制寄存器(DBCTL)

         PWM_setDeadBandOutputMode (obj->pwmHandle[cnt]、PWM_DeadBandOutputMode_EPWMxA_rising_EPWMxB_Falling);

         PWM_setDeadBandPolarity (obj->pwmHandle[cnT]、PWM_DeadBandPolarity _EPWMxB_Inverted);

       }

    (笑声)

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

    Xunjie、

    1. 什么是短路?
    2. 如何判断 DRV 已损坏?
    您能否移除栅极驱动器并使用示波器观察 PWM 输出?
    1. 这将允许您在不销毁组件的情况下进行调试。

    此致、
    Cody  

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

    您好、Cody、

    感谢您的回复!

    1.当我通过 gMotorVars.SpeedRef_krpm 命令转速(0.5krpm)时、电机开始吸气。
    DRV 故障 LED 亮起、复位电路板不会清除 DRV。 我看到故障 PVDD_UVFL。 在对电路板电源进行几次复位后、电源的过流保护将启动、我无法再次为电路板供电。

    然后、我用全新的 DRV 芯片替换了旧的 drv、故障消失了。

    您能告诉我、当我更改 drv 和 tms 之间的接线时、Motorware 上应该进行以下哪些更改吗:
    EPWM1A -> INH_A
    EPWM1B -> INL_A
    EPWM2A -> INL_C
    EPWM2B -> INH_C
    EPWM3A -> INL_B
    EPWM3B -> INH_B

    由于定制板上的紧急事项和公司敏感信息、我可以将更多详细信息发送给您吗?

    非常感谢!

    Xunjie

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

    Xunjie、

    如果您需要提供更多详细信息、您可以在论坛上进行此操作。 不过、我认为我们仍然需要诊断短路的原因。

    您能否移除电机驱动器并观察 PWM 输出? 这将有助于我们了解短路的位置和时间。


    此致、
    Cody  

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

    Cody