ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:328.71KB ,
资源ID:6774302      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6774302.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片机.docx

1、单片机单片机实现多步进电机控制的设计(转载)作者: 邹代好 导师: 周达林摘要:本设计首先介绍了STC89C51单片机,L297和L298N驱动电路及步进电机的基本原理与功能;其次,设计步进电机 实现起停、转向、速度、位置变化的控制方案;再次,在这些器件功能与特点的基础上,拟出设计思路,构建系统的总体框架;最后利用PROTEL软件绘出电路 图,同时写出设计系统的运行流程和相关程序。整个系统通过写入单片机中的程序分配好控制字的存储单元以及相应的内存地址赋值;启动系统后,从单片机的 I/O口输出控制脉冲,经过L297、L298N驱动电路对脉冲进行处理,输出能直接控制步进电机的脉冲信号。在此基础上,

2、重新分配I/O资源,同时增加 驱动芯片L297、L298N的个数,在负载能力范围允许内,就能实现多台步进电机独立起停、转向、速度、位置变化的控制。关键字:STC89C51单片机; L297; L298N; 步进电机前言步进电机是一种将电脉冲信号转换成相应角位移的控制电机。目前,数字技术、计算机技术和永磁材料的迅速发展,推动了步进电机的发 展。本设计针对目前各个领域对自动化的需要,采用STC89C51单片机与L297,L298N驱动芯片驱动多台步进电机同时独立工作,将它应用于各种复 杂的控制领域,能使许多半自动控制的系统完全成为真正的全自动,特别是用在机器人等领域,能极大的提高生产力和降低劳动强

3、度。由于步进电机具有快速启动、 精确步进和定位等特点,因而在数控机床,绘图仪,打印机以及光学仪器中得到广泛的应用。 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单片机);工作频率范

4、围:0-40MHZ,相当于普通8051的0-80MHZ。实际频率可达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

5、等。 步进电机的步进原理 步进电机是一种用电脉冲信号进行控制,并将电脉冲信号转换成相应的角位移或线位移的控制电动机。说通俗点,就是给一个电脉冲,步进 电动机就转动一个角度或者前进一步,因此,步进电机也称脉冲电动机。步进电机区别于其他控制电机的最大特点是,它是通过输入脉冲信号来进行控制的,即电机 的总转动角度由输入脉冲数决定,而电机的转速由脉冲信号频率决定。步进电机是数字控制电机,它将脉冲信号转变成角位移,因此非常适合于单片机控制。步进电 机的角位移或线位移量与电脉冲个数成正比,它的转速或线速度与电脉冲频率成正比。在负载能力范围内这些关系不因电源电压、负载大小、环境条件的波动而变 化。通过改变脉

6、冲频率的高低可以在很大范围内实现步进电机的调速,并能进行快速启动、制动和反转。 L298N的原理L298N是ST公司生产的一种高电压、大电流电机驱动芯片。该芯片采用15脚封装。主要特点是:工作电压高,最高工作电压可达 46V;输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器 线圈等感性负载;采用标准逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源输入端,使内部逻辑电路部 分在低电压下工作;可以外接检测电阻,将变化量反馈给控制电路。使用L298N芯片驱动电机,该

7、芯片可以驱动两个二相电机,也可以驱动一个四相电机,可以 直接通过电源来调节输出电压;并可以直接用单片机的I/O口提供信号;而且电路简单,使用比较方便。 L297的原理L297芯片是具有20个引脚的双列直插式塑胶封装的步进电动机控制器(包括集成的硬件环形分配器)。它可产生四相驱动信号,能用 半步(八拍)和全步(四拍)等方式驱动单片机控制两相双极或四相单极步进电机。该芯片内部的PWM斩波器允许在关模式下控制步进电动机绕组电流,由于相序 信号也是由内部产生的,因此它只需要时钟、方向和模式输入信号便能控制步进电动机,可减轻微处理器和程序设计的负担。L297单片步进电动机控制器集成电 路的核心是脉冲分配

