直流电机驱动电路设计

一、直流电机驱动电路的设计目标

在直流电机驱动电路的设计中,主要考虑一下几点:

功能:电机是单向还是双向转动?需不需要调速?对于单向的电机驱动,只要用一个大功率三极管或场效应管或继电器直接带动电机即可,当电机需要双向转动时,可以使用由4个功率元件组成的H桥电路或者使用一个双刀双掷的继电器。如果不需要调速,只要使用继电器即可;但如果需要调速,可以使用三极管,场效应管等开关元件实现PWM(脉冲宽度调制)调速。

性能:对于PWM调速的电机驱动电路,主要有以下性能指标。

1)输出电流和电压范围,它决定着电路能驱动多大功率的电机。

2)效率,高的效率不仅意味着节省电源,也会减少驱动电路的发热。要提高电路的效率,可以从保证功率器件的开关工作状态和防止共态导通(H桥或推挽电路可能出现的一个问题,即两个功率器件同时导通使电源短路)入手。

3)对控制输入端的影响。功率电路对其输入端应有良好的信号隔离,防止有高电压大电流进入主控电路,这可以用高的输入阻抗或者光电耦合器实现隔离。

4)对电源的影响。共态导通可以引起电源电压的瞬间下降造成高频电源污染;大的电流可能导致地线电位浮动。

5)可靠性。电机驱动电路应该尽可能做到,无论加上何种控制信号,何种无源负载,电路都是安全的。

二、三极管-电阻作栅极驱动1.输入与电平转换部分

1.输入与电平转换部分:

输入信号线由DATA引入,1脚是地线,其余是信号线。注意1脚对地连接了一个2K欧的电阻。当驱动板与单片机分别供电时,这个电阻可以提供信号电流回流的通路。当驱动板与单片机共用一组电源时,这个电阻可以防止大电流沿着连线流入单片机主板的地线造成干扰。或者说,相当于把驱动板的地线与单片机的地线隔开,实现“一点接地”。

高速运放KF347(也可以用TL084)的作用是比较器,把输入逻辑信号同来自指示灯和一个二极管的2.7V基准电压比较,转换成接近功率电源电压幅度的方波信号。KF347的输入电压范围不能接近负电源电压,否则会出错。因此在运放输入端增加了防止电压范围溢出的二极管。输入端的两个电阻一个用来限流,一个用来在输入悬空时把输入端拉到低电平。

不能用LM339或其他任何开路输出的比较器代替运放,因为开路输出的高电平状态输出阻抗在1千欧以上,压降较大,后面一级的三极管将无法截止。

2.栅极驱动部分:

后面三极管和电阻,稳压管组成的电路进一步放大信号,驱动场效应管的栅极并利用场效应管本身的栅极电容(大约1000pF)进行延时,防止H桥上下两臂的场效应管同时导通(“共态导通”)造成电源短路。当运放输出端为低电平(约为1V至2V,不能完全达到零)时,下面的三极管截止,场效应管导通。上面的三极管导通,场效应管截止,输出为高电平。当运放输出端为高电平(约为VCC-(1V至2V),不能完全达到VCC)时,下面的三极管导通,场效应管截止。上面的三极管截止,场效应管导通,输出为低电平。

上面的分析是静态的,下面讨论开关转换的动态过程:三极管导通电阻远小于2千欧,因此三极管由截止转换到导通时场效应管栅极电容上的电荷可以迅速释放,场效应管迅速截止。但是三极管由导通转换到截止时场效应管栅极通过2千欧电阻充电却需要一定的时间。相应的,场效应管由导通转换到截止的速度要比由截止转换到导通的速度快。假如两个三极管的开关动作是同时发生的,这个电路可以让上下两臂的场效应管先断后通,消除共态导通现象。

实际上,运放输出电压变化需要一定的时间,这段时间内运放输出电压处于正负电源电压之间的中间值。这时两个三极管同时导通,场效应管就同时截止了。所以实际的电路比这种理想情况还要安全一些。

场效应管栅极的12V稳压二极管用于防止场效应管栅极过压击穿。一般的场效应管栅极的耐压是18V或20V,直接加上24V电压将会击穿,因此这个稳压二极管不能用普通的二极管代替,但是可以用2千欧的电阻代替,同样能得到12V的分压。

3.场效应管输出部分:

大功率场效应管内部在源极和漏极之间反向并联有二极管,接成H桥使用时,相当于输出端已经并联了消除电压尖峰用的四个二极管,因此这里就没有外接二极管。输出端并联一个小电容(out1和out2之间)对降低电机产生的尖峰电压有一定的好处,但是在使用PWM时有产生尖峰电流的副作用,因此容量不宜过大。在使用小功率电机时这个电容可以略去。如果加这个电容的话,一定要用高耐压的,普通的瓷片电容可能会出现击穿短路的故障。

