1、效率,可以从保证功率器件的开关工作状态和防止共态导通( H桥或推挽电路可能出现的一个问题,即两个功率器件同时导通使电源短路)入手。3) 对控制输入端的影响。 功率电路对其输入端应有良好的信号隔离, 防止有高电压 大电流进入主控电路,这可以用高的输入阻抗或者光电耦合器实现隔离。4) 对电源的影响。共态导通可以引起电源电压的瞬间下降造成高频电源污染; 大的 电流可能导致地线电位浮动。5) 可靠性。电机驱动电路应该尽可能做到, 无论加上何种控制信号, 何种无源负载, 电路都是安全的。二、三极管-电阻作栅极驱动1输入与电平转换部分:输入信号线由DATA引入,1脚是地线,其余是信号线。注意 1脚对地连接
2、了一个 2K欧的电阻。当驱动板与单片机分别供电时, 这个电阻可以提供信号电流回流的通路。 当驱动板与单片机共用一组电源时,这个电阻可以防止大电流沿着连线流入单片机主板的地线造成干 扰。或者说,相当于把驱动板的地线与单片机的地线隔开,实现 一点接地”。高速运放KF347 (也可以用TL084 )的作用是比较器,把输入逻辑信号同来自指示灯和 一个二极管的2.7V基准电压比较,转换成接近功率电源电压幅度的方波信号。 KF347的输入电压范围不能接近负电源电压, 否则会出错。因此在运放输入端增加了防止电压范围溢出的二极管。输入端的两个电阻一个用来限流,一个用来在输入悬空时把输入端拉到低电平。 不能用L
3、M339或其他任何开路输出的比较器代替运放,因为开路输出的高电平状态输出阻 抗在1千欧以上,压降较大,后面一级的三极管将无法截止。2栅极驱动部分:后面三极管和电阻,稳压管组成的电路进一步放大信号,驱动场效应管的栅极并利用场 效应管本身的栅极电容(大约 1000pF )进行延时,防止 H桥上下两臂的场效应管同时导通(共态导通”)造成电源短路。当运放输出端为低电平(约为 1V至2V,不能完全达到零)时,下面的三极管截止,场效 应管导通。上面的三极管导通,场效应管截止 ,输出为高电平。当运放输出端为高电平(约 为VCC-(1V至2V),不能完全达到 VCC)时,下面的三极管导通,场效应管截止。上面的
4、三 极管截止,场效应管导通,输出为低电平。上面的分析是静态的,下面讨论开关转换的动态过程:三极管导通电阻远小于 2千欧,因此三极管由截止转换到导通时场效应管栅极电容上的电荷可以迅速释放, 场效应管迅速截止。但是三极管由导通转换到截止时场效应管栅极通过 2千欧电阻充电却需要一定的时间。相应的,场效应管由导通转换到截止的速度要比由截止转换到导通的速度快。 假如两个三极管的开关动作是同时发生的, 这个电路可以让上下两臂的场效应管先断后通, 消除共态导通现象。实际上,运放输出电压变化需要一定的时间,这段时间内运放输出电压处于正负电源电压之间的中间值。这时两个三极管同时导通, 场效应管就同时截止了。 所
5、以实际的电路比这种理想情况还要安全一些。场效应管栅极的12V稳压二极管用于防止场效应管栅极过压击穿。 一般的场效应管栅极的耐压是18V或20V,直接加上24V电压将会击穿,因此这个稳压二极管不能用普通的二 极管代替,但是可以用 2千欧的电阻代替,同样能得到 12V的分压。3场效应管输出部分:大功率场效应管内部在源极和漏极之间反向并联有二极管, 接成H桥使用时,相当于输出端已经并联了消除电压尖峰用的四个二极管, 因此这里就没有外接二极管。输出端并联一个小电容(outl和out2之间)对降低电机产生的尖峰电压有一定的好处,但是在使用 PWM时有产生尖峰电流的副作用,因此容量不宜过大。在使用小功率电
6、机时这个电容可以略去。 如果加这个电容的话,一定要用高耐压的,普通的瓷片电容可能会出现击穿短路的故障。输出端并联的由电阻和发光二极管 ,电容组成的电路指示电机的转动方向 4性能指标:电源电压1530 V,最大持续输出电流 5A/每个电机,短时间(10秒)可以达到10A,PWM 频率最高可以用到 30KHz( 般用1到10KHZ)。电路板包含4个逻辑上独立的,输出端两两 接成H桥的功率放大单元,可以直接用单片机控制。实现电机的双向转动和调速。5.布线:大电流线路要尽量的短粗,并且尽量避免经过过孔,一定要经过过孔的话要把过孔做大 一些(1mm )并且在焊盘上做一圈小的过孔,在焊接时用焊锡填满,否则
7、可能会烧断。另 外,如果使用了稳压管,场效应管源极对电源和地的导线要尽可能的短粗, 否则在大电流时,这段导线上的压降可能会经过正偏的稳压管和导通的三极管将其烧毁。在一开始的设计中, NMOS管的源极于地之间曾经接入一个 0.15欧的电阻用来检测电流,这个电阻就成了不断烧毁板子的罪魁祸首。当然如果把稳压管换成电阻就不存在这个问题了。在2004年的Robocon比赛中,我们主要采用了这个电路用以电机驱动。三、低压驱动电路的简易栅极驱动一般功率场效应管的最高栅源电压为 20V左右,所以在24V应用中要保证栅源电压不能超过20V,增加了电路的复杂程度。但在 12V或更低电压的应用中,电路就可以大大简化
8、。左图就是一个12V驱动桥的一边,上面电路的三极管部分被两个二极管和两个电阻代替。(注意,跟上图逻辑是反的)由于场效应管栅极电容的存在,通过 R3,R4向栅极电容充电使场效应管延缓导通; 而通过二极管直接将栅极电容放电使场效应管立即截止, 从而避免了共态导通。这个电路要求在IN端输入的是边缘陡峭的方波脉冲,因此控制信号从单片机或者其他 开路输出的设备接入后, 要经过施密特触发器 (比如555 )或者推挽输出的高速比较器才能接到IN端。如果输入边缘过缓,二极管延时电路也就失去了作用。R3, R4的选取与IN信号边沿升降速度有关, 信号边缘越陡峭,R3,R4可以选的越小, 开关速度也就可以做的越快
9、。 Robocon比赛使用的升压电路(原理相似)中, IN前用的是 555。四、边沿延时驱动电路在前级逻辑电路里, 有意地对控制 PMOS的下降沿和控制 NMOS的上升沿进行延时, 再 整形成方波,也可以避免场效应管的共态导通。 另外,这样做可以使后级的栅极驱动电路简化,可以是低阻推挽驱动栅极, 不必考虑栅极电容, 可以较好的适应不同的场效应管。 2003年Robocon比赛采用的就是这种驱动电路。下图是两种边沿的延时电路:V24五、其它几种驱动电路Q12 80502.几种驱动芯片1)L298 参考 2)A3952 参考 3)A3940 参考 4)L6203 参考 六、PWM调速的实现1 .使
10、用定时器的算法/butcher补充一下吧/算法原理/编程实现要点/优缺点2.使用循环移位的算法产生PWM信号可以由定时器来完成,但是由于51内部只提供了两个定时器,因此如果要 向三个或更多的直流电机输出不同占空比的信号要反复设置定时器 ,实现较为复杂,我们采用一种比较简单的方法不仅可以实现对更多的直流电机提供不同的占空比输入信号, 而且只占用一个定时器资源。这种方法可以简单表述如下 :在内存的某段空间内存放各个直流电机所需的输入信号占空比信息, 如果占空比为1贝U保存0FFH(11111111B);占空比为 0.5则保存0F0H(11110000B)或任何2进制数中包括 4个0 和4个1。即占
11、空比=1的个数/8具体选取什么样的二进制数要看输出频率的要求。若要对此直流电机输出 PWM信号,只要每个时间片移位一次取出其中固定的一位(可以用位寻址或进位标志 C实现)送到电 机端口上即可。另外,移位算法是一种对以前结果依赖的算法, 所以最好定期检查或重置被 移位的数,防止移错导致一直错下去。这种算法的优点是独立进程,可以实现对多个电机的控制,缺点是占用资源较大,PWM 频率较低。3.模拟电路PWM的实现上图为一个使用游戏手柄或者航模摇杆上的线性电位器(或线性霍尔元件)控制两个底 盘驱动电机的PWM生成电路。J1是手柄的插座,123和456分别是x, y两个方向的电位 器。U1B提供半电源电
12、压,U1A是电压跟随。x, y分量经过合成成为控制左右轮两个电机 转速的电压信号。在使用中,让 L=(x+1)y/(x+1.4) , R=(x-1)y/(x-0.6),经过试验有不错的效果(数字只是单位,不是电压值)。经过 U1C和U1D组成的施密特振荡器把电压转换为 相应的PWM信号,用来控制功率驱动电路。以 U1D为例,R1 , R2组成有回差的施密特电路,上下门限受输入电压影响, C1和R3组成延时回路,如此形成振荡的脉宽受输入电压控制。Q1 , Q2是三极管,组成反相器,提供差分的控制信号。具体振荡过程参见对 555振荡器的分析。七、步进电机驱动1.小功率4相步进电机的驱动 下面是一种
13、驱动电路框图:地址4珂达林顿管阵列 ULN2803分别从锁存器取出第 0,2,4,6位和1,3,5,7位去驱动两个步进电机.四相步进电机的通电顺序可以有几种 :A,B,C,D(4相4拍);AB,BC,CD,DA(4相双4拍);A,AB,B,BC,C,CD,D,DA(4 相8拍)为了兼顾稳定性,转矩和功耗,一般采用4相8拍方式. 所有这些方式都可以通过循环移位实现 (也要有定期监控),为了使4相8拍容易实现,锁存器与驱动部分采用了交叉连接 步进电机工作在四相八拍模式(即正转的输入信号为 1000 t 1100 t 0100 t 0110 t0010 t0011 t 0001 t 1001 t 1
14、000 ),对应每个步进电机要有四个信号输入端, 理论上向端口输出信号可以控制两个步进电机的工作。 寄存器循环移位奇偶位分别作两个步进电机的驱动端的做法,其思想如下:LOOP: MOV A,#1110000B ; 在 A 寄存器中置入 11100000RR A ;右移位AJMP LOOP ;循环右移位这样在寄存器 A中存储的值会有如下循环 11100000 t 01110000 T00111000 T00011100 T 00001110 T 00000111 T 10000011 T 11000001 T 11100000,其奇数位有如下循 环 1000 T 1100 T 0100 T 01
15、10 T 0010 T 0011 T0001 T 1001 T 1000,其偶数位有如下循环 1100 T 0100 T 0110 T 0010 T 0011 T 0001 T 1001 T 1000 T 1100.将 A 输出到 P0 端口,则奇 数位和偶数位正是我们所需要的步进电机输入信号。而事实上每个电机的动作是不同的 ,为此我们在RAM中为每个电机开辟一个 byte的状态字节用以循环移位在每一个电机周期里,根据需要对每个电机的 byte进行移位,并用ANL指令将两个电机的状态合成到一个字节里输出此时的 A同时可以控制两个电机了步进电机的速度由驱动脉冲的频率决定 ,移位的周期不同,电机的
16、速度也就不同了 前面提到的电机周期,应该取各种可能的周期的最大公约数 换句话说,一旦电机周期取定,每个电机移位的周期应该是它的倍数在程序中,对每个电机的相应时刻设定相应的分频比值 ,同时用一个变量进行加一计数:每到一个电机周期若计数变量 分频比值,则计数变量加1;若相等,则移位,计数变量清零这样就实现了分频调速,可以让多个电机同时以不同的速度运转 另外,也可以采用传统的查表方式进行驱动,程序稍长,但也比较稳定,这种方法非常适合 三相步进电机。UCN5804B/LB是Allegro公司生产的4相步进电机驱动专用芯片,它集成了控制逻辑,脉 冲分配和功率推动,通过几个管脚的电平来设定转动方式,方向,
17、通过改变外时钟频率来改变转动速度,这给完成复杂的动作和测试步进电机参数带来了极大的方便2.步进电机的智能驱动方案步进电机有可以精确控制的优点,但是功耗大,效率低,力矩小。如果选用大功率步进电机,为了降低功耗,可以采取PWM恒流控制的方法。基本思路是,用带反馈的高频 PWM 根据输出功率的要求对每相恒流驱动, 总体电流顺序又符合转动顺序。 需要力矩小的时候应及时减小电流,以降低功耗。该方案实现的电路,可以采用独立的单片机或 CPLD加场效应管驱动电路以及电流采样反馈电路。八、附录:几种IRF场效应管的参数型号极性电压(V)电流(A)导通电阻(Ohm)IRF540NN100330.040IRF9540P-100-190.200IRF84050080.850IRF3205551100.008IRF530N170.090IRF9530-120.300共2页:上一页1
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1