[STM32F4] 如何利用硬件PWM死区控制避免MOSFET直通?

[复制链接]
3122|57
 楼主| Bowclad 发表于 2025-3-24 07:56 来自手机 | 显示全部楼层 |阅读模式
如何利用硬件PWM死区控制避免MOSFET直通?
Wordsworth 发表于 2025-3-26 08:18 | 显示全部楼层
需要注意的是,过大的死区时间会影响 PWM 波形,导致输出电压降低,要合理取值。
Bblythe 发表于 2025-3-26 08:20 | 显示全部楼层
在 H 桥或半桥驱动中,死区时间过小可能导致上下管同时导通,造成短路烧毁 MOSFET。
Pulitzer 发表于 2025-3-26 08:21 | 显示全部楼层
如果 PWM 频率较高,可以使用 Break 机制,防止异常情况下 MOSFET 直通。
Uriah 发表于 2025-3-26 08:21 | 显示全部楼层
STM32 的高级定时器支持 刹车输入(BKIN),可以外接过流保护电路,一旦检测到短路,立即关断 PWM。
Clyde011 发表于 2025-3-26 08:22 | 显示全部楼层
你可以用示波器看看死区时间是否生效,确保两路 PWM 之间有足够的关断时间。
公羊子丹 发表于 2025-3-26 08:23 | 显示全部楼层
STM32F4 的高级定时器(TIM1/TIM8)支持死区时间控制,可以通过 TIM_BDTRInitStructure.DeadTime 来设置。
周半梅 发表于 2025-3-26 08:24 | 显示全部楼层
你是用 PWM 互补模式 吗?如果是,可以启用 TIM_OCxN 输出,同时在 BDTR 寄存器中配置死区时间。
帛灿灿 发表于 2025-3-26 08:25 | 显示全部楼层
死区时间的计算要根据 MOSFET 的开关时间来设定,通常取 tr + tf(上升时间 + 下降时间)的 1.5~2 倍。
童雨竹 发表于 2025-3-26 08:26 | 显示全部楼层
STM32F4 的死区时间单位是 t_DTS,你可以通过调整时钟源,计算合适的死区时间值。
万图 发表于 2025-3-26 08:27 | 显示全部楼层
你是用 HAL 还是直接操作寄存器?HAL 里用 __HAL_TIM_SET_DEADTIME() 也可以配置死区时间。
peterLaw 发表于 2025-3-26 17:23 | 显示全部楼层
mosfet应该是没有问题的
kzlzqi 发表于 2025-3-31 23:16 | 显示全部楼层
可以利用硬件PWM死区控制
kzlzqi 发表于 2025-3-31 23:17 | 显示全部楼层
在死区时间内,两个MOSFET都不会导通,从而避免了直通现象。
丢丢手绢666 发表于 2025-3-31 23:31 | 显示全部楼层
可以利用定时器的输出比较模块和死区控制模块来实现这一功能。
timfordlare 发表于 2025-4-5 19:03 | 显示全部楼层
硬件 PWM 死区控制是在上下桥臂的 PWM 信号之间插入一定的死区时间。
ulystronglll 发表于 2025-4-5 20:11 | 显示全部楼层
在设置好死区时间后,需要通过实验或仿真来验证死区时间是否足够,以确保不会发生直通现象。可以使用示波器观察PWM信号的波形,检查是否存在同时导通的情况。
jtracy3 发表于 2025-4-5 21:45 | 显示全部楼层
直通会导致电源短路,产生大电流,损坏 MOSFET 和电路。
hudi008 发表于 2025-4-6 07:51 | 显示全部楼层
确保上下桥臂的PWM信号为互补输出,避免同时导通。
lzbf 发表于 2025-4-8 11:17 | 显示全部楼层
在上下桥臂MOSFET切换时,强制插入一段延迟,确保一个MOSFET完全关断后,另一个才开始导通。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

146

主题

2295

帖子

1

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