激光微加工系统及基于DSP+FPGA的控制单元设计
扫描二维码
随时随地手机看文章
激光加工是一种研究激光与材料相互作用的技术,也是国家重点支持和推动应用的一项高新技术,近些年我国激光加工机的销售额年增长率保持在20%左右 [1]。发达国家的加工业已逐步进入“光加工”时代。目前,一些国际性大公司积极采用先进的激光加工技术,以提高产品的竞争力,其中纳秒脉冲激光的微细加工已成为加工技术发展的前沿之一。
纳秒脉冲激光微加工系统以纳秒脉冲激光作为光源,光束经过光路系统调整会聚后照射到载物台上,配合运动平台的运动,完成微结构的加工。系统对控制单元的要求很高,包括图形的编辑、数据处理能力和同步的运动控制算法。现有激光加工机的控制单元多采用2种控制方式[2,3]:(1)基于PC的系统,运算能力强大,可实现图形编辑等功能,但是不能脱离PC独立运行,成本高;(2)以单处理器为核心的方式,缺点是单处理器的运算能力有限,很难实现高速和复杂图形的加工。数字信号处理芯片DSP和现场可编程门阵列FPGA的出现,为加工系统控制单元的性能提升提供了新的手段。本文利用上位机Visual C++软件平台实现图形的解析和编辑功能,利用DSP的高速数字信号处理能力和FPGA的多路并行处理能力,设计了系统的控制硬件,使纳秒脉冲激光微加工系统的加工效果更好。
1 系统整体结构
纳秒脉冲激光微加工系统主要包括:控制单元、激光器、机械结构和光路系统四部分。系统结构如图1所示。
激光器是系统的加工工具,采用美国相关公司的AVIA-355 nm脉冲激光器。不同于早期的连续激光,此激光器有更多的参数和模式选择,包括激光脉冲频率﹑激光脉冲宽度和激光能量等,并且可以选择是单脉冲加工、多脉冲加工还是连续脉冲加工,使得激光器的控制难度大大高于对连续激光器的控制。
运动平台和光路系统作为加工的硬件部分,需要根据激光器的指标和要实现的加工精度进行设计。本系统的二维运动平台为步进电机驱动的丝杠螺杆传动的平台,行程是200 mm×200 mm,运动速度最大为40 mm/s,32细分下分辨率是650 nm。平台采用57步进电机驱动。电机驱动器采用雷赛M335B型号,输入方向和速度驱动信号便可实现步进电机的运动控制,并具有良好的精度。载物台放于运动平台上方,配有吹气装置,通过控制出气孔的大小来控制出气压力。光学系统包括反射镜片组,半透半反镜片,聚焦物镜和CCD共焦调整镜片。反射镜片镀有 355 nm波长的反射膜,反射率达到99%。聚焦物镜将激光聚焦到物体表面,聚焦后光斑直径小于20 μm。CCD主要用于调焦和加工的观察。
控制单元是加工系统的关键部分,包括上位机和下位机两部分。上位机主要完成加工图形方面的工作,实现图形文件的解析、图形修改和参数设置等功能,然后将这些矢量数据和加工参数通过预先设定的数据格式传输给下位机;下位机则借助先进的集成电路技术,完成对系统其他单元的控制。所以下位机系统需要有完善的控制算法,在进行系统设计时需要重点研究。
2 控制单元
控制单元是激光加工设备的关键部件,其性能直接决定了激光加工的质量,尤其是图形数据的处理和适当的控制技术是激光加工系统的关键部分。国外很多优秀激光加工设备主要依赖于高性能的数控系统才得以实现各种高质量的加工。本系统控制单元分为上位机的图形解析软件和下位机的硬件系统。
2.1 上位机软件平台
本上位机软件基于Visual C++软件平台开发,具有良好的图形化界面,图2为软件界面。采用面向对象的设计思想,以功能模块为单元的开发,有利于程序的维护和升级。实现的功能包括:利用绘图控件,在软件窗口内绘制简单的加工图形;实现图形文件的解析,如dxf格式的文件,把图形显示在软件窗口中;把图形按照加工算法分解为直线段,生成本系统的加工数据;加工参数的设置和通信功能。
软件在后台运算中,以直线段为基本单位对图形进行分解。对于曲线,则先将其分为许多直线段的拟合,然后按照直线段进行分解。加工路径也有两种选择方式:可以按照手动选取直线段的方式排序,也可按照系统默认路径选择算法,由里向外、寻找最短路径的方式,规划出加工图形的加工路径。将这些加工数据和设定的加工速度、激光能量、脉冲重复率等参数一起,根据预先设定的数据格式传输给下位机。
2.2 下位机硬件系统
下位机硬件系统是以DSP和FPGA为核心的控制单元。为了减少通信的数据量,上位机软件平台仅仅完成对图形的简单解析,大量的数据处理工作由DSP 来完成,通过对图形数据和加工参数的接收处理,生成X/Y方向的速度、方向、加工时间(对应直线段的长度)和激光的参数。FPGA用来实现对运动平台的控制。图3为硬件系统的原理框图。
DSP采用TI公司的TMS320VC5501定点型处理器。该芯片主频最高为300 MHz,存储空间为16 KB,支持SDRAM的接口和低内核电压,内部集成2个乘法器,每个乘法器在单周期可执行17位的乘法运算,满足微加工系统对数据处理方面的要求。DSP 实现的主要工作:与上位机通信;对图形数据进行存储与读取;对图形数据进行计算处理,生成符合FPGA工作的加工数据格式;把加工数据存储到FPGA加工数据区。
SDRAM用来存储上位机发送来的动态图形数据。当开始加工时,DSP从SDRAM中读取图形数据,按照步进电机的控制算法,对每一条直线段进行处理。同时通过RS232串口改变激光的工作模式、能量和脉冲重复率等参数,并控制激光器的出光。FLASH存储器用来存放DSP程序,每次上电后,程序自动由FLASH加载到DSP内存。CPLD作为DSP的桥路来连接其他器件。
FPGA采用Altera公司的Cyclone系列器件EP1C6T144。EP1C6系列FPGA拥有5 980个逻辑单元和20个M4K RAM块,总计92 160 bit的内置RAM。利用FPGA的高速同步处理特点,实现对多维运动的控制。使用Verilog HDL语言,在Quartus Ⅱ环境下编写完成。在一片FPGA芯片上实现了多轴完全相同但彼此相互独立的操作模块,又集成了多轴联动的处理机制。根据DSP计算出来的单条直线段的 X/Y速度,输出对应频率的方波信号控制步进电机的运动。加工时间作为定时器参数控制所加工直线段的长度,在定时到达后,无延迟地切换到下条直线段的执行。为了避免等待数据造成的加工停顿,FPGA加工模块采用了双存储器交替加工的结构,即在FPGA内部有2个完整的存储单元,每个存储单元包括4个存储区:X轴的速度、Y轴的速度、直线段加工时间和激光器的参数。每个存储区最多可以保存128条加工数据。当FPGA执行其中一个存储单元的加工数据时,DSP可以计算并把加工数据写入另一存储单元,如图4所示。
为了防止从步进电机驱动器引入干扰信号到FPGA,在FPGA输出到电机驱动器的每路信号上都采用了光电隔离器。此外,为了提高系统精度,有很多辅助设置应用于系统中,这些信号都接入到FPGA,由FPGA进行监控。如采用辅助气体提高加工效果,通过限位开关进行运动保护等。
2.3 数据算法及误差处理
加工图形包括了直线、圆、圆弧和其他曲线。按照加工精度要求,在上位机软件中把圆等曲线分解为一系列首尾相连的矢量,即全部按照直线段进行加工。在直线的加工过程中,根据步进电机的特性,静止状态时有静摩擦。为了克服静阻力,使电机平稳运转,在对电机的控制上,必须有加减速区的设置,实现“S”型的步进电机控制曲线(如图5所示),从而避免了因为起速或减速过快造成的振动,使步进电机产生丢步的现象。加工时电机将按给定的速度逐级变化,V1是步进电机能平稳启动的速度,V是设置的图形加工速度。可见,加减速区就是用多段幅值较小的速度变化替代一次较大的速度变化。对速度的细分可以采用列表的方式,DSP在进行输出处理时,将根据直线段的长短和要求的加工速度,计算得出加减速区的级数。系统采用FPGA定时的方式对加工的长度进行控制,故本系统采用固定每级的加工时间TC来进行加减速区的处理。
按照上面的算法和处理原理进行了整个系统的设计,但是加工效果并不好,有些地方图形不闭合。通过分析加工算法发现,加工误差主要来源于累积误差和 FPGA误差。
为了提高精度,DSP内部按照浮点数据格式运算,但是送给FPGA的数据却是整型数据,所以在从浮点转整型数据的过程中,小数位被丢失。当矢量个数很多时,舍弃的小数位数据进行大量累积,使加工效果变差。作为一个现场可编程逻辑芯片,FPGA因为其高速同步的特点,被用于对电机的控制,但其也有自身的缺陷。在排除了其他误差的可能性后,对FPGA的性能进行了标定,发现随着速度的提高,FPGA的输出会产生错误。根据高精度计数器的标定,当电机控制信号速度变大后,会有不同程度的脉冲个数丢失。
在经过对上面两个误差的修正后,选用硅(100)进行了部分微加工的实验。通过光学显微镜对结果进行观测可知,系统实现了较好的微加工效果。在空气环境下,采用20 kHz的激光频率,获得激光输出能量为150 μJ,在2 mm/s的运动速度下加工出微六边形,如图6所示。
为了满足微加工的需要,设计了纳秒脉冲激光微加工系统,尤其是实现了具有图形解析和高速数据处理功能的控制单元,解决了现有设备的关键问题,使加工系统在操作性和精度上都有很大提升,为下一步工作的展开奠定了良好的基础。