基于复杂可编程逻辑器件的多步进电机分时控制
石科峰,何俊华
(中国科学院西安光学精密机械研究所,陕西西安710119)
摘要:根据多I/0口的特点,设计,在运动控制卡的控制F基于复杂可编程逻辑器件(CPLD)的多步进电机控制。以运动控制卡系统为上位机,通过对CPLD编程进行电机的分时控制。由于运动控制卡的输入、输出均采用光耦隔离,因此抗干扰能力强、脉冲输出频率误差率低;同时,CPLD具有高速性能,可达到列多台步进电机的速度及位置的精确控制。
关键词:运动控制卡;步进电机;复杂可编程逻辑控制器件
中图分类号:TM 383 6文献标志码:A文章编号:16734540(2010)064)0354)3l
0 引言
步进电机在工业、航天等领域的应用范围越来越广,不同的应用要求和环境对电机的控制也提出了不同的设计方法。比较常见的针对实现多步进电机的控制有两种:(1)完全基于运动控制卡,该方法设计简单,但需要多个运动控制卡,在硬件的连接上也比较复杂;(2)通过运动控制卡+继电器,对多电机的控制需要多个继电器占用空间且浪费成本。本文介绍的系统采用运动控制卡作为上位机,对电机进行分组选择,复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)作为下位机控制电机的通断,大大简化,电路,并节约了成本。
1 系统总体结构
该系统由运动控制卡模块、CPLD电路、4个组件控制模块(每组件8台,共32台电机)等组成。各组件控制模块相互独立,分别用于控制各组件的电机运动。控制部分采用深圳众为数控技术有限公司的ADT8940运动控制卡和Xilinx公司的XC9536CPLD,由于要控制32台电机,为了减少扩展I/O口的设计,系统采用CPLD取代传统的单片机[1]。运动控制卡通过PCI总线与计算机通信,其两个开关量的输出信号作为CPLD的输_八信号,进行电机的分组选择,CPLD的输出信号通过模拟开关74HC4052使被选中组的电机导通。系统总体结构如图1所示。
2系统的硬件设计
2.1运动控制卡模块
运动控制卡完成电机运动控制的所有细节,包括脉冲和方向信号的输出、加减速的处理、原点、限位及电机的分组选择信号等。运动控制卡根据Pc机的实时控制指令向步进电机驱动器发出脉冲、方向等控制信号,通过相应的步进电机驱动器驱动电机运行。系统采用的ADT8940有如下特点[2]:(1)基于PCI总线的高性能伺服/步进
控制卡,支持即插即用。(2)脉冲输出方式可用单脉冲(脉冲+方向)或双脉冲(脉冲+脉冲)方式。该系统采用单脉冲方式,****脉冲频率2 MHz,采用先进技术,保证在输出频率较高时,频率误差小于0.1%。(3)速度控制可用定速和梯形加减速。,(4)位置管理采用两个加/减计数器。一个用于内部管理驱动脉冲输出的逻辑位置计数器;一个用于接收外部的输入,输八信号是A/B相输入的编码器或光栅尺,作为实际位置计数器。(5)汁数器位数高达32位,****范围为一2 147 483 648~+2 147 483 647。(6)所有入、输出均采用光耦隔离,抗干扰性强。运动控制R模块的关键在于软件设计,主要是根据Pc机的实时指令,由两个开关输出量0uL、OuT,作为cPLD的输入信号进行电机分组选择,脉冲和方向信号分别接到8块模拟开关74Hc4052的16个公共端,由分组信号选通后接人电机。由于ADT8940是四轴控制卡,而系统每个组件有8台电机,冈此需要2张运动控制卡,如图2所示。
2.2 CPLD电路
整个系统有四台组件,但要求同一时间只有一台组件在工作。由于是分时工作的,因此可以通过cPLD控制电路来选择四个中的一个组件,如果需要调整其他组件,可以再次进行选择。系统采用xilinx公司的xc9536cPLD,属x00500系列器件,是一款高性能、有特点的可编程逻辑器件。从结构上看,其包含三个单元:宏单元、可编程I/O单元和可编程的内部连线。其主要特点如下:(1)高性能。在所有可编程引脚之间pin—pin延时5 ns,系统的时钟速度可达到i00 MHz。(2)容量范围大。容量范围为36个宏单元,可用系统门为800个。(3)5 V在系统编程,可以编程lO000次。(4)具有强大的强脚锁定能力。(5)每个宏单元都有可编程低功耗模式。(6)没有用的引脚有编程接地能力。
对于cPLD电路,运动控制卡的两个开关量输出信号作为cPLD的 |