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