0 引言
当今数控技术的发展,提出了网络化、智能化、开放式的发展趋势,使简易数控系统难进新起的教育市场,职业技术教育事业迫切需求高性价比的数控系统。同时,由于要大力推进农村劳动力转移培训,促进就业和再就业必须依靠职业教育和培训。调查表明,我国要成为“世界工厂”,需要培训和造就数十万数控技术应用领域的操作人员、编程人员和维修人员。这也进一步强化了教育事业高性价比的数控系统的迫切需求。经济型数控系统突出体现在它的高性价比上,既紧跟数控技术的发展趋势,又能充分满足中国市场的需求。目前,由于中国很多企业存在资金严重不足的状况,所以经济型数控系统将有大量的需求。
1 运动控制器构成方案
基于 PC 总线的控制器以DSP 作为核心处理器,以PC 机作为信息处理、人机交互和联网通信平台,运动控制器以插卡形式嵌入PC 机,即“PC+运动控制器”的模式[3]。将PC 的高效数据处理能力、友好的人机交互、强大的联网通信功能和开放式的特点与DSP 的高速数据处理功能有机地融合在一起,可以实现更加高级的控制算法、运动规划、实时插补算法、伺服滤波控制、误差补偿和更复杂的运动学、动力学计算,使控制系统更加高速、平稳、高精度和智能化。采用功能强大的专用ASIC 可以充分利用前人的研究成果,缩短在应用层面的差距,而且可以缩短开发、调试周期、节省人力成本,在客观上也提高了系统的可靠性。这点非常类似硬件组态和软件组态的特点和优势。因此,笔者选用专用运动控制DSP 集成电路来构建运动控制器,它既结合DSP 高速数据处理特性,又发挥了专用ASIC 电路的技术优势。由于在功能类似的集成电路中MCX314AS 具备使用方便
和性能价格比高的优势,故选用MCX314AS 作为运动控制器的核心IC。
1.1 运动控制器的设计与实现
运动控制器结构原理如图1所示。
图1多轴运动控制器结构框图
1.2 专用DSP 的功能简介
专用 DSP 运动控制芯片MCX314AS 是日本NOVA 公司推出的高集成度工业级4 轴(X、Y、Z、U 轴)3 联运动控制专用DSP 集成电路(144QFPQFP 封装),能用于步进电机或伺服电机系统的位置、速度和插补控制,可以进行各轴(X 轴、Y 轴、Z 轴、U 轴)独立的定位控制、速度控制,也可在4 轴中选择任意的2 轴作圆弧插补、2/3 轴作直线插补,插补精度是±0.5LSB。其还有伺服电机反馈输入(编码器信号、在位信号和报警信号)、加/减速驱动、软硬件限位、自动原点搜索、同步动作、输入信号滤波等功能[4][5]。
1.3 运动控制器硬件设计
多轴运动控制器的核心是PC 机和两片高集成度的专用运动控制集成电路MCX314AS。MCX314AS 通过PCI 总线与PC 机相连,通过读写MCX314A 内部的寄存器(命令寄存器、数据寄存器、状态寄存器和模式寄存器)而实现相应的运动控制的功能。
1.3.1 运动控制器的外围接口电路设计
运动控制器与驱动器、反馈编码器、限位开关、急停输入等现场输入输出信号的接口电路形式有以下5 种类型。
(1)编码器信号输入接口
编码器反馈的ECA/ECB/ECZ 信号经差动线驱动输出驱动运动控制器侧的高速光耦,输入给MCX314AS。通过差动传输方式有力地抑制编码传输过程中受到的干扰。
(2)限位开关、减速、急停等开关量输入信号接口
限位开关、减速、在位、报警、急停等开关量输入信号经过光电耦合隔离后,输入给MCX314AS引脚。MCX314AS 内部含施密特输入和积分滤波电路,外部无需再接常规的抗干扰电路。
(3)驱动脉冲输出接口
MCX314AS 的驱动脉冲输出信号经差动线驱动器AM26LS31 转换成差动信号传输给电机驱动器。系统复位后nPP 和nPPM 输出低电平。为适应输入信号为单端方式的驱动器,设置了跳线,取AM26LS31 的正逻辑输出端与驱动器连接。通过设置各轴的WR2 寄存器的D6 位将驱动脉冲的输出模式设置为CW/CCW(正/方向脉冲方式)或PULSE/DIR 方式,以满足驱动器对输入信号的要求。
(4)开关量输出接口
为了提高带负载能力,将MCX314AS 的各轴开关量输出信号OUT4 ~7,经过达林顿晶体管阵列电路ULN2803 放大,驱动负载。
(5)模拟量输出接口
为了与以模拟信号为输入给定的驱动器接口,将 MCX314AS 的脉冲(含脉冲信号和方向信号)经F/V 转换模块转换成模拟电压信号-10V~+10V。
1.4 控制器软件设计
项目软件系统采用具有良好可重用性与可扩展性特点的组件式设计思想。在主控系统之下将系统划分为数据管理类、交互信息管理类、预处理类、核心控制类组件等主要组件。根据结构化、模块化的要求,在WINDOWS 操作系统下,利用VC++编写API 函数。
1.4.1 COM 组件设计
(1)数据管理类组件包括用户数据管理、加工数据、知识库等组件。
(2)交互信息管理类组件包括人机交互、输入代码编辑、加工过程实时仿真、实时监控等组件。
(3)预处理类组件包含代码解释、刀具补偿、位置计算等组件。
(4)核心控制类组件包括插补计算、伺服控制、输入/输出等组件。
1.4.2 API 函数设计
以API 函数调用形式,将微控器对MCX314AS 的操作细节进行封装,使得程序更加结构化、便于移植和维护。API 函数包括运动控制器初始化、单轴驱动、两轴平面直线插补、3 轴空间直线插补、平面圆弧插补、位置反馈、通用开关量I/O 等。下面列出主要的API 函数的原型。
void InterpXY(int acc0,int startv0,int speed0,long pulseX,long pulseY); //两轴直线插补
void InterpXYZ(int acc0,int startv0,int speed0,long pulseX,long pulseY,long pulseZ);//3 轴直线插补
void InterpCW(int speed0, long centerX,long centerY,long pluseX, long pusleY); //平面顺圆弧插补
void InterpCCW(int speed0, long centerX, long centerY, long pluseX, long pusleY); //平面逆圆插补
void GPIOOUT(unsigned int out); //通用开关量输出
unsigned int GPIOIN(int axis); //通用开关量输入