您好、TI 团队、
我正针对电机控制应用使用3个 EPWM 对(13 A-B、14 A-B 和15 A-B)。
这3个对被配置为彼此互补、具有它们必要的死区和跳闸区域等。 对于驱动模式、这工作正常。
但是、我有一个新要求 、需要:
- 将 A 通道设置为100%占空比、而 B 通道在 我的控制环路的一些周期内保持0%占空比。
- 然后、 在控制环路的某些周期内、将全部6个通道3 (A 和 B 对)的占空比旋转至0%。
- B 通道必须始终保持0%。
因此、我的初始方法是
- 我的 A 信号100%、
- B 侧应达到0%占空比(因为这些是互补的)
- 然后、当需要全部关闭时、我启动链接的跳闸区域并禁用所有输出
下面的示波器图像显示了预期的行为。 我的控制环路以41us 的间隔运行、因此如果收到命令、在1个周期内保持100%、我预计 A 上会有100%的占空比、同时在一个周期内保持0%、然后在下一个周期都变为0。
但是、如果我将示波器切换为在 B 侧触发、我也会看到相同的模式、在高 B 低电平与低电平之间交替、频率约为12Hz。
如果我增加控制环路周期的数量以将 A 侧保持在100%需求、那么 PWM 信号看起来更令人困惑。 在下面捕获的 GIF 中、I 增加到控制环路的2个周期。
大部分情况下、A 侧和 B 侧在我的控制环路持续时间的不同长度都会变为高电平。 我不明白 B 侧为什么一直很高。
但从 R of A 到 B 的 FE、开/关遵循控制环路计数2或~82usec 的长度。
一些附加信息:
- 控制环路频率为24kHz
- 我的 PWM 频率设置为12kHz
- 通道配置为高电平有效 互补死区时间
问题:
- 如何正确地命令 PWM 通道停止、刷新正在进行的内容、重新加载新计数以及与没有死区时间补偿的软件驱动事件同步?
我尝试了几个不同的组合,但还没有使它工作干净。