打印
[STM32F4]

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

[复制链接]
917|51
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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 直通。

使用特权

评论回复
5
Uriah| | 2025-3-26 08:21 | 只看该作者
STM32 的高级定时器支持 刹车输入(BKIN),可以外接过流保护电路,一旦检测到短路,立即关断 PWM。

使用特权

评论回复
6
Clyde011| | 2025-3-26 08:22 | 只看该作者
你可以用示波器看看死区时间是否生效,确保两路 PWM 之间有足够的关断时间。

使用特权

评论回复
7
公羊子丹| | 2025-3-26 08:23 | 只看该作者
STM32F4 的高级定时器(TIM1/TIM8)支持死区时间控制,可以通过 TIM_BDTRInitStructure.DeadTime 来设置。

使用特权

评论回复
8
周半梅| | 2025-3-26 08:24 | 只看该作者
你是用 PWM 互补模式 吗?如果是,可以启用 TIM_OCxN 输出,同时在 BDTR 寄存器中配置死区时间。

使用特权

评论回复
9
帛灿灿| | 2025-3-26 08:25 | 只看该作者
死区时间的计算要根据 MOSFET 的开关时间来设定,通常取 tr + tf(上升时间 + 下降时间)的 1.5~2 倍。

使用特权

评论回复
10
童雨竹| | 2025-3-26 08:26 | 只看该作者
STM32F4 的死区时间单位是 t_DTS,你可以通过调整时钟源,计算合适的死区时间值。

使用特权

评论回复
11
万图| | 2025-3-26 08:27 | 只看该作者
你是用 HAL 还是直接操作寄存器?HAL 里用 __HAL_TIM_SET_DEADTIME() 也可以配置死区时间。

使用特权

评论回复
12
peterLaw| | 2025-3-26 17:23 | 只看该作者
mosfet应该是没有问题的

使用特权

评论回复
13
kzlzqi| | 2025-3-31 23:16 | 只看该作者
可以利用硬件PWM死区控制

使用特权

评论回复
14
kzlzqi| | 2025-3-31 23:17 | 只看该作者
在死区时间内,两个MOSFET都不会导通,从而避免了直通现象。

使用特权

评论回复
15
丢丢手绢666| | 2025-3-31 23:31 | 只看该作者
可以利用定时器的输出比较模块和死区控制模块来实现这一功能。

使用特权

评论回复
16
timfordlare| | 2025-4-5 19:03 | 只看该作者
硬件 PWM 死区控制是在上下桥臂的 PWM 信号之间插入一定的死区时间。

使用特权

评论回复
17
ulystronglll| | 2025-4-5 20:11 | 只看该作者
在设置好死区时间后,需要通过实验或仿真来验证死区时间是否足够,以确保不会发生直通现象。可以使用示波器观察PWM信号的波形,检查是否存在同时导通的情况。

使用特权

评论回复
18
jtracy3| | 2025-4-5 21:45 | 只看该作者
直通会导致电源短路,产生大电流,损坏 MOSFET 和电路。

使用特权

评论回复
19
hudi008| | 2025-4-6 07:51 | 只看该作者
确保上下桥臂的PWM信号为互补输出,避免同时导通。

使用特权

评论回复
20
lzbf| | 2025-4-8 11:17 | 只看该作者
在上下桥臂MOSFET切换时,强制插入一段延迟,确保一个MOSFET完全关断后,另一个才开始导通。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

137

主题

2287

帖子

1

粉丝