4 软件设计中的几个关键技术
4.1 基于神经网络的电极损耗预测及补偿
4.1.1 基于神经网络的电极损耗预测
在ED - Milling 加工过程中,特别是在精加工中工具电极的损耗很大。如何检测出工具损耗并自动进行补偿,是保证加工质量的关键因素之一,也是实现ED - Milling 加工CAD/ CAM 集成的关键。影响ED - Milling 加工的因素很多,这些因素与电极损耗之间呈现很强的非线性,而人工神经网络能有效地建立起各种复杂系统的关系模型。因此,本文通过建立加工参数与电极损耗之间的网络模型,来实现加工过程中电极损耗的预测和补偿。如果把所有参数都作为神经网络输入参数,则网络规模大,训练时间长。根据上述实验结论及分析,选出对加工有重要影响的峰值电流Ie 、脉冲宽度te 、占空比η( = te/ to) 、放电面积S 和进给速度等作为网络的输入。网络的输出为电极相对损耗θ和加工速度v 。因为含有一个隐层的前馈网络能以任意精度逼近定义在Rn中的一个紧集上的任意非线性函数。因此本文采用三层网络结构,如图3所示。
传统的BP 神经网络实质是采用梯度下降法修正网络权值,存在陷入局部极值问题。对于网络结构的设计,一般是靠经验和试凑。因为遗传算法是从一个种群开始搜索,因而能以较大的概率找到最优解,本文采用遗传算法来设计网络权值和网络结构。但遗传算法存在局部搜索能力弱、收敛速度慢、过早收敛等问题,造成神经网络训练精度不高。要提高遗传算法的搜索能力,避免过早收敛于局部极值点,必须设计合理的遗传算子。
4.1.2 ED - Milling 加工工具补偿策略
目前,电火花铣削加工主要有两种方法:基于工具侧面放电的侧面铣削方式和基于工具底面放电的端面铣削方式。对于侧面铣削加工,可近似认为工具损耗只发生在侧面。这样,只要计算出侧面损耗量,即可实现工具的补偿。假设工件加工余量均匀,工具初始半径为r0 ,加工到t 时刻的工具半径为rt ,工具轴向长度为h ,则工具径向损耗Δr 为:
根据式(1) 即可预测出不同时刻工具径向损耗量,由此可实现电极在加工过程中的实时动态补偿。对于端面铣削加工,工具端部不仅存在轴向损耗,其楞边也会因放电腐蚀而倒圆。为保证零件形状精度,人们期望工具端部各点的损耗量相同,这样,通过简单的轴向运动即可实现工具损耗的补偿。这种加工技术称为等损耗加工。为实现电极的等损耗,必须遵循以下原则: ①分层加工工件,每层的去除量很小(微米级) ; ②工具往复扫描加工; ③工具扫描路径重叠。
为补偿工具轴向(设为Z 轴) 损耗,每层加工后,工具必须沿轴向作进给运动。其进给量由工具轴向损耗长度和该层的平均加工深度组成。由此得出一层加工后工具轴向进给量为:
ΔZ = L w (θS w / Se + 1) (1)
式中: L w —某层平均加工深度; S w —该层在X - Y平面内的投影面积; Se —工具横截面积。
4.2 基于模糊控制技术的进给系统设计
电火花加工中,极间间隙的大小是影响加工生产率和精度的重要因素。合理的放电间隙可有效防止电弧放电,避免烧伤工件,保证较高的表面质量和加工速度。目前,国内生产的电火花加工机床,最常用的是采用与极间间隙成比例的间隙电压,作为自动进给调节系统的输入参数,以此来调节加工间隙的大小。这种方法对调节间隙大小是可靠的。但是,加工速度和工件的表面质量不仅与间隙大小有关,更与极间放电状态密切相关。
研究表明,电火花加工放电状态可分为空载、火花放电、不稳定过渡电弧、稳定电弧和短路五种基本类型。这几种状态按一定概率交替出现,甚至在单个脉冲内也可能同时出现几种状态。哈尔滨工业大学研制的“电火花加工放电状态检测卡”,通过采样一个分析周期内出现空载、火花放电、不稳定过渡电弧、稳定电弧和短路状态的时间,将各状态的放电时间分别与总放电时间(即采样周期内脉宽之和) 相除,得到该分析周期内的各种放电率。根据放电率可判断出间隙的总体状况,放电率可客观准确反映间隙状态,但由于它是统计一个采样周期内的各种放电率,是一种统计分析行为,在每个采样周期内,存在多次放电。特别是在粗加工时,脉冲宽度大(毫秒级) ,检测输出的放电率就带有较大的时延。而此时加工电流大,生产率高,如果单纯采用放电率作为自动进给系统调节间隙的依据,则加工的实时性难以保证。因此,本文将极间电压和放电率的检测二者相结合,在微观和宏观两个方面来调整加工间隙。
在微观方面,定时采集间隙电压,采用间隙电压变化量和变化率作为微观模糊控制器输入参数, 调整电机进给频率。设Us为设定的比较电压, Ue ( t )为t 时刻检测到的极间电压,则间隙电压变化量ev(t) = Ue ( t ) - Us 。间隙电压变化率Δev ( t ) = ev(t) - ev ( t - 1) 。设f 为模糊控制器输出的进给频率,把两个输入变量均划分为五个模糊子集:NB (负大) 、NS(负小) 、ZE(零) 、PS (正小) 、PB (正大) 。将输出变量f 划分为五个模糊子集:NB (负大) 、NM(负中) 、NS(负小) 、ZE(零) 、PS(正小) 、PM(正中) 、PB(正大) 。输入和输出模糊子集均采用三角形隶属函数。使用下面的模糊消除策略:
同时,PC 机通过状态检测卡读取空载率pd 、火花放电率pe 、短路和电弧放电率pa三种百分比。其中只有火花放电率具有蚀除作用, 所以应尽量提高pe 。但如果加工中空载率过小, 则极易产生电弧放电,说明进给速度过快。如果短路和电弧放电率过小,则说明加工处于欠跟踪状态, 应提高进给速度。考虑到加工的稳定性, 实际加工中pe一般在70 %285 %之间为最佳。因为空载率pd 、火花放电率pe以及短路和电弧放电率pa之和等于1 ,因此,只要控制其中两个参数, 即可实现间隙状态的调节。这也表明当处于最佳加工过程时, 必存在一个最佳短路和电弧放电率以及最佳空载率,分别用pa0和pd0表示最佳短路和电弧放电率以及最佳空载率, 则t时刻短路和电弧放电率误差ea ( t ) = pa ( t ) - pa0 ,误差变化Δea ( t) = ea ( t ) - ea ( t - 1) 。t 时刻空载率误差ed ( t) = pd ( t ) - pd0 , 误差变化Δed ( t ) = ed(t) - ed ( t - 1) 。
在宏观方面,设计的宏观模糊控制器有四个输入: ea ( t) 、Δea ( t) 、ed ( t ) 和Δed ( t ) 。输出为进给步距,本文为步进电机驱动器的细分模式。将两个输入误差变量ea ( t ) 、ed ( t ) 划分为四个模糊子集, 误差变化Δea ( t) 、Δed ( t) 划分为三个模糊子集。均采用三角形隶属函数。由于使用的驱动器具有八种细分模式,对应地将进给步距划分为八个模糊集合:P0 、P1 、P2 、P3 、P4 、P5 、P6 、P7 ,采用单值模糊产生器。模糊判决方法采用最大值反模糊化法。若输出量的隶属函数有多个极值,则取较小极值对应的细分模式。
4.3 硬件驱动程序设计
由于Win2k 具有很好的稳定性,因此选用它作为ED - Milling 加工数控系统的软件平台。如图2所示,在ED - Milling 数控系统中,需要使用运动控制卡、I/ O 卡、A/ D 卡、放电状态检测卡等多种硬件。其中只有运动控制卡DMC300 提供了Windows 环境下DLL 库,实现主控制机与运动卡之间的通信。对于其他接口卡,需要开发相应的设备驱动程序。在Win2k 中,设备驱动程序必须根据Windows 驱动程序模型(WDM) 设计。WDM 提供了一种驱动程序分层的框架结构,开发者必须遵循这种结构去组织文件和数据。一个通用的设备驱动程序可由上层类过滤驱动程序、上层设备过滤驱动程序、功能驱动程序、下层类过滤驱动程序、下层设备过滤驱动程序、总线过滤驱动程序和总线驱动程序等构成。当Win32 应用程序发出一个I/O请求后,系统的I/O 管理器将它转换为I/O请求包( IRP) ,并将它传递给上层设备驱动程序, IRP 逐次往下传递,最终由最低层的驱动程序完成与硬件的交互。每层驱动程序只完成IRP 的一部分请求。当驱动程序完成IRP的处理后, I/O管理器把数据和结果返回给Win32用户。根据上述层次结构,开发出了ED - Milling数控系统中使用的各种板卡的驱动程序。
5 结束语
本文给出了一种在Windows2000上实现的电火花铣削加工智能化数控系统。该数控系统硬件由PC 机、DMC300 运动控制卡、放电状态检测卡、A/ D卡、I/O和脉冲电源等组成。软件由Windows2000系统内核、硬件驱动程序、电极损耗神经网络预测、模糊驱动系统、用户应用程序等组成。该系统已应用在笔者研制的电火花铣削加工装置上。实验表明,该系统工作稳定,操作简单,实时性好,具有较强的适用性。