还记得当年在机器人队的时候,H桥是我们电控组的老大难,经常听到队友说的话就是“哎呀!H桥又烧了!”“哎!这个H桥怎么刚焊上就同臂导通了!”,我就是深为其苦的人之一。到今日离在机器人队的日子已经五年有余,正好公司的项目可能会用到它,所以重新设计了一版,顺便记录遇到的问题,也算是给曾经的学习过程做一个总结。
集成的H桥芯片也有很多,比如L298N,但是一般负载电流会受到限制。使用分立元件搭建的H桥,比如桥臂驱动芯片配合N沟道MOSFET,能够达到非常大的负载电流和非常高的频率,而且可以更换器件,从而具备更多的可定制性。
这里桥臂驱动芯片采用IR2104S,MOSFET管采用IRF540N。
原理图:
PCB板:
焊接好的成品板:
遇到的问题一,采用+12P(图中的+12V)和VPP分开的设计?
机器人队的H桥第一版,(MOSFET管和负载的)VPP和(IR2104S和光耦的)+12P,由外部分别供电;为了简化对锂电池的要求,并且方便模块化的使用,第二版的+12P经VPP从LM2596给出(它在市场上很常见,而且开关特性适应宽电压输入)。
这里仍然采用了第一版的设计,即VPP和+12P分开供电。
原因a:硬件成本的考虑。三个光耦加上两个IR2104S芯片的功耗是非常低的,即使同时挂载10个H桥,采用1个负载电流为200mA的开关稳压芯片也就够了。
原因b:解放了VPP的输入范围。由于IR2104S的工作电压为10V~20V,而光耦6N135的最高工作电压为15V,光耦TLP521-1的最高工作电压为24V,因此这里取+12P为它们供电。如果是第二版的设计,为了获得这个+12P,VPP必须保持在14V以上。分开供电的话,VPP可以为0V以上的任意值(当然还要考虑输入电容和MOSFET的耐压)。
遇到的问题二,光耦的选型?
H桥需要从光耦接收三个信号,分别是左桥臂PWM,右桥臂PWM和SHDN,而直流电机的斩波频率一般在10KHz以上,所以这里需要两个高速光耦和一个普通光耦。高速光耦可以采用6N135,普通光耦可以采用TPL521-1。
6N135和TLP521-1的输入端,压降约为1.6V,推荐的工作电流为16mA,因此当输入信号由+3.3V的IO口给出时,限流电阻应取100欧姆,实际上测试100欧姆~300欧姆都能取得不错的效果。
6N135是高速光耦,它的输出上拉电阻太大时,会出现低电平到不了0V的情况;它的输出上拉电阻太小时,会出现严重的噪声。10K欧姆左右是比较合适的值。
遇到的问题三,留出左右桥臂信号?还是扩展PWM?
左右桥臂的PWM信号,在同一时刻只有一路使用,另外一路总为低,因此可以通过逻辑门将PWM信号扩展为两路,这样能够节省MCU的PWM外设引脚。
H桥第一版,使用分立元件在IR2104S前级搭建出与非门,从而实现1路PWM和1路方向信号转化成两路PWM;第二版未做此处理(使用时,是在MCU板上通过74HC00实现这个功能)。
H桥一般用来驱动直流有刷电机,而且很多其他负载也可以用它来驱动,比如风扇,LED灯,电阻,两相四线步进电机等等。当驱动步进电机时,需要使用两个H桥以一定顺序的时序驱动AB两相线圈,此时并不需要扩展PWM波,直接使用IO口驱动反而更加直观方便。因此,为了H桥的通用性,这里采用了第二版的设计。
遇到的问题四,IR2104S的外围器件?
每个IR2104需要一个二极管和一个电容组成电荷泵,抬升上桥臂MOSFET的栅级电压,实现它的完全导通。二极管可以使用快速或者肖特基,电荷泵的电容要求漏电流小,因为陶瓷电容比钽电容要更适合,由于它的功能是储藏电荷,因此容值不能太小,这里取1uF。
遇到的问题五,占空比到约98%的时候,桥臂信号失效?
IR2104S为半桥驱动芯片,工作原理是使用一个二极管和一个电容组成电荷泵,它需要充放电时间,因此当输入信号占空比接近100%的时候,电荷泵就失效了。
遇到的问题六,瞬态抑制二极管?
负载两端并联的瞬态抑制二极管(P6KE),可以将负载产生的电动势抑制在其breakdown voltage上面,从而保护电源和电路板上的器件。H桥的工作电压不同,使用的瞬态抑制二极管也有所区别。
遇到的问题七,负载两端可以并联电容吗?
电机类的感性负载在运行时,两端电压会产生相当严重的毛刺,因此可能会试图在负载两端并联电容来消除它,但是电机两端并联的电容会影响电机的启动特性,电容越大越明显。一般来说,电阻和电容串联,然后并联在负载两端,确实能够一定程度上减轻毛刺。
遇到的问题八,输入信号不对会使得同臂导通吗?
半桥驱动芯片IR2104S搭建的H桥,无论如何输入信号都不会引起同臂导通,只有可能是硬件问题。
遇到的问题九,为什么MOSFET会烧?
参加机器人队比赛的时候,使用H桥,总会发现它总是用着用着就烧掉了。当时以为是MOSFET不够牛x的原因,因此每次遇到问题,都会换成电流更大的MOSFET管,从(28A的)IRF540换成了(82A的)IRF2807,又换成了(110A的)IRF3205,最后每个桥臂都用了两个IRF3205并联,但烧管子的情况还是会出现。
现在发现问题不在于MOSFET的最大电流,实际上IRF540完全够用,而在于它的散热有没有做好。如果负载电流很小,那MOSFET不加散热片也没事;如果负载电流持续工作在1A以上,那散热片就是非常必要的。实际测试,当MOSFET上安装了散热片,使用电子负载,持续工作电流为6A的时候,大概20分钟散热片的温度就会烫手,在旁边增加一个小风扇之后,即使连续好几个小时的工作,散热片摸上去也只是比体温稍高而已。
遇到的问题十,究竟MOSFET需不需要并联肖特基二极管?
需要。
虽然MOSFET自身具备内部二极管,参照它的示意图也能看出来,但是这个内部二极管的参数并不足以应对直流电机运行时带来的电动势,因此需要在每个MOSFET上并联外部二极管。最好使用肖特基二极管,因为它导通时间非常快,几乎可以忽略不计。选型时,average forward current应该为H桥的最大工作电流,反向击穿电压应该大于H桥的工作电压。
如果H桥的最大工作电流为5A,工作电压为24V,肖特基二极管的average forward current就应该为5A,反向击穿电压大于24V且留出一定裕量。
DiracFatCat 2014-8-25 15:21
用户377235 2014-8-25 13:14
DiracFatCat 2014-7-16 15:15
用户450681 2014-7-16 09:27
DiracFatCat 2014-7-16 02:43
DiracFatCat 2014-7-16 02:43
DiracFatCat 2014-7-16 02:41
DiracFatCat 2014-7-16 02:38
用户450681 2014-7-15 16:50
DiracFatCat 2014-6-30 20:33