1、L297L298N驱动电路步进电机基本原理功能L297L298N驱动电路步进电机基本原理功能部门: xxx 时间: xxx制作人:xxx整理范文,仅供参考,可下载自行修改网易新闻 微博 邮箱 闪电邮 相册 有道 手机邮 印像派 梦幻人生 更多 博客博客首页 博客话题 热点专题 博客油菜地 找朋友 博客圈子 博客风格 手机博客 短信写博 邮件写博 博客复制 b5E2RGbCAP摄影摄影展区 每日专题 窗体顶端2008年12月17日STC89C51单片机,L297和L298N驱动电路及步进电机的基本原理与功能默认分类 2008-12-11 14:43:53 阅读8201 评论6 字号:大中小订阅
2、摘要:本设计首先介绍了STC89C51单片机,L297和L298N驱动电路及步进电机的基本原理与功能;其次,设计步进电机实现起停、转向、速度、位置变化的控制方案;再次,在这些器件功能与特点的基础上,拟出设计思路,构建系统的总体框架;最后利用PROTEL软件绘出电路图,同时写出设计系统的运行流程和相关程序。整个系统通过写入单片机中的程序分配好控制字的存储单元以及相应的内存地址赋值;启动系统后,从单片机的I/O口输出控制脉冲,经过L297、L298N驱动电路对脉冲进行处理,输出能直接控制步进电机的脉冲信号。在此基础上,重新分配I/O资源,同时增加驱动芯片L297、L298N的个数,在负载能力范围允
3、许内,就能实现多台步进电机独立起停、转向、速度、位置变化的控制。p1EanqFDPw关键字:STC89C51单片机; L297。 L298N。 步进电机前言步进电机是一种将电脉冲信号转换成相应角位移的控制电机。目前,数字技术、计算机技术和永磁材料的迅速发展,推动了步进电机的发展。本设计针对目前各个领域对自动化的需要,采用STC89C51单片机与L297,L298N驱动芯片驱动多台步进电机同时独立工作,将它应用于各种复杂的控制领域,能使许多半自动控制的系统完全成为真正的全自动,特别是用在机器人等领域,能极大的提高生产力和降低劳动强度。由于步进电机具有快速启动、精确步进和定位等特点,因而在数控机床
4、,绘图仪,打印机以及光学仪器中得到广泛的应用。 DXDiTa9E3dSTC89C51单片机的特点 STC89C51系列单片机是宏晶科技推出的新一代超强抗干扰/高速/低功耗的单片机,是MCS-51系列单片机的派生产品;它们在指令系统中、硬件系统和片内资源与标准的8052单片机完全兼容,DIP-40封装系列与8051为pin-to-pin兼容,指令代码是与8051完全兼容的单片机。STC89C51单片机具有增强型12时钟/机器周期、6时钟机器/周期任意选择,工作电压为5.5V-3.4V5V单片机)/3.8V-2.0V5V单片机);工作频率范围:0-40MHZ,相当于普通8051的0-80MHZ。实
5、际频率可达48MHZ。用户应用程序空间为4K/8K/13K/16K/20K/32K/64K字节 ;片上集成1280字节/512字节RAM;有32/36个通用I/O口,P1/P2/P3/P4是准双向口;集成ISP在系统可编程)/IPA在应用可编程),无需专用的编程器/仿真器,可通过串行口。它可产生四相驱动信号,能用半步(八拍和全步(四拍等方式驱动单片机控制两相双极或四相单极步进电机。该芯片内部的PWM斩波器允许在关模式下控制步进电动机绕组电流,由于相序信号也是由内部产生的,因此它只需要时钟、方向和模式输入信号便能控制步进电动机,可减轻微处理器和程序设计的负担。L297单片步进电动机控制器集成电路
6、的核心是脉冲分配器,L297还设有两个PWM斩波器来控制线绕组电流,实现恒流斩波控制,以获得良好的转矩-频率特性。适用于双极性两相步进电动机或单极性四相步进电动机的控制。L297只需从上位机接受方向(正反转,模式(半步基本步距,时钟(步进脉冲3个输入信号。它产生3种相序的信号,对应于3种不同的工作方式:半步方式(四相八拍;基本步距,单相激励方式(单相四拍;基本步距,两相激励方式(两相两拍。其工作方式输出的波形如图46所示,初状态(HOME是ABCD= 0101。L297是20脚双列直插式塑料封装,常以+5V供电。该单片步进电机控制器集成电路的核心是脉冲分配器,L297还设有两个PWM斩波器来控
7、制绕组电流,实现恒流斩波控制,以获得良好的转矩-频率特性,实用于双极两相步进电机或者单极四相步进电机的控制。 xHAQX74J0X步进电机起动及加/减速控制速度控制中加/减控制是最基本的控制。电机由静止到达设定的最大的速度所需的时间是由调试决定的。加速度太大,电机甚至不能克服惯性而失步,加速度太少,则完成指定的运动耗费时间太多,LDAYtRyKfE加速度有两中方案:线性加/减速度控制和等步距加/减速度控制。前者规定从加速度开始,每一加速度周期指令电机速度递增相同的增量f;后者则是要求每一加速度周期电机走过相同的步数。等步距加/减速度控制的优点,在于加/减过程中电机走的步数可以非常精确的计算,这
8、一点对于加/减的位置控制非常重要,但从电机要克服惯性力来看,线性加速方案好些。调试也方便。线性加/减控制曲线如下图: Zzz6ZB2Ltk线性加速控制曲线f=(f2-f1/n,其中n为加速过程的台阶数,减速控制也类似,只是f为负值。步进电动机的最高起动频率突跳频率)一般为0.1KHz到3-4KHz,而最高运行频率则可以达到N*102 KHz。以超过最高起动频率的频率直接起动,将出现失步现象,甚至无法起动。较为理想的起动曲线,应是按指数规律起动。但实际应用对起动段的处理可采用直线拟合的方法,即阶梯升速法。可按两种情况处理,已知突跳频率则按突跳频率分段起动,分段数n=f/fq。未知突跳频率,则按段
9、拟合至给定的起动频率,每段频率的递增量后称阶梯频率)f=f/8,即采用8段拟合。在运行控制过程中,将起始的速度频率)分为n分作为阶梯频率,采用阶梯升速法将速度连续升到所需要的速度,然后锁定,按预置的曲线运行。如图9)所示。dvzfvkwMI1 用单片机实现步进电机的加/减速控制,实际上就是控制发脉冲的频率,升速时,使脉冲频率增高,减速时相反。如果使用定时中断来控制电机的速度,加减速控制就是不断改变定时器的初值。速度从V1V2如果是线性增加,则按给定的斜率升/降速;如果是突变,则按阶梯升速法处理。在此过程中要处理好两个问题: rqyn14ZNXI速度转换时间应尽量短;为了缩短速度转换的时间,可以
10、采用建立数据表的方法。结合各曲线段的频率和各段间的阶梯频率便可以建立一个连续的数据表,并通过转换程序将其转换为定时初值表。通过在不同的阶段调用相应的定时初值,控制电机的运行。定时初值的计算是在定时中断外实现的,并不占用中断时间,保证电机的高速运行。 EmxvxOtOco保证控制速度的精确性;要从一个速度准确达到另外一个速度,就要建立一个校验机制,以防超过或未达到所需速度。 SixE2yXPq5 阶梯升速起动步进电机的换向控制一般来说,驱动器的输入共有3路,它们是:步进脉冲信号CP、方向电平DIR、脱机信号FREE。它们在驱动器内部分别通过限流电阻接入光藕的负输入端,且电路形式完全相同,在这三路
11、输入信号的共同的控制下,驱动器将输入合适的电流来控制步进电机完成指定的操作。另外,驱动器一般有一个接入端OPTO,该端口为三路信号的公共正端。三路输入信号在驱动器内部接成共阳方式,所以OPTO端须接外部系统的VCC,并在需要的情况下加限流电阻R,保证驱动器内部光藕提供合适的驱动电流。6ewMyirQFL步进脉冲信号CP步进脉冲信号CP用于控制步进电机的位置与速度,也就是说:驱动器每接受一个CP脉冲就驱动步进电机一个旋转的步距角,CP脉冲的频率改变则会使步进电机的转速改变,控制CP脉冲的个数,则可以使步进电机精确定位。kavU42VRUs方向电平DIR方向电平信号DIR用于控制步进电机的旋转方向
12、,此端为高电平时,电机一个转向,此端为低电平时,电机转向另外一个方向,电机转相必须在电机停机后进行,并且换向信号一定要在前一个方向的最后一个CP脉冲结束后以及下一个方向的第一个脉冲前发出。y6v3ALoS89脱机电平信号FREE当驱动器上电后,步进电机处于锁定状态未施加CP脉冲时)或者运行状态施加CP脉冲时),但当用户想手动调整电机而又不想关闭驱动器电源,这时就可以用到此信号,当此信号起作用时所示。对于CP脉冲的设计主要要求其有一定的脉冲宽度一般不小于5s)、脉冲序列的均匀度及高低电平方式。在某一高速下的正、反向切换实质包含了降速换向升速三个过程。0YujCfmUCw 转向信号起作用的时刻步进
13、电机的位置控制 步进电机的位置控制是指要求电机从当前位置转过一个给定的步数。电机不丢步数这一控制的实际。就是要求精确地发出定量的步进脉冲,例如,机器人再现工作时的启动信号后,要走到示教时给出的初始作业位置,就是用到位置控制。不过不带加/减速控制,位置控制很容易实现的。将发给电机的脉冲,用计数器通道计数,到最后通过CPU停发脉冲就是了。但是这种不带加/减速的位置控制,除非速度特别低,否则会在起停时造成器械冲击、失步。图11示出了带加减速控制的速度曲线,此曲线、跟T轴间包含的面积正比于电机走过的步数S,显然,电机走过的总步数S由三部分构成:加速阶段电机走的步数向阶梯段电机走过的步数和减速阶段电机走
14、的步数。 eUts8ZQVRd 位置控制速度曲线系统的设计思路本设计的目的是实现单片机能同时实现3台或3台以上步进电机的起/停、转向、加/减速和位置控制。在熟悉好各芯片的性能特点后,接下来就是分配好各芯片的控制任务。sQsAEJkW5T单片机主要完成脉冲的分配,使步进电机按照设定的方式运转,通过程序设定,从单片机的I/O口输出一系列有规律的脉冲信号;由于直接输出的脉冲信号驱动功率有限,很难直接驱动步进电机运转,所以必须经过驱动器进行脉冲放大,本设计采用的L297与L298N芯片能解决这个问题,它可以驱动两个二相电机,也可以驱动一个四相电机。但是如果要实现多台步电机控制的设计,就不仅要重新分配好
15、I/O资源,还要增加相应驱动芯片的数量。再利用单片机程序分配好控制字的存储单元,以及相应的内存地址赋值,使单片机能控制步进电机的起停、换向顺序、速度和位置变化。 GMsIasNXkA系统的设计框架L297、L298N与电机的电路设计 系统的总电路设计此电路由一块STC89C51,3块L297、3块L298N、3台4相4拍步进电机器以及相关的电路组成。利用单片机3个并行I/O口的部分引脚P0.0P0.6,P1.0.P1.6,P2.0P2.6)连接驱动芯片,各个端口直接与驱动芯片L297直接相连,L297与L298N共用一个+5V的电源,输出+36V的步进电机驱动电压;L298N的2、3、13、1
16、4四个输出引脚直接与一个四相四拍的步进电机相连。以同样的方式,连接另外两台电机的控制电路。 TIrRGchYzg系统的总电路设计图 步进电机的转向控制任务判断旋转方向; 按顺序送出控制字;判断字是否送完。四相四拍控制程序的设计方法 步进电动机所要走的步数在R4中,转向标志存放在程序状态寄存器PSW的用户标志位FD5H)中。当F0=0时,步进电动机正转,当F0=1时,步进电动机反转。正反转控制字存放在单元见表1中。7EqZcWLZNX表1 反转控制字存放单元 节拍通电顺序控制字正转反转二进制十六进制14A000000010123B000000100232C000001000441D0000100
17、008表2 正反转的内存地址赋值 控制字内存字节地址正转01H02H04H08H00H20H21H22H23H24H反转08H04H02H01H00H25H26H27H28H00H 7.2 步进电机的运行控制在升、降频率过程中,考虑到步进电机的惯性,要求每改变一次频率,需持续运行一定的步数,称频率阶梯步长,采用直线方式,频率阶梯步长的值为常数,由初始启动频率到恒速运行频率的阶梯步长数,称为频率的阶梯数。编写这段程序作如下标明:lzq7IGf02E利用定时器T0延时,起初值存放在EPROM存储器的同一页面中。上半页面为升频段,定时器初值由大变小;下半页面为降频段,定时器初值由大变小。降频是升频的
18、逆过程。zvpgeqJ1hk步进电机的运行控制标志位定义见下表:表 步进电机的运行控制标志位 位地址标志内容70H运行方式:0恒速,1变速71H变速方式:0降频,1升速72H恒速转向:0正转,1反转73H升速转向:0正转,1反转74H降速转向:0正转,1反转75H程序结束标志:02表示程序结束运行控制初值分配见表表 运行控制初值分配 字节地址存储内容1AH频率阶梯步长计数器R2的值1BH频率阶梯步长计数器R3的值1CH恒速段步长低8位1DH恒速段步长高8位1EH恒速段T0初始值低8位1FH恒速段T0段高8位转速流程框图及相应的程序 步进电机转速控制可由程序延时来完成,也可由定时器延时来完成,相
19、应的程序如下:PUSH A ;保护现场 MOV R4,#N ;设置步长计数器 CLR C ;转向标志为1,转移ORL C,D5HJC ROTEMOV R0,#20H ;正转控制字首址AJMP LOOPROTE: MOV R0,27H ;反转控制字首址NrpoJac3v1LOOP: MOV A,R0MOV P1,A ;输出控制脉冲ACALL DLY ;调用延时程序INC R0 ;控制字存储地址增1MOV A,#00H. ORL A,R0 ;是结束标志转移1nowfTG4KIJZ TPL LOOP1: DJNZ R4,LOOP ;步数不为0,转移fjnFLDa5ZoPOP ARERTPL: MOV
20、 A,R0 ;恢复控制字首址CLR CSUBB A,#06HMOV R0,AAJMP LOOP1DLY: MOV R2,#MDLY1: MOV A,#M1LOOP: DEC AJNZ LOOPDJNZ R2,DLY1 RET7.4 变频调速程序与相应的流程图主程序:ORC 0000H SJMP START ORG 000BH LJMP INT0 ORG 0030HSTART: MOV DPTR,addr16 。T0初值地址指针tfnNhnE6e5 MOV R3,1BH ;赋频率阶梯记数器值 MOV R2,1AH ;赋阶梯步长计数器值 CLR C ORL C,73H JC ROTE MOV R0
21、,#20H ;正转控制字首址 AJMP PHROTE: MOV R0,#27H ;反转控制字首址HbmVN777sLPH: MOV TMOD,#01H ;T0方式1定时V7l4jRB8Hs MOV TL0,#00H ;置T0初值MOV TH0, #00H SETB TR0 ;启动T0SETB ET0 ;允许T0中断LOOP: MOV A,R3 ;等待中断83lcPA59W9 JNZ LOOP CLR EA ;CUP关中断 SJMP $ ;结束 中断服务程序:INT0: PUSH A ;保护现场mZkklkzaaP MOV A,R0 MOV P1, A INC R0 MOV A, #00H ORL A, R0 JZ TPL ;是结束标志,转RR: DEC R2 ;步长计数器减1AVktR43bpw MOV A, #00H ORL A, R2 JZ THL ;阶梯步长计数器为0,转PRL: CLR C CLR C, 71H JNC ROTEL ;是降频,转移 MOV A, #00H MOVC A, A+DPTR MOV TL0,A ;升频T0赋初值低8位 MOV A, #01H MOVC A, A+DPTR MOV TH0,A ;升频T0赋初值高8位 AJMP QQ ROTEL: MOV A, #80H
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1