很简单的道理,Q1和Q9不能同时导通,同时导通会导致从12V到GND产生直接通路,势必导致这两个管子烧毁。
假定我们需要从Q1导通切换到Q9导通,那么我们需要将PWM1从高切换到低,RPWM1从低切换到高。
理想的情况是这两个信号同时切换。但是实际上,这两个信号很难做到绝对同时变化。哪怕我们使用一个反相器来切换这个信号,由于MOSFET动作有延迟,很容易出现Q1尚未完全关闭就让Q9导通的情况,这同样容易造成两个管子出现损伤。
所以,在这两个管子切换的时候,我们一般会先将Q1关闭一段时间(比较短的时间),再将Q9打开。Q1关闭到Q9打开这个时间间隙就是死区。
同样,从Q9打开切换到Q1打开过程中,也应该先关闭Q9,延迟一小段时隙再打开Q1。
所以对于原理图中这个应用,建议使用一路PWM来控制Q1/Q9,中间通过硬件插入死区时间,使用另外一路PWM开控制Q2/Q10
虽然你看到大多数时间没有出现Q1/Q9同时导通和Q2/Q10同时导通的情况,但是烧毁这四颗管子也只需要很短的时间。
程序跑飞、初始化时IO默认状态不对、程序复位未来得及配置IO输出模式等因素都可能带来异常把这几个管子烧掉。
依靠软件设计来确保安全不是明智的做法,建议还是通过硬件电路来确保这四个管子的安全。 |