随着电子技术的发展以及消费电子产品的普及,直流有刷电机的应用范围越来越广。从简单的玩具遥控车到复杂的无人机上,我们都能找到直流有刷电机的身影。由于直流有刷电机构造简单,成本低廉,性能稳定,可以相当程度替代价格高昂,体积庞大,控制电路复杂的直流无刷电机和步进电机。使用H桥(H-Bridge)驱动芯片我们也可以精确控制直流有刷电机的方向、速度和制动。
本文将从直流有刷电机和H桥驱动器的基础知识切入,比较集成驱动芯片相对于分立器件在控制直流电机时的优势,最后探讨使用集成H桥驱动芯片控制直流有刷电机时的注意事项。
直流有刷电机基本知识
直流有刷电机是将直流电转换成机械运动一种旋转电机,具有启动快、制动及时、可在大范围内平滑地调速、控制电路相对简单等特点。
直流有刷电机的基本构造的组件包括定子(产生磁场的强力永磁铁或电磁铁)、转子(可以绕轴心转动的线圈)、电刷(通常使用碳制成,与换向器接触,用以接至电源)和换向器(转子轴上的两片铜片,随转子转动)这四个部分。定子和转子磁场相互作用驱动电机旋转。定子产生静止磁场,围绕在转子周围。当电刷通电后,转子周围产生磁场,左侧转子被左侧定子的磁场推离,并被吸引到右侧,从而产生转动。原先转子左侧的部分被推倒右侧后依靠惯性继续转动,此时电机轴上还有两个与电刷接触圆弧形的铜片(换向器)将线圈的电流方向逆转,定子所产生的磁场亦同时逆转,使转动的过程得以重复。
直流有刷电机具有良好的启动和调速性能,常应用于对启动和调速有较高要求的场合。由于直流有刷电机中的电刷会磨损,需要定期保养更换,随着科技的发展,直流无刷电机已在许多应用中取代了直流有刷电机。但直流有刷电机成本低、控制简单,因此仍然有着广泛的应用。
H桥基本知识
H桥(H-Bridge)是一种可以切换施加到负载上的电压极性的桥式电路。这种电路通常用于驱动直流有刷电机,使其向前或向后运行。因为这种桥式电路的结构酷似英文字母“H”,因此被称作H桥电路。
一个H桥由四个开关组成,S1和S3组成H桥的高位开关(High-Side Switch),通常是P型MOSFET或PNP型晶体管,S2和S4组成H桥的低位开关(Low Side Switch),通常是N型MOSFET或NPN型晶体管。当开关S1和S4闭合,S2和S3打开时,电机被施加正向电压,电机正向运行。打开S1和S4,关闭S2和S3时,电机电压反转,电机反向运行。显然,开关S1和S2绝对不能同时闭合,因为这将导致输入电源短路,这种情况称为“射穿”(shoot-through)。同理开关S3和S4也不能同时闭合。
虽然H桥的基本原理很简单,但如果采用分立元件来实现,要注意的事项就比较多了。工程师需要设计一个H桥电路来控制S1-S4的打开与闭合,而且要特别当心在电机转换方向或制动时,如何防止S1/S2或S3/S4同时闭合造成短路损坏器件。如果使用分立器件,工程师必须充分考虑控制电压的电平、如何避免“射穿”、如何设计保护电路以及为每一部分选择合适的器件。所有这些都将H桥电路转化为相当复杂的设计过程,导致元件数量暴增,PCB空间占位变大,成本变得更高,以及最重要的:设计风险会大大提高。
因此通常来说,驱动直流有刷电机时,我们都会采用H桥驱动芯片来实现直流电机的控制功能。
H桥驱动芯片的基本组成
H桥驱动芯片将输入控制、输出驱动和保护电路都组合到一个封装中。最初的H桥驱动芯片采用的是双极性功率晶体管(BJT)和线性控制电路,这种电路构造简单,但是功率耗散较大。尤其是在线性控制电机速度时的功率损失比较大。后来人们将H桥驱动芯片进行了技术改进,由双极性功率晶体管改为MOSFET作为驱动元件。
MOSFET相比于BJT,除了在给定的电压额定值下具有更低的损耗和更小的裸片尺寸外,由电压控制的MOSFET比电流驱动的BJT更容易被单片机等控制单元驱动。除了更高的效率外,MOSFET型H桥驱动上采用的脉宽调制还能提供更精确的电机速度控制以及更快的响应。功率MOSFET的持续进步使芯片裸片尺寸越来越小,导通电阻(RDS_ON)也越来越低。如今,采用H桥驱动控制芯片的电机控制电路在电路板上的尺寸比采用分立元件实现的H桥电路要小得多,大概仅为后者的四分之一左右。
以下图普诚科技的H桥驱动芯片PT2466为例,在SOP-8或DFN-8(2×2 mm)的封装尺寸下,集成了包括了芯片启动(NSD)、输入信号处理(IN1/IN2)、低压保护(UVLO)、过热关机保护(Over Temp)、电机过流保护(OCP)等诸多功能,为控制直流有刷电机的方向和速度提供了一个单片解决方案。
H桥驱动芯片的保护电路
为了保护直流电机和驱动电路不损坏,H桥驱动芯片的保护电路通常包括:
- 过压保护 (Over-Voltage Protection, OVP)
- 欠压锁定保护 (Under-Voltage Lock-Out, UVLO)
- 过流保护 (Over-Current Protection, OCP)
- 热关机保护 (Thermal Shut-Down, TSD)
- 射穿保护 (Shoot-Through Protection, STP)
- 静电放电保护 (ElectroStatic Discharge, ESD)
过压保护和欠压锁定保护可以使驱动芯片始终工作在适当的工作电压范围内。过流保护限制流经MOSFET和电机的最大电流,在发生短路或其他过流事件(如电机被卡住)时,强制所有MOSFET输出进入高阻抗状态。当驱动芯片在其电流能力范围内工作,但发生了其他故障(如极高的工作温度环境或散热片损坏)导致芯片温度过高时,热关机保护可以确保驱动芯片不会因为温度过高而损坏。
从系统时序的角度来看,过流保护属于快速响应保护,而热关机保护属于慢速响应保护。因此我们可以认为热关机保护的作用类似于在过流保护失效或者不能及时响应系统故障时的备用保护机制。简单来说,过流保护保护MOSFET输出,而热关机保护保护芯片裸片。对PT2466而言,如果裸片温度超过预定的限制160ºC时,芯片将自动关闭。
在每个H桥直流电机应用中,都需要注意避免同时闭合S1/S2或S3/S4的射穿现象。通常来说,H桥驱动芯片的过流保护可以避免或减小射穿现象给电机和芯片造成损害。但设计人员在编写电机的驱动程序固件时,仍需相当注意S1-S4的开关时序。
最后,一个优良的芯片设计必须包含一定等级的ESD保护。PT2466可以承受人体模型(HBM) ±4kV的ESD冲击。
H桥驱动芯片的输出驱动
利用H桥驱动芯片设计直流电机电路时,芯片的输出驱动,也就是组成H桥的四个MOSFET,扮演着非常重要的角色。
当闭合S1/S4使直流电机正向转动时,电流从S1流向电机再流向S4。电流在流经S1和S4时,由于MOSFET导通时的RDS_ON,会在芯片内部产生功率耗散,对外表现出放热。
如果直流电机工作电流较大而H桥驱动芯片的MOSFET导通电阻RDS_ON也较大时,可能出现下面两个问题:
- 由于H桥驱动芯片MOSFET上产生的压降,直流电机的转速和功率达不到设计要求
- H桥驱动芯片的耗散功率过大,发热严重
为了避免这两个问题,设计人员在选取合适的H桥驱动芯片时,必须仔细检视规格书中导通电阻以及热阻系数等参数。以驱动一个额定电压5V、额定电流0.8A的4W直流电机为例,如果使用PT2466,其在0.8A时的导通电阻为0.28Ω。简单计算可以得到此时在MOSFET的源级和漏极间的压降为
0.28Ω * 0.8A = 0.224V,
因此直流电机两端实际的电压为
5V – 0.224V = 4.776V
RDS_ON产生的耗散功率为
(0.8A)² * 0.28Ω = 0.1792W
查询规格书,PT2466的热阻系数为113.9℃/W(SOP-8封装),因此在该条件下芯片的温升为
0.1792W * 113.9℃/W = 20.41℃
这个温度并不算高,因此在PCB布局时在PT2466下适当增加些铜区面积以有利于散热即可,无需使用散热片。
H桥驱动芯片的输入控制
了解了H桥驱动的保护电路和驱动电路后,最后我们来学习如何通过调节H桥驱动芯片的输入来控制直流电机的运动。
如果使用分立器件构建H桥电路,我们需要使用单片机的4路控制信号去分别控制4个开关S1-S4。虽然同一个电流通路的上开关S1/S4或S2/S3总是同时开启和关闭,我们却不能只使用一个控制信号去同时控制S1/S4或者S2/S3。原因很简单:不论电机正向或反向运动,同一支电流通路上的两个开关总是一个是高位开关(high-side switch)而另一个是低位开关(low-side switch),控制这两个开关的逻辑信号正好相反:如果控制信号是低电平,则高位开关闭合、低位开关打开;而如果控制信号是高电平,则高位开关打开,低位开关闭合。而集成式的H桥驱动芯片已经在内部电路里将高位开关的控制信号前增加了一个相反器(inverter),因此可以用同一信号来控制高位和低位开关的闭合与打开,单片机的控制信号从4路减少到了2路。
当然使用分立器件时我们也可以使用相反器IC来实现同一信号同时闭合/打开高位开关和低位开关的功能,但这带来了两个显而易见的问题:第一,H桥的两个高位开关控制信号前都需要配置相反器,硬件成本显著上升;第二,当电机工作电压VM比逻辑电平高很多时(如VM=12V而控制电路的VCC=3.3V),相反器的输出电压范围通常控制电路电压范围一致,因此可能无法正常驱动高位开关。
查看不同厂家规格书我们会发现,在不同输入信号的时候电机的动作有四种:Forward, Reverse, Brake和Coast(或者Idle)。“Forward”和“Reverse”很好理解,就是分别对应电机的“前进”和“后退”。而当直流电机处于“Brake”状态时,低位开关S2和S4处于闭合状态而高位开关S1和S3处于打开状态,此时电机的转子是被“锁住”的,外力无法轻易让转子转动起来。而当直流电机处于“Idle”或者说“Coast”状态时,S1-S4全部打开,电机的转子处于“放空”的状态,手指轻轻一拧,电机转子就会转动起来。电机状态和H桥四个开关的状态如下表所示:
S1 | S2 | S3 | S4 | |
Forward | ON | OFF | OFF | ON |
Reverse | OFF | ON | ON | OFF |
Brake | OFF | ON | OFF | ON |
Idle/Coast | OFF | OFF | OFF | OFF |
有的芯片厂家会在H桥驱动芯片上提供一路Enable信号供单片机使用,来控制H桥芯片的开启和关闭,比如PT2466在芯片第7脚上提供了nShutDown信号,输入低电平时,H桥芯片关闭,电机转子可在外力作用下自由转动。
直流有刷电机的速度与施加到电机的电压成正比。 使用数字信号控制直流电机时,我们可以使用脉宽调制(PWM)信号生成不同平均值的电压来控制电机的转速。 电机绕组可以视作一个低通滤波器,因此满足一定频率的PWM波形将在电机绕组中产生稳定可调的电流。如果直流有刷电机在12V下额定空转转速为15000转/分钟,若我们在PT2466 H桥驱动芯片IN1信号上施加50%占空比的PWM信号、在IN2信号上拉至低电平时,电动机(理想情况下)的转速就为空转7500转/分钟。
使用PWM信号控制电机速度时需要注意PWM的频率。若频率过低,电机在低速时会产生噪音,而且对占空比的变化也会显得反应迟缓。而如果PWM的频率过高,会在H桥的MOSFET上产生较大的开关损耗。如果H桥驱动芯片的规格书中没有给出具体频率范围的话,一般来说4kHz-200kHz左右的PWM信号都可以较理想地控制电机的转速。
其他注意事项
现在我们考虑一个真实的应用场景:使用直流有刷电机芯片驱动直流电机时,如果H桥在电机正在运动时关闭所有输出,由于直流有刷电机是由线圈绕组而成,类似于一个电感,而电感对电流的变化有抵抗的效果,因此它的电流不会立即降为零,它的飞轮电流(freewheel current)将经由MOSFET的体二极管(body diode)反向流向电机电压源,最终衰减为零。
还有一种情况,电机电压源与电机驱动板电源线之间的寄生电抗(电感+电阻)与PCB的寄生电容组成一个LC谐振槽,在电机电压源向电机驱动板送电时,如果局部旁路电容不足,电机电压可能会迅速下降,寄生LC会被触发,出现振荡尖峰。
为了防止电机电压上出现不稳定的反弹或尖峰,应在电机电压源上放置一个高电容的反弹吸收电容(>100μF,一般选用铝电解电容),它可以吸收直流电动机制动时产生的飞轮电流,并在电机切换前进/后退的动作时稳定电机电压源。在电机H桥驱动芯片的电源引脚附近也应放置一个0.1μF的旁路电容(一般选用陶瓷电容),以减少电源线LC谐振引起的尖峰。
在电路板布局时,0.1μF的旁路电容应当尽可能地靠近芯片电源引脚以及电机电压源引脚。GND铜区也应当尽可能大,以达到散热的目的。