>
摘 要:在说明计算机并行接口系统资源及其访问方法的基础上,从硬件和软件实现控制脉冲输出两个方面上介绍了利用计算机并行接口对混合式步进电机控制的方法,并结合实验数据和实际应用证明了此技术的可行性。
关键词:混合式步进电机;并行接口;控制脉冲;延迟变量
0 引言
步进电机作为执行元件广泛地应用于各种机电控制系统中,其控制方法是机电一体化的关键技术之一。在现今流行的主从式机电控制系统中,通常只有上位机对系统的资源有控制和使用权,而下位机无权控制和使用系统资源,只能接受上位机的控制命令或数据,或向上位机发出请求信息以获得所需数据。像这种控制系统在利用混合式步进电机(SLO-SYN电机)即永磁感应子式步进电机时都是通过下位机来进行控制的,从而完成进给任务,其上位机的并行接口却闲置不用。利用计算机并行接口控制混合式步进电机不仅可以省去下位机来降低成本,而且方法简单,并且能够配合计算机高级语言(Visual C++等)编写操作界面,实现良好的人机交互。因此,计算机并行接口控制混合式步进电机对于开发机电控制系统不失为一种良好的方案。
1 计算机并行接口系统资源及其访问
在计算机领域中,接口是微处理器或CPU用来与其他组件之间进行数据交换的一组信号线。接口的典型应用是连接打印机、键盘、显示器等除系统存储器之外的几乎所有组件和设备。大多数计算机接口都是数字式的,也就是说,每一个信号要么是1,要么是0。计算机并行接口即打印机接口,可以同时传送若干位,一般有ECP(扩展功能接口)、双向型等模式,但不论何种模式,它们在硬件上都包含数据寄存器、状态寄存器和控制寄存器,其对应的地址为0378h,0379h,037Ah(通常在一个并行接口情况下)。
表1 并口系统资源
每个寄存器都是8位,各位对各个寄存器的访问可以利用软件编程实现,通过对数据寄存器各位输出来实现对多个混合式步进电机的控制,其他寄存器可在开发控制系统时留做它用。而并行接口的访问,不同的语言有着不同的方法。一般来说汇编语言较为简单,且实时性高:
mov dx,0378h ;将数据寄存器地址0378h写入dx
mov al,0BCh ;将BCh输入al中
out dx,al ;将BCh通过数据寄存器输出
mov dx,0379h ;将地址寄存器地址0379h写入dx
in al,dx ;将状态寄存器内的内容读入al中
以上五个语句中的前三句通过数据寄存器输出控制信息,后两句通过状态寄存器读入外界输入信号。
2 硬件电路设计
以57BYG027型混合式步进电机为例,并行接口控制混合式步进电机的硬件电路如图1所示。计算机并行接口通过实验可以测得其输出电压≥3.6V(高电平1)或≤0.1V(低电平0),即输出端口为CMOS电路,参见表2。57BYG027型混合式步进电机为四相六线电机,控制信号通过并行接口数据寄存器D0至D7位,经74HCT244驱动后与步进电机驱动电路相连,实现对混合式步进电机的控制,以完成进给任务。如图1所示,一个电机的控制需要计算机并行接口数据寄存器的两个位来完成,即一位输出进给脉冲(电平稳定时间≥0.5μs),另一位输出方向脉冲,且要求这两位同时输出,同时作用于混合式步进电机。结合表1中各个寄存器各个位的功能和信号流方向,可以知道并行接口可以控制多个混合式步进电机,并且数据寄存器可以一次同时控制四个混合式步进电机,可以满足机电控制系统的一般要求。
表2 计算机并口输出电压
图1 硬件电路原理图
3 控制脉冲的软件实现
计算机并行接口可以在合适的程序控制下产生多通道数字波形,利用这一特性便可以同时控制多台混合式步进电机协调工作。现以计算机并行接口控制两台混合式步进电机为例说明程序的编制。程序MOTOR.ASM同时实现了一台电机的正转和另一台电机的反转。程序中利用计算机数据寄存器D0和D2输出方向控制信号,D1和D3输出进给脉冲,产生的数字波形如图2所示。
为了避免由于被控对象的速度突变而产生的冲击、振荡、超程、失步等动态误差,必须对混合式步进电机进行升降速控制。DELAY子程序延迟时间的不同影响着控制脉冲的频率,因此,改变DELAY子程序中的延迟变量便实现了对电机的速度控制,参见表3。若要输出占空比不为0.5的脉冲信号,则可以使用两个延迟子程序。对于57BYG027型混合式步进电机采用线性升降速规律时,其最高速度可达5000转/分。值得注意的是在程序的执行过程前须关中断CLI,程序执行结束后开中断STI(DOS操作系统除外)。否则,混合式步进电机在运转过程中将出现“磕磕碰碰”的干扰现象。
图2 程序MOTOR.ASM产生的数字波形
表3 进给脉冲频率与电机转速
步距角:1.8º 细分数:8 CPU主频:1.7GHz
;汇编程序MOTOR.ASM
………
MAICHONG DW 0FFFFH ;脉冲数(由插补程序决定)
DATA1 DB 00001011B ;控制信号数据1
DATA2 DB 00000001B ;控制信号数据2
YANCHI1 DB 30H ;延迟控制变量1
YANCHI2 DB 02H ;延迟控制变量2
YANCHI3 DW 0310H ;延迟控制变量3
…………
START: CLI
MOV BX,MAICHONG
IMPULSE: MOV AL,DATA1
MOV DX,0378H
OUT DX,AL ;数据寄存器D0、D2方向电平,D1、D3高电平输出
CALL DELAY1 ;调用延迟子程序1
MOV AL,DATA2
OUT DX,AL ;数据寄存器D0、D2方向电平,D1、D3低电平输出
CALL DELAY2 ;调用延迟子程序2
DEC BX
JNE IMPULSE
STI
………
DELAY1 PROC FAR ;延迟子程序1
MOV CX, YANCHI1
KKK: LOOP KKK
DELAY1 ENDP
DELAY2 PROC FAR ;延迟子程序2
PUSH AX
MOV AH,YANCHI2
AA: MOV CX,YANCHI3
WAIT: LOOP WAIT
DEC AH
JNE AA
POP AX
DELAY2 ENDP
………
4 结束语
利用计算机并行接口控制混合式步进电机可以将主从式结构的控制系统改进为单机系统,通过分时处理的方式实现各种数控功能,其特点主要表现在以下几个方面:
1)由于省去下位机,利用上位机闲置未用的并行接口,从而大大减少系统的硬件开销,投资小;
2)与主从式结构的控制系统硬件电路设计相比,设计简单易行,但一般情况下不能支持多任务操作;
3)在编制控制软件时,可以采用VC嵌汇编的编程方式,不仅具有友好的人机交互界面,且实时性高;
4)利用奔腾系列处理器进行插补运算,速度和精度明显高于单片型下位机;
此法在结合实际开发中小型机电控制系统时是一种十分可取的方案,已在LINK1280型二维激光雕刻机中得到实际应用,可分别进行勾边、清扫、位图加工,效果良好。