汪帮富,殷 振,谢 鸥
(苏州科技学院机械学院,江苏 苏州215009)
超声振动挤压(超声压光)工艺是在传统的压光工艺基础上发展起来的一种新工艺。超声振动挤压(超声压光)加工原理为:在挤压加工时,工具头在预压弹簧的作用下与工件表面相接触,在超声波发生器的驱动下,工具头产生纵向超声振动,对旋转工件的表面进行光整加工。在工具头静压力和高频冲击力的作用下,工件表面的微观峰谷被压平,同时表层金属产生塑性变形强化,形成压应力,提高了零件表面的耐疲劳强度。与传统的压光工艺相比,其具有弹性压力小、摩擦力小、表面粗糙Ra值进一步降低、表面更加平滑、表面耐磨性增加等一系列优点,因而日益受到人们的重视。
为了充分发挥超声振动挤压加工的优越性,通过分析超声振动挤压加工的控制特点,本文提出了一种基于嵌入式技术来构建超声振动挤压加工数控系统的设计方案。此系统总体性能稳定,开发成本低,具有强实时性,符合开放式数控系统的发展方向,具有很强的市场竞争力和广泛的应用前景。
数控超声振动挤压加工机床的机械结构用卧式结构,机械结构类似卧式车床,与车床最大区别在于刀架备置不是刀具,而是超声振动挤压加工系统,如图1所示。主轴控制接口连接数控系统与主轴驱动单元,其包含两个部分:主轴速度控制输出和超声波发生器的控制输出。由于超声振动挤压的数控系统本身的特点要求,系统伺服电机选用Panasonic MSDA043A1A交流伺服电机和驱动器,而整个机器的传动和导向机构则采用日本THK精密的滚珠丝杠和直线导轨。上述各功能模块接口通过标准总线连接,实行统一的总线接口规范。该体系结构中有些功能模块不是每一个嵌入式数控系统都必须的,可根据具体要求裁减。
图1 超声振动挤压加工系统机床本体结构示意图
在嵌入式超声挤压数控装置的设计过程中,超声振动挤压装置是实现超声加工的关键部件。超声振动挤压装置的整体结构(如图2所示),其由超声波电源、压力显示器、测力系统、支撑部件、滚珠保持架和超声主轴等组成,其中包括工具头、超声振子、主轴套筒、前后盖等部件。
在嵌入式微处理器中,ARM占据十分重要的位置,ARM内核处理器具有高性能、低功耗、低成本、低开发难度等一系列优点,是测控系统由8位机升级到32位机的理想选择。在本次设计中,以嵌入式数控系统作为数控机床的控制核心,由硬件层、操作系统层及软件层三个层次构成。硬件以ARM处理器和复杂可编程逻辑器件CPLD为核心,并配以系统所需的外围模块组成完整的硬件平台;软件以μC/OS-Ⅱ为内核来构建实时嵌入式操作系统,并开发系统所需的底层驱动和应用软件;采用μC/OS-Ⅱ使得嵌入式数控系统的控制软件划分明确、模块化,并且使系统具有多任务处理能力及良好的实时性。软件层主要是数控系统匹配软件,包括设备驱动程序、相关的API函数、数控各任务模块等。
图2 超声振动挤压装置的总体结构图
嵌入式微处理器选用ARM7系列的、恩智浦半导体(NXP)公司的LPC2220芯片,其是32位的高性能、低成本的嵌入式RISC微处理器,具有数据处理能力强,稳定可靠,可支持操作系统,低功耗和低成本的特点。在嵌入式数控系统中主要负责数据处理、运算和对外设(LCD、RAM、FLASH、键盘等)的控制等管理调度部分;大规模可编程逻辑控制器件CPLD主要用在较短的时间内完成复杂的运动控制、码盘反馈和实现I/O控制等。系统硬件结构如图3所示。
图3 嵌入式数控硬件结构图
嵌入式数控系统软件由嵌入式实时多任务操作系统μC/OS-Ⅱ及其相应的应用软件组成。μC/OS-Ⅱ实时操作系统支持多任务管理,采用基于占先式的实时内核,可以把任务的调度时间控制在毫秒级内,满足系统实时性的要求。但μC/OS-Ⅱ仅提供了一个任务调度的实时内核,没有提供相应的标准API函数,因而需要自行开发一系列与系统运行相关的设备驱动程序、API函数以及应用软件。数控系统按功能可划分为以下五个模块:
(1)人机界面管理模块。人机界面管理模块主要实现人机交互,为数控超声振动挤压机的工作提供所需的数据和信息,反馈机床的运行状态,监控整个加工过程。
(2)逻辑处理模块。本方案中对机床开关量的控制是通过在ARM处理器上运行软PLC程序来实现的。
(3)运动位置控制模块。运动位置控制主要是对机床位移、速度、加速度的控制。本系统位置执行部件用的是交流伺服电机/驱动器,采用位置控制方式,ARM处理器经插补运算后的数据转化为指令脉冲信号,实时发出的脉冲与方向信号分别输出至驱动器。微处理器的输出口通过中间电路控制驱动器的伺服ON接通,而输入口也通过中间电路读入驱动器输出的伺服信号。
(4)主轴控制模块。主轴控制模块主要就是控制主轴伺服电机和超声波发生器。
(5)数据处理模块。该模块主要根据输入的数控加工程序的语法规则对用户编写的零件程序进行语法、语义检查,并进行译码工作,将零件程序以程序段为单位进行处理,把其中各种零件轮廓信息、加工信息和其他辅助信息按照一定的语法规则解释成计算机能够识别的数据形式,并以一定的数据格式存放在指定的缓冲区中,等待其它模块的调用。
软件调试是系统中相当重要的步骤,调试的过程是一个较为艰辛的过程,它往往占用整个项目约60%的开发周期。嵌入式数控系统的调试可分为模块调试和系统联调。
在本系统中,系统的模块调试主要通过串口打印。打印调试的优点是软件开发人员不需要中断程序的运行即可跟踪程序,了解程序的执行结果和状态,是程序调试过程中的一种常用调试方法。为了方便打印调试的开启和关闭,本系统中在系统头文件中定义如下宏:
#undef DEBUG
//#define DEBUG
#ifdef DEBUG
#define UARTINTF(x...)PrintString("lathe:"##x)
#else
#define UARTINTF(x...)
#endif
当系统需要跟踪调试时使用#define DEBUG语句预定义DEBUG,当系统不需要跟踪调试时使用#undef DEBUG语句去掉对DEBUG的定义。这样就实现了对跟踪调试的开关控制[4]。其调试的原理如图4所示。
图4 系统的打印调试原理
在各个功能模块单独调试完毕后,便进入系统联调的阶段。这一调试阶段的主要目的是将各个独立的功能模块整合起来,形成有机整体的数控系统。
由于系统结构复杂、功能较多,虽然各功能模块先前已经调试通过,但在联调过程中也不可避免地出现其它的问题,如各模块优先级分配不当、CPLD数据不能及时处理等,以下举例说明一些调试过程中需要注意的问题:
(1)在系统联调阶段,应该规划好各模块间的信号量的使用和数据规模的大小。由于各个模块在单独调试的过程中,不会出现长时间等待数据的问题,而在系统联调中,各模块处于相互依赖甚至互锁的关系,这个时候容易造成系统死机现象。这要求在调试前应该规划好各模块间数据的流向和信号量的传递,以保证整个系统的顺畅运行。
(2)各模块之间具有相关性。要注意优先级和运行周期的合理分配。系统各模块都是实时性的,同时各模块间又相互依赖。模块之间通常也不是完全独立的,一般存在时序约束、资源约束等约束关系。要保证加工过程的顺利进行,防止在加工过程中出现停机现象,应合理分配各模块的优先级,同时根据各模块的任务量和插补周期分配好各周期任务的运行周期。
(3)在同精插补器的硬件联调过程中,通过ARM外部总线传递和接收数据时,容易出现数据读不到或数据无法传下去的问题。这时,需要对软件中使用的端口操作函数进行修改。同时还要对精插补器CPLD中的程序进行修改。此时可利用示波器对精插补器和ARM总线上各信号进行测量,以保证数据的正确性。
经过反复多次的调试,基于ARM的运动控制系统硬件工作正常,多任务划分较为合理,运行稳定可靠,达到预期的要求。
总而言之,ARM微处理器是一个综合处理器,使用单一的处理器内核就可以实现数控系统所需要的大部分功能,极大地减小了总体芯片的面积和系统的复杂程度。由ARM微处理器和u C/OS-II为操作系统构成的嵌入式系统,以LCD显示器进行显示,并配有输入键盘、程序存储器、数据存储器以及多种数据通讯接口,具有控制精度高,成本低,体积小,界面友好,易于扩展和升级等特点,是传统机床的数控化改造和经济型数控机床的升级开发的理想选择。本文的创新之处就是设计了一个基于PLC2100的嵌入式超声振动挤压加工数控系统,为传统机床的数控化改造和经济型数控机床升级开发提供了一种可行而实用的设计思路。
[1]限部淳一郎.精密加工一振动切削基础和应用[M].北京:机械工业出版社,1985.
[2]李 华,陆 瑛,孟 逵.超声振动挤压加工系统的优化设计[J].制造技术与机床,1999(3):32-34.
[3]谢 鸥,李 华,殷 振,等.基于ARM的嵌入式超声振动内圆磨削数控系统研究[J].制造技术与机床,2010(6):36-39.