2 数控系统硬件设计
瓦楞辊磨床经济型数控系统AD16M4测控板的硬件结构如图2所示,主要由主处理器W78E516、地址锁存器74LS373、地址译码器74LS138、主存储器RAM 61256、辅存储器NVRAM 29F040、扩展端口8255A和8255B、脉冲均分器AT89C2051、LCD显示板及键盘组成。
分页
2.1 数据存储
AD16M4测控板使用了两片数据存储芯片,即RAM 61256与NVRAM 29F040。由于RAM本身没有掉电保护功能,为了实现数据的掉电保护功能,系统扩展了非易失型存储器NVRAM 29F040。主存储芯片RAM 61256的存储空间为32 kB,用来存储变量、页面代码等不需要掉电保护的数据。辅存储芯片NVRAM29F040存储空间为512 kB,由硬件划分的8个存储扇区,由主处理器的P1.4、P1.5、P1.6引脚选择扇区。每个扇区的存储空间都可以释放,通过擦除操作对扇区进行区擦除,释放存储空间。主处理器能够采用直接寻址方式访问主存储器与辅存储器,由W78E516的P1.7引脚控制两片存储芯片的选择与切换。
2.2 基本输入输出
主处理器W78E516的P1.0、P1.1、P1.2、P1.3引脚分别控制LMG-SSC 240×64点阵LCD显示板的片选、读写和使能信号,通过8255A的PA口实现显示数据输出,键盘数据以开关量方式输入到8255A的PB口;由8255B的PB口检测行程开关、交流伺服状态和电动机过载等信息,其中行程开关应选择常闭触点,所有电动机的热继电器的常闭触点经过串联后输入至测控板;由8255A的PC7、PC6、PC4引脚分别控制灯光报警、声音报警和间歇润滑,8255B的PC口的高4位PC4~PC7分别控制X轴和B轴电磁刹车、B轴气刹车和金刚轮电动机的通断。
2.3 运动控制
运动控制的目的在于对运动控制轴的位置/速度/加速度的精确控制。当系统采用“脉冲+方向”输出时,既要保证脉冲与方向同步,还要保证脉冲总数正确、频率准确、频率变化平缓。此外,为提高系统可靠性,位置控制信号(脉冲、方向)均采用差分驱动形式输出。
由于经济型数控系统采用单片机作为主处理器,其数据处理能力有限,难以实现较高质量的控制脉冲。因此,本系统使用独立于主处理器的脉冲均分器输出脉冲,不但可以提高整个系统的处理速度、简化程序设计,还能够有效地提高脉冲频率的控制精度。脉冲均分器采用AT89C2051单片机,实现脉冲均匀输出。该控制软件已经完全芯片化。主处理器W78E516B通过端口扩展8255B控制系统运行,8255B的PA口控制脉冲输出,PC口的低4位PC0~3控制各轴运动方向。8255B的PA口连接2片脉冲均分器,当接收到来自主处理器的中断信号时,脉冲均分器读取8255B的PA口的脉冲数并将其均匀输出。从脉冲均分器输出的脉冲信号与来自8255B的PC口的方向信号经差分变换后分别输出至X轴、B轴、Z轴的伺服驱动器。其中,X轴和B轴的脉冲输出共用一个AT89C2051,当P1.7置“0”时输出X轴脉冲,置“1”时输出B轴脉冲;Z轴和U轴共用一个AT89C2051,U轴备用。
3 数控系统软件设计
瓦楞辊磨床经济型数控系统软件采用模块化程序设计,主要任务模块包括按键扫描、键值分析、伺服电动机控制、行程开关检测、交流伺服状态检测、电动机过载检测、灯光报警、声音报警、间歇润滑及LCD显示。系统软件的主程序以循环方式扫描上述任务模块,当对应的条件满足时,该任务被响应并予以处理。主程序中的键盘扫描周期约为100 ms,过小的扫描间隔难以过滤掉按键抖动,而过大的扫描间隔则可能漏掉按键动作。本系统采用定时器TO实现插补周期的中断定时,中断服务程序主要完成运动控制参数的计算以及脉冲数的输出。在系统上电后,为防止因上电时电压波动造成系统初始化错误,程序延时100 ms左右。延时完成后,进行变量初始化、芯片与硬件端口初始化及输出状态初始化。在程序运行过程中,大概每150 ms必须刷新LCD显示一次,以防止LCD显示错误信息。
系统软件以多级菜单的形式显示各操作功能。其主菜单显示内容为:参数设置、机床回零、工件装夹、建立工位、砂轮修整、自动运行、技术支持、软件复位。为配合上述操作功能,系统按键采用多重定义方式,与通用数控系统中的软键设计思想基本一致。与之不同的是本系统没有专门的数字输入键,而是以软键输入代替。另外,系统取消了一般数控系统中的手轮和点动按钮,其对应功能由软键结合多速(粗调/中调/细调/微调)点动按键实现。这种“以软代硬”的实现方式能够在很大程度上简化系统硬件结构,而对系统操作效率影响极小。
3.1 数据管理设计
数控系统需要保存的参数比较多,如工艺参数(磨削量、粗磨速度、精磨速度)、工件参数(中高、楞长、楞数)、逻辑行程保护参数(X轴、Z轴)、机床间隙补偿量(X轴、Z轴、B轴)以及砂轮修整参数(粗修整量、精修整量、修整次数)。此外,根据工件参数计算得到的中高分布曲线表、分度角度表也同样要求实现掉电保护。由于系统采用的是增量式位置控制系统,工位信息则不必实现掉电保护。系统进入参数设置页面时,显示保存在NVRAM里的数据。为防止出现乱码或其它错误,需要对显示的数据格式和数据进行有效性检查。如果数据错误,则强制赋隐含值,参数在修改后将存入NVRAM的对应扇区中。
3.2 基本算法设计
(1)中高算法:本系统以抛物线作为中高曲线,为降低运动控制两轴联动的复杂性,采用分段直线逼近抛物线的方法。首先将瓦楞辊楞长换算成对应的总脉冲数,然后等分成40段,再计算出各段中高值对应的脉冲数及各段的斜率并存入NVRAM中。在磨削中高时,根据当前段Z轴运行的脉冲数与斜率计算出本中断周期X轴应输出的脉冲数。
(2)分度算法:由于单片机难以满足复杂的实时计算要求,与中高处理类似,分度计算也同样在磨削加工前处理完成。具体计算方法:先计算B轴一周(360°)对应的总脉冲数,然后以总脉冲数与设定的楞数相除取整得到每条楞的基本分度脉冲数,再适当处理余数,将余数脉冲按一定规律均匀插入到对应楞中去,则足以保证均匀分度。理论上,分度误差不超过一个脉冲,完全能满足瓦楞辊分度的技术要求,而且即使 轴连续旋转多周也不会出现累积误差。
3.3 运动控制设计
脉冲插补算法是运动控制的核心。系统软件采用了脉冲增量插补算法中的数字积分直线插补,每次插补产生一个位移增量,并以脉冲形式输出。本控制系统一边进行插补运算,一边进行加工,是一种典型的实时控制方式,所以插补运算的效率直接影响到磨床的进给速度。插补周期越小,则轮廓精度也就越高。在两轴联动时,运动控制计算量非常大,因此,要求软件设计时尽量避免双精度、长整型变量数据处理,以简化计算过程,降低处理器时间消耗。本系统采用的定时中断为1 ms,即每1 ms进行一次插补,脉冲频率最高可达84 kHz。
本系统除具有常规的硬件保护功能外,还设计了运动轴逻辑行程保护功能:当X轴或Z轴运行超出逻辑行程范围时,停止所有运动控制输出,并报警。该保护仅在“自动”运行状态时起作用。
4 结 语
瓦楞辊磨床经济型数控系统在硬件设计上尽量避免采用任何特殊的芯片,“以软代硬”的设计思想极大地简化了硬件结构,不仅提高了系统的可靠性,而且还保证了数控系统的经济性;作为专用数控系统,其软件设计上没有采用常规数控系统所使用的宏代码形式,极大地缩短了系统软件的开发周期。该数控系统功能实用,运行稳定可靠,而且学习、操作及维护相当简便。数控系统自2006年l1月于广东某制辊公司投入运行以来,无任何故障发生,瓦楞辊加工精度和效率完全能满足设计要求。