原创 使用IR2104S搭建的H桥-机器人队比赛经典版

2014-4-20 14:49 4800 24 37 分类: MCU/ 嵌入式 文集: 硬件小模块

还记得当年在机器人队的时候,H桥是我们电控组的老大难,经常听到队友说的话就是“哎呀!H桥又烧了!”“哎!这个H桥怎么刚焊上就同臂导通了!”,我就是深为其苦的人之一。到今日离在机器人队的日子已经五年有余,正好公司的项目可能会用到它,所以重新设计了一版,顺便记录遇到的问题,也算是给曾经的学习过程做一个总结。

集成的H桥芯片也有很多,比如L298N,但是一般负载电流会受到限制。使用分立元件搭建的H桥,比如桥臂驱动芯片配合N沟道MOSFET,能够达到非常大的负载电流和非常高的频率,而且可以更换器件,从而具备更多的可定制性。

这里桥臂驱动芯片采用IR2104S,MOSFET管采用IRF540N。

原理图:

hbridge_v2_sch.jpg


PCB板:

hbridge_v2_brd.jpg

焊接好的成品板:

20140420144855831.jpg

遇到的问题一,采用+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且留出一定裕量。

PARTNER CONTENT

文章评论13条评论)

登录后参与讨论

DiracFatCat 2014-8-25 15:21

走线风骚才能凸显俺的屌丝情怀~~^_^

用户377235 2014-8-25 13:14

走线好风骚啊 哈哈

DiracFatCat 2014-7-16 15:15

好的

用户450681 2014-7-16 09:27

marianna_z我加不了你QQ,需要验证真实姓名~你能不能改一下权限

DiracFatCat 2014-7-16 02:43

461696123 marianna_z 欢迎交流

DiracFatCat 2014-7-16 02:43

0欧姆的电阻用作地平面的隔离,GND和PE其实电平是一样的,但是希望覆铜的时候它们可以分开,所以使用0欧姆的电阻使之单点共地。

DiracFatCat 2014-7-16 02:41

+24V和PE之间,使用了3对有极性大容量铝电解电容,配合104无极性陶瓷电容。使用多个电容并联能够减小电容的RMS,效果会更好。

DiracFatCat 2014-7-16 02:38

+12V和GND之间的大容量有极性电容用作储能,配合一个104的无极性陶瓷电容滤除电源的高频噪声;其他104的无极性陶瓷电容用作芯片的旁路。

用户450681 2014-7-15 16:50

博主,请问你的原理图中的中间上面在+12V与GND之间使用电容是去耦的作用吧?那么为什么有1个采用有极性的电容,而其它的又是没有极性的呢?另外,有6个+24V与地(PE)之间采用电容,同样也分有极性和无极性的,为什么?更重要的是,原理图中只有在H桥的部分采用+24V的电源,怎么会使用6个呢?这点很不明白。最后,图中左上角,在地(PE)与GND之间为什么会采用电阻,而且电阻的阻值为0,弄不明白?请博主指点一下,虚心求教。能不能告诉我一下QQ,可以好好交流一下,谢谢~

DiracFatCat 2014-6-30 20:33

我用的绘图软件是CadsoftEagle,基本上用里面自带的库。
相关推荐阅读
DiracFatCat 2018-09-05 12:14
【博客大赛】卡尔曼滤波学习笔记(11)从位置估计速度
卡尔曼滤波器,不仅仅是一个低通滤波器,否则也不会持续发展50年。 示例:桑先生需要测试高速列车的性能。测试的目的是判断列车在直线上能否保持80m/s的速度。速度和位置每0.1秒测量一次,但是由于...
DiracFatCat 2018-08-31 19:32
【博客大赛】卡尔曼滤波学习笔记(10)一个简单的示例
《Kalman Filtering: Theory and Practice Using MATLAB》第三章,看不懂,暂时略过。《Kalman Filtering: Theory and Pract...
DiracFatCat 2018-07-19 15:09
对sed命令的练习
sed是流编辑器。它每次处理一个输入,因此很有效率。官方手册:https://www.gnu.org/software/sed/manual/sed.html学习Linux命令,当然要阅读官方手册,所...
DiracFatCat 2018-06-19 15:10
【博客大赛】卡尔曼滤波学习笔记(八)可观测性和可控制性 ...
可观测性是指,在给定模型的情况下,动力学系统的状态是否由它的输入输出唯一确定。可观测性是系统模型的特征。如果传感器矩阵H是可逆的,则本系统可观测,因为有:如果传感器矩阵H某些时候是不可逆的,则本系统仍...
DiracFatCat 2018-06-19 10:56
【博客大赛】卡尔曼滤波学习笔记(七)Z变换
如果我们仅仅对离散线性系统感兴趣,那么就使用下面这个表达式:如果u是常量,那么可以写成:为了简化表达式,我们可以将上面写成:离散线性时不变系统的Φ求解,可以使用Z变换。(* 由于本人已经忘记了Z变换的...
DiracFatCat 2018-06-19 10:54
【博客大赛】卡尔曼滤波学习笔记(六)拉普拉斯变换
对于线性时变/时不变系统,求解Φ(t)有多种方式,拉普拉斯变换是其中一种。(* 由于本人已经忘记了拉普拉斯变换的内容,因此本节待续。)...
EE直播间
更多
我要评论
13
24
关闭 站长推荐上一条 /3 下一条