基于Linux的薄壁管材冲孔自动化生产线设计
2016-10-28孙建辉陈雨晴
孙建辉,陈雨晴
(浙江工业大学 机械工程学院,杭州 310000)
基于Linux的薄壁管材冲孔自动化生产线设计
孙建辉,陈雨晴
(浙江工业大学 机械工程学院,杭州 310000)
为了开发一种结构简单、控制灵活的冲压自动化装置,简述了一种基于Linux下的冲孔自动化生产线,用于薄壁管材的冲孔;设计了以ARM为主控制器,CPLD为协处理器的方式来作为整个生产系统的控制核心,通过控制交流伺服电机、电磁阀等执行元件完成动作要求;建立了气缸驱动系统和冲压机械手,机械手通过伺服电机的驱动完成取料和旋转,在与冲床的相互配合下完成冲孔要求;构造了生产线系统的故障树,利用定量分析结合定性分析的方式对故障进行分析;整个设计以Linux操作系统为平台,利用跨平台的图形界面应用程序Qt编写了人机界面,采用电容式触摸屏通过界面向操作人员发送故障提示,大大减少了设备停机时间;实验结果表明该系统完全能满足生产要求,稳定可靠,操作便捷,响应速度快。
机械手;故障树;CPLD;ARM;Linux
0 引言
随着嵌入式系统在工业生产领域的普及,建立一套高效智能简单的自动化生产线系统是提高企业生产效益的必然选择。由于数字信息技术和网络技术的蓬勃发展,给冲压加工行业带来了一股新的生机与活力。
金属冲压是目前工业生产中生产率最高的一种加工方法,同时也是人工上料操作较多的一个行业。生产工人劳动工资增加,人工上料经常出现手指被冲断的安全事故,这样的后果是劳动者安全受到威胁,企业利润无法提高,而国内大型企业多采用价格高昂、自动化程度较高的进口装置,小型企业多选取手动冲压机。手动冲压采用人工来进行上下料,安全性能差,电气控制系统简单,各种参数都需要手动调整,难以保证稳定的生产精度。由于冲压加工本身属于重型加工作业,对人身安全来说也难以得到保障。目前国内在冲压自动化生产线领域,多采用单片机控制的方法,这种控制方法扩展性差,精度低,处理速度不足以满足复杂算法的要求,且送料装置多采用机械式凸轮传动机构,导致的结果是结构复杂,造价高,柔性差[1]。冲压设备多采用液压技术,功率需求极大,控制复杂且费用很高,液压油泄露也给整个生产加工过程造成了诸多不便[2]。
为了适应冲压自动化生产的需求,为中小型企业解决冲压生产成本过大及工人安全无法得到保障的问题。课题研究采用了处理速度更快的ARM9微处理器和复杂可编程逻辑器件CPLD作为控制核心,并结合了速度更快的气缸驱动技术,优化了机械臂的设计。操作系统移植了Linux2.6的内核作为应用程序的开发平台,使得系统的实时性有了很大的提高。在人机界面方面,采取1 024*600的电容式触摸屏,通过主菜单、对话框的方式实现参数输入、产量记录,具有智能故障诊断功能,用消息提示框显示故障提示和维护建议,友好的人机界面为上下位机的通讯提供了一个快捷方便的纽带,提供了一个灵活稳定高效的自动化控制系统。
1 系统总体设计
1.1 薄壁管材冲孔自动化装置的工作原理
薄壁管材冲孔自动化装置主要由机械手、丝杠传动机构、电磁阀、交流伺服电机、触摸屏、信号灯、储料柜等部分组成,其结构如图1所示。通过滚道将管料输送到机械手,再通过机械手将管材上料到冲床,并配合冲孔节拍旋转管料,完成冲孔。机械手送料及旋转均通过伺服电机驱动, 通过机械手X-Y的移动和Z轴的旋转来配合三爪气缸的抓紧/放开来实现冲孔动作。电磁阀分别控制机械手气爪,送料气缸,冲床控制气缸,推废料气缸,搅拌气缸。
图1 薄壁管材冲孔自动化装置结构示意图
1.2 控制系统的总体设计方案
控制系统主要由ARM9主控制器,CPLD协处理器,限位开关,增量式编码器,电磁阀,驱动器组成,其整体结构如图2所示。 ARM9主要负责操作系统的运行、控制算法的实现、信息存储以及多机通信,并扩展了A/D转换器,电容式触摸屏等外部硬件设备。CPLD主要负责从ARM接收信息,产生输出脉冲控制电机,同时增量式编码器将电机运行时的位移和转角的数字信号反馈给CPLD,CPLD将接收到的信息交由ARM存储,从而实现了闭环控制。CPLD通过继电器完成对电磁阀的有效连接,从而实现对电磁阀的开关控制,电磁阀分别控制机械手气爪,送料气缸,冲床控制气缸,推废料气缸,搅拌气缸。CPLD将传感器采集到的信息编码加密后传递给ARM,ARM解码后传送给上位机显示,从而实现了对设备运行状况的实时检测。
图2 薄壁冲孔自动化装置硬件结构图
2 系统的硬件设计
2.1 主控模块
系统采用了Cortex-A9的内核,主频高达1.2 GHz,集成了4 GB的FLASH存储,支持CAN2.0协议,扩展了标准I2C电容屏接口。该芯片以其体积小、低功耗、低成本、高性能等优点而得到广泛应用。系统在ARM开发板上移植了Linux3.0的内核,通过USB、JTAG、UART、网口与PC机连接,建立了交叉开发编译环境,方便了程序的调试和数据的传输[3]。采用型号为EPM1270的CPLD芯片作为协处理器,CPLD与FPGA同为PLD(Programmable Logic Device)器件,CPLD具有更加丰富的逻辑资源,由于CPLD是通过内部电路的逻辑功能编程,而FPGA是通过改变内部连线的分布编程,故而CPLD的运行速度也比FPGA更快[4]。
系统的主控模块主要包括运动系统的控制来完成自动上下料和旋转冲孔,为了获得较高的运动精度,X方向、Y方向、Z方向均采用交流伺服电机,CPLD通过相应的驱动器控制这些电机,交流伺服电机通过驱动精密滚珠丝杠完成传动,电机每接受10 000个脉冲转动一圈,通过已知的滚珠丝杠螺距计算出单个脉冲的传送距离为1 um,发现完全满足精度要求。
其中对于交流伺服电机的控制采用VHDL硬件语言编写,CPLD内部共有4个四字节计数器,通过设置CCTRW1写地址为0BH,使得第0~3位=1,计数器1~4硬件清零。测量电机的转角或位移用编码器,每个编码器为A、B、Z三个信号输入。当Z脉冲为上升沿A为上升沿且B=0时对应计数器内容清零,当第4~7位=1时,计数器1~4内容立即清零,再将CCTRW1的第4~7位清零。在进行读取数据的具体操作时,如读计数器1,先读00H,得到最低字节,再读04H~06H(公用锁存器,在读最低字节时高字节内容锁存,以同步得到所有字节内容)得到低到高字节的全部内容。用VHDL编写的部分计数程序如下:
PROCESS (clock, rst)
BEGIN
IF rst='1' THEN cnt<=0;
ELSIF clock' EVENT AND clock='1' THEN
IF cnt=127 THEN cnt<=0;
ELSE cnt<=cnt+1;
END if;
END IF;
END PROCESS;
2.2 采集模块
系统采用CPLD对收集到的信息进行编码,主要有增量式编码器的数字信号和传感器的数字信号。ARM发送相应的指令给CPLD,CPLD读取后脉冲发生器产生脉冲,由内部计数器进行计数,达到一定脉冲计数后驱动控制两台交流电机的转动和方向,采用增量式编码器用来测量电机的位移和转角,系统可同时测量四个编码器。每个编码器为A、B、Z三个信号输入。当CPLD中的值可读后,采用中断方式通知ARM,ARM与CPLD通过双向总线交换数据。对于传感器采集的信号,选用AD7656芯片,共有6个模拟量的输入,由于传感器数量众多,不可能给每一个传感器分配引脚,故用可编程逻辑器件CPLD对采集的信号进行数字编码,然后将信号传递到ARM的CPIO引脚并存储,具体的电路接口示意图如图3所示。
图3 采集模块电路接口示意图
由示意图可知,A/D芯片的读写信号WR和RD,片选信号CS,启动转换信号CONVSTA均由CPLD译码控制,CONVSTA信号在上升沿时有效,在硬件设置模式时,分别启动V1~V2、V3~V4、V5~V6开始进行数据转换。RD信号低电平有效时进行读操作,此时AD数据读取有效,WR信号低电平有效时进行写操作,此时AD数据输出有效。由于CPLD与AD7656的接口电平范围不一致故选用74ALVC164245芯片进行转换后达到统一标准。CPLD将数据传递给ARM9管理存储后,通过USB-D+和 USB-D-接口外接移动存储设备,为加工生产数据的大容量存储提供了更简单可靠的方式。
3 系统的软件设计
3.1 Linux系统的搭建
为了更好的提高冲孔自动化装置系统的实时性和稳定性,在ARM上移植了Linux3.0的内核。由于Linux的开源性以及其在不同平台之间的可移植性,使得Linux在众多操作系统之中脱颖而出。搭建一个Linux系统,首先需要下载Linux源码并通过打补丁的方式使其符合ARM结构,然后对Linux进行配置裁减,这部分工作的改写难度较大,通常由开发商提供。在以上步骤完成后再进行交叉编译环境的搭建[5]。
3.2 Linux下的应用程序
应用程序的设计主要包括对该装置生产时加工总数的计数,故障信息的采集以及控制程序的应用,采用Qt/Embedded关键技术来完成图形用户程序的开发。应用程序模块主要包括以下模块:系统初始化模块、控制功能模块、数据采集模块、显示模块、通讯模块。系统初始化模块主要完成对硬件的初始化和配置,控制功能模块主要完成对机械手的旋转、自动上下料和冲孔节拍快慢的控制、数据采集模块主要是对各个功能气缸的状态以及传感器的数字信号采集,通讯模块采用CAN总线通讯协议来完成上下位机的数据交换,显示模块主要对采集来的数据融合处理后进行显示和对历史数据的查询。控制功能模块流程图如图4所示。
图4 控制功能流程图
4 智能故障系统的设计
薄壁管材的冲孔加工过程十分复杂,冲压加工属于重型加工作业,工作台易损耗,一旦发生故障,普通操作工人无法准确快速找出故障发生原因,故采取FT(故障树)定量分析和定量分析相结合的方法,找出主要故障,优化设计,提高可靠性。
4.1 故障树的定性分析
对故障树进行定性分析的目的是为了找出导致顶事件发生的所有可能组合。系统以“冲孔自动化装置不能按要求来完成冲孔”为顶事件,并设定了忽略小概率故障事件(控制系统电路连接线断裂或接触不良)的边界条件建立了故障树,如图5所示。故障树基本事件意义如表1。
图5 薄壁冲孔自动化装置的故障树
A管材未推至机械手处R软件程序运行不稳定B管材斜放Q硬件电路故障C过渡料斗管材互相卡位S送料气缸损坏D过渡料斗无管材T磁性开关损坏E送料气缸没有正常工作U电磁阀故障F送料电机零位错误V通讯故障G送料电机没有移动到位K送料电机故障H推废料气缸没有正常工作O联轴器打滑I旋转电机零位错误P传感器损坏J旋转电机没有移动到位
4.2 故障树的定量分析
对故障树进行定量分析的目的是为了排除繁冗信息简化故障树模型。所谓割集是指系统的底事件的结合,只要这其中的一个底事件发生必然导致顶事件的发生,而最小割集是指所有故障发生的最小子集,由于故障树系统数据庞大,故引入最小割集重要度的概念,来排除不重要信息,提高故障诊断正确率[6]。故障树的全部最小割集如下:
AA=BB+CC+DD+EE+FF=BB+A+B+C+D+
K+O+P+S+T+H+I+J+U+R+Q
通过不断实验进行概率分析判断出关键重要度较高的故障事件为:送料电机故障,故采取的措施是加强对送料电机的润滑保养和维护,同时对于传感器采集的信号需运用小波变换理论,排除随机信号的干扰[7]。
5 实验结果
在系统的生产测试中,将控制面板的钥匙开关打到工作模
式,触摸屏经过开机画面自动进入工作界面,如图6所示。当钥匙开关打到学习模式,界面显示各种传感器,气缸磁性开关的状态如图7所示。按下运行按钮,设备配合冲床开始旋转冲孔。为测试系统的故障诊断功能,特意不将管料退出,此时警报声响起,固定端出料口上方接近开关指示灯亮,界面弹出故障提示框,如图8和图9所示,按下确定按钮,并按下运行/停止按钮,设备重新开始工作。系统采用了跨平台的C++图形用户程序Qt作为框架,提供了应用程序开发人员艺术性的图形用户界面,通过不断的设备调试,建立了故障维护数据库,建立起快速的故障响应机制,一旦故障发生,能在短时间内给一线工人提供建设性的意见。
按钮1:工件冲孔次数的设置 按钮2:退回距离的标定按钮3:加工数量的清零 按钮4:当前设备运行状况的显示图6 工作界面
图7 学习界面
图8 故障提示框 图9 故障报警
6 结束语
在冲压自动化生产线领域,本方案提供了一套智能、高效、稳定的生产系统。其中,ARM用来实现控制系统的数据存储和传送,CPLD用来控制上料机械手的一系列动作,该控制系统还能实时记录下设备的产量,大大减少了生产管理部门的工作量,友好的人机交互界面使得操作更加直观方面。同时,利用Linux系统实现了体积小,效率高,可靠性强的应用操作,具有的智能故障诊断功能减少了不必要的设备停机时间,提高了企业生产效率。该设计方案已经投入生产并取得了较好的效果,具有很好的应用前景。
[1] 庄宇昀,徐 辉.冲压线的发展[J].一重技术,2005(4):20-22.
[2] 李 勇.新一代冲压技术[J].新技术新工艺,2003(4):31-32.
[3] 张海波,陈 涛,王建立,等.基于ARM+Linux的直流伺服控制系统设计[J].电子技术应用,2012,08:33-36.
[4] 徐伟业,江 冰,虞湘宾.CPLD/FPGA的发展与应用之比较[J].现代电子技术,2007,02:4-7.
[5] 赵明鑫.Linux内核在ARM上的裁减与移植[J].计算机与数字工程,2009,07:81-84.
[6] 朱大奇,于盛林.基于故障树最小割集的故障诊断方法研究[J].数据采集与处理,2002,03:341-344.
[7] 郭晓静,宋胜博.APU故障智能诊断系统设计[J].计算机测量与控制,2015,11:3585-3588.
Automatic Production Line of Thin-walled Tube’s Punching Based on Linux
Sun Jianhui, Chen Yuqing
(Zhejiang University of Technology, Hangzhou 310000,China)
To design a simple and flexible punching automation equipment, a automatic line based on Linux which was designed for thin-walled tube’s punching was expounded. To control servo motor and magnetic valve ,ARM as a main controller and CPLD as a coprocessor for completing the motion requirement which are core system was designed, principle figure of cylinder drive system and manipulator were established, manipulator’s feeding and rotating were driven by a servo motor. Then completed the requirements with the help of puncher. The fault tree method was designed. qualitative and quantitative analysis was used for fault analysis. Linux as a platform, human interface was built by GUI application called Qt. Capacitive touch screen offered workers tips, equipment downtime was greatly reduced. The results show that the system can fully meet the demands, fast response and convenient operation.
manipulator; fault tree; CPLD; ARM; Linux
2016-01-25;
2016-02-29。
孙建辉(1955-),男,浙江杭州人,教授级高工,硕士生导师,主要从事计算机控制和机电一体化、航天非标地面测试设备研制的工作。
1671-4598(2016)07-0097-03
10.16526/j.cnki.11-4762/tp.2016.07.026
TP3 文献标识码:A