MCX系列运动控制器是日本NOVA公司设计的专用电路,其中MCX314As是NOVA公司最新的推出的4轴运动控制器,是对MCX314功能的改进和增强。
MCX314As以单个电路同时控制4个伺服系统或步进电机系统,可进行各轴独立的定位控制、速度控制,亦可在任意2轴或3轴中进行圆弧、直线、位模式插补。MCX314As能与8/16位数据总线接口,通过命令、数据和状态等寄存器实现4轴3联动的位置、速度、加速度等的运动控制和实时监控、实现圆弧、直线、位模式3种模式的轨迹插补,输出脉冲频率达到4MHz,每轴都有伺服反馈输入端、4个输入点和8个输出点,能独立地设置为恒速、线性、非对称S曲线加/减控制、非对称梯形加/减速控制方式,并有2个32位的逻辑、实际位置计数器和状态比较寄存器,实现位置的闭环控制,另外,较MCX314增加了自动搜寻原位、输入信号滤波器、同步动作、输出脉冲32位,圆弧/直线插补脉冲范围32位、完成S曲线加/减速的非对称、手动设定模式、位置计算器的可变环形、Z相输入的实位计数器的清除、实位计算器的增减反转等功能,同时,MCX314As对连续插补最终写入、圆弧插补终点指定、输入UP/DOWN脉冲的计算出错等作了相应的改善。
2 内部结构和主要功能
图1为MCX314As的功能框图。由相同功能的X、Y、Z和U轴的控制部分和插补计数部分组成,主要功能如下:
2.1 4轴控制
MCX314As通过脉冲序列驱动控制电机运动,4轴运动控制器中的4个轴都具有相同的功能,允许至多3轴联动,同时对于恒速驱动、插补或S曲线驱动都有相同的操作方法,S曲线加/减速驱动等4轴的性能相同。
2.2 速度控制
对于恒速驱动、插补或S曲线加/减速驱动,输出脉冲的频率范围是1p/s-4mp/s,而输出脉冲频率的精度(时钟频率为16MHz)小于±0.1%,速度倍率为1-500,驱动脉冲输出的速度可以在不运行时自由变化。
2.3 加/减速驱动
MCX314As可以控制每根轴的恒速驱动、插补的加/减速驱动和S曲线加/减速驱动。每个轴还可以被独立地位置为S曲线或梯形加/减速,使用S曲线的加/减速命令可以使输出脉冲按抛物线规律进行加/减速。
2.4 插补功能
直线插补:4轴中的任意2轴或3轴都可以实现直线插补运动,运动位置边界的坐标介于-2147,483 646-+2 147 483
646之间,同时直线插补的位置误差为±.05LSB(最小插补单位)。
圆弧插补:任意2轴都能实现圆弧插补,其插补坐标的范围与直线插补相同,圆弧插补的位置误差为±1.0LSB(最小插补单位)。
位模式插补:这种插补的数据由上位机CPU进行计算,上位机将插补结果写入MCX314As,然后,MCX314As在预置的驱动速度下连续输出插补脉冲,根据上位机CPU的处理能力,MCX314As可以对各种形状的曲线进行插补。
连续插补:MCX314As允许不同的插补方式连续使用,例如直线插补→圆弧插补→直线插补→……,不间断的连续插补时允许的最大插补速度为2Mp/s。
2.5 位置控制
每个轴都有一个32位的逻辑位置计算器和一个32位的实际位置计算器,逻辑位置计算器记录输入的位置脉冲,实际位置计算器记录从外部编码器或者线性比例尺输入的反馈脉冲。
2.6 比较寄存器和软件限位
每个轴都有2个32位比较寄存器,一个为逻辑位置计数器,另一个为实际位置机计数器。比较结果可从状态寄存器读出,也可以通过中断报出,这些寄存器也可以被用来实现软件限位。
2.7 自动搜索原位功能
MCX314As在不需要CPU干涉下可以完成自动搜索为原位的工作,这个过程包括高速原位搜索→低速原位搜索→编码器Z相搜索→补偿驱动。这种功能减少了CPU的负担。
2.8 同步运行
同步运行可实现一些特殊功能,例如在每个轴或2个轴或与该电路相连的外部器件产生的激励信号能使运行同步开始或停止,可以使用10种类型的激励信号,其中包括特殊位置、轴运动时的开始/停止和输入信号的脉冲上升沿/下降沿。4种运行的响应包括轴运动的开始/停止、保存位置的计算值和写入轴运行的速度等。
2.9 输入信号过滤
MCX314As具有对每个输入信号进行滤波的功能,并且可以设置输入的信号是否进行滤波还是直接进入电路,滤波的时间常数可以选择。
3 主要控制寄存器及指令系统
3.1 命令寄存器(WR0)
MCX314As中各轴的WR0寄存器用来进行各轴设定和命令寄存,它包括轴设定的各位、命令字设定的各位以复位命令的各位。在向此寄存器写入轴设定字和命令自后,它将立即执行,某些命令在写入WR0之前应先写入WR6和WR7。
3.2 模式寄存器(WR1)
4都有各自的状态寄存器1,写哪个寄存器取决于NOP指令的指定或写前的情况,WR1可以控制输入信号IN3-IN0的使能,并用于设定减速状态和比较结果寄存器。
3.3 模式寄存器2(WR2)
WR2设定外部限位开关输入、反馈计数器脉冲类型及伺服驱动的反馈信号。
3.4 模式寄存器3(WR3)
4个轴都有各自的WR3,读哪个状态寄存器取决于已被指定的轴或NOP指令指定的轴。WR3可用于操作手动减速、单独减速、S曲线加/减速、外部操作模式设定和通用输出OUT7-OUT4的设定。
3.5 输出寄存器(WR4)
该寄存器用于设定4轴的输出信号nOUT3-nOUT0,它也可以被用作16位的通用输出,若某位置0,将会输出低电平;置1将会输出高电平。
3.6 主状态寄存器(RR0)
该寄存器用来显示各轴驱动和错误的状态,此外,它还显示插补、连续插补的就绪信号、圆插补的象限和BP插补的栈计数。
3.7 状态寄存器(RR1、RR2、RR3)
每个轴都有状态寄存器RR1、RR2和RR3。读取哪个状态寄存器,取决于写入MCX314As的命令,命令10FH表示X轴,20FX表示Y轴,40FH表示Z轴,80FH表示U轴。
3.8 输入寄存器(RR4/RR5)
RR4和RR5为通用寄存器,如果寄存器的数据位为0,则输出为低电平,若数据位为1,则输出为高电平。
3.9 数据寄存器(RR6/RR7)
RR6和RR7是数据寄存器并对相应的数据读取命令。RR6存放低16位(D15-D0),RR7存放高16位(D31-D16)。
3.10 写数据命令
设置驱动参数的如加速度、驱动速度、输出脉冲数时,要用写数据命令,以将这些参数/数据写入MCX314As,如果同时指定多轴,可以对不同的轴同时写入相同的数据,如果数据长度是2B,只需把数据写入WR6,如果数据长度大于2B,则高16位写入WR7,低16位写入WR6。数据写入数据寄存器后,向WR0写入命令设定轴,然后执行命令。
3.11 读取数据指令
数据读写命令用来读取各轴寄存器的值。当向WR0写入读命令后,数据将出现在RR6和RR7中,要读取的数据是二进制的,负值为二进制补码形式。
3.12 驱动命令
驱动命令将控制MCX314As以不同的方式输出驱动脉冲。当向WR0写入命令代码并制订控制轴后,该命令被立即执行。可以同时用同一命令指定多轴,运行时,每个轴的RR0的nDRV位将置为1,当运行结束时,nDRV位置0。
3.13 插补命令
插补命令由2轴或3轴直线插补、顺时针/逆时针圆弧插补、2轴或3轴位模式插补和其他有关命令组成,当向WR0写入插补命令时,置WR0的D8-D1位为0,因为对插补命令没有必要指定轴。
在执行插补命令之前,必须先执行以下2步:通过设置WR5的D5-D0位来指定要插补的轴;设定主轴的速度参数。