1、毕业设计(论文) 中文摘要步进电机控制系统的设计摘要:本文应用单片机、步进电机驱动芯片、字符型 LCD 和键盘阵列,构建了集步进电机控制器和驱动器为一体的步进电机控制系统。二维工作台作为被控对象通过步进电机驱动滚珠丝杆在 X/Y 轴方向联动。文中讨论了一种以最少参数确定一条圆弧轨迹的插补方法和步进电机变频调速的方法。步进电机控制系统的开发采用了软硬件协同仿真的方法,可以有效地减少系统开发的周期和成本。最后给出了步进电机控制系统的应用实例。关键词:步进电机控制系统,插补算法,变频调速,软硬件协同仿真2 目 录1 引言 12 圆弧插补改进算法 12.1 有关圆弧插补的概述 .12.2 圆弧插补的改
2、进算法 .13 步进电机的变频调速 23.1 有关变频调速的概述 .23.2 变频调速的改进 .34 系统软硬件协同设计 44.1 单片机控制系统 .44.2 系统软硬件协同仿真 .75 应用实例 9结 论 10致 谢 10参考文献 .1011 引言步进电机是一种将电脉冲信号转换成相应角位移的机电执行元件。给一个电脉冲信号,步进电机就回转一个固定的角度,称为一步,所以成为步进电机。作为一种数字伺服执行元件,步进电机具有结构简单、运行可靠、控制方便、控制性能好等优点,广泛应用在数控机床、机器人、自动化仪表等领域。本论文为了实现步进电机的简易运动控制,一般以单片机作为控制系统的微处理器,通过步进电
3、机专用驱动芯片实现步进电机的速度和位置定位控制。2 圆弧插补改进算法2.1 有关圆弧插补的概述逐点比较插补算法的基本原理是,逐点比较刀具与编程轮廓之间的相对位置,并根据比较的结果决定下一步的进给方向,使刀具向减小误差的方向进给,而且每次只有一个方向的进给,周而复始,直至全部结束,从而获得一个非常接近于编程轮廓的轨迹。圆弧插补原理是,在圆弧加工过程中,要描述刀具与编程圆弧之间的相对位置,可用动点到圆心的距离大小来反映。2.2 圆弧插补的改进算法逐点比较插补算法因其算法简单、易实现且最大误差不超过一个脉冲当量,在步进电机的位置控制中应用的相当广泛。圆弧插补中,为了确定一条圆弧的轨迹,可采用:给出圆
4、心坐标、起点坐标和终点坐标;给出半径、起点和终点坐标;给出圆弧的三点坐标等。在算法实现时这些参数若要存放在单片机内部资源有限的数据存储器(RAM)中,如果要经过复杂的运算才能确定一段圆弧,不但给微处理器带来负担,而且要经过多步运算,往往会影响到算法的精确度。因此选取一种简单且精确度高的插补算法是非常必要的。本文提出看一种改进算法:在圆弧插补中,无论圆弧在任何位置,是顺圆或是逆圆,都以此圆弧的圆心作为原点来确定其他坐标。因此只须给出圆弧的起点坐标和圆弧角度就可以确定该圆弧。如果一个轴坐标用 4 个字节存储(如12.36) ,而角度用 2 个字节存储(如 45) ,则只需要 10 个字节即可确定一
5、段二维的圆弧。较之起其他方法,最多可节省 14 个存储单元。现以第 I 象限逆圆2弧为例,计算其终点坐标。如图 1 所示, (X0,Y0)为圆弧的起点坐标,(Xe,Ye)为圆弧的终点坐标, 为圆弧的角度。图 1 圆弧轨迹示意图 圆弧半径: ,终点坐标: 终点坐标相对 X 轴的角度:本系统要求输入的角度精确到 1 度,输入坐标的分辨率是 0.01,单片机 C语言的浮点运算能精确到 0.000001,按照上面的公式算出的终点坐标,虽存在误差,但这个误差小于 1%,能够满足所要求的精确度。3 步进电机的变频调速3.1 有关变频调速的概述为满足变速的要求,早期的步进电机常采用直流主轴驱动系统。由于直流
6、电动机存在体积大、恒功率调速范围窄、电刷易磨损、维护比较麻烦等缺点,而逐渐被交流主轴驱动系统所取代。目前,绝大多数步进电机均是鼠笼式交流异步配置矢量变频调速器的。鼠笼式交流异步电动机具有恒功率范围宽,体积小,结构简单,价格便宜,可靠性高等优点。但是在采用一般变频器调速时,其调速特性无法与直流电动机相比。因此采用矢量变换控制技术。目前,矢量变频已经是一项成熟技术,是对交流电动机调速控制的理想方法。其基本思想是通过复杂的坐标变换,把交流电动机模拟成直流电动机并进行控制,从而达到与直流电动机相似的调速性能,其恒转矩与恒功率调速之比约为 1:3。步进电机驱动原理是通过对每相线圈中的电流的顺序切换来使电
7、机作步进3式旋转。切换是通过单片机输出脉冲信号来实现的。所以调节脉冲信号的频率便可以改变步进电机的转速,改变各相脉冲的先后顺序,可以改变电机的旋转方向。步进电机的转速应由慢到快逐步加速。电机驱动方式可以采用双四拍(ABBCCDDAAB)方式,也可以采用单四拍(ABCDA)方式,或单、双八拍(AABBBCCCDDDAA)方式。3.2 变频调速的改进不过,虽然步进电机具有快速启停能力强、精度高、转速容易控制的特点,但是在实际运行过程中由于启动和停止控制不当,步进电机仍会出现启动时抖动和停止时过冲的现象,从面影响系统的控制精度。尤其是步进电机工作在频繁启动和停止时,这种现象就更为明显。为此本文提出了
8、一种基于单片机控制的步进电机加减速离散控制方法。加减速曲线如图 2 所示,纵坐标是频率 f,单位为脉冲/秒或步/秒。横坐标时间 t,单位为秒。步进电机以 f0 值启动后加速至 t1 时刻达到最高运行频率 f,然后匀速运行,至 t2时刻开始减速,在 t5 时刻电机停转,总的步数为 N。其中电机从静止加速至最高运行频率和从最高运行频率至停止至是步进电机控制的关键,通常采用匀加速和匀减速方式。图 2 时间与频率的函数图图 3 离散化的时间变频图4采用单片机对步进电机进行加减速控制,实际上就是改变输出脉冲的时间间隔,可采用软件和硬件两种方法。软件方法依靠延时程序来改变脉冲输出的频率,其中延时的长短是动
9、态的,该方法因为要不停地产生控制脉冲,占用了大量的 CPU 时间;硬件方法是依靠单片机内部的定时器来实现的,在每次进入定时中断后,改变定时常数(定时器装载值) ,从而升速时使脉冲频率逐渐增大,减速时使脉冲频率逐渐减小。这种方法占用 CPU 时间较少,是一种效率比较高的步进电机调速方法。考虑到单片机资源(字长)和编程的方便,不需要每步都计算定时器装载值。如图 3 所示,采用离散方法将加减速曲线离散化。离散化后速度是分台阶上升的,而且每上升一个台阶都要在该台阶保持一段时间,以克服由于步进电机转子转动惯量所引起的速度滞后。只有当实际运行速度达到预设值后才能急速加速,实际上也是局部速度误差的自动纠正。
10、4 系统软硬件协同设计4.1 单片机控制系统单片机的出现时计算机技术发展史上的一个重要里程碑,它使计算机从海量数值计算进入到控制领域。从此,计算机技术在俩个重要领域:通用计算机领域和嵌入式计算机领域都获得了极其重要的发展。通常将满足海量高速数值计算的计算机称为通用计算机系统;而将面对工控制系统领域对象,嵌入到工控制系统里,实现嵌入式应用的计算机称为嵌入式计算机系统,简称嵌入式系统。嵌入式系统最显著的特点是面对工控制领域的测控对象。工控领域的测量对象都是一些物理参量,如力、热、速度、加速度、位移等;控制对象都是一些机械参量。与通用计算机正好相反,这些参量要求嵌入式计算机系统采集、处理、控制、的速
11、度是有限的,而要求控制方式与能力是无限的。单片机主要应用于控制领域。以单片机为主,以控制功能为目的,除在单片机芯片中集成控制功能外,在外部相应有各种专用功能的外围接口芯片与单片机配套。许多单片机研发单位还积累了大量的软件,因而形成了一个单片机产业,不断地拓宽应用的领域和开拓市场。因此,单片机控制系统设计在机电一体化系统中也占据着相当重要的地位。5从 1976 年 8 月单片机诞生以来,在单片机领域中一直以 8 位机位主流机型,预计这种现象还将继续持续下去。而通用计算机的 CPU 却迅速从 8 位升级到 16 位、32 位、并向 64 位发展。在各种嵌入式系统中,单片机有专门为嵌入式应用设计的唯
12、一的体系结构与指令系统,以此它最能满足嵌入式的应用要求。目前,在国内外公认的标准体系结构是 Intel 公司的 MCS-51 系列,其中 051 已被许多厂家作为基核。单片机是发展最快、品种最多、数量最大的嵌入式系统。单片机是一种集成电路芯片,采用超大规模技术把具有数据处理能力(如算术运算,逻辑运算、数据传送、中断处理)的微处理器(CPU),随机存取数据存储器(RAM),只读程序存储器(ROM),输入输出电路(I/O 口),还包括定时计数器,串行通信口(SCI),显示驱动电路(LCD 或 LED 驱动电路),脉宽调制电路(PWM),模拟多路转换器及 A/D 转换器等电路集成到一块单块芯片上,构
13、成一个最小而完善的计算机系统。这些电路能在软件的控制下准确、迅速、高效地完成程序设计者事先规定的任务。由于器件采用了静态设计,可提供很宽的操作频率范围(频率可降至 0) ,可实现两个由软件选择的节电模式空闲模式和掉电模式。空闲模式冻结 CPU,但 RAM、定时器、串口和中断系统仍然工作。掉电模式保存 RAM 的内容,但是冻结振荡器,导致所有其它的片内功能停止工作。由于设计是静态的,时钟可停止而不会丢失用户数据,运行可从时钟停止处恢复。随着数字技术,特别是信息技术的飞速发展与普及,在现代控制、通信及检测等领域,为了提高系统的性能指标,对信号的处理广泛采用了数字计算机技术。由于系统的实际对象往往都
14、是一些模拟量(如温度、压力、位移、图像等) ,要使计算机或数字仪表能识别、处理这些信号,必须首先将这些模拟信号转换成数字信号;而经计算机分析、处理后输出的数字量也往往需要将其转换为相应模拟信号才能为执行机构所接受。这样,就需要一种能在模拟信号与数字信号之间起桥梁作用的电路-模数和数模转换器。A/D 转换即模拟/数字转换,意思是模拟信号转换为数字信号;D/A 转换即数字/模拟转换,意思是数字信号转换为模拟信号;ADC 表示模拟/数字转换器,DAC 表示数字/模拟转换器。A/D 转换器和 D/A 转换器已成为信息系统中不可缺少的重要组成部分,为6确保系统处理结果的精确度,A/D 转换器和 D/A
15、转换器必须具有足够的转换精度;如果要实现快速变化信号的实时控制与检测,A/D 与 D/A 转换器还要求具有较高的转换速度。转换精度与转换速度是衡量 A/D 与 D/A 转换器的重要技术指标。A/D 转换器按分辨率分为 4 位、6 位、8 位、10 位、14 位、16 位和 bcd 码的 31/2 位、51/2 位等。按照转换速度可分为超高速(转换时间330ns) ,次超高速(3303.3s) ,高速(转换时间 3.3333s) ,低速(转换时间330s)等。A/D 转换器按照转换原理可分为直接 A/D 转换器和间接 A/D 转换器。所谓直接 A/D 转换器,是把模拟信号直接转换成数字信号,如逐
16、次逼近型,并联比较型等。其中逐次逼近型 A/D 转换器,易于用集成工艺实现,且能达到较高的分辨率和速度,故目前集成化 A/D 芯片采用逐次逼近型者多;间接A/D 转换器是先把模拟量转换成中间量,然后再转换成数字量,如电压/时间转换型(积分型) ,电压/频率转换型,电压/脉宽转换型等。其中积分型 A/D 转换器电路简单,抗干扰能力强,且能作到高分辨率,但转换速度较慢。A/D、D/A 转换原理,衡量一个 D/A 转换器的性能的主要参数有:分辨率:是指 D/A 转换器能够转换的二进制数的位数,位数多分辨率也就越高;转换时间:指数字量输入到完成转换,输出达到最终值并稳定为止所需的时间。电流型D/A 转
17、换较快,一般在几 ns 到几百 ns 之间。电压型 D/A 转换较慢,取决于运算放大器的响应时间;精度:指 D/A 转换器实际输出电压与理论值之间的误差,一般采用数字量的最低有效位作为衡量单位;线性度:当数字量变化时,D/A 转换器输出的模拟量按比例关系变化的程度。理想的 D/A 转换器是线性的,但是实际上是有误差的,模拟输出偏离理想输出的最大值称为线性误差。D/A 转换是把数字量转换成模拟量的变换,实验台上 D/A 电路输出的是模拟电压信号。要实现实验要求,比较简单的方法是产生三个波形的表格,然后通过查表来实现波形显示。产生锯齿波和三角波的表格只需由数字量的增减来控制,同时要注意三角波要分段
18、来产生。要产生正弦波,较简单的方法是造一张正弦数字量表。即查函数表得到的值转换成十六进制数填表。D/A 转换取值范围为一个周期,采样点越多,精度越高些。本例采用的采样点为 256 点/周期。八位 D/A 转换器的输入数据与输出电压的关系为:U(0-5V)=Uref/256N,U(-5V+5V)=2Uref/256N-5V (这里 Uref 为+5V).A/D 转换器大致有三类:一是双积7分 A/D 转换器,优点是精度高,抗干扰性好;价格便宜,但速度慢;二是逐次逼近 A/D 转换器,精度,速度,价格适中;三是并行 A/D 转换器,速度快,价格也昂贵。实验用的 ADC0809 属第二类,是八位 A
19、/D 转换器。每采集一次一般需 100us。本程序是用延时查询方式读入 A/D 转换结果,也可以用中断方式读入结果,在中断方式下,A/D 转换结束后会自动产生 EOC 信号,将其与 CPU 的外部中断相接,有兴趣的同学可以试试编程用中断方式读回 A/D 结果。4.2 系统软硬件协同仿真对于 51 系列单片机的软件开发,传统的方法是在 PC 机上采用开发工具进行程序设计、编译、调试,待程序调试通过之后生成目标文件下载至单片机硬件电路再进行硬件调试。这种方法只有硬件电路完成之后才能进行系统功能测试,若此时发现硬件电路存在设计问题且必须进行修改时就会显著影响系统开发的成本和周期。为此,本文采用了系统
20、软硬件协同仿真的开发方法,使得硬件电路实现前的功能测试成为可能。同时硬件电路的软件化仿真为硬件电路的设计与实现提供了有力的保障。其中在 Keil uVision2 集成开发环境下,实现步进电机控制系统的程序设计、编译、调试,并最终生成目标文件 .hex,而由英国 Proteus Labcenter electronics 公司所提供的EDA 工具 Proteus 则利用该目标文件 .hex 实现对步进电机控制系统硬件电8路功能的测试。图 4 步进电机控制系统硬件电路仿真如图 4 所示,单片机 AT89C55 司职步进电机控制器,通过运行在Keil uVision2 环境下所开发的程序来控制两个
21、步进电机驱动芯片 L298,从而实现对 AXIS_X / AXIS_Y 两轴步进电机的联动控制。L298 驱动芯片的步进脉冲输入信号来自 AT89C55 P0 端口,使能信号 ENABLE A 与 ENABLE B 并联接到 AT89C55 的 P3.0、P3.1 口,由程序控制实现步进电机的使能,从而避免电机线圈处于短路状态而烧坏驱动芯片。4 x 4 键盘阵列接 AT89C55 的 P1 端口,通过程序设计定义每个按键的具体功能。LCD 的数据端口 DB0DB7 接AT89C55 的 P2 端口,控制端口 RS, RW, E 分别接单片机的 P3.5, P3.6, P3.7口。相关的参数值、
22、X/Y 轴坐标值可以通过 LCD 以文本方式显示。本文采用软硬件协同仿真的方法经过设计 测试 修正 再测试一次次迭代开发,在制9作控制系统硬件电路之前即可实现对系统整机功能的测试。待系统程序和硬件电路设计方案最终完善之后便可以实际制作如图 5 所示的硬件电路。显然该种方法可以显著提高系统软硬件开发的成功率,从而有效降低系统的开发周期和开发成本。5 应用实例图 5 即是根据图 4 进行硬件电路仿真的最终结果所制作的步进电机控制系统电路板。如图所示,该电路,单片机来控制 X/Y 轴步进电机,以达到驱动 X/Y 轴步进电机,并通过滚珠丝杆来带动二维工作平台作联动,并由一只铅笔模拟加工刀具将所要加工的
23、二维轨迹描绘出来。铅笔的轨迹模拟刀具的轨迹,显然到达到了对步进电机控制系统的设计的仿真效果,同时也达到了改善系统开发的周期和成本的目的。本应用实例,只是一个简单的举例而已,本论文的设计思想同样适用于其它的系统的开发。图 5 步进电机控制系统硬件电路图 6 二维模拟工作平台运动轨迹10结 论本文在分析了传统的逐点比较插补原理的基础上提出了一种以最少的参数确定一条圆弧轨迹的插补方法。实现了一种有效的步进电机变频调速的方法。采用系统软硬件协同仿真的开发方法,使硬件电路实现前的功能测试成为现实,从而显著改善系统开发的成本和周期。该种方法同样也可以应用于其它类型控制系统的开发。致 谢本设计和论文是我在我
24、的辅导老师老师的亲切关怀和悉心指导下完成的,她严肃的科学态度,严谨的治学精神,精益求精的工作作风,深深地感染和激励着我,从课题的选择到项目的最终完成,潘老师始终给予我细心的指导和不懈的支持。两年多来,老师不仅在学业上给我以精心指导,同时还在思想上、生活上给我以无微不至的关怀,在此谨向潘老师致以诚挚的谢意和崇高的敬意。感谢陪我一路走来的班的所有同学,三年来大家互相关心,互相勉励和支持,给我的大学生活留下了美好的回忆。这三年我们一路走来,我的大学生活过的充实、愉快!参考文献1 廖效果, 朱启逑. 数字控制机床. 武汉: 华中理工大学出版社. 1999.2 黄诗涌,王晓初等.一种高性能的步进电机运动控制系统设计.微计算机信息.2006(6-1).PP38-393 马忠梅.单片机的 C 语言应用程序设计.北京:北京航空航天出版社 .2003.114 高安邦.机电一体化系统设计实例精解。北京:机械工业出版社,2008.75 尚涛.机电控制系统设计.北京:化学工业出版社,2006.3