L298N驱动两个直流l298n电机驱动程序出现的问题求...

已有天涯账号?
这里是所提的问题,您需要登录才能参与回答。
"天涯问答"是天涯社区旗下的问题分享平台。在这里您可以提问,回答感兴趣的问题,分享知识和经历,无论您在何时何地上线都可以访问,此平台完全免费,而且注册非常简单。
l298n驱动电路的应用与调试
L298N驱动DC5V电机正反转。请给出详细一点的调试方法
09-06-05 &匿名提问 发布
步进电机是一种将电脉冲信号转换成相应角位移的控制电机。目前,数字技术、计算机技术和永磁材料的迅速发展,推动了步进电机的发展。本设计针对目前各个领域对自动化的需要,采用STC89C51单片机与L297,L298N驱动芯片驱动多台步进电机同时独立工作,将它应用于各种复杂的控制领域,能使许多半自动控制的系统完全成为真正的全自动,特别是用在机器人等领域,能极大的提高生产力和降低劳动强度。由于步进电机具有快速启动、精确步进和定位等特点,因而在数控机床,绘图仪,打印机以及光学仪器中得到广泛的应用。
STC89C51单片机的特点  STC89C51系列单片机是宏晶科技推出的新一代超强抗干扰/高速/低功耗的单片机,是MCS-51系列单片机的派生产品;它们在指令系统中、硬件系统和片内资源与标准的8052单片机完全兼容,DIP-40封装系列与8051为pin-to-pin兼容,指令代码是与8051完全兼容的单片机。STC89C51单片机具有增强型12时钟/机器周期、6时钟机器/周期任意选择,工作电压为5.5V-3.4V(5V单片机)/3.8V-2.0V(5V单片机);工作频率范围:0-40MHZ,相当于普通MHZ。实际频率可达48MHZ。用户应用程序空间为4K/8K/13K/16K/20K/32K/64K字节 ;片上集成1280字节/512字节RAM;有32/36个通用I/O口,P1/P2/P3/P4是准双向口;集成ISP(在系统可编程)/IPA(在应用可编程),无需专用的编程器/仿真器,可通过串行口(P3.0/P3.1)直接下载用户程序,8K程序3秒就可以完成一片,具备EEPROM功能,工作温度范围在0-750,共有3个16位定时器/计数器,其中定时器T0还可以当成2个8位定时器使用;封装形式有DIP-40,PLCC-44,PQFP-44等。  步进电机的步进原理 步进电机是一种用电脉冲信号进行控制,并将电脉冲信号转换成相应的角位移或线位移的控制电动机。说通俗点,就是给一个电脉冲,步进电动机就转动一个角度或者前进一步,因此,步进电机也称脉冲电动机。步进电机区别于其他控制电机的最大特点是,它是通过输入脉冲信号来进行控制的,即电机的总转动角度由输入脉冲数决定,而电机的转速由脉冲信号频率决定。步进电机是数字控制电机,它将脉冲信号转变成角位移,因此非常适合于单片机控制。步进电机的角位移或线位移量与电脉冲个数成正比,它的转速或线速度与电脉冲频率成正比。在负载能力范围内这些关系不因电源电压、负载大小、环境条件的波动而变化。通过改变脉冲频率的高低可以在很大范围内实现步进电机的调速,并能进行快速启动、制动和反转。
 L298N的原理L298N是ST公司生产的一种高电压、大电流电机驱动芯片。该芯片采用15脚封装。主要特点是:工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器线圈等感性负载;采用标准逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈给控制电路。使用L298N芯片驱动电机,该芯片可以驱动两个二相电机,也可以驱动一个四相电机,可以直接通过电源来调节输出电压;并可以直接用单片机的I/O口提供信号;而且电路简单,使用比较方便。
 L297的原理L297芯片是具有20个引脚的双列直插式塑胶封装的步进电动机控制器(包括集成的硬件环形分配器)。它可产生四相驱动信号,能用半步(八拍)和全步(四拍)等方式驱动单片机控制两相双极或四相单极步进电机。该芯片内部的PWM斩波器允许在关模式下控制步进电动机绕组电流,由于相序信号也是由内部产生的,因此它只需要时钟、方向和模式输入信号便能控制步进电动机,可减轻微处理器和程序设计的负担。L297单片步进电动机控制器集成电路的核心是脉冲分配器,L297还设有两个PWM斩波器来控制线绕组电流,实现恒流斩波控制,以获得良好的转矩—-频率特性。适用于双极性两相步进电动机或单极性四相步进电动机的控制。L297只需从上位机接受方向(正/反转),模式(半步/基本步距),时钟(步进脉冲)3个输入信号。它产生3种相序的信号,对应于3种不同的工作方式:半步方式(四相八拍);基本步距,单相激励方式(单相四拍);基本步距,两相激励方式(两相两拍)。其工作方式输出的波形如图4~6所示,初状态(HOME)是ABCD= 0101。L297是20脚双列直插式塑料封装,常以+5V供电。该单片步进电机控制器集成电路的核心是脉冲分配器,L297还设有两个PWM斩波器来控制绕组电流,实现恒流斩波控制,以获得良好的转矩-频率特性,实用于双极两相步进电机或者单极四相步进电机的控制。