8、器,L297还设有两个PWM斩波器来控制线绕组电流,实现恒流斩波控制,以获得良好的转矩-频率特性。适用于双极性两相步进电动机 或单极性四相步进电动机的控制。L297只需从上位机接受方向(正反转),模式(半步基本步距),时钟(步进脉冲)3个输入信号。它产生3种相序的信 号,对应于3种不同的工作方式:半步方式(四相八拍);基本步距,单相激励方式(单相四拍);基本步距,两相激励方式(两相两拍)。其工作方式输出的波形 如图46所示,初状态(HOME)是ABCD= 0101。L297是20脚双列直插式塑料封装,常以+5V供电。该单片步进电机控制器集成电路的核心是脉冲分配器,L297还设有两个PWM斩波器

9、来控 制绕组电流,实现恒流斩波控制,以获得良好的转矩-频率特性,实用于双极两相步进电机或者单极四相步进电机的控制。 步进电机起动及加/减速控制速度控制中加/减控制是最基本的控制。电机由静止到达设定的最大的速度所需的时间是由调试决定的。加速度太大,电机甚至不能克服惯性而失步,加速度太少,则完成指定的运动耗费时间太多,加速度有两中方案:线性加/减速度控制和等步距加/减速度控制。前者规定从加速度开始,每一加速度周期指令电机速度递增相同的增量 f;后者则是要求每一加速度周期电机走过相同的步数。等步距加/减速度控制的优点,在于加/减过程中电机走的步数可以非常精确的计算,这一点对于加/减 的位置控制非常重

10、要,但从电机要克服惯性力来看,线性加速方案好些。调试也方便。线性加/减控制曲线如下图: 线性加速控制曲线f=(f2-f1)/n,其中n为加速过程的台阶数,减速控制也类似,只是f为负值。步进电动机的最高起动频率(突跳频率)一般为0.1KHz到3-4KHz,而最高运行频率则可以达到N*102 KHz。以超过最高起动频率的频率直接起动,将出现失步现象,甚至无法起动。较为理想的起动曲线,应是按指数规律起动。但实际应用对起动段的处理可采 用直线拟合的方法,即阶梯升速法。可按两种情况处理,已知突跳频率则按突跳频率分段起动,分段数n=f/fq。未知突跳频率,则按段拟合至给定的 起动频率,每段频率的递增量(后

11、称阶梯频率)f=f/8,即采用8段拟合。在运行控制过程中,将起始的速度(频率)分为n分作为阶梯频率,采用阶梯升 速法将速度连续升到所需要的速度,然后锁定,按预置的曲线运行。如(图9)所示。 用单片机实现步进电机的加/减速控制,实际上就是控制发脉冲的频率,升速时,使脉冲频率增高,减速时相反。如果使用定时中断来控制电机的速度,加减速控制 就是不断改变定时器的初值。速度从V1V2如果是线性增加,则按给定的斜率升/降速;如果是突变,则按阶梯升速法处理。在此过程中要处理好两个问 题: 速度转换时间应尽量短;为了缩短速度转换的时间,可以采用建立数据表的方法。结合各曲线段的频率和各段间的阶梯频率便可以建立一

12、 个连续的数据表,并通过转换程序将其转换为定时初值表。通过在不同的阶段调用相应的定时初值,控制电机的运行。定时初值的计算是在定时中断外实现的,并不 占用中断时间,保证电机的高速运行。 保证控制速度的精确性;要从一个速度准确达到另外一个速度,就要建立一个校验机制,以防超过或未达到所需速度。 阶梯升速起动步进电机的换向控制一般来说,驱动器的输入共有3路,它们是:步进脉冲信号CP、方向电平DIR、脱机信号FREE。它们在驱动器内部分别通过限流电 阻接入光藕的负输入端,且电路形式完全相同,在这三路输入信号的共同的控制下,驱动器将输入合适的电流来控制步进电机完成指定的操作。另外,驱动器一般有 一个接入端

