基于X-Y控制平台的步进电机单片机闭环控制系统

资源类型:pdf 资源大小:518.00KB 文档分类:工业技术 上传者:王红霞

相关文档

批量下载下列文档

文档信息

【作者】 李颖  张伏生  张志勇 

【关键词】步进电动机 单片机 专用芯片 闭环控制 

【出版日期】2005-04-28

【摘要】以步进电机X-Y控制平台为对象,利用单片机和专用控制芯片,控制步进电机精确的定位和正反转运动,克服了常见的因高速而丢步和堵转的现象。

【刊名】微电机(伺服技术)

全文阅读

0 前 言步进电机常应用于闭环伺服控制[1],如数控机床、打印机、绘图仪、机器人、石英钟表等场合。利用单片机来控制步进电机不但灵活,易于实现,而且成本低[2]。步进电机实现闭环控制的基本方法是将步进电机工作于启动停止区[5],通过改变参考脉冲的频率来调节电机的运行速度。步进电机的闭环控制系统由速度环和位置环构成,原理如图1所示。图1 步进电动机闭环控制原理图1 硬件组成系统由单片机RF-910,转速电压变换器L320,位置调节器L321,步进电机驱动器L322和执行元件X-Y运动控制平台组成。其相互关系如图2所示。图2 步进电动机闭环控制系统硬件组成在系统中,如要实现X、Y方向两维协调运动的定位控制,需先将平台移至X-Y位置的中心(使之处于相对的零位),然后根据指令值发出正转或反转的脉冲列,控制步进电机或者带动负载达到指定位置。电动机当前的位置是根据计数器计算脉冲列来—05—检测的。在这种脉冲中,一旦发出错误脉冲,所产生的误差是在下次重新开始前无法修正的;同时由脉冲列控制的步进电机角位移(位置)由脉冲个数来决定,而转速取决于脉冲频率;在位置控制中,步进电机要经过加速一匀速一降速过程,而且要求加速、降速时间尽量短,匀速时的速度尽量高,因而需要对角位移(位置)和速度加以控制。2 位置、速度控制原理与设计设计了伺服电机控制的智能化集成电路,这些智能化模块把不同功能的功率单元、逻辑单元、传感单元、调节控制单元和保护单元集成在一起,构成了步进式高可靠性的伺服系统。如图3所示。该系统由L320/1/2三种集成芯片与单片机组合构成。L320/1/2是意大利SGS公司为步进电机设计的芯片,其中L320为转速/电压变换器加基准电压发生器,L321为数/模转换加速器/位置调节器,L322为步进电机驱动器。从图3看出,单片机发出的控制指令送至L321(其内设有A/D转换器及误差发生器),L321产生的控制电压驱动L322步进驱动器,安装在电机轴上的光电脉冲发生器产生的信号由L320为转速/电压变换器处理,产生的转速和位置反馈信号送至L321,直线位移/轴角位置反馈信号送至微处理器,从而构成微处理机控制的模块化步进电机位置/速度伺服系统。图3 由L320/1/2组成的微机控制的步进伺服系统启动系统时,工作于速度控制模式,单片机发出速度需求码(控制指令)到L321时动作开始。此时步进电机转速为零,产生峰值电流使电机加速并快速启动。当步进电机加速时,速度反馈电压上升,系统工作于速度闭环模式。快速移至协调位置时,单片机亦同时监控从脉冲发生器输出的信号,当接近协调位置时适当地减少转速给定值。每当速度需求码减少时,电机由速度控制回路制动。最后当速度给定值为零时,表示协调位置已非常接近,单片机系统工作模式为位置控制模式,步进电机立即在指定位置上停止并锁定在此位置上,控制过程如图4所示。图4 系统工作于两种模式的电机转速和电流波形3 编程控制及源代码在位置控制中,精度、时间、速度是应当考虑的主要指标[6]。对微小位置的重复控制可采用自启动区域内的频率、恒速直接启动的方式,当自启动频率不太高时,为了在启动区域内尽可能提高运行速度,可将启动时的第二个脉冲和停止时的最后一个脉冲推迟发出,以实现自启动区域内的高速响应。在程序编写中,使用软件脉冲分配器,利用并行接口芯片8155的A口到功率驱动器的输入端。这时微处理器完全专用于步进电机的控制,同时8155为带有I/O端口RAM,因此在使用时必须给片内的命令寄存器写命令字,以设置其中I/O的工作方式。命令寄存器的地址为XOH,A口的地址为X01H。输入的指令为:存储单元0001=4THPULSE0002=3RDPULSE0003=2NDPULSE0004=1STPULSE0005+0006=DELAYTIMESTAR MOV A,01H;设置8155的端口A为输出OUT X0H;命令字写入命令寄存器REPEAT LXI B,0004;表中的第4步,BC 0004FINISHTABLE LXI H,0000;指向表格开始,—15—基于X-Y控制平台的步进电机单片闭环控制系统 李颖 张伏生 张志勇HL 0000DAD B;指向步进脉冲,HL HL+BCMOV A,M;由表格获得步进脉冲A M[HL]OUT X1H;加步进脉冲给驱动电路/端口ACALL DELAY;等待希望的时间BDX B;指向表格的下一步,BC BC-1MOV A,C;A CORA B;检查是否到第4步,A ABJNZ FINLISHTABLEJMP REPEATDELAY PUSH H;保存环境LHLD 0005;由储存器获得延时,HL 0005LOOP DCX H;HL HL-1MOV A,L;A LORA H;A A^HJNZ LOOP;直到HL为O,达到希望延时POP H;恢复环境RET以上程序以8155中的端口A为输出口,储存单元0001至0004存放相绕组激磁数据,而存储单元0005和0006存放时间延迟数据。它们用于控制电动机的速度。速度控制程序首先由端口A输出四位中的一位高电平(存储单元0004的内容)从而激励电动机的一相,时间延迟执行后,第二相由0003的内容激励。这样四个相绕组依次顺序激励,相邻两次激磁之间存在延时。若在单元0005与0006之间装入新的内容,则可以得到不同的电机速度。对于步进电机的速度控制,鉴于X-Y运动平台运行的最大速度为50mm/s,需要克服步进电机常出现的因高速而丢步的现象,故采用加速度驱动方式:即以低速启动后逐渐加速到最高速,待运行结束时先降速至某一速度后停止。这种驱动方式可使电动机在滑动区域内运行,从而允许电动机以更高的速度运行。所以其位置控制程序在速度控制的基础上,需要附加0007和0008存放电动机的步数。电动机相绕组激励的重复顺序完全与速度控制程序相同,两个程序的主要差别是计数的脉冲数。它由储存器单元0007和0008传送到寄存器E,相激励脉冲每从端口A输出一次,寄存器对DE便减1,并与0比较。当寄存器对DE的内容减少到0时,程序执行停止,也就是说电动机前进了希望的步数后停止。具体程序如下所示。存储单元   ………0005+0006=DELAYTIME0007+0008=脉冲数STAR  ……LHLD 0007  ;由储存器获得脉冲数MOV E,LMOV D,H  ;送到新的寄存器REPEAT LXI B,0004 ;表中的第4步,FINISHTABLE  ………CALL DELAY  ;等待希望的时间DCX D  ;脉冲数减1MOV A,E    ;ORA D     ;JNZ HOPOVER  ;继续指导脉冲数为0HLT  ;当脉冲数为0时停止HOP_OVER  BDX B  ;指向表格的下一步,BC BC-1MOV A,C  ;A CORA B  ;检查是否到了第4步A A^BJNZ FINISHTABLEJMP REPEAT;DELAY……;LOOP……;RET……;以上两个程序不仅可以用来控制步进电动机简单的运动、单轴行走、两维协调定位、急停,其运行最大速度完全可以达到50mm/s且不发生丢步、堵转现象;而且还可以推广到步进电动机变速运动的控制情况,例如常加速度、精密定位以及正反转。4 结 语本文采取了步进电机专用芯片的控制法,克服了在目前常用方法中出现的步进电机在中、高速下发生的丢步或堵转现象,实现了在中、高速下精确的点位控制和变速控制,丰富了步进电机控制内容,提高了在中、高速下使用的可靠性。基于X-Y控制平台的步进电机单片机闭环控制系统@李颖$西安交通大学电气工程学院!西安,710049 @张伏生$西安交通大学电气工程学院!西安,710049 @张志勇$西北农林科技大学!杨凌,712100步进电动机;;单片机;;专用芯片;;闭环控制以步进电机X-Y控制平台为对象,利用单片机和专用控制芯片,控制步进电机精确的定位和正反转运动,克服了常见的因高速而丢步和堵转的现象。[1] 何耀三,唐卓尧编著,电气传动的单片机控制[M].重庆:重庆大学出版社,1996 [2] 刘金琪编著.机床电器自动控制[M].哈尔滨:哈尔滨工业出版社,1999 [3] 王建,于勤著.利用单片机实现步进电机控制[J].四川工业大学学报,2002,5722(3):64-67 [4] 李秉操,张登举.单片机接口技术在工业控制中的应用[M].西安:陕西电子出版社,1991 [5] 葛伟亮,贺力勤编著.电磁控制元件[M].北京:北京理工大学出版社,2001 [6] 高钟茗编著.机电控制工程[M].北京:清华大学出版社,2001

1

问答

我要提问