聚晶金刚石(PolycrystallineDiamond,PCD)刀具具有高硬度、高抗压强度、良好的导热性及耐磨性,可以在高速切削中获得很高的加工精度和加工效率。但其高硬度导致去除率只有硬质合金的万分之一,普通刃磨方式(金刚石砂轮刃磨)效率极低,且砂轮的损耗和刀具刃磨量基本相同,生产中不管时间还是成本均难以接受。电火花刃磨(ElectricalDischargeGrinding,EDG)技术不受被刃磨工件硬度的影响,且某些复杂形状PCD刀具(如木工刀具)的刃磨对这种灵活的刃磨工艺具有巨大需求,因此EDG技术逐渐成为PCD刀具加工的主要手段。
围绕电火花加工数控系统,国内外专家学者展开了大量的研究。对于电火花数控系统的体系结构,Yang等基于开放式数控系统结构,开发了用于线切割的电火花数控系统;马骏等对电火花加工数控系统进行了多任务划分,提出了系统的多任务划分模型,实现了系统的多任务调度;周亚军等
在分析电火花加工工艺和控制功能的基础上,构建了电火花数控系统的分层体系结构,并自行设计了电火花专用四轴运动控制器。为了保证电加工的实时性,赵万生等在开放式体系结构的基础上,进行了基于实时Linux系统的六轴联动电火花数控系统软件的研究;Huang等采用RT-Linux技术,提出双核结构概念分别处理实时任务和非实时任务;郑君民等同样采用RT-Linux解决数控系统的多线程和实时性的问题,并提出了以软件插补的计算机数字控制为基础的控制方式。为了提高系统的精度和灵敏度,Shieh等提出了在电火花成型数控系统中采用交叉耦合控制方式保证系统的轮廓精度;Guo等采用可编程多轴控制器为下位机,PC和Linux为上位机的体系结构,进行了微细电火花加工数控系统的软硬件设计,并开发了可以在线观察和测量微细电极的图像处理程序;李翔龙等在数控系统中,通过人工神经网络实现电机损耗的智能预测和补偿,并用两个分别以放电状态和极间电压作为输入的模糊控制器实现进给系统的变步距、变频双重调节;黄河等提出使用正反两个运动程序结合后台PLC程序进行加工的方法,实现了加工过程中高效、精确的运动控制;谷安等结合开放式的运动控制器,开发了基于PC的四轴联动电火花数控系统,并采用神经模糊控制智能技术,保证加工过程处于优化状态。然而,上述通用电火花加工数控系统无法满足复杂PCD刀具的特殊刃磨需求,因为复杂PCD刀具的刃磨路径需严格按照前刀面的实际位置来设定,这就要求系统必须具有通过“在线测量”的手段获取PCD前刀面的实际位置并将测量结果自动转化为加工程序的功能。英国COBORN、德国VOLLMER和LACH、瑞士EWAG等公司对复杂PCD刀具专用数控系统进行了深入研究,并开发出了成熟的产品,而国内目前在本领域尚属空白。
为此,本文以工控机和自主开发的控制板卡为硬件平台,以RT-Linux为软件平台,开发了用于加工复杂PCD刀具的五轴电火花数控系统,并对此专用数控系统的各个关键模块进行了详细的设计。
1 数控系统总体结构
1.1 数控系统硬件总体结构
PCD刀具五轴电火花刃磨数控系统除机床通用I/O信号,还有其特殊功能专用的控制信号,本文所设计PCD刀具五轴电火花刃磨数控系统的硬件总体结构如图1所示。系统硬件总体结构采用工控机+自主设计的主控卡+自主设计的前端控制卡的方式实现。工控机存储运行数控系统的软件部分,同时通过PCI总线与主控卡通信。主控卡主要用于各轴伺服电机的运动控制,此控制实时性要求很高。前端控制卡放置于靠近机床的位置,用于机床的I/O信号读取,包括检测探针、脉冲电源的控制,以及电加工状态的检测等,这些功能的实时性要求在大部分时间内低于运动控制。前端控制卡通过CAN总线协议和主控卡通信,保证了整个硬件的实时性和稳定性。这种硬件设计方式使得实时性要求不高的I/O和A/D在前端被处理,只把关键的信号传输给工控机的软件系统,并且由于离机床很近,减少了信号损失,增强了系统的可靠性。
主控卡主要由PCI9030、SJA1000和FPGA三大部分组成,FPGA内部由串口控制单元、脉冲发生单元、码盘计数单元和I/O控制单元组成。主要功能是PCI接口转换、与IO控制卡通信以及各轴驱动信号的产生。前端控制卡主要由ARM微处理器和CPLD组成,主要功能是和主控卡通信和I/O管理。
图1 PCD刀具五轴电火花刃磨数控系统硬件总体结构
1.2 数控系统软件总体结构
PCD刀具五轴电火花刃磨数控系统需要对探针检测信号以及电火花加工状态信号及时响应,对实时性要求很高,因此采用RT-Linux作为软件系统平台。针对此专用PCD刀具五轴电火花刃磨数控系统,进行了详细的软件模块划分,如图2所示。
设计时,将PCD刀具五轴电火花刃磨数控系统的实时模块与非实时模块分开,放入RT-Linux不同的系统内核中,以保证系统的实时性。系统采用的调度方式为守护机理,每个客户端进程定时采用socket通信方式向服务器端主动报告运行状态,服务器端定时检查各进程的运行状态,然后根据具体的客户端状态采取相应的进程调度。