
STM32中高级定时器都带有死区控制功能,一般来说死区控制主要用于马达、变频器等控制。 4 w& c; z, W( ?0 o8 W3 t 1:死区概念 ![]() 死区时间是两路互补PWM输出时,为了使桥式换相电路上管T1和下管T2、上管T3和下管T4、上管T5和下管T6不会因为开关速度问题发生同时导通(同时导通电源会短路)而设置的一个保护时段。 假设STM32高级定时器OCX和OCXN输出互补通道PWM,极性都是高电平有效,则下图中标注“延迟”那段时间就是死区时间,此时间段上管和下管都没有导通。 & \ o0 _+ _2 _$ @![]() 2:STM32高级定时器死区时间计算( r% z. j* j! w" M, F2 } $ I2 Y0 g* C/ m/ c5 L( \5 I- s01:配置寄存器0 K) L2 F! j, S9 M+ |& N: a% E ![]() ![]() 02:死区时间计算示例 假设STM32F407的高级定时器1的时钟为168MHz,设置tDTS=1/168 us。9 l- G) v4 I9 j 计算公式表:# D9 O" a$ u6 `) \$ r3 r' { ![]() 具体死区时间计算示例请关注微信公众号 或者扫描关注# Q/ Y# B/ l) y ![]() 需要注意死区时间计算是分段计算,每段公式不一样。 3:配置死区时间过程可能出现的问题 问题:发现插入死区时间后,没有互补脉冲输出了。一般是死区参数设置不合适导致出现了以下两种情况。 ![]() ![]() 如果延迟时间大于有效输出( OCx 或 OCxN)的宽度,则不会产生相应的脉冲。 0 E1 G- b! k. b 注意:插入死区是为了保证桥式驱动电路中上下桥臂的开关管不会同时导通,提高控制安全性,但不是死区时间越长越好,死区是以牺牲开关管有效驱动脉冲时间为代价的,死区时间长短是由开关管硬件开关的速度决定。 更多精彩内容请关注微信公众号,一起学习一起进步。 ! |6 x1 h- ]- E0 B 4 X" E* P9 T; p$ m |