辛冉 劉強
摘 要:電子束焊接是一種先進、成熟的高能束焊接技術(shù),它具有抗氧化強、避免有害氣體侵入及焊接零件變形小等優(yōu)點,設(shè)計其監(jiān)控系統(tǒng)具有重要意義。本課題采用Z-turn Board核心板開發(fā)上位機,下位機采用STM32F103VC芯片,自主設(shè)計硬件電路,從而實現(xiàn)數(shù)據(jù)采集、CAN通信等功能,通過CAN網(wǎng)絡(luò)實現(xiàn)上位機與下位機之間的實時通信,進而實現(xiàn)上位機對柵偏電壓、燈絲電流、高壓和束流的實時監(jiān)控,本課題在Z-turn board核心板上運行Linux操作系統(tǒng),系統(tǒng)安全穩(wěn)定,可靠性強,上位機人機界面使用qt軟件繪制而成。
關(guān)鍵詞:電子束焊接,Z-turn Board,CAN,Linux
0 引言
電子束焊接是通過電子槍中陰極產(chǎn)生電子,在陰陽極之間的高壓電場使電子被加速到很高的速度,電子經(jīng)過必要的磁透鏡聚焦后,形成高速電子流,通過撞擊將電子的動能轉(zhuǎn)化成要焊接物體的熱能,要焊接的物體獲得高熱能而迅速融化,過一段時間后會形成焊接縫隙。電子束焊接具有傳統(tǒng)焊接方法難以比擬的優(yōu)勢和特殊功能:焊接能量密度高,容易實現(xiàn)金屬材料的深熔透焊接,焊縫窄、深寬比大、焊縫熱影響區(qū)小、焊接工藝參數(shù)容易精確控制、重復(fù)性和穩(wěn)定性好[1],
所以電子束焊接基本上代表了目前最高性能的焊接水平[2]。本課題即研究對電子束在焊接過程中柵偏電壓、燈絲電流、高壓以及束流的實時監(jiān)控。
1 總體設(shè)計
1.1總體設(shè)計概要
本課題主要研究內(nèi)容包括如下:下位機對電子束焊機的柵偏電壓、燈絲電流、高壓、束流的數(shù)據(jù)采集,上位機和下位機之間通過控制器局域網(wǎng)絡(luò)(簡稱CAN)實現(xiàn)將下位機采集到的數(shù)據(jù)傳輸?shù)缴衔粰C,以及上位機顯示界面的設(shè)計和對采集的數(shù)據(jù)的顯示。
1.2下位機方案選擇
嵌入式:嵌入式運算速度快,處理能力強,而且嵌入式相對于PLC與主機的通訊更簡單方便,相對于PLC性價比更高,目前嵌入式已廣泛應(yīng)用于各類家電器件、路由器及手機等領(lǐng)域。本方案選擇性價比更高,目前已廣泛應(yīng)用的嵌入式作為本課題的下位機。
1.3上位機方案選擇
Linux:具有眾多優(yōu)點:Linux操作系統(tǒng)是開源的,而且內(nèi)核很小,可以滿足嵌入式的較低的處理能力,此外Linux加入了RT-Linux,這使得它具有實時能力。最后,Linux系統(tǒng)可以設(shè)置目錄和檔案的權(quán)限,大大的提高了系統(tǒng)的安全性。由于Linux有眾多優(yōu)點,已經(jīng)有越來越多的廠商進入這一領(lǐng)域[3]。鑒于此,本課題選擇Linux系統(tǒng)。
2基于STM32下位機軟硬件設(shè)計
2.1 基于STM32數(shù)據(jù)采集系統(tǒng)硬件設(shè)計
2.1.1 CPU最小系統(tǒng)
此次選用了STM32F103VCT6芯片作為主控芯片。
2.1.2電源電路
根據(jù)系統(tǒng)工作的需要,將5V電源通過LM1117-3.3芯片整流成3.3V,給stm32f103VC芯片供電。
2.1.3 一鍵下載電路
為了保證后續(xù)開發(fā)的便捷性,控制板中還設(shè)計了USB供電及一鍵下載電路??梢灾苯訉⒕幾g好的HEX文件燒錄到單片機中,大大增加了開發(fā)的便捷性。
2.1.4 EEPROM電路
為了使系統(tǒng)能夠連續(xù)工作,必須把一些重要的數(shù)據(jù)保存下來,當(dāng)系統(tǒng)因出現(xiàn)故障或掉電不得不重新啟動時,系統(tǒng)能夠按照掉電或故障出現(xiàn)之前的設(shè)定狀態(tài)繼續(xù)運行。本課題選擇外擴一個AT24C256串行EEPROM芯片來保存數(shù)據(jù)。
2.1.5 信號調(diào)理電路
圖1中RT2是壓敏電阻,它的作用是當(dāng)電壓過高時吸收多余的電流以保護敏感器件。MMBD4148SE結(jié)構(gòu)圖,它內(nèi)部是兩個方向相反的二極管,圖2信號調(diào)理電路圖可知1端接地,2端接電源3.3V,3端接A2,當(dāng)3端電壓太大或太小時可以穩(wěn)定電壓,起到保護電路的目的。
2.1.6 通信電路
VP230是一個 CAN總線的收發(fā)芯片,用VP230設(shè)計的CAN收發(fā)器能夠以1 Mbps的速度向CAN控制器提供總線和差分接收能力。
232接口: 接口使用一根信號線和一根信號返回線而構(gòu)成共地的傳輸形式,容易產(chǎn)生共模干擾,所以抗噪聲干擾性弱。
485接口:接口信號電平比RS-232降低了,就不易損壞接口電路的芯片,且該電平與TTL電平兼容,可方便與TTL 電路連接。采用平衡驅(qū)動器和差分接收器的組合,抗共模干能力增強,即抗噪聲干擾性好。
2.2 下位機程序設(shè)計
下位機程序設(shè)計:
下位機采用stm32103VC芯片,下位機程序設(shè)計包括系統(tǒng)初始化,ADC采樣模塊,定時器中斷模塊以及CAN通信模塊。
系統(tǒng)初始化包括GPIO初始化、定時器周期的設(shè)置、CAN通信的初始化。
ADC模塊:需要使能對應(yīng)AD時鐘,設(shè)置ADC的分頻因子,因為要采集柵偏電壓、燈絲電流、高壓和束流共四路AD,所以設(shè)置AD轉(zhuǎn)換模式為多通道模式,設(shè)置AD轉(zhuǎn)換為軟件觸發(fā)啟動,并使能AD采樣。
定時器中斷模塊:使能定時器時鐘,初始化定時器,設(shè)置中斷優(yōu)先級,并使能定時器。在定時器中斷中采樣。
CAN通信模塊:CAN模塊有兩個功能,一個是接收上位機傳輸?shù)臄?shù)據(jù),并判斷出所傳數(shù)據(jù)是柵偏、燈絲、高壓和束流的開通與關(guān)斷或設(shè)定值;二是將AD采集數(shù)據(jù)發(fā)送到上位機并顯示在界面上。
將AD采樣值賦值給ad_data_float[4],通過for循環(huán)將采樣值乘以100;程序如下:
for(i=0;i<4;i=i+1){ ad_data_100[i]=ad_data_float[i]*100;
}
然后每個采樣值占兩個字節(jié),分別賦值給send_str[i]與send_str[i+1],程序如下:
for(i=0;i<8;i=i+2){ send_str[i]=ad_data_100[i/2]/100;
send_str[i+1]=ad_data_100[i/2]%100;
}
將send_str[8]字符串發(fā)送到上位機,上位機接收到字符串后處理,最后將數(shù)據(jù)轉(zhuǎn)換成QString型才能顯示在顯示界面上。
3上位機程序設(shè)計
3.1 Linux操作系統(tǒng)介紹
Linux操作系統(tǒng)有很多優(yōu)點,首先Linux是開源的,相當(dāng)于全世界的人共同維護這個系統(tǒng),可以及時的發(fā)現(xiàn)并彌補漏洞[4];第二,Linux下的軟件很多都是開源的,所以使用Linux只需要花少量的錢或不花錢;第三,Linux非常穩(wěn)定可靠,Linux系統(tǒng)有很多概念都是繼承自Unix系統(tǒng)[5],當(dāng)然也繼承了Unix的穩(wěn)定可靠;第四,Linux支持多人多任務(wù),而Windows是單人多任務(wù),多人多任務(wù)比單人多任務(wù)的優(yōu)越性在于多人多任務(wù)更有利于團隊合作;第五,因為多人多任務(wù),所以目錄和檔案都有權(quán)限,以保證數(shù)據(jù)的安全性。
3.2 qt開發(fā)環(huán)境的搭建
Qt是一個用于開發(fā)圖形界面的軟件,它采用C和C++語言來開發(fā)界面。Qt開發(fā)出來的界面很漂亮,目前它的應(yīng)用范圍很廣泛,現(xiàn)在很多安卓手機上的圖片都是用Qt開發(fā)出來的。
直接在qt中配置交叉編譯器和QtEmbedded-4.8.5-arm,配置完后即可編譯出可在Z-turn Board核心板上執(zhí)行的二進制代碼。寫一個qt程序,用交叉編譯器編譯后,拷到核心板中,執(zhí)行此文件,qt交叉編譯環(huán)境安裝成功。
3.3 Z-turn Board 介紹
3.3.1 CPU電路部分及性能
ZYNQ簡介:
ZYNQ-7000 AP SOC 系列芯片的架構(gòu)較為復(fù)雜,它是以處理器系統(tǒng)為核心的高價值應(yīng)用架構(gòu),此時PL部分為PS的可擴展單元,它既可以配合PS完成一些外部邏輯的處理,也可以利用PL部分并行、硬件處理的特點,構(gòu)成PS中算法的一個外部協(xié)處理單元,形成一個強大的算法加速器[6]。
ZYNQ-7000 AP SOC完整開發(fā)流程:
硬件平臺設(shè)計: Xilinx工具組提供的開發(fā)環(huán)境Vivado和PlanAhead可幫助用戶快速構(gòu)建硬件平臺。在構(gòu)建硬件平臺的過程中,用戶有時需要定制專用的IP核。
軟件設(shè)計:完成硬件平臺設(shè)計后,將硬件配置文件導(dǎo)入SDK開發(fā)環(huán)境中,就可以進行軟件的編程、調(diào)試等開發(fā)過程了。
配置文件下載:將硬件平臺設(shè)計過程中的硬件比特流文件與軟件設(shè)計產(chǎn)生的可執(zhí)行文件進行合并,下載到配置存儲器中即完成了開發(fā)的最后一步。
3.3.2 CAN通信
CAN有兩個標(biāo)準(zhǔn)化的串行通信協(xié)議,分別是ISO11898和ISO11519。ISO11898傳輸速度在125Kbps到1Mbps之間,傳輸速度較快,但傳輸距離較近,一般在40m之內(nèi),才能獲得較快的速度,相比之下ISO11519傳輸速度低于125bps,傳輸速度較慢,但適用于長距離傳輸,最大傳輸距離可以達(dá)到10Km長,優(yōu)點是傳輸距離較長。
CAN可以同時連接多個單元,可以給這些單元設(shè)置優(yōu)先級。CAN采用郵箱的方式傳輸數(shù)據(jù),在把主機/從機接收數(shù)據(jù)之前已經(jīng)校驗完畢,所以這使得CAN幾乎不會有傳輸錯誤。
CAN 總線在同一時間可以連接很多個單元的總線。同時可連接設(shè)備的個數(shù)受到總線上的時間延遲及電氣負(fù)載以及對傳輸速度的要求的限制。當(dāng)需要比較高的傳輸速率時,同時可連接的單元的設(shè)備就不能那么多,如果傳輸速率較低時,就允許連接更多的設(shè)備了。
4實驗結(jié)果
通過上述研究,本課題已經(jīng)實現(xiàn)了以下設(shè)計目標(biāo):
1. 實現(xiàn)了stm32對電子束焊機柵偏電壓、燈絲電流、高壓和束流的采集。
2. 完成了上位機與下位機之間的CAN通信。
3. 用Qt軟件實現(xiàn)了上位機的顯示界面。
參考文獻(xiàn):
[1]馬正斌,劉金合,盧施宇,王世清.電子束焊接技術(shù)研究及進展[J].電焊機,2012.04,42(4):93-96.