变频器制作-第十部分 6pwm和死区时间

Posted on February 6, 2024

3pwm vs 6pwm

三相桥需要6个开关管。控制6个开关管需要控制器输出六路pwm信号。

这将占用单片机6个 IO 口。考虑到 pwm 信号控制的开关管中,上下管是交替导通的。也就是所谓的互补。 因此在一些场景下,也可以使用 3pwm 模式控制6个开关管。 3pwm的信号控制3个上管,对应的下管控制信号由一个反相电路生成。

咋一看,似乎节约了3个IO引脚。诞生 3pwm模式有一个重要功能无法实现,就是让6个开关管全关。

因此为了表示这个全关状态,实际上需要额外增加一路 EN 信号。因此 3pwm 模式需要使用4个引脚。

听上去不错,在实现相同功能的情况下,节约了2个引脚。

但是,我想说的是,如果有条件,千万不要使用 3pwm 模式

死区时间控制

理想是丰满的,现实是骨感的。现实中的开关管,并不总是能立即导通/关闭。

导通和关闭都需要一定的时间发生。如果上管关信号给出的时候,立即给出下管开信号,或者下管关信号给出的时候立即给出上管开信号,也就如使用反相器电路做的那样,则会导致上下管会在某个时间里处于同时打开的状态。

这会导致严重的短路。

所以,互补的pwm信号比如插入死区时间。所谓死区时间,就是在上下管切换开启的时候,中间插入两个管子都关闭的时间。以保证实际的管子不会出现同时打开的情况。

在 3pwm 模式,死区时间需要由硬件设计达成。一般是通过在反相器电路里插入延时实现。

在现实世界中,一般是使用集成了死区时间控制的栅极驱动器芯片达成目的。

但是,栅极驱动器的死区控制是死的。一旦选定,就无法更改了。

因此,为了电路的灵活调整需要,最好是在单片机里控制 pwm 信号的死区时间。

这就宣判了 3pwm 模式的死刑。

死区时间设置多大

在 MOS 管的手册里,会给出 4 个 delay time。分布是开通延时,上升延时。关闭延时,下降延时。

并且这4个时间还会给出 最小值,典型值,和最大值。

单片机pwm输出配置的死区时间 = 最大关闭延迟+最大下降延时 - 最小开通延迟 - 栅极驱动器的最小死区时间。

如果为负,就无需设置死区时间了。

之所以突然要考虑死区这个问题,是因为最近我开始将变频器给高压化。而高压的 MOS管,其导通延时大大增加。目前选定的一款 MOS, 耐压650V,导通内阻 < 300mΩ,价格不到1元一片。 如此低廉的价格,伴随的是高达450nS的关闭延迟,高达 2000pF 的寄生电容。

经过计算,发现需要800nS 的死区时间。而栅极驱动器的 死区时间是 200nS。。可见如果不在软件上插入死区时间,必然会炸管。

谢天谢地,我在把 mos 管焊到板子上的前一天突然刷到一个up他做变频器炸管的视频。由此我联想到自己那块jlc刚刚送来还未来得及焊接的板子会不会也炸管。 要是 220v 下炸管,威力可比12v 下的高不知道多少倍了。

经过仔细的研究后果然发现,死区时间不够。

而之前做 12v 的变频器的时候,压根没在软件里配置死区时间,也没问题。是因为用到的低压MOS管,管子的关闭时间都在 100nS上下,经过栅极驱动那 200nS 的死区后,软件里根本无需配置死区,而且我还嫌栅极驱动的死区太大了呢。

果不其然,今天把 MOS焊接好,软件修改好。终于一次验证通过。把家里220v的电机驱动起来了。

从此我也可以面对高电压的电路设计啦!

:)

Comments