1、步进电机一体化控制系统的设计摘 要: 本文应用单片机、步进电机驱动芯片、字符型 LCD 和键盘阵列,构建了集步进电机控制器和驱动器为一体的步进电机控制系统。二维工作台作为被控对象通过步进电机驱动滚珠丝杆在 X/Y 轴方向联动。文中讨论了一种以最少参数确定一条圆弧轨迹的插补方法和步进电机变频调速的方法。步进电机控制系统的开发采用了软硬件协同仿真的方法,可以有效地减少系统开发的周期和成本。最后给出了步进电机控制系统的应用实例。 关键词: 步进电机控制系统,插补算法,变频调速,软硬件协同仿真1 引言作为一种数字伺服执行元件,步进电机具有结构简单、运行可靠、控制方便、控制性能好等优点,广泛应用在数控机
2、床、机器人、自动化仪表等领域。为了实现步进电机的简易运动控制,一般以单片机作为控制系统的微处理器,通过步进电机专用驱动芯片实现步进电机的速度和位置定位控制。2 圆弧插补改进算法逐点比较插补算法因其算法简单、易实现且最大误差不超过一个脉冲当量,在步进电机的位置控制中应用的相当广泛1。圆弧插补中,为了确定一条圆弧的轨迹,可采用:给出圆心坐标、起点坐标和终点坐标;给出半径、起点和终点坐标;给出圆弧的三点坐标等。在算法实现时这些参数若要存放在单片机内部资源有限的数据存储器(RAM)中,如果要经过复杂的运算才能确定一段圆弧,不但给微处理器带来负担,而且要经过多步运算,往往会影响到算法的精确度。因此选取一
3、种简单且精确度高的插补算法是非常必要的。本文提出了一种改进算法:在圆弧插补中,无论圆弧在任何位置,是顺圆或是逆圆,都以此圆弧的圆心作为原点来确定其他坐标。因此只须给出圆弧的起点坐标和圆弧角度就可以确定该圆弧。如果一个轴坐标用 4 个字节存储(如 12.36) ,而角度用 2个字节存储(如 45) ,则只需要 10 个字节即可确定一段二维的圆弧。较之起其他方法,最多可节省 14 个存储单元。现以第 I 象限逆圆弧为例,计算其终点坐标。如图 1 所示, (X0,Y0)为圆弧的起点坐标,(Xe,Ye)为圆弧的终点坐标, 为圆弧的角度。图 1 圆弧轨迹示意图圆弧半径: ,终点坐标: 终点坐标相对 X
4、轴的角度:本系统要求输入的角度精确到 1 度,输入坐标的分辨率是 0.01,单片机 C 语言的浮点运算能精确到 0.000001,按照上面的公式算出的终点坐标,虽存在误差,但这个误差小于 1%,能够满足所要求的精确度。3 步进电机的变频调速虽然步进电机具有快速启停能力强、精度高、转速容易控制的特点,但是在实际运行过程中由于启动和停止控制不当,步进电机仍会出现启动时抖动和停止时过冲的现象,从面影响系统的控制精度。尤其是步进电机工作在频繁启动和停止时,这种现象就更为明显2。为此本文提出了一种基于单片机控制的步进电机加减速离散控制方法。加减速曲线如图 2 所示,纵坐标是频率 f,单位为脉冲/秒或步/
5、秒。横坐标时间 t,单位为秒。步进电机以 f0 启动后加速至 t1 时刻达到最高运行频率 f,然后匀速运行,至 t2 时刻开始减速,在 t5 时刻电机停转,总的步数为 N。其中电机从静止加速至最高运行频率和从最高运行频率至停止至是步进电机控制的关键,通常采用匀加速和匀减速方式。图 2 时间与频率的函数图 图 3 离散化的时间变频图采用单片机对步进电机进行加减速控制,实际上就是改变输出脉冲的时间间隔,可采用软件和硬件两种方法。软件方法依靠延时程序来改变脉冲输出的频率,其中延时的长短是动态的,该方法因为要不停地产生控制脉冲,占用了大量的 CPU 时间;硬件方法是依靠单片机内部的定时器来实现的,在每
6、次进入定时中断后,改变定时常数(定时器装载值) ,从而升速时使脉冲频率逐渐增大,减速时使脉冲频率逐渐减小。这种方法占用 CPU 时间较少,是一种效率比较高的步进电机调速方法。考虑到单片机资源(字长)和编程的方便,不需要每步都计算定时器装载值。如图 3 所示,采用离散方法将加减速曲线离散化。离散化后速度是分台阶上升的,而且每上升一个台阶都要在该台阶保持一段时间,以克服由于步进电机转子转动惯量所引起的速度滞后。只有当实际运行速度达到预设值后才能急速加速,实际上也是局部速度误差的自动纠正。4 系统软硬件协同设计对于 51 系列单片机的软件开发,传统的方法是在 PC 机上采用Keil 等开发工具进行程
7、序设计、编译、调试,待程序调试通过之后生成目标文件下载至单片机硬件电路再进行硬件调试3。这种方法只有硬件电路完成之后才能进行系统功能测试,若此时发现硬件电路存在设计问题且必须进行修改时就会显著影响系统开发的成本和周期。为此,本文采用了系统软硬件协同仿真的开发方法,使得硬件电路实现前的功能测试成为可能。同时硬件电路的软件化仿真为硬件电路的设计与实现提供了有力的保障。其中在 Keil uVision2 集成开发环境下,实现步进电机控制系统的程序设计、编译、调试,并最终生成目标文件 .hex,而由英国 Proteus Labcenter electronics 公司所提供的 EDA 工具 Prote
8、us则利用该目标文件 .hex 实现对步进电机控制系统硬件电路功能的测试。图 4 步进电机控制系统硬件电路仿真如图 4 所示,单片机 AT89C55 司职步进电机控制器,通过运行在Keil uVision2 环境下所开发的程序来控制两个步进电机驱动芯片L298,从而实现对 AXIS_X / AXIS_Y 两轴步进电机的联动控制。L298 驱动芯片的步进脉冲输入信号来自 AT89C55 P0 端口,使能信号 ENABLE A与 ENABLE B 并联接到 AT89C55 的 P3.0、P3.1 口,由程序控制实现步进电机的使能,从而避免电机线圈处于短路状态而烧坏驱动芯片。4 x 4 键盘阵列接
9、AT89C55 的 P1 端口,通过程序设计定义每个按键的具体功能。LCD 的数据端口 DB0DB7 接 AT89C55 的 P2 端口,控制端口 RS, RW, E 分别接单片机的 P3.5, P3.6, P3.7 口。相关的参数值、X/Y 轴坐标值可以通过 LCD 以文本方式显示。本文采用软硬件协同仿真的方法经过设计 测试 修正 再测试一次次迭代开发,在制作控制系统硬件电路之前即可实现对系统整机功能的测试。待系统程序和硬件电路设计方案最终完善之后便可以实际制作如图 5 所示的硬件电路。显然该种方法可以显著提高系统软硬件开发的成功率,从而有效降低系统的开发周期和开发成本。5 应用实例图 5
10、即是根据图 4 进行硬件电路仿真的最终结果所制作的步进电机控制系统电路板。该电路驱动 X/Y 轴步进电机通过滚珠丝杆带动二维工作台作联动,并由一只铅笔模拟加工刀具将所要加工的二维轨迹描绘出来。图 5 步进电机控制系统硬件电路 图 6 二维模拟工作平台运动轨迹6 结束语本文在分析了传统的逐点比较插补原理的基础上提出了一种以最少的参数确定一条圆弧轨迹的插补方法。实现了一种有效的步进电机变频调速的方法。采用系统软硬件协同仿真的开发方法,使硬件电路实现前的功能测试成为现实,从而显著改善系统开发的成本和周期。该种方法同样也可以应用于其它类型控制系统的开发。参考文献 1 廖效果, 朱启逑. 数字控制机床. 武汉: 华中理工大学出版社. 1999.3 2 黄诗涌, 王晓初等. 一种高性能的步进电机运动控制系统设计. 微计算机信息. 2006(6-1). pp38-39 3 马忠梅等. 单片机的 C 语言应用程序设计. 北京: 北京航空航天出版社. 2003.
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。