输出端并联的由电阻和发光二极管,电容组成的电路指示电机的转动方向.

4.性能指标:

电源电压15~30 V,最大持续输出电流5A/每个电机,短时间(10秒)可以达到10A,PWM频率最高可以用到30KHz(一般用1到10KHz)。电路板包含4个逻辑上独立的,输出端两两接成H桥的功率放大单元,可以直接用单片机控制。实现电机的双向转动和调速。

5.布线:

大电流线路要尽量的短粗,并且尽量避免经过过孔,一定要经过过孔的话要把过孔做大一些(>1mm)并且在焊盘上做一圈小的过孔,在焊接时用焊锡填满,否则可能会烧断。另外,如果使用了稳压管,场效应管源极对电源和地的导线要尽可能的短粗,否则在大电流时,这段导线上的压降可能会经过正偏的稳压管和导通的三极管将其烧毁。在一开始的设计中,NMOS管的源极于地之间曾经接入一个0.15欧的电阻用来检测电流,这个电阻就成了不断烧毁板子的罪魁祸首。当然如果把稳压管换成电阻就不存在这个问题了。

在2004年的Robocon比赛中,我们主要采用了这个电路用以电机驱动。

三、低压驱动电路的简易栅极驱动

一般功率场效应管的最高栅源电压为20V左右,所以在24V应用中要保证栅源电压不能超过20V,增加了电路的复杂程度。但在12V或更低电压的应用中,电路就可以大大简化。

左图就是一个12V驱动桥的一边,上面电路的三极管部分被两个二极管和两个电阻代替。(注意,跟上图逻辑是反的)由于场效应管栅极电容的存在,通过R3,R4向栅极电容充电使场效应管延缓导通;而通过二极管直接将栅极电容放电使场效应管立即截止,从而避免了共态导通。这个电路要求在IN端输入的是边缘陡峭的方波脉冲,因此控制信号从单片机或者其他开路输出的设备接入后,要经过施密特触发器(比如555)或者推挽输出的高速比较器才能接到IN端。如果输入边缘过缓,二极管延时电路也就失去了作用。

R3,R4的选取与IN信号边沿升降速度有关,信号边缘越陡峭,R3,R4可以选的越小,开关速度也就可以做的越快。Robocon比赛使用的升压电路(原理相似)中,IN前用的是555。

四、边沿延时驱动电路

在前级逻辑电路里,有意地对控制PMOS的下降沿和控制NMOS的上升沿进行延时,再整形成方波,也可以避免场效应管的共态导通。另外,这样做可以使后级的栅极驱动电路简化,可以是低阻推挽驱动栅极,不必考虑栅极电容,可以较好的适应不同的场效应管。2003年Robocon比赛采用的就是这种驱动电路。下图是两种边沿的延时电路:

下图是对应的NMOS,PMOS栅极驱动电路:

这个栅极驱动电路由两级三极管组成:前级提供驱动场效应管栅极所需的正确电压,后级是一级射极跟随器,降低输出阻抗,消除栅极电容的影响。为了保证不共态导通,输入的边沿要比较陡,上述先延时再整形的电路就可以做到。

五、其它几种驱动电路

1. 继电器+半导体功率器件的想法

继电器有着电流大,工作稳定的优点,可以大大简化驱动电路的设计。在需要实现调速的电机驱动电路中,也可以充分利用继电器。有一个方案就是利用继电器来控制电流方向来改变电机转向,而用单个的特大电流场效应管(比如IRF3205,一般只有N型特大电流的管子)来实现PWM调速,如下右图所示。这样是实现特别大电流驱动的一个方法。换向的继电器要使用双刀双掷型的,接线如下左图,线圈接线如下中图:

2. 几种驱动芯片

1) L298

2) A3952

3) A3940

4) L6203

六、PWM调速的实现

1. 使用定时器的算法

//butcher补充一下吧

//算法原理

//编程实现要点

//优缺点

2. 使用循环移位的算法

产生PWM信号可以由定时器来完成,但是由于51内部只提供了两个定时器,因此如果要向三个或更多的直流电机输出不同占空比的信号要反复设置定时器,实现较为复杂,我们采用一种比较简单的方法不仅可以实现对更多的直流电机提供不同的占空比输入信号,而且只占用一个定时器资源。这种方法可以简单表述如下:

