[技术问答] 请教新唐M483的PWM死区会移位问题,导致严重炸管。

[复制链接]
1238|6
 楼主| 汽车电子 发表于 2022-10-20 19:57 | 显示全部楼层 |阅读模式
本帖最后由 汽车电子 于 2022-10-20 20:17 编辑

波形需求:两组相同占空比的波形,移相180度,驱动全桥LLC,斜对管同时导通,上下管禁止同时导通。

实现方式一:两路独立的PWM,一路上计数方式,另一路上下计数方式,可移相180度
实现方式二:两路互补的PWM,非传统互补,需调整占空比的时候,通过修改死区来调整占空比。

遇到问题: 方式1,死区会移位,导致炸管;  方式2: 修改频率的时候,波形会乱,导致炸管

疑惑之处: 已经设置了周期结束才重载新值,为什么方式1修改频率会导致死区会移位?? 为什么方式2死区没问题了,但修改频率时会有波形出乱的问题

有人遇到过?请多多指教,感谢!

需求波形如下图:
6725635135f0095ba.png


方式一:死区移位,导致炸管的波形
129296351368b11f03.png 7261263513c52a7b64.png
7965863513c0e0b0de.png
最后上下管有重叠,导致炸管


方式二:修改频率波形乱,导致炸管的波形
431756351362a00ffa.png



946666351369696274.png
 楼主| 汽车电子 发表于 2022-10-20 20:04 | 显示全部楼层
 楼主| 汽车电子 发表于 2022-10-20 20:05 | 显示全部楼层
drentsi 发表于 2022-10-21 08:19 | 显示全部楼层
虽说我没用过这种单片机,但是感觉是duty和dutymax-duty那里的问题,计数器使用上计数还是下计数要特别注意触发条件,他们的触发条件可能不同,计数值有的时候要加1,有的时候要减1,
jasontu 发表于 2022-10-21 08:56 | 显示全部楼层
你的代码只有开sync,没有开dead time
   /*Set Pwm mode as complementary mode*/
    EPWM_ENABLE_COMPLEMENTARY_MODE(EPWM0);

    // EPWM0 channel 0 frequency is 10000Hz, duty 30%,
    EPWM_ConfigOutputChannel(EPWM0, 0, 10000, 30);
    SYS_UnlockReg();
    EPWM_EnableDeadZone(EPWM0, 0, 400);
    SYS_LockReg();
 楼主| 汽车电子 发表于 2022-10-21 10:31 | 显示全部楼层
jasontu 发表于 2022-10-21 08:56
你的代码只有开sync,没有开dead time
   /*Set Pwm mode as complementary mode*/
    EPWM_ENABLE_COMPLEM ...

谢谢,
方式一不是互补方式,不需要设置死区寄存器的,是通过限制最大占空比来设置死区时间的
方式二是互补模式,有设置死区寄存器
 楼主| 汽车电子 发表于 2022-10-21 10:43 | 显示全部楼层
drentsi 发表于 2022-10-21 08:19
虽说我没用过这种单片机,但是感觉是duty和dutymax-duty那里的问题,计数器使用上计数还是下计数要特别注意 ...

谢谢,未使用单独下计数的,方式1:一个通道是上计数,另一个通道是上下都计数
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:车联网

366

主题

2058

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部