一种通用嵌入式多轴运动及其应用
导语:提出了ARM微控器LPC2214与4轴3联动DSP运动控制芯片MCX314A相结合的通用运动方案。
摘要:提出了ARM微控器LPC2214与4轴3联动DSP运动控制芯片MCX314A相结合的通用运动方案。阐述了该运动在X、Y两轴数控伺服工作台中的应用原理。该具有高速度、高精度、高可靠性、成本低等特点,它在数控机床的控制中有重要的应用价值。 运动控制系统在工业,尤其是现代制造加工业中应用非常普遍。控制是为了实现预期运动轨迹和速度、加速度、力等运动参数而采取的必要手段。一般地,运动控制系统主要由运动、驱动器、执行器、传动部件和被控运动部件构成。ARM处理器具有体积小、低功耗、低成本、高性能等特点,是业界领先的嵌入式32位RISC微处理器;MCX314A是高集成度的专用运动控制DSP芯片,能实现4轴3联动的位置、速度、加速度控制和直线、圆弧的连续插补和位置环闭环控制。两者有机结合,可方便地构成低成本、高性能的运动。
1 ARM微控器LPC2214 LPC2214是Philips公司推出的基于支持实时仿真和跟踪的16/32位ARM7TDMI-S工业级ARM微,片内带有256kB高速FlashROM和16kB静态RAM,且具有外部存储器接口。通过片内PLL可实现最大为60MHz的CPU操作频率。LPC2214采用144脚LQFP封装,片内有2个32位定时器、中断以及多种串行接口等功能模块,这使它特别适用于工业控制应用。其内部结构如图1所示。
图1 LPC2214内部结构方框图
2 MCX314A的主要功能 MCX314A是日本NOVA公司推出的4轴运动控制专用DSP集成电路,能用于步进电机或脉冲型伺服驱动的位置、速度和插补控制,可用于工业自动化设备、工业机器人、测量设备、办公设备和家用电器等。其可以进行各轴(X轴、Y轴、Z轴、U轴)独立的定位控制、速度控制,也可在4轴中选择任意的2轴作圆弧插补、2/3轴作直线插补,插补精度是±0.5LSB。其还有伺服电机反馈输入(编码器信号、在位信号和报警信号)、加/减速驱动、软硬件限位、自动原点搜索、同步动作、输入信号滤波等功能。 MCX314A能与8/16位数据总线接口,其所有的功能都是通过读写内部命令寄存器、数据寄存器、状态寄存器和模式寄存器而实现。默认输入时钟为16MHz,输出脉冲范围为32位,速度最高可达每秒4百万个脉冲。各轴都有32位的逻辑位置计数器(对输出的驱动脉冲计数)、实际位置计数器(对外部编码器计数)和比较寄存器,实现位置的闭环控制。各轴都有4个通用输入和8个通用输出。
3 运动的基本构成 3.1 硬件系统 ARM微LPC2214通过16位数据总线与MCX314A相连,如图2所示。两者互连后,且将MCX314A的EXPLSN引脚、H16L8引脚、TESTN引脚接+5V电压,RESETN引脚连接低电平复位电路,CLK引脚接16M时钟源,VDD引脚接上+5V电源,MCX314就具备了最基本的运行条件。LPC2214的I/O运行电压是3.3V的(但能承受5V电平),而MCX314A运行电压是+5V,两者互连时,可串人1kΩ电阻。应用实践表明LPC2214和MCX314A直接相连也是可行的。图2中虚线框内表示4轴中的某一轴的接口。XPP/XPM在CW/CCW模式时输出正/反驱动脉冲,在脉冲/方向模式时输出驱动脉冲和方向信号。ECA/ECB/IN0接收编码器的反馈输入。AM26LS31是4路差动线驱动器,AM26LS32是4路差动线接收器。 为了能与上位系统(人机交互界面HMI和CAD/CAM系统等)通信,设计有以太网通信和RS232通信接口。RTL8019AS是以太网,SP3232E是3.3V电平与RS232电平的转换IC。LPC2214外部Flash存储器用于存储需要固化的运动控制参数(如轨迹坐标、运动速度)。
图2 构成及接口原理框图
3.2 软件系统 LPC2214通过16位EMC外部存储器总线接口读写MCX314A内部的寄存器实现对MCX314A的控制。MCX314A可“写”的寄存器有:命令寄存器WR0,模式寄存器WRl~3,输出寄存器WR4,插补模式寄存器WR5,数据寄存器WR6~7;可“读”的寄存器有:主状态寄存器RR0,状态寄存器RR1~5,数据寄存器RR6~7。 ARM处理器将I/O端口和存储器统一编址,可将MCX314A接于LPC2214的Bank2存储器组(地址范围是0x8200,0000-0x82ff,ffff),即将CS2作为MCX314A的片选信号,那么WR0和RR0的地址是0x8200,0000,记为Addr。依此类推,WRl和RRl的地址是Addr+2,WR7和RR7的地址是Addr+Oxoe。为了使LPC2214提供16位的总线接口,需要在其启动代码中设置PINSEL2=0xofSl4914,BCFG2=0x-1000ffef,。 采用ARM开发套件ADSl.2(CodeWarrior for ARM Developer Suite)进行软件开发。启动代码的编写是ARM微控器软件开发的重要任务,其包括以下部分:设置中断/异常向量表,初始化堆栈指针寄存器、设置堆栈大小、地址重映射、设置系统时钟、引导进入C语言程序等。NOVA electronics Inc.MCX314 As User‘s Manual Ver.1.2文中提供了基于C语言的示例程序,该程序作适当修改后,可方便地移植到ADSl.2开发环境中。上位系统通过通信接口将运动参数下载到运动的存储器中,LPC2214从存储器中读取运动参数,完成对MCX314A的控制,程序流程如图3。
图3 MCX314A控制程序流程图
4 在XY两轴数控伺服工作台中的应用 XY两轴工作台是采用滚珠丝杆和滚动导轨传动的十字工作台,其控制系统拓扑图如图4。为了简化通用的结构且使其适应不同应用场合,将其与对象紧密相关的部分(如信号驱动放大和光电隔离)另设信号转接板。图中电机为松下交流伺服电机(型号MSMA022A1C,功率200W,额定转速3000r/min,额定转矩0.64N•m),EC为11线2500P/r增量编码器,电机驱动器采用与电机配套的松下伺服驱动器MSDA023A1A。将伺服驱动器的“控制模式”设置为“位置控制”,把指令脉冲设置为“CW/CCW”方式,整定各环路增益。
图4 数控平台控制系统结构拓扑图 上位PC系统通过通信接口把数控代码程序下载到运动中,LPC2214对数控程序进行解释,转换成MCX314A相应的命令。MCX314A执行命令,产生控制脉冲给伺服驱动器,驱动机械部件完成期望的运动。运动可以脱离PC系立运行。如果LPC2214把运动状态(含编码器的位置反馈信号)反馈给上位PC系统,也可方便地实现PC对数控过程的监控。
5 结束语 以ARM微控器和专用芯片MCX314A为核心的嵌入式运动,具有高速度、高精度、高效率、成本低等特点,结构简洁、可靠性高,是通用运动的一种可行的解决方案。在数控机床等数控装备、机器人等领域有重要应用价值。