王澤平 房雲(yún)峰 姜寶龍 白振宇
摘要:應(yīng)用MATLAB環(huán)境下PC機(jī)與Arduino實(shí)時(shí)串行通訊及數(shù)據(jù)處理的方法,完成焊接熱循環(huán)測(cè)試系統(tǒng)的搭建。針對(duì)K型熱電偶提取焊接溫度場(chǎng)數(shù)據(jù),基于MATLAB進(jìn)行實(shí)時(shí)的曲線繪制和焊接熱循環(huán)分析,簡(jiǎn)化了焊接熱循環(huán)實(shí)驗(yàn)流程,便于進(jìn)一步完善實(shí)驗(yàn)步驟。
關(guān)鍵詞:焊接;熱循環(huán);測(cè)試系統(tǒng)
0? 引言
HAZ熱循環(huán)的測(cè)定分為焊接熱模擬法和就地實(shí)測(cè)法。目前實(shí)驗(yàn)室多采用焊接熱模擬法。焊接熱模擬法是將試件放在熱模擬裝置中經(jīng)歷與焊接相同的熱過(guò)程,其設(shè)備比較昂貴。在焊接熱循環(huán)的地實(shí)測(cè)法上,多采用紅外測(cè)溫法和熱電偶法。紅外測(cè)溫技術(shù)是一項(xiàng)較為新型的測(cè)溫技術(shù),但在對(duì)焊接溫度場(chǎng)進(jìn)行測(cè)試時(shí),焊接區(qū)附近的焊接飛濺、煙塵、保護(hù)氣體等會(huì)直接影響到其監(jiān)測(cè)。本文設(shè)計(jì)新型焊接熱循環(huán)測(cè)試系統(tǒng),通過(guò)Arduino及計(jì)算機(jī)實(shí)時(shí)地對(duì)溫度數(shù)據(jù)進(jìn)行分析處理,繪制熱循環(huán)曲線,分析計(jì)算焊接熱循環(huán)的主要參數(shù)。新版本的MATLAB開發(fā)了相應(yīng)的Arduino模塊,相對(duì)于單片機(jī)來(lái)說(shuō),在進(jìn)行與實(shí)時(shí)通訊時(shí)更具有便捷性。本文應(yīng)用了一種MATLAB環(huán)境下,PC機(jī)與Arduino實(shí)時(shí)串行通信數(shù)據(jù)處理方法,簡(jiǎn)化測(cè)試系統(tǒng)開發(fā)流程,提高了項(xiàng)目開發(fā)效率。
1? 測(cè)試裝置設(shè)計(jì)
1.1 總體
測(cè)溫裝置以Arduino為主控單元,同時(shí)控制6路測(cè)溫模塊測(cè)溫,并采集焊接時(shí)的電流和電壓和各路測(cè)溫模塊的數(shù)字信號(hào)。Arduino將數(shù)據(jù)傳送到上位機(jī),上位機(jī)基于MATLAB完成繪制測(cè)試溫度曲線、焊接電壓電流值曲線的工作, 并以Excel格式存儲(chǔ)測(cè)量值。同時(shí)設(shè)置繼電器隔離模塊,可以耐受GMAW焊時(shí)焊接電流及電壓對(duì)系統(tǒng)的干擾。系統(tǒng)構(gòu)成如圖1所示。
1.2 測(cè)溫模塊
測(cè)溫模塊是焊接熱循環(huán)測(cè)試系統(tǒng)的核心,使用合理的測(cè)溫元件及信號(hào)調(diào)理電路是數(shù)據(jù)采集有效性的根本。
實(shí)驗(yàn)設(shè)備中常用的溫度傳感器有光學(xué)溫度傳感器,數(shù)字式溫度傳感器、熱電偶、熱電阻等[1]。焊接區(qū)附近的焊接飛濺、弧光等直接影響光學(xué)溫度傳感器的測(cè)量精度,同時(shí)焊接溫度場(chǎng)溫度最高可達(dá)1300℃。為滿足焊接熱循環(huán)的測(cè)定,選擇K型熱電偶作為測(cè)溫元件。
針對(duì)K型熱電偶,本文選用美國(guó)MAXIM公司生產(chǎn)的MAX6675芯片作為數(shù)模轉(zhuǎn)換器。芯片內(nèi)置冷端補(bǔ)償范圍為-20~+80℃,適應(yīng)室溫波動(dòng)的測(cè)試環(huán)境。同時(shí)芯片具備簡(jiǎn)單的SPI串行接口,通過(guò)三根線實(shí)現(xiàn)與Arduino的通訊。因其具備熱電偶斷線檢測(cè)功能,和較強(qiáng)的抗干擾性,使得熱電偶測(cè)溫線路變得簡(jiǎn)單,方便了焊接熱循環(huán)區(qū)傳感器的線路布置。
MAX6675作為從設(shè)備,采用SPI串行外設(shè)總線與Arduino接口,其工作時(shí)序,其中如圖2所示,CS為片選信號(hào),SO為串行數(shù)里輸出,SCK為串行時(shí)鐘輸入[2]。Arduino的ATmega系列處理器內(nèi)建SPI接口,位于數(shù)字10~13腳。
在MAX6675的CS引腳從1變?yōu)?時(shí),芯片停止信號(hào)轉(zhuǎn)換,并通過(guò)SO引腳發(fā)送轉(zhuǎn)換后的數(shù)據(jù)。每個(gè)時(shí)鐘周期發(fā)送出一位數(shù)據(jù)。高位先發(fā)送,需要16個(gè)時(shí)鐘周期發(fā)送完整的數(shù)據(jù)。15是冗余位,14-3是溫度值,D2檢測(cè)熱電偶是否斷開位。將片選端連接到Arduino的2~7的I/O口上,便于在程序中進(jìn)行數(shù)據(jù)的循環(huán)采樣,將一個(gè)循環(huán)中六個(gè)傳感器采集的溫度信號(hào)歸為一組,按組與上位機(jī)進(jìn)行數(shù)據(jù)傳輸,每組數(shù)據(jù)作為中斷信號(hào),如設(shè)置回調(diào)函數(shù)觸發(fā)事件,當(dāng)緩沖區(qū)中達(dá)到設(shè)定字節(jié)的數(shù)據(jù)時(shí),觸發(fā)中斷。
1.3 與PC端的通訊模塊
采用MATLAB作為上位機(jī),與Arduino進(jìn)行實(shí)時(shí)通訊[3-4]。MATLAB與Arduino的通訊方式有四種,其中實(shí)現(xiàn)數(shù)據(jù)回傳的有Simulink串口通信或者儀器控制工具箱,為了保證系統(tǒng)的實(shí)時(shí)性更高,本文選用儀器控制工具箱,采用基于事件驅(qū)動(dòng)中斷通信機(jī)制,與上位機(jī)進(jìn)行數(shù)據(jù)傳送。使用serial函數(shù)創(chuàng)建串口對(duì)象,定義通信模式,并在對(duì)象屬性上獲得串口的狀態(tài)。
查詢和中斷為讀取串口數(shù)據(jù)的兩種方式[5]。查詢方式,大量的數(shù)據(jù)下位機(jī)分批分時(shí)傳輸給PC機(jī),需要不停查詢串行口的緩沖區(qū),時(shí)刻保持著有數(shù)據(jù)就讀取的狀態(tài),不能對(duì)數(shù)據(jù)進(jìn)行實(shí)時(shí)處理。為了保證測(cè)試系統(tǒng)的實(shí)時(shí)性,以中斷方式對(duì)串口進(jìn)行控制,實(shí)現(xiàn)實(shí)時(shí)處理下位機(jī)傳送的數(shù)據(jù),采用MATLAB的事件和回調(diào)函數(shù)機(jī)制完成。
裝置工作時(shí),MATLAB通過(guò)調(diào)用儀器控制工具箱中serial函數(shù),創(chuàng)建串口對(duì)象,得到Arduino文件句柄,操作文件實(shí)現(xiàn)對(duì)PC機(jī)串行口讀寫[6]。PC機(jī)可以通過(guò)MATLAB向串行口發(fā)送特殊指令,Arduino對(duì)此反應(yīng),將采樣數(shù)據(jù)通過(guò)串行口回傳。MATLAB通過(guò)中斷,實(shí)時(shí)接收Arduino發(fā)送的數(shù)據(jù),并完成對(duì)數(shù)據(jù)分析處理、文件存儲(chǔ)及圖形顯示。
1.4 MATLAB實(shí)時(shí)顯示數(shù)據(jù)
常用的MATLAB二維畫圖函數(shù)為plot,但其一般為靜態(tài)的。實(shí)時(shí)的數(shù)據(jù)顯示需要?jiǎng)討B(tài)同步顯示。本文采用drawnow,刷新屏幕的,搭配plot完成數(shù)據(jù)曲線的實(shí)時(shí)顯示。
2? 結(jié)論
本文設(shè)計(jì)的焊接熱循環(huán)測(cè)試裝置由Arduino采集MAX6675的輸出信號(hào),并將數(shù)據(jù)送入上位機(jī),有MATLAB中進(jìn)行數(shù)據(jù)處理和實(shí)時(shí)顯示。
由MATLAB本身在工程計(jì)算方面的強(qiáng)大,便與對(duì)測(cè)試系統(tǒng)的進(jìn)一步完善和開發(fā)。利用多路熱循環(huán)測(cè)試系統(tǒng),在焊接過(guò)程中實(shí)時(shí)測(cè)試各測(cè)點(diǎn)的溫度,并分析繪制熱循環(huán)曲線計(jì)算其主要參數(shù),為后續(xù)分析焊接參數(shù)對(duì)應(yīng)力變形、焊接冷卻相變過(guò)程、接頭組織、分析HAZ組織與性能提供數(shù)據(jù)支持。
參考文獻(xiàn):
[1]李宇.焊接熱循環(huán)數(shù)據(jù)采集系統(tǒng)中的硬件設(shè)計(jì)[J].科技創(chuàng)新與應(yīng)用,2017(28):96-97.
[2]周志煒.基于MAX6675的測(cè)溫裝置[C].中國(guó)電工技術(shù)學(xué)會(huì)電工產(chǎn)品可靠性研究會(huì).第五屆電工產(chǎn)品可靠性與電接觸國(guó)際會(huì)議論文集.中國(guó)電工技術(shù)學(xué)會(huì)電工產(chǎn)品可靠性研究會(huì):中國(guó)電工技術(shù)學(xué)會(huì),2014:363-367.
[3]向先波,徐國(guó)華,張琴.Matlab環(huán)境下PC機(jī)與單片機(jī)的串行通信及數(shù)據(jù)處理[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2004(12):27-31.
[4]張中然,焦波,孫志勇,丁明娜.一般光照條件下鋁塑泡罩藥品包裝檢測(cè)系統(tǒng)[J].哈爾濱理工大學(xué)學(xué)報(bào),2017,22(05):65-69,75.