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.

[参考译文] PWM-AM243X:如何在电机移动期间动态地将 MCU-PLUS-SDK 模式从互补模式切换到其他模式

Guru**** 2555630 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1530624/mcu-plus-sdk-am243x-how-to-switch-the-pwm-mode-from-complementary-mode-to-other-mode-dynamicly-during-motor-moving

器件型号:AM243X - MCU-PLUS-SDK


工具/软件:

尊敬的 TI:

我们使用 AM243x 进行电机控制。  我在这里问 AM243x 是否动态支持 PWM 模式开关?  以下是我们要实现的目标:

正常 运行:

- PWM 与死区互补
-当收到制动请求时,我们切换到制动模式。
在制动模式下:
-将上桥 PWM 输出设置为持续关闭。
-下桥继续与 PWM ,并且占空比被控制(软制动)。
-当达到停止条件时,我们返回正常控制模式或保持所有三个低电桥持续打开。

我们尝试了三种方法、但无法有效制动 PWM 的互补特性。

下面是 TI 中国支持中心 Dong Kangjia 提供的示例。 但我们现在可以确定这种方式是安全的还是最好的方式:  



开关 (state){
Case State_Running:
EPWM_enableDeadBand (...);
//上下桥互补输出
休息;

Case State_Enter_Brake:
//第一步:强制关闭上桥
EPWM_setActionQualifierAction(...、A,低电平);
//等待 2 周期
WAIT_n_CYCLES (2);
//第二步:禁用死区
ePWM_disableDeadBand (...);
//第三步:配置下桥 PWM
EPWM_setAQAction (...、B、PWM);
STATE = STATE_BRAKE;
休息;

充电盒状态_制动:
UPDATE_PWM_DUTY (brakeDuty);
休息;
}

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

    尊敬的 

    您能否确认以下是您尝试执行的操作?

    正常模式->高桥和低桥都将生成 PWM 信号

    制动模式->高桥 PWM OUT 固定为低电平、低桥 PWM OUT 配置为生成不同的占空比、然后 低桥 PWM OUT 停止为高电平、然后两者都将进入正常状态

    正常<->制动模式

    您是否有任何 PRU 内核、我们建议使用 PRUICSS DMEM 根据 R5F 中的命令配置比较值并从 PRU 切换?

    您 需要多少个高侧和低侧 PWM 信号?

    此致、
    Manoj。

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

    尊敬的 Manoj:

    在此应用中、AM 处理器、3 个高侧和 3 个低侧控制一个三相半桥电路。 我们很多扩展了 SW 和 HW 来支持双轴、即 6 个高侧和 6 个低侧。

    让我们添加更多详细信息:

    正常模式->高桥和低桥都将生成 PWM 信号

    制动模式->高桥 PWM OUT 固定为低电平、低桥 PWM OUT 配置为生成可变的占空比。

    停止模式->高桥 PWM 输出固定为低电平。  低桥 PWM 输出均为恒定高电平或低电平、具体取决于应用。

    停止模式只能切换到正常状态

    我们使用 PRU。 您不建议继续使用 ePWM 功能吗? 我对 PRU 计划有点担心。 因此需要在 R5F 和 PRU 之间进行换向。 并且 PWM 更新频率很高、可以是 40kHz 或 100kHz。

    谢谢

    Logan

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


    尊敬的 

    我们正在使用 PRU。 您不建议继续使用 ePWM 功能吗? 我对 PRU 计划有点担心。 因此需要在 R5F 和 PRU 之间进行换向。 并且 PWM 更新频率很高、可以是 40kHz 或 100kHz。

    好的、我明白了。

    在 SOC 级别提供 ePWM 外设、ICSS 内提供了 PRUICSS PWM、我看到您正在使用 ePWM、因此可以通过 R5F 本身配置或控制 ePWM。

    我们尝试了一些方法、但无法有效地制动 PWM 的互补字符。

    您是否提到了任何 SDK 示例? 如果您无法告诉我如何操作、您是否配置 FREE_SOFT 字段来实现此目的、以便将 EPWM 固定为高电平或低电平?

     


    此致、
    Manoj。

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


    尊敬的 

    我们正在使用 PRU。 您不建议继续使用 ePWM 功能吗? 我对 PRU 计划有点担心。 因此需要在 R5F 和 PRU 之间进行换向。 并且 PWM 更新频率很高、可以是 40kHz 或 100kHz。

    好的、我明白了。

    在 SOC 级别提供 ePWM 外设、ICSS 内提供了 PRUICSS PWM、我看到您正在使用 ePWM、因此可以通过 R5F 本身配置或控制 ePWM。

    我们尝试了一些方法、但无法有效地制动 PWM 的互补字符。

    您是否提到了任何 SDK 示例? 如果您无法告诉我如何操作、您是否配置 FREE_SOFT 字段来实现此目的、以便将 EPWM 固定为高电平或低电平?


     

    如果您要使用 PRU、我们建议您使用 PRUICSS PWM。 我们有一个与您的用例相匹配的示例、该示例将集成在 11.0 电机控制 SDK 中。


    此致、
    Manoj。


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

    尊敬的 Manoj:

    我们最终解决了问题。 我们可能会探讨在未来运行电流环路并在 PRU 中生成 PWM(如果它提供快速执行功能)的解决方案。

    谢谢

    Logan

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

    尊敬的 Logan:

    谢谢、本主题即将结束。

    如果您将来需要任何帮助、请创建新主题。

    此致、
    Manoj。