摘 要:介绍了通用定时/计数器8253在步进电机运动控制系统中的一种应用策略。针对步进电机的控制方案,简介了Intel8253的基本特性,并结合工程实际,提出了一种将Intel8253应用于步进电机伺服系统的控制技术,具体论述了如何对Intel8253进行编程,控制步进电机按控制规律运行。
关键词:步进电机;位置伺服系统;高精度
1 电机控制方案
步进电动机是数字控制系统中的执行电动机,步进电动机由专门的、可以产生一定频率、功率和时序的电脉冲的驱动器驱动。
改变加在驱动器上的数字脉冲信号的频率,可以改变驱动器产生的时序脉冲的频率,从而调节电机的转速[1]。步进电机的转速n正比于脉冲信号的频率f、比例系数k与驱动器参数,与步进电机的相数及通电方式有关。
在工程开发过程中,当步进电机驱动器设计完成后,系统开环控制部分可采用图1所示方案。
驱动器工作状态与步进电机转子旋转方向由单片机、数字信号处理器[2]或微型计算机[3](或其外围设备)的数字输出(D0)端直接控制,可以将方向控制U/D和使能控制EA定义为单片机或微型计算机的数字输出(D0)通道。
系统中Intel8253作为单片机或微机系统的外设,对555电路产生的数字脉冲信号f0进行分频,可以提供频率大范围可调的数字脉冲信号,实现步进电机宽广范围的速度调节。 (图片) 整个开环控制系统电路简洁明了;由于Intel8253作为单片机或微机系统的外设,可编程性强,可以通过软件编程实现步进电机的动态、实时调速,适用于不同的应用环境。
2 Intel8253在步进电机运动控制系统中的应用
2.1 Intel 8253芯片特点
Intel 8253是可编程定时/计数量,片内包含3个独立通道,每个通道均为16位计数器,计数速率可达2.6MHz。
Intel8253具有3个功能相同的16位递减计数器,每个计数器的工作方式和计数长度分别由软件片机连接。
Intel8253的定时/计数器有6种工作方式:(1)计数结束中断方式。(2)可编程单稳态。(3)频率发生器。(4)方波频率发生器。(5)软件触发方式。(6)硬件触发方式。
其中方式(4)为方波频率发生器方式,是我们对步进电机驱动、调速所采用的方式。工作方式(4)对输入方波频率f0进行N分频,输出频率为f的方波数字脉冲信号。
f=f0/N
式中,N为写入计数器的计数值,当N的范围为2~65535,其输出变化范围达f0/65535~f0/2,尤其适用对步进电机中、低速运行时的速度调节。
2.2 一种基于步进电机的新型运动控制系统
航天“星星指向跟踪控制系统”中的运动控制部分,为基于稀土永磁步进电机的双自由度(俯仰、方位)位置伺服系统。系统总体设计思想使用计算机控制2台步进电机,每台步进电机代表天线运动的一个自由度,使天线指向任意给定位置,指向位置由旋转变压器测量。
系统控制原理图[4]如图2所示。(图片) 系统单个自由度由2路模拟电压给定目标位置,经微型计算机采样、A/D转换,再按一定控制规律控制稀土永磁步进电机,实现高精度的位置伺服精度。
系统硬件组成(单个自由度)如图3所示。(图片) 控制软件用VD++6.0编写,通过软件操作,改变Intel 8253计数器工作状态,实现步进电机调速及位置伺服控制,具体实现方法:
(1)步进电机起动
步进电机驱动器使能端加载合适的控制信号后,起动步进电机只需对Intel8253所选用的计数器写入方式3控制字,然后写入所需计数值。计数器便会连续输出频率f=f0/N的脉冲信号,驱动器就能驱动步进电机按一定转速运行。
设nBase为Intel8253基址,LSB和MSB分别为要写入的计数值的低8位和高8位数据,C++操作程序如下:
outp(nBase+3,0x36);//0#计数器工作于方式3
outp(nBase,LSB);//0#计数器写入计数值低8位
outp(nBase,MSB);//0#计数器写入计数值高8位
(2)步进电机转速调节
只需对8253的计数器写入新的计数值,计数器输出频率就会发生相应变化,进而改变驱动器产生的时序脉冲的频率,实现了步进电机转速的调节。
由前面算式可以知道,电机转速为:
n=kf=kf0/N
注意在步进电机运行过程中要始终保持8253计数器门控端GATE为高电平。C++操作程序为:
outp(nBase,newLSB);//0#计数器写入新计数值低8位
outp(nBase,newMSB);//0#计数器写入新计数值高8位
(3)步进电机转动停止
以步进电机为执行机构的位置伺服系统,当执行机构运行到目标位置后,步进电机需停止转动并保持在该位置,这时切断提供给步进电机驱动器的脉冲信号f0,步进电机停止转动,同时仍有一定保持转矩。有两种方法:
一是将8253计数器的门控端GATE置为低电平,这时GATE端需定义为计算机系统的一个数字输出(DO)通道;二是将8253计数器工作方式改变为其他方式,而不写入新的计数值,这时8253计数器因等待新计数值的写入而停止工作,这种情况下,GATE门控端只需接高电平。
图3所示运动控制系统中,采用了第二种方法,通过改变计数器工作方式使Intel 8253停止输出数字脉冲信号。程序为:
outp(nBase+3,0x36);//0#计数器设为方式0,等待写入计数值,停止输出。
3 结 论
所述控制方法在“星星指向跟踪控制系统”中得到了成功应用。该系统采用步进电机直接驱动方案,跟踪速度达到0—4°/s,位置伺服误差不大于0.06°(双自由度),是一个低速、高精度的伺服跟踪系统。
实验结果证明,Intel 8253应用于步进电机运动控制系统,系统软件编程简单易行,对稀土永磁步进电机进行起动、停止和调速控制,步进电机运行良好,调速平稳。系统采用了高精度旋转变压器、高分辨率RDC转换器作为反馈通道,配合以指数控制规律,满足了超低速、高精度的位置伺服控制指标要求。
参考文献:
[1] 李丰华,弓丹志.微型计算机接口技术在步进电机控制中的应用[J].软件世界,2001(1).
[2] 李 竣,李学全,胡德金.基于数字信号处理器的步进电机运动控制[J].微电机,1999(5).
[3] Ian Harries.Stepper Motor Autonomous Control Kit,Ian Harries Student Project Proposals[EB/OL]http://www.doc.ic.ac.uk/~ih/teaching/projprop.html,2001-05.20.
[4] 李为民,邢晓正,胡红专,等.基于DSP的步进电机控制系统设计[J].微特电机,2001(3).
6/25/2005
|