在内存的某段空间内存放各个直流电机所需的输入信号占空比信息,如果占空比为1则保存0FFH(11111111B);占空比为0.5则保存0F0H(11110000B)或任何2进制数中包括4个0和4个1。即

占空比=1的个数/8

具体选取什么样的二进制数要看输出频率的要求。若要对此直流电机输出PWM信号,只要每个时间片移位一次取出其中固定的一位(可以用位寻址或进位标志C实现)送到电机端口上即可。另外,移位算法是一种对以前结果依赖的算法,所以最好定期检查或重置被移位的数,防止移错导致一直错下去。

这种算法的优点是独立进程,可以实现对多个电机的控制,缺点是占用资源较大,PWM频率较低。

3. 模拟电路PWM的实现

上图为一个使用游戏手柄或者航模摇杆上的线性电位器(或线性霍尔元件)控制两个底盘驱动电机的PWM生成电路。J1是手柄的插座,123和456分别是x,y两个方向的电位器。U1B提供半电源电压,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相步进电机的驱动

下面是一种驱动电路框图:

达林顿管阵列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→1100→0100→0110→0010→0011→0001→1001→1000),对应每个步进电机要有四个信号输入端,理论上向端口输出信号可以控制两个步进电机的工作。寄存器循环移位奇偶位分别作两个步进电机的驱动端的做法,其思想如下:

LOOP: MOV A,#1110000B ;在A寄存器中置入11100000

RR A ;右移位

AJMP LOOP ;循环右移位

这样在寄存器A中存储的值会有如下循环11100000→01110000→00111000→00011100→00001110→00000111→10000011→11000001→11100000,其奇数位有如下循环1000→1100→0100→0110→0010→0011→0001→1001→1000,其偶数位有如下循环1100→0100→0110→0010→0011→0001→1001→1000→1100.将A输出到P0端口,则奇数位和偶数位正是我们所需要的步进电机输入信号。

而事实上每个电机的动作是不同的,为此我们在RAM中为每个电机开辟一个byte的状态字节用以循环移位。在每一个电机周期里,根据需要对每个电机的byte进行移位,并用ANL指令将两个电机的状态合成到一个字节里输出此时的A同时可以控制两个电机了。

步进电机的速度由驱动脉冲的频率决定,移位的周期不同,电机的速度也就不同了。前面提到的电机周期,应该取各种可能的周期的最大公约数。换句话说,一旦电机周期取定,每个电机移位的周期应该是它的倍数。在程序中,对每个电机的相应时刻设定相应的分频比值,同时用一个变量进行加一计数:每到一个电机周期若计数变量<分频比值,则计数变量加1;若相等,则移位,计数变量清零。这样就实现了分频调速,可以让多个电机同时以不同的速度运转。另外,也可以采用传统的查表方式进行驱动,程序稍长,但也比较稳定,这种方法非常适合三相步进电机。

UCN5804B/LB是Allegro公司生产的4相步进电机驱动专用芯片,它集成了控制逻辑,脉冲分配和功率推动,通过几个管脚的电平来设定转动方式,方向,通过改变外时钟频率来改变转动速度,这给完成复杂的动作和测试步进电机参数带来了极大的方便。

2. 步进电机的智能驱动方案

步进电机有可以精确控制的优点,但是功耗大,效率低,力矩小。如果选用大功率步进电机,为了降低功耗,可以采取PWM恒流控制的方法。基本思路是,用带反馈的高频PWM根据输出功率的要求对每相恒流驱动,总体电流顺序又符合转动顺序。需要力矩小的时候应及时减小电流,以降低功耗。该方案实现的电路,可以采用独立的单片机或CPLD加场效应管驱动电路以及电流采样反馈电路。

八、几种IRF场效应管的参数