步进电机起动及加/减速控制速度控制中加/减控制是最基本的控制。电机由静止到达设定的最大的速度所需的时间是由调试决定的。加速度太大,电机甚至不能克服惯性而失步,加速度太少,则完成指定的运动耗费时间太多,加速度有两中方案:线性加/减速度控制和等步距加/减速度控制。前者规定从加速度开始,每一加速度周期指令电机速度递增相同的增量△f;后者则是要求每一加速度周期电机走过相同的步数。等步距加/减速度控制的优点,在于加/减过程中电机走的步数可以非常精确的计算,这一点对于加/减的位置控制非常重要,但从电机要克服惯性力来看,线性加速方案好些。调试也方便。线性加/减控制曲线如下图:
                   线性加速控制曲线 f=(f2-f1)/n,其中n为加速过程的台阶数,减速控制也类似,只是△f为负值。步进电动机的最高起动频率(突跳频率)一般为0.1KHz到3-4KHz,而最高运行频率则可以达到N*102 KHz。以超过最高起动频率的频率直接起动,将出现&失步&现象,甚至无法起动。较为理想的起动曲线,应是按指数规律起动。但实际应用对起动段的处理可采用直线拟合的方法,即&阶梯升速法&。可按两种情况处理,①已知突跳频率则按突跳频率分段起动,分段数n=f/fq。②未知突跳频率,则按段拟合至给定的起动频率,每段频率的递增量(后称阶梯频率)△f=f/8,即采用8段拟合。在运行控制过程中,将起始的速度(频率)分为n分作为阶梯频率,采用&阶梯升速法&将速度连续升到所需要的速度,然后锁定,按预置的曲线运行。如(图9)所示。    用单片机实现步进电机的加/减速控制,实际上就是控制发脉冲的频率,升速时,使脉冲频率增高,减速时相反。如果使用定时中断来控制电机的速度,加减速控制就是不断改变定时器的初值。速度从V1→V2如果是线性增加,则按给定的斜率升/降速;如果是突变,则按&阶梯升速法&处理。在此过程中要处理好两个问题: ①速度转换时间应尽量短;为了缩短速度转换的时间,可以采用建立数据表的方法。结合各曲线段的频率和各段间的阶梯频率便可以建立一个连续的数据表,并通过转换程序将其转换为定时初值表。通过在不同的阶段调用相应的定时初值,控制电机的运行。定时初值的计算是在定时中断外实现的,并不占用中断时间,保证电机的高速运行。 ②保证控制速度的精确性;要从一个速度准确达到另外一个速度,就要建立一个校验机制,以防超过或未达到所需速度。
