基于S3C2440和Linux 的嵌入式逆变CO2焊机系统设计
2016-12-05罗云萌余明志
罗云萌,余明志
(1.陕西铁路工程职业技术学院 陕西 渭南714000;2.上海振华重工(集团)股份有限公司 上海200125)
基于S3C2440和Linux 的嵌入式逆变CO2焊机系统设计
罗云萌1,余明志2
(1.陕西铁路工程职业技术学院 陕西 渭南714000;2.上海振华重工(集团)股份有限公司 上海200125)
针对市场上CO2弧焊电源控制系统结构单一、灵活性差等缺点,设计了基于S3C2440和Linux的数字控制系统,介绍控制算法和软件流程。S3C2440微处理器利用增量式PI调节软件控制方法,实现电弧电压和焊接电流的闭环控制。在S3C2440上,对Linux系统底层文件进行裁减和移植,利用QT设计用户图形程序便于用户操作。同时,送丝机以PIC16F877A为控制核心,实现送丝数字化控制。结果表明,设计的CO2焊接电源控制系统动态响应快、可靠性高、弧长控制稳定。
CO2焊机;嵌入式;Linux;S3C2440;QT
CO2气保焊以其优质高效的显著特点,在石化、建筑、汽车、造船和航空等众多行业得到了广泛的应用。今后,焊接电源在能保证良好焊缝成型和接头性能的前提下,向着数字化、便携式方向发展。如采用模拟电路实现焊机的,必然导致系统庞大复杂,另外也无法实现如专家系统、远程视频采集等功能[1-2]。
内嵌操作系统的逆变CO2焊机具有包括专家系统、实时通信、实时监测及采样参数运算等多任务特点,若利用基于ARM微处理器的内存管理器(MMU),可使每个任务单独享有系统内存空间,大大提升了CO2焊接过程控制的准确性和灵活性,这点与以普通单片机做为控制芯片的系统有极大优势。因此本文提出一种内嵌Linux操作系统的逆变CO2焊机。
1 总体设计
基于S3C2440和Linux的嵌入式逆变CO2焊机总体结构框图如图1所示。主电路设计中采用三相输入全桥逆变拓扑结构。IGBT逆变器轮流被两组PWM脉冲驱动导通,实现软开关控制。控制电路由电流/电压反馈电路、S3C2440与PIC16F877A组成的核心数据处理与控制部分、驱动电路、送丝控制等电路组成。其中,S3C2440A微处理器作为控制系统的中央控制器,PIC16F877A用于送丝电路的控制。
2 PI控制算法设计
在CO2焊机控制中,PI控制算法设计主要影响焊机动特性。PI运算分为位置式PI运算和增量式PI运算。由于CO2系统执行机构需要的不是控制量的绝对值,而是控制量的增量,因此选用增量式PI控制[3-4]。
其控制规律数学模型的微分方程为:
式中,u(t)为PI调节器输出函数;e(t)为PI调节器输入函数,即给定量与反馈量的偏差值即e(t)=r(t)-c(t);KP为比例系数;TI为积分时间常数;
上式表示的控制器的输入函数和输出函数均为模拟量。因为微处理器只能处理数字信号不能处理模拟信号,所以要把模拟PI控制转换成数字PI,这就需要把模拟PI的参数离散化处理如式(2)。
图1 嵌入式逆变CO2焊机总体结构框图
式中,T为系统采样周期。由式(3)可知,通过对PI运算进行离散化处理,可用软件PI调节器代替模拟焊机中用硬件实现的PI调节器。KP和TI在短路过渡和燃弧期采用不同的值,这样既可以保证在短路期间快速的动态响应,保证液桥收缩期间电流的上升速度和液桥破断时峰值期间的飞溅控制,又可以保证在燃弧期间电压的稳定和对燃弧能量的动态调节。
3 控制系统软件设计
焊机主电源系统软件是建立在Linux操作系统软件平台上。Linux启动加载程序移植 U-boot-1.2,系统内核为Linux2.6.32.2,同时在内核配置选项中使能 CONFIG_PM选项,使内核具备基本的电源管理功能。利用BUSYBOX制作Linux文件系统。本系统设计的软件有4个方面:1)Linux设备驱动程序;2)基于Qt/Embedded的GUI应用程序,如焊接时参数采集显示界面;3)专家系统程序;4)焊接控制程序。
3.1设备驱动程序
在Linux系统中,对系统硬件操作,相同于对系统文件的操作,即“系统中一切都是文件”的思想[5-6]。本系统所用网卡、LCD、触摸屏、Flash都采用与友善公司Mini2440开发板相同型号的硬件设备,因此直接使用其开源的驱动程序。但是AD驱动、焊枪开关驱动、PWM驱动及报警驱动在焊机系统中有特定功能,必须自行设计驱动程序。
AD驱动采用字符驱动,设备结构体定义如下:
AD驱动中file_operations结构体中成员函数是字符设备驱动设计的主体内容,这些函数会在应用程序进行Linux的open()、write()、read()、ioctl()等系统调用时最终被调用。
其中,adc_open()函数主要是设置AD控制寄存器;申请AD中断服务,中断类型是共享中断IRQF_SHARED,中断服务函数为adc_irq,该中断函数主要目的是读取AD转换值。adc_read()函数中调用内核put_user()函数,从系统内核空间读取数值到系统用户空间。同时adc_read()函数中对信号量进行P-V操作,利用并发控制解决竞态问题。
焊枪开关驱动、PWM驱动及报警驱动也都采用字符驱动设备。PWM驱动功能主要任务是从系统用户空间读取该时刻PWM脉宽控制值,利用ioctl()函数系统调用,将该值传递给内核PWM脉宽控制函数,实现控制PWM脉宽的目的。焊枪开关驱动程序目的是将与焊枪相连GPIO接口设置为外部中断IRQ_EINT,并在中断函数中利用内核定时器实现消抖功能。系统用户空间获知焊枪开启信号后,开始进入焊接控制程序。
3.2用户图形应用程序
Qt/Embedded是著名的QT库开发商Trolltech开发的面向嵌入式系统的QT版本,主要用于开发嵌入式设备的GUI,是一个C++函数库。Qt/Embedded在对象之间的通信采用信号和槽的机制(Signal/Slot)[7-17]。
1)建立窗体
Qt/Embedded里自带QtDesigner设计器是一个具有可视化用户接口的设计工具,在安装 Qt的 bin目录下键入./ designer,将启动一个包含很多Qt组件的可视化界面,使用C++语言编写。打开QtDesigner新建一个部件,选择Widgets对话框。窗口中,利用QtDesigner自带的信号/槽功能建立SpinBox控件valueChange()函数与Slider控件setValue()函数之间的信号-槽关系。
2)生成头文件,实现文件和主函数
经过界面设计保存后,生成WeldWidget.ui文件,该文件是用XML语言写的文件。利用Uic(User Interface Compiler)将WeldWidget.ui文件生成WeldWidget.h和WeldWidget.cpp文件。然后分别在生成的两个文件中添加类对象及实现函数。
在WeldWidget.h中添加成员函数:
3.3焊接控制程序
焊接控制程序如图2所示。焊接控制程序主要实现以下功能:
1)参数输入。从LCD触摸屏中焊机图形应用程序中采集焊接参数。
2)起弧控制。按照选定时序和预置的参数,进行引弧慢送丝,输出合适的PWM脉冲。
3)燃弧控制。按预置参数输出合适的燃弧PWM脉宽,采集输出电压和电流。根据采集到的焊接参数判断系统是否处于熄弧状态,如果处于熄弧状态,程序重新引弧;若系统处于燃弧状态,则进行焊接反馈电压、电流参数PI运算,调整PWM脉宽值,若处于短路状态,则进入短路控制,将反馈的焊接电流值进行PI运算,输出合适的PWM脉宽值。
4)收弧控制。依据有无收弧,调用设定的时序来控制送丝、气阀的关闭时间,同时在收弧过程中,持续输出设定收弧电压一段时间,实现去小球功能。
图2 焊接控制程序
4 实验及分析
4.1波形控制电路测试分析
实际焊接时,焊接电压和焊接电流波形测试,如图3所示。
图3 焊接电流电压波形(100 A/19 V)
图3中可以看出短路过渡开始时电弧熄灭,焊机输出电压几乎为0V,而电流并没有发生突变,而是先以一斜率快速上升促进熔滴过渡,然后以一斜率缓慢上升,抑制飞溅,是以双斜率上升;当短路结束时,电弧重新引燃,焊机输出电压很快上升至燃弧电压,而电流先以一斜率下降,然后缓慢下降,提高燃弧能量。
4.2PWM滤波输出调试
文中设计中,采用PWM波加滤波电路就能实现简易的D/A转换,不在需要D/A转换芯片,在一定程度上降低了焊机的制造成本。图4为占空比为50%和滤波后的波形图。
图4 占空比为50%时PWM波形与滤波后波形图
4.3送丝机测试
文中设计了基于电压负反馈和电流正反馈的送丝调速系统。实际焊接时,当焊接电流为250 A,电压为26 V时测得的电机工作波形如图5所示。
图5 送丝机工作波形图
由于焊接电流的大小由送丝速度控制,因此电枢电流波形不仅反映了电机工作状态,还反映了电弧的变化情况。图5中,电枢电流平滑,过度平缓,送丝速度稳定,焊接电弧燃烧稳定,焊接质量可靠。
5 结 论
针对 CO2焊机存在的缺点,设计了基于 S3C2440和Linux的数字控制系统,采用增量式PI控制,同时,送丝机以PIC16F877A为控制核心,实现送丝数字化控制。实验结果表明,设计的CO2焊接电源控制系统动态响应快、可靠性高、弧长控制稳定。
[1]朱锦洪,路凯通.基于ARM微控制器的C02电弧焊全数字化逆变电源设计[J].焊接学报,2007,28(8):5-8.
[2]殷树言,刘家,丁京柱,等.21世纪的焊接之星-数字化弧焊逆变电源[J].机械工人,2001(5):6-8.
[3]吴开源.基于DSP的弧焊逆变电源数字化控制系统[J].电子设计应用,2002,1(11):71-73.
[4]古金茂,黄鹏飞,殷树言.基于DSP和CPLD的全数字CO2焊机系统[J].电焊机,2009,39(2):42-46.
[5]韦东山.嵌入式Linux应用开发完全手册[M].北京:人民邮电出版社,2008.
[6]王田苗.嵌入式系统设计与实例开发[M].北京:清华大学出版社,2002.
[7]黄维.基于ARM的嵌入式Linux平台的研究与实现 [D].成都:电子科技大学,2008.
[8]杜春雷.ARM体系结构与编程[M].北京:清华大学出版社,2003.
[9]冯飞雨,于春梅.基于S3C2440的嵌入式远程视频监控系统的设计[J].安防科技,2011,3:14-16.
[10]范书瑞,赵燕飞,高铁成.ARM处理器与C语言开发应用[M].北京航天航空大学出版社,2008.
[11]张飞舟,邓旭明,王豪.嵌入式工业以太网接口开发与应用[J].计算机工程,2002,29(16):154-157.
[12]万永波,张根宝,等.基于ARM的嵌入式系统Bootloader启动流程分析[J].微计算机信息,2005,11(2):90-92.
[13]许荣.基于AT91RM9200的嵌入式Linux系统移植[J].电子技术,2006,3:64-68.
[14]宋宝华.Linux设备驱动开发详解[M].北京:人民邮电出版社,2008.
[15]何鹏举,陈明,等.基于嵌入式Web服务器的远程视频监控系统[J].测控技术,2004,23(6):62-63.
[16]陈鲲,陈云秋,刘信新.基于Qt/Embedded的嵌入式Linux应用程序的设计[J].2009,37(1):156-159.
[17]王浩南,刘益成.基于嵌入式Linux系统下的Qt开发[J].电脑开发与应用,2010,23(1):11-13.
The embedded system design of inverter CO2 welding machine based on S3C2440 and Linux
LUO Yun-meng1,YU Ming-zhi2
(1.Shaanxi Railway Institute,Weinan 714000,China;2.Shanghai Zhenhua Heavy Industries Co.,Ltd,Shanghai 200125,China)
The control system of CO2 arc welding power on the market have disadvantages,such as single structure,poor flexibility and so on,digital control system is designed based on S3C2440 and Linux,describes the control algorithm and software processes.S3C2440 microprocessor software using incremental PI regulator control method to achieve closed-loop control of the arc voltage and welding current.On the S3C2440,the underlying file system for Linux reductions and transplantation,using of QT design graphical user program for user-friendly operation.Meanwhile,wire feeder using PIC16F877A as the control core,to achieve wire digital control.The results show that the design of the CO2 welding power control system have advantages of fast dynamic response,high reliability,stable arc length control.
CO2 welding machine;embedded;Linux;S3C2440;QT
TN02
A
1674-6236(2016)22-0183-04
2015-11-19稿件编号:201511185
罗云萌(1987—),男,陕西渭南人,硕士研究生,讲师。研究方向:焊接电源。