直流电机驱动电路设计相关推荐

  1. 哪一类功率放大电路效率最高_直流电机驱动电路设计,细,全!

    >LLC众筹发货通知< 首先了解一下直流电机 直流电机(direct current machine)是指能将直流电能转换成机械能(直流电动机)或将机械能转换成直流电能(直流发电机)的旋转 ...

  2. Easy EDA #学习笔记06# | L9110S H桥2路直流电机驱动板设计(附.4056 充电、过充过放保护电路设计)

    一.L9110S 概述 L9110S是一块直流电机驱动电路,该产品为电池供电的玩具.低压或电池供电的控制应用提供了一种集成直流马达驱动的解决方案.电路内部集成了采用MOS管设计的H桥驱动电路,主要应用 ...

  3. 《Arduino开发实战指南:机器人卷》一3.3 直流电机驱动电路原理

    本节书摘来华章计算机<Arduino开发实战指南:机器人卷>一书中的第3章 ,第3.3节,黄文恺 伍冯洁 陈 虹 编著更多章节内容可以访问云栖社区"华章计算机"公众号查 ...

  4. 九、51单片机之直流电机驱动

    目录 1.什么是电机 2.常见电机 2.1.交流电机 2.2.交流电机补充(可跳过) 2.3.直流电机 2.4.步进电机.伺服电机 3.直流电机驱动 1.什么是电机 (1)电机的全称是电动机,把电能转 ...

  5. linux 直流电机驱动设计,嵌入式Linux直流电机驱动.PPT

    嵌入式Linux直流电机驱动.PPT 嵌入式Linux直流电机驱动实验 开发平台中直流电机驱动的实现 S3C2410芯片自带定时器,所以控制部分省去了三角波产生电路.脉冲调制电路和PWM信号延迟及信号 ...

  6. TB6612FNG直流电机驱动

    定义: TB6612FNG是一款直流电机驱动器件,它具有大电流MOSFET-H桥结构,双通道电路输出,可同时驱动2个电机.      TB6612FNG每通道输出最高1.2 A的连续驱动电流,启动峰值 ...

  7. 一种简单的MOS管直流电机驱动电路

    如图所示,用2个PMOS和4个NMOS可以组成只需要一个控制端的直流电机驱动电路. 工作原理: 当Q6输入为低电平时,Q6的GS不导通,Q5的G级为高电平,Q5导通,所以R2左侧为低,Q1导通,Q6的 ...

  8. 嵌入式课程---嵌入式Linux的直流电机驱动开发

    文章目录 实验环境准备 步骤简要说明: 第一步:测试三个系统是否连通 第二步:编写并编译好驱动程序和测试驱动的程序 编写直流电机驱动程序dc_motor.c 编写驱动程序的Makefile文件 编写驱 ...

  9. BTS7960大功率直流电机驱动(含原理图+PCB)

    BTS7960大功率直流电机驱动 [简要说明] 一.尺寸:长76mmX宽65mmX高28mm 二.主要芯片:BTS7960.lm2576 三.工作电压:控制信号直流3V至12V;驱动电机电压6V至27 ...

  10. L9110/HR9110(1.2A玩具单通道直流电机驱动IC)

    描述 泛海微HR9110是应用于直流电机方案的单通道H桥驱动器芯片.HR9110的H桥驱动部分采用低导通电阻的PMOS和NMOS功率管.低导通电阻保证芯片低的功率损耗,使得芯片安全工作更长时间.此外H ...

最新文章

  1. Java - 网络编程(NetWork)
  2. 2.2 Java的基本数据类型
  3. CSS控制鼠标的箭头
  4. 基于Android的闹钟的软件
  5. Java错别字检查_java中关于异常的处理
  6. C#进阶之WebAPI(二)
  7. 关于指针int *p=a和*p=a的纠正
  8. 中俄国际社区大佬共话Java,苦Lambda表达式久矣?
  9. 下来安成功 打开一直白屏_苹果手机白屏怎么解决啊,苹果手机白屏了怎么修复...
  10. Linux上 MongoDB 实现远程连接并设置账号密码
  11. lesson3 一阶线性常微分方程解法
  12. 远程计算机或设备将不接受连接,谷歌浏览器无法上网
  13. 电脑如何分盘win10_Win10电脑如何刻录光盘?用win10自带刻录工具来刻录DVD光盘教程...
  14. windows配置本地的虚拟主机
  15. python名片打印程序_Python的格式化输出--制作名片
  16. 利用 EXE4j 生成 .exe Java Swing程序
  17. 用anaconda下载安装pytorch1.8.1+cudatoolkit11.1
  18. AWL词汇 Academic Word List (1)
  19. 全面解析Linux 内核 3.10.x - 内核进程
  20. python学生管理系统数据库_Django+Mysql实现--学生管理系统

热门文章

  1. Windows 下视频采集
  2. PTA甲级 1114 Family Property (25 point(s))
  3. 37 《这才是心理学》 -豆瓣评分9.0
  4. 川大计算机学硕调剂专硕,19双非考研川大计算机学院专硕经验~
  5. JS中更改样式属性或者更改类名
  6. 大专码农和985程序员有什么区别?
  7. Python基础教程:教你制作一个汇率换算程序
  8. 5g网络模式是以什么划分的_5G组网的8种方式,有什么不同?各方式又怎么进行网络部署...
  9. 大专计算机课教案,计算机课教案
  10. PowerDesigner 反向工程获取数据库表结构