羅云萌,余明志
(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焊機。
基于S3C2440和Linux的嵌入式逆變CO2焊機總體結構框圖如圖1所示。主電路設計中采用三相輸入全橋逆變拓撲結構。IGBT逆變器輪流被兩組PWM脈沖驅動導通,實現軟開關控制。控制電路由電流/電壓反饋電路、S3C2440與PIC16F877A組成的核心數據處理與控制部分、驅動電路、送絲控制等電路組成。其中,S3C2440A微處理器作為控制系統的中央控制器,PIC16F877A用于送絲電路的控制。
在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在短路過渡和燃弧期采用不同的值,這樣既可以保證在短路期間快速的動態響應,保證液橋收縮期間電流的上升速度和液橋破斷時峰值期間的飛濺控制,又可以保證在燃弧期間電壓的穩定和對燃弧能量的動態調節。
焊機主電源系統軟件是建立在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.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中,電樞電流平滑,過度平緩,送絲速度穩定,焊接電弧燃燒穩定,焊接質量可靠。
針對 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—),男,陜西渭南人,碩士研究生,講師。研究方向:焊接電源。