请登录后再发表评论!2015物联网技术与创新应用大会
工业应用中的小批量快速原型制作技术研讨会
科技与体育的碰撞–智能羽毛球拍
第二届电源技术创新应用论坛
可穿戴创新设计方案技术专题
本专题精选各大原厂器件的可穿戴应用设计方案,旨在提供设计参考平台...
充放电技术方案专题
本专题精选了基于各大原厂器件的充放电方案,展示不同厂家方案设计技巧...
下一波,谁将是电源管理武林霸主?
电源市场风云变幻,全球知名电源管理芯片大厂,纷纷使出浑身解数,整合产品线...
分解前沿接口技术大势
当前,视频传输需求快速增加,促使接口技术不断朝向更高传输率发展...
4G正式开启 LTE测试设备主流厂商分析
安捷伦科技、JDSU、Anritsu和罗德与施瓦茨公司四大公司主导着这一市场...
基于较大功率的直流电机H桥驱动电路方案 - 全文
来源:电子发烧友网
作者:秩名日 09:38
[导读] 本文详细分析和探讨了较大功率直流电机驱动电路设计中可能出现的各种问题,有针对性设计和实现了一款基于25D60-24A 的直流电机驱动电路。该电路驱动功率大,抗干扰能力强,具有广泛的应用前景。
  该电路采用NMOS场效应管作为功率输出器件, 设计并实现了较大功率的直流电机H 桥驱动电路,并对额定电压为24 伏, 额定电流为3.8A 的25D60-24A 直流电机进行闭环控制, 电路的抗干扰能力强,在工业控制领域具有较强的适用性。许多半导体公司推出了直流电机专用驱动芯片, 但这些芯片多数只适合小功率直流电机, 对于大功率直流电机的驱动, 其集成芯片价格昂贵。
  在直流电机驱动电路的设计中,主要考虑一下几点:
  1. 功能:电机是单向还是双向转动?需不需要调速?对于单向的电机驱动,只要用一个大功率三极管或场效应管或继电器直接带动电机
  即可,当电机需要双向转动时,可以使用由4 个功率元件组成的H 桥电路或者使用一个双刀双掷的继电器。如果不需要调速,只要使
  用继电器即可;但如果需要调速,可以使用三极管,场效应管等开关元件实现PWM(脉冲宽度调制)调速。
  2. 性能:对于PWM 调速的电机驱动电路,主要有以下性能指标。
  1)输出电流和电压范围,它决定着电路能驱动多大功率的电机。
  2)效率,高的效率不仅意味着节省电源,也会减少驱动电路的发热。要提高电路的效率,可以从保证功率器件的开关工作状态和防
  止共态导通(H 桥或推挽电路可能出现的一个问题,即两个功率器件同时导通使电源短路)入手。
  3)对控制输入端的影响。功率电路对其输入端应有良好的信号隔离,防止有高电压大电流进入主控电路,这可以用高的输入阻抗或
  实现隔离。
  4)对电源的影响。共态导通可以引起电源电压的瞬间下降造成高频电源污染;大的电流可能导致地线电位浮动。
  5)可靠性。电机驱动电路应该尽可能做到,无论加上何种控制信号,何种无源负载,电路都是安全的。H桥驱动电路: H桥式电机驱动电路包括4个三极管和一个电机,因其外形酷似字母&H&,所以称作H桥驱动电路。
  要使电机M运转,必须使对角线上的一对三极管导通。例如 当Q1管和Q4管导通时,电流就从电源正极经Q1从左至右穿过电机,然后再经Q4回到电源负极。电机顺时针转动。当三极管Q2和Q3导通时,电流将从右至左流过电机,驱动电机逆时针方向转动。
  完整的晶体管H桥驱动电路,PWM1,PWM2,为电机方向控制输入端,PWM1=1,PWM2=0时正转,PWM=0,PWM2=1时电机反转。
  PWM1,PWM2同时也是电机调速的脉宽输入端。
  晶体管是最为廉价的控制方法,但在晶体管上有明显的压降,会产生功率的损耗,效率不高,适宜应用在低电压,小功率的场合。
  下图是场效应管组成的H桥驱动电路,场效应管是效率最高的控制方式,但价格较高,通常应用在大功率电机驱动场合。
  上面都是有分立元件构成的电路,实际使用中制作麻烦,故障率高。通常采用集成的H桥驱动芯片,集成度高,使用方便,可靠性高。如L9110,L298N,LMD18200,TA7257P、SN754410,MC33886等。
  L9110驱动电路:
  L9110 是为控制和驱动电机设计的两通道推挽式功率放大专用集成电路器件,将分立电路集成在单片IC 之中,使外围器件成本降低,整机可靠性提高。该芯片有两个TTL/CMOS兼容电平的输入,可直接与单片机接口,具有良好的抗干扰性;两个输出端能直接驱动电机的正反向运动,它具有较大的电流驱动能力,每通道能通过750~800mA 的持续电流,峰值电流能力可达1.5~2.0A;同时它具有较低的输出饱和压降;内置的钳位二极管能释放感性负载的反向冲击电流,使它在驱动继电器、直流电机、步进电机或开关功率管的使用上安全可靠。L9110 被广泛应用于玩具汽车电机驱动、步进电机驱动和开关功率管等电路上。
  宽电压工作范围2.5V~12v.
  L298N驱动电路:
  L298N是ST公司生产的一种高电压、大电流电机驱动芯片。该芯片采用15脚封装。主要特点是:工作电压高,3~46V,输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;额定功率25W.内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器线圈等感性负载;采用标准逻辑电平信号控制,与单片机管脚直接连接;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作,有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈给控制电路。使用L298N芯片驱动电机,该芯片可以驱动一台两相步进电机或四相步进电机,也可以驱动两台直流电机。
  VS 位电机驱动电源,VSS为逻辑控制电源。
  下图中PA0~PA3为单片机的I/O脚,控制两个DC电机M1,M2正反转。
  4相步进电机驱动电路
  LMD18200驱动电路:
  LMD18200 是美国国家半导体公司(NS)推出的专用于运动控制的H 桥组件。同一芯片上集成有CMOS 控制电路和DMOS 功率器件, 峰值输出电流高达6A , 连续输出电流达3A , 工作电压高达55V , 还具有温度报警和过热与短路保护功能。
  内部集成了四个DMOS管,组成一个标准的H型驱动桥。通过充电泵电路为上桥臂的2个开关管提供栅极控制电压,充电泵
  电路由一个300kHz左右的工作频率。可在引脚1、11外接电容形成第二个充电泵电路,外接电容越大,向开关管栅极输入电容充电速度越快,电压上升的时间越短,工作频率可以更高。引脚2、10接直流电机,正转时电流的方向应该从引脚步到引脚10;反转时电流的方向应该从引脚10到引脚2.电流检测输出引脚8可以接一个对地电阻,通过电阻来输出过流情况。内部保护电路设置的过电流阈值为10A,当超过该值时会自动封锁输出,并周期性的自动恢复输出。如果过电流持续时间较长,过热保护将关闭整个输出。过热信号还可通过引脚9输出,当结温达到145度时引脚9有输出信号。PB0,PB1为单片机的I/O口,PB0控制电机的正反转,PB1输入脉宽控制电机的转速。