13、OPTO,该端口为三路信号的公共正端。三路输入信号在驱动器内部接成共阳方式,所以OPTO端须接外部系统的VCC,并在需要的情况下加限流 电阻R,保证驱动器内部光藕提供合适的驱动电流。 步进脉冲信号CP步进脉冲信号CP用于控制步进电机的位置与速度,也就是说:驱动器每接受一个CP脉冲就驱动步进电机一个旋转的步距角,CP脉冲的频率改变则会使步进电机的转速改变,控制CP脉冲的个数,则可以使步进电机精确定位。 方向电平DIR方向电平信号DIR用于控制步进电机的旋转方向,此端为高电平时,电机一个转向,此端为低电平时,电机转向另外一个方向,电机转相必须在电机停机后进行,并且换向信号一定要在前一个方向的最后一

14、个CP脉冲结束后以及下一个方向的第一个脉冲前发出。 脱机电平信号FREE当驱动器上电后,步进电机处于锁定状态(未施加CP脉冲时)或者运行状态(施加CP脉冲时),但当用户想手动调整电机而又不想关闭 驱动器电源,这时就可以用到此信号,当此信号起作用时(低电平有效),电机处于自由无力矩状态,当此信号为高电平时或悬空不接时,取消脱机状态。此信号用 户可选用,如果不需要此功能,此端不接即可。 步进电机换向时,一定要在电机降速停止或降到突跳频率范围之内再换向,以免产生较大的冲击而损坏电机。换向信号一定要在前一个方向的最后一个CP脉冲结束 后以及下一个方向的第一个CP脉冲前发出。如(图10)所示。对于CP脉

15、冲的设计主要要求其有一定的脉冲宽度(一般不小于5s)、脉冲序列的均匀度及高 低电平方式。在某一高速下的正、反向切换实质包含了降速换向升速三个过程。 转向信号起作用的时刻步进电机的位置控制 步进电机的位置控制是指要求电机从当前位置转过一个给定的步数。电机不丢步数这一控制的实际。就是要求精确地发出定量的步进脉冲, 例如,机器人再现工作时的启动信号后,要走到示教时给出的初始作业位置,就是用到位置控制。不过不带加/减速控制,位置控制很容易实现的。将发给电机的脉 冲,用计数器通道计数,到最后通过CPU停发脉冲就是了。但是这种不带加/减速的位置控制,除非速度特别低,否则会在起停时造成器械冲击、失步。图11

16、示 出了带加减速控制的速度曲线,此曲线、跟T轴间包含的面积正比于电机走过的步数S,显然,电机走过的总步数S由三部分构成:加速阶段电机走的步数向阶 梯段电机走过的步数和减速阶段电机走的步数。 位置控制速度曲线系统的设计思路本设计的目的是实现单片机能同时实现3台或3台以上步进电机的起/停、转向、加/减速和位置控制。在熟悉好各芯片的性能特点后,接下来就是分配好各芯片的控制任务。单片机主要完成脉冲的分配,使步进电机按照设定的方式运转,通过程序设定,从单片机的I/O口输出一系列有规律的脉冲信号;由于直 接输出的脉冲信号驱动功率有限,很难直接驱动步进电机运转,所以必须经过驱动器进行脉冲放大,本设计采用的L

17、297与L298N芯片能解决这个问题,它可 以驱动两个二相电机,也可以驱动一个四相电机。但是如果要实现多台步电机控制的设计,就不仅要重新分配好I/O资源,还要增加相应驱动芯片的数量。再利用 单片机程序分配好控制字的存储单元,以及相应的内存地址赋值,使单片机能控制步进电机的起停、换向顺序、速度和位置变化。 系统的设计框架L297、L298N与电机的电路设计 系统的总电路设计此电路由一块STC89C51,3块L297、3块L298N、3台4相4拍步进电机器以及相关的电路组成。利用 单片机3个并行I/O口的部分引脚(P0.0P0.6,P1.0.P1.6,P2.0P2.6)连接驱动芯片,各个端口直接与

18、驱动芯片L297直接 相连,L297与L298N共用一个+5V的电源,输出+36V的步进电机驱动电压;L298N的2、3、13、14四个输出引脚直接与一个四相四拍的步 进电机相连。以同样的方式,连接另外两台电机的控制电路。 系统的总电路设计图 步进电机的转向控制任务判断旋转方向; 按顺序送出控制字;判断字是否送完。四相四拍控制程序的设计方法 步进电动机所要走的步数在R4中,转向标志存放在程序状态寄存器PSW的用户标志位F(D5H)中。当F0=0时,步进电动机正转,当F0=1时,步进电动机反转。正反转控制字存放在单元见表1中。表1 反转控制字存放单元 节拍通电顺序控制字正转反转二进制十六进制14

19、A000000010123B000000100232C000001000441D0000100008表2 正反转的内存地址赋值 控制字内存字节地址正转01H02H04H08H00H20H21H22H23H24H反转08H04H02H01H00H25H26H27H28H00H 7.2 步进电机的运行控制在升、降频率过程中,考虑到步进电机的惯性,要求每改变一次频率,需持续运行一定的步数,称频率阶梯步长,采用直线方式,频率阶梯步长的值为常数,由初始启动频率到恒速运行频率的阶梯步长数,称为频率的阶梯数。编写这段程序作如下标明:利用定时器T0延时,起初值存放在EPROM存储器的同一页面中。上半页面为升频

20、段,定时器初值由大变小;下半页面为降频段,定时器初值由大变小。降频是升频的逆过程。步进电机的运行控制标志位定义见下表:表 步进电机的运行控制标志位 位地址标志内容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位转速流程框图及相应的程序 步进电机

21、转速控制可由程序延时来完成,也可由定时器延时来完成,相应的程序如下:PUSH A ;保护现场 MOV R4,#N ;设置步长计数器 CLR C ;转向标志为1,转移ORL C,D5HJC ROTEMOV R0,#20H ;正转控制字首址AJMP LOOPROTE: MOV R0,27H ;反转控制字首址LOOP: MOV A,R0MOV P1,A ;输出控制脉冲ACALL DLY ;调用延时程序INC R0 ;控制字存储地址增1MOV A,#00H. ORL A,R0 ;是结束标志转移JZ TPL LOOP1: DJNZ R4,LOOP ;步数不为0,转移POP ARERTPL: MOV A,

22、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初值地址指针 MOV R3,1BH ;赋频率阶梯记数器值 MOV R2,1AH ;赋阶梯步长计数器值 CLR C ORL C,73H JC ROTE MOV R0,#20H ;正转控制字首

23、址 AJMP PHROTE: MOV R0,#27H ;反转控制字首址PH: MOV TMOD,#01H ;T0方式1定时 MOV TL0,#00H ;置T0初值MOV TH0, #00H SETB TR0 ;启动T0SETB ET0 ;允许T0中断LOOP: MOV A,R3 ;等待中断 JNZ LOOP CLR EA ;CUP关中断 SJMP $ ;结束 中断服务程序:INT0: PUSH A ;保护现场 MOV A,R0 MOV P1, A INC R0 MOV A, #00H ORL A, R0 JZ TPL ;是结束标志,转RR: DEC R2 ;步长计数器减1 MOV A, #00

24、H 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 MOVC A, A+DPTR MOV TL0,A ;降频T0赋初值低8位MOV A, #81H MOVC A, A+DPTR MOV TH0,A ;降频T0赋初值高8位QQ: POP A ;恢复现场 RETI ;中断返回THL: DJNZ R3,AT ;频率阶梯减1不为0,转 AJMP QQAT: MOV R2,1AH ;阶梯步长赋值 INC DPTR INC DPTR ;TO初值指

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1