驱动电路相关文章
驱动电路相关下载
PWM相关文章
PWM相关下载
直流电机相关文章
直流电机相关下载
技术交流、积极发言! 发表评请遵守相关规定。
日,国务院发布《关于促进智慧城市健康发展的指导意见》指出,到2020年,要建成一批特色鲜明、带动作用大的智慧城市。可以预见,国内正孕...
近两年来,在物联网大潮推动下,安防领域对高清技术以及自身联网性挑战不断提出更高要求,视频监控设计需求急速攀升。从过去的“看得见”,到今日...
创新实用技术专题
Copyright &
.All Rights Reserved温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
阅读(7039)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_',
blogTitle:'L298N直流电机驱动芯片的说明及应用',
blogAbstract:'
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}单片机利用pwm控制电机!速度,L298N有四个输入端,两个使能端,求产生两路pwm波的程序!_百度知道
单片机利用pwm控制电机!速度,L298N有四个输入端,两个使能端,求产生两路pwm波的程序!
TL0=0x9B; sbit en2=P1^1;i& / { for(i=0这是利用L298驱动两个直流电机的(来源于智能车循迹)程序;* 电机2的速度控制 */ &#47,i);* L298的Enable B */ / speed-电机速度(-100—100) */ / sbit s3=P1^4,希望对你有帮助; void motor(* 定时器0允许中断 */* 设定T0的工作模式为2 */ motor(2;=100) t=0,-i).0592M;* 电机1的处理 */ { s1=1;* =======直流电机的PWM速度塘赋窜貉诃股铬欺控制程序======== *&#47,/* 1个PWM信号由100次中断产生 */ /* 电机当前速度值 *&#47,i);* 反转加速 */i&* 开中断 */* T0中断服务程序 */i--) /* 正转减速 */ motor(2;j--);i& &#47, char speed) { if(speed&i--) / { motor(1; } } } void timer0() interrupt 1 / { s1=0; motor(2;* 电机控制函数 index-电机号(1;* 装入定时器的初值 */* 晶振采用11; sbit s2=P1^3; if(speed& uchar t=0; / { tmp1=m1,-i); { motor(1; else en2=0;0) / { s3=0; t++;* 电机实际控制演示 */ / { m1=abs(speed); { motor(1;* 启动定时器0 */* 简易延时函数 */* 速度值为负则反转 *&#47.h&i& uchar m1=0; TR0=1; #include&i++) / ET0=1;* L298的Input 3 */ / &#47,i); / TH0=0x9B; / / /* 产生电机1的PWM信号 *&#47,产生的PWM的频率约为91Hz */ if(t& delay(5000); #include& if(t&* 中断计数器 */ s2=1; uchar tmp1;tmp1) en1=1; TMOD=0x02; } else { s3=1; / s4=1,tmp2; } for(i=0;0) /reg51,i); EA=1; / delay(5000); } void main() { uchar i.h& } for(i=100;* 不为负数则正转 */ motor(2; } if(t&* 1个PWM周期完成后才会接受新数值 */=-100 && speed& while(1) /* 电机2速度值 */0;* 电机2的处理 */* L298的Input 4 */=100) { if(index==1) /* 取速度的绝对值 */* 正转加速 */j&* 电机2的方向控制 */* L298的Input 1 */ #define uchar unsigned char #define uint unsigned int sbit en1=P1^0,-i);* 产生电机2的PWM信号 */ delay(5000); { if(t==0) / / tmp2=m2; if(speed&* L298的Enable A */* L298的Input 2 */ / sbit s1=P1^2;=100; } for(i=100;0; } } } } void delay(uint j) / delay(5000); { for(j;* 电机1速度值 */ else en1=0; /tmp2) en2=1; { motor(1,-i); sbit s4=P1^5;0; } else / / s4=0; } } if(index==2) &#47,2); { m2=abs(speed); s2=0;i++) / 有两路PWM; /=100; /* 反转减速 */ uchar m2=0
其他类似问题
按默认排序
其他1条回答
51要用两个定时器你要说清楚用什么单片机
控制电机的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁/BLOG_ARTICLE_177889.HTM
一、&直流电机驱动电路的设计目标
在直流电机驱动电路的设计中,主要考虑一下几点:
功能:电机是单向还是双向转动?需不需要调速?对于单向的电机驱动,只要用一个大功率三极管或场效应管或继电器直接带动电机即可,当电机需要双向转动时,可以使用由4个功率元件组成的H桥电路或者使用一个双刀双掷的继电器。如果不需要调速,只要使用继电器即可;但如果需要调速,可以使用三极管,场效应管等开关元件实现PWM(脉冲宽度调制)调速。
性能:对于PWM调速的电机驱动电路,主要有以下性能指标。
1)输出电流和电压范围,它决定着电路能驱动多大功率的电机。
2)效率,高的效率不仅意味着节省电源,也会减少驱动电路的发热。要提高电路的效率,可以从保证功率器件的开关工作状态和防止共态导通(H桥或推挽电路可能出现的一个问题,即两个功率器件同时导通使电源短路)入手。
3)对控制输入端的影响。功率电路对其输入端应有良好的信号隔离,防止有高电压大电流进入主控电路,这可以用高的输入阻抗或者光电耦合器实现隔离。
4)对电源的影响。共态导通可以引起电源电压的瞬间下降造成高频电源污染;大的电流可能导致地线电位浮动。
5)可靠性。电机驱动电路应该尽可能做到,无论加上何种控制信号,何种无源负载,电路都是安全的。
二、&三极管-电阻作栅极驱动
<span style="color:#.输入与电平转换部分:
&&& 输入信号线由DATA引入,1脚是地线,其余是信号线。注意1脚对地连接了一个2K欧的电阻。当驱动板与单片机分别供电时,这个电阻可以提供信号电流回流的通路。当驱动板与单片机共用一组电源时,这个电阻可以防止大电流沿着连线流入单片机主板的地线造成干扰。或者说,相当于把驱动板的地线与单片机的地线隔开,实现“一点接地”。
&&& 高速运放KF347(也可以用TL084)的作用是比较器,把输入逻辑信号同来自指示灯和一个二极管的2.7V基准电压比较,转换成接近功率电源电压幅度的方波信号。KF347的输入电压范围不能接近负电源电压,否则会出错。因此在运放输入端增加了防止电压范围溢出的二极管。输入端的两个电阻一个用来限流,一个用来在输入悬空时把输入端拉到低电平。
不能用LM339或其他任何开路输出的比较器代替运放,因为开路输出的高电平状态输出阻抗在1千欧以上,压降较大,后面一级的三极管将无法截止。
<span style="color:#.栅极驱动部分:
&&& 后面三极管和电阻,稳压管组成的电路进一步放大信号,驱动场效应管的栅极并利用场效应管本身的栅极电容(大约1000pF)进行延时,防止H桥上下两臂的场效应管同时导通(“共态导通”)造成电源短路。
&&&&当运放输出端为低电平(约为1V至2V,不能完全达到零)时,下面的三极管截止,场效应管导通。上面的三极管导通,场效应管截止,输出为高电平。当运放输出端为高电平(约为VCC-(1V至2V),不能完全达到VCC)时,下面的三极管导通,场效应管截止。上面的三极管截止,场效应管导通,输出为低电平。
&&&&上面的分析是静态的,下面讨论开关转换的动态过程:三极管导通电阻远小于2千欧,因此三极管由截止转换到导通时场效应管栅极电容上的电荷可以迅速释放,场效应管迅速截止。但是三极管由导通转换到截止时场效应管栅极通过2千欧电阻充电却需要一定的时间。相应的,场效应管由导通转换到截止的速度要比由截止转换到导通的速度快。假如两个三极管的开关动作是同时发生的,这个电路可以让上下两臂的场效应管先断后通,消除共态导通现象。
&&&& 实际上,运放输出电压变化需要一定的时间,这段时间内运放输出电压处于正负电源电压之间的中间&#20540;。这时两个三极管同时导通,场效应管就同时截止了。所以实际的电路比这种理想情况还要安全一些。
&&&& 场效应管栅极的12V稳压二极管用于防止场效应管栅极过压击穿。一般的场效应管栅极的耐压是18V或20V,直接加上24V电压将会击穿,因此这个稳压二极管不能用普通的二极管代替,但是可以用2千欧的电阻代替,同样能得到12V的分压。
<span style="color:#.场效应管输出部分:
&&&& 大功率场效应管内部在源极和漏极之间反向并联有二极管,接成H桥使用时,相当于输出端已经并联了消除电压尖峰用的四个二极管,因此这里就没有外接二极管。输出端并联一个小电容(out1和out2之间)对降低电机产生的尖峰电压有一定的好处,但是在使用PWM时有产生尖峰电流的副作用,因此容量不宜过大。在使用小功率电机时这个电容可以略去。如果加这个电容的话,一定要用高耐压的,普通的瓷片电容可能会出现击穿短路的故障。
&&&&& 输出端并联的由电阻和发光二极管,电容组成的电路指示电机的转动方向.
<span style="color:#.性能指标:
&&& 电源电压15~30 V,最大持续输出电流5A/每个电机,短时间(10秒)可以达到10A,PWM频率最高可以用到30KHz(一般用1到10KHz)。电路板包含4个逻辑上独立的,输出端两两接成H桥的功率放大单元,可以直接用单片机控制。实现电机的双向转动和调速。
<span style="color:#.布线:
&&&& 大电流线路要尽量的短粗,并且尽量避免经过过孔,一定要经过过孔的话要把过孔做大一些(&1mm)并且在焊盘上做一圈小的过孔,在焊接时用焊锡填满,否则可能会烧断。另外,如果使用了稳压管,场效应管源极对电源和地的导线要尽可能的短粗,否则在大电流时,这段导线上的压降可能会经过正偏的稳压管和导通的三极管将其烧毁。在一开始的设计中,NMOS管的源极于地之间曾经接入一个0.15欧的电阻用来检测电流,这个电阻就成了不断烧毁板子的罪魁祸首。当然如果把稳压管换成电阻就不存在这个问题了。
&&&&& 在2004年的Robocon比赛中,我们主要采用了这个电路用以电机驱动。
三、&低压驱动电路的简易栅极驱动
&&&& 一般功率场效应管的最高栅源电压为20V左右,所以在24V应用中要保证栅源电压不能超过20V,增加了电路的复杂程度。但在12V或更低电压的应用中,电路就可以大大简化。
&&&& 左图就是一个12V驱动桥的一边,上面电路的三极管部分被两个二极管和两个电阻代替。(注意,跟上图逻辑是反的)由于场效应管栅极电容的存在,通过R3,R4向栅极电容充电使场效应管延缓导通;而通过二极管直接将栅极电容放电使场效应管立即截止,从而避免了共态导通。
&&&&& 这个电路要求在IN端输入的是边缘陡峭的方波脉冲,因此控制信号从单片机或者其他开路输出的设备接入后,要经过施密特触发器(比如555)或者推挽输出的高速比较器才能接到IN端。如果输入边缘过缓,二极管延时电路也就失去了作用。
&&&&& R3,R4的选取与IN信号边沿升降速度有关,信号边缘越陡峭,R3,R4可以选的越小,开关速度也就可以做的越快。Robocon比赛使用的升压电路(原理相&#20284;)中,IN前用的是555。
四、&边沿延时驱动电路
&&&& 在前级逻辑电路里,有意地对控制PMOS的下降沿和控制NMOS的上升沿进行延时,再整形成方波,也可以避免场效应管的共态导通。另外,这样做可以使后级的栅极驱动电路简化,可以是低阻推挽驱动栅极,不必考虑栅极电容,可以较好的适应不同的场效应管。2003年Robocon比赛采用的就是这种驱动电路。下图是两种边沿的延时电路:
下图是对应的NMOS,PMOS栅极驱动电路:
&&&&&&&&&&&&&&&&&&
&&&& 这个栅极驱动电路由两级三极管组成:前级提供驱动场效应管栅极所需的正确电压,后级是一级射极跟随器,降低输出阻抗,消除栅极电容的影响。为了保证不共态导通,输入的边沿要比较陡,上述先延时再整形的电路就可以做到。
五、&其它几种驱动电路
<span style="color:#.&继电器+半导体功率器件的想法
&&&&& 继电器有着电流大,工作稳定的优点,可以大大简化驱动电路的设计。在需要实现调速的电机驱动电路中,也可以充分利用继电器。有一个方案就是利用继电器来控制电流方向来改变电机转向,而用单个的特大电流场效应管(比如IRF3205,一般只有N型特大电流的管子)来实现PWM调速,如下右图所示。这样是实现特别大电流驱动的一个方法。换向的继电器要使用双刀双掷型的,接线如下左图,线圈接线如下中图:
<span style="color:#.&几种驱动芯片
1)&L298&&参考
2)&A3952&参考
3)&A3940&参考
4)&L6203&参考
六、&PWM调速的实现
<span style="color:#.&使用定时器的算法
//butcher补充一下吧
//算法原理
//编程实现要点
<span style="color:#.&使用循环移位的算法
&&&&& 产生PWM信号可以由定时器来完成,但是由于51内部只提供了两个定时器,因此如果要向三个或更多的直流电机输出不同占空比的信号要反复设置定时器,实现较为复杂,我们采用一种比较简单的方法不仅可以实现对更多的直流电机提供不同的占空比输入信号,而且只占用一个定时器资源。这种方法可以简单表述如下:
在内存的某段空间内存放各个直流电机所需的输入信号占空比信息,如果占空比为1则保存0FFH(B);占空比为0.5则保存0F0H(B)或任何2进制数中包括4个0和4个1。即
占空比=1的个数/8
&&&& 具体选取什么样的二进制数要看输出频率的要求。若要对此直流电机输出PWM信号,只要每个时间片移位一次取出其中固定的一位(可以用位寻址或进位标志C实现)送到电机端口上即可。另外,移位算法是一种对以前结果依赖的算法,所以最好定期检查或重置被移位的数,防止移错导致一直错下去。
&&&&& 这种算法的优点是独立进程,可以实现对多个电机的控制,缺点是占用资源较大,PWM频率较低。
<span style="color:#.&模拟电路PWM的实现
&&&& 上图为一个使用游戏手柄或者航模摇杆上的线性电位器(或线性霍尔元件)控制两个底盘驱动电机的PWM生成电路。J1是手柄的插座,123和456分别是x,y两个方向的电位器。U1B提供半电源电压,U1A是电压跟随。x,y分量经过合成成为控制左右轮两个电机转速的电压信号。在使用中,让L=(x&#43;1)y/(x&#43;1.4),R=(x-1)y/(x-0.6),经过试验有不错的效果(数字只是单位,不是电压&#20540;)。经过U1C和U1D组成的施密特振荡器把电压转换为相应的PWM信号,用来控制功率驱动电路。以U1D为例,R1,R2组成有回差的施密特电路,上下门限受输入电压影响,C1和R3组成延时回路,如此形成振荡的脉宽受输入电压控制。Q1,Q2是三极管,组成反相器,提供差分的控制信号。具体振荡过程参见对555振荡器的分析。
七、&步进电机驱动
<span style="color:#.&小功率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),对应每个步进电机要有四个信号输入端,理论上向端口输出信号可以控制两个步进电机的工作。寄存器循环移位奇偶位分别作两个步进电机的驱动端的做法,其思想如下:
LOOP:&MOV A,#1110000B&;在A寄存器中置入
&&RR A&&&&;右移位
&&AJMP LOOP&&&;循环右移位
&&&& 这样在寄存器A中存储的&#20540;会有如下循环100000,其奇数位有如下循环→→→→1000,其偶数位有如下循环→→→→1100.将A输出到P0端口,则奇数位和偶数位正是我们所需要的步进电机输入信号。
&&&& 而事实上每个电机的动作是不同的,为此我们在RAM中为每个电机开辟一个byte的状态字节用以循环移位.在每一个电机周期里,根据需要对每个电机的byte进行移位,并用ANL指令将两个电机的状态合成到一个字节里输出此时的A同时可以控制两个电机了
步进电机的速度由驱动脉冲的频率决定,移位的周期不同,电机的速度也就不同了.前面提到的电机周期,应该取各种可能的周期的最大公约数.换句话说,一旦电机周期取定,每个电机移位的周期应该是它的倍数.在程序中,对每个电机的相应时刻设定相应的分频比&#20540;,同时用一个变量进行加一计数:每到一个电机周期若计数变量&分频比&#20540;,则计数变量加1;若相等,则移位,计数变量清零.这样就实现了分频调速,可以让多个电机同时以不同的速度运转.
&&&&& 另外,也可以采用传统的查表方式进行驱动,程序稍长,但也比较稳定,这种方法非常适合三相步进电机。
&&&&& UCN5804B/LB是Allegro公司生产的4相步进电机驱动专用芯片,它集成了控制逻辑,脉冲分配和功率推动,通过几个管脚的电平来设定转动方式,方向,通过改变外时钟频率来改变转动速度,这给完成复杂的动作和测试步进电机参数带来了极大的方便.
<span style="color:#.&步进电机的智能驱动方案
&&&&& 步进电机有可以精确控制的优点,但是功耗大,效率低,力矩小。如果选用大功率步进电机,为了降低功耗,可以采取PWM恒流控制的方法。基本思路是,用带反馈的高频PWM根据输出功率的要求对每相恒流驱动,总体电流顺序又符合转动顺序。需要力矩小的时候应及时减小电流,以降低功耗。该方案实现的电路,可以采用独立的单片机或CPLD加场效应管驱动电路以及电流采样反馈电路。
八、&附录:几种IRF场效应管的参数
导通电阻(Ohm)
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:29401次
排名:千里之外
原创:33篇
转载:27篇
(2)(1)(2)(2)(3)(2)(1)(2)(1)(2)(9)(1)(9)(2)(3)(9)(5)(1)(3)

我要回帖

更多关于 l298n电机驱动程序 的文章

 

随机推荐