陳 超,楊 琪,李智斌
(東方電氣集團東方鍋爐股份有限公司,四川 德陽 618000)
在工業(yè)生產(chǎn)過程中,焊條保溫桶常用于焊工施焊過程中對焊條的加熱保溫。其工作原理為:采用獨立的(70~80)V交直流電源對焊條保溫桶上、中、下3個加熱區(qū)域進行供電,通過內置加熱控制系統(tǒng)將焊條保溫桶內部溫度控制在(100~150)℃之間。因此,為保證其保溫性能可靠,需定期對其加熱保溫性能進行檢測。在實際檢測過程中,一般要求對焊條保溫桶內部上、中、下3個區(qū)域溫度均上升至100℃后的第一個控溫周期內(升溫、降溫、升溫)最高、最低溫度進行記錄,3個區(qū)域溫度均能保持在(100~150)℃ ± 10℃之間則視為焊條保溫桶檢測合格。
目前,工業(yè)中對焊條保溫桶加熱保溫性能檢測的常用做法是通過自制工裝將3支熱電偶放置于焊條保溫桶內部上、中、下3個位置進行溫度測量,并利用打點式自動平衡記錄儀實現(xiàn)溫度記錄及確認。該方法存在檢測效率低下,易受自動平衡記錄儀性能及環(huán)境溫濕度影響,無法自動記錄檢測人員、檢測時間等關鍵信息,檢測數(shù)據(jù)不便于存檔及后期查找,不利于后期量值溯源的缺點。因此,為解決上述缺點,本文設計了一種基于STM32、Qt的焊條保溫桶智能檢測系統(tǒng)。
系統(tǒng)主要由下位機溫度采集部分和上位機數(shù)據(jù)處理部分兩個部分組成。下位機溫度采集部分利用MAX31855熱電偶溫度轉換芯片對用于測量焊條保溫桶內部溫度的集成式三點測溫熱電偶溫度采集信號進行放大、冷端補償、模數(shù)轉換,然后通過單片機STM32F407ZGT6接收并處理熱電偶溫度數(shù)據(jù)后實時顯示在OLED顯示屏上,同時單片機通過串口將溫度數(shù)據(jù)發(fā)送給上位機。上位機利用Qt實現(xiàn)溫度數(shù)據(jù)實時接收解析、存儲、繪圖顯示、極值點尋找、檢測結果判定及歷史數(shù)據(jù)查詢等功能。具體而言系統(tǒng)應滿足如下功能需求:
1)準確測量焊條保溫桶內部上、中、下3個區(qū)域的溫度,測溫誤差應小于±1℃,并實現(xiàn)OLED顯示屏實時顯示溫度數(shù)據(jù)。
2)提供用戶登錄、注冊功能,并對用戶信息的合法性進行驗證,以此保障系統(tǒng)的安全性。
3)實現(xiàn)溫度數(shù)據(jù)的實時保存、繪圖顯示,便于用戶直觀查看溫度變化及后期查詢。
4)自動尋找各路溫度數(shù)據(jù)的極值點并實時顯示,檢測完成后自動判定檢測結果,并用紅色對誤差超標的數(shù)據(jù)加以區(qū)分。
5)提供歷史檢測數(shù)據(jù)查詢功能,方便用戶管理各臺焊條保溫桶,方便后期量值溯源。
6)當檢測完成后,系統(tǒng)及時切斷焊條保溫桶電源,確保用電安全。
系統(tǒng)硬件部分主要由單片機系統(tǒng)模塊、溫度采集模塊、OLED顯示模塊、電源控制模塊、串行通信模塊組成。集成式三點測溫熱電偶分別采集焊條保溫桶內部上、中、下三路溫度數(shù)據(jù),并由MAX31855處理補償后傳送給STM32F407ZGT6單片機。單片機將該溫度數(shù)據(jù)進行濾波處理后,通過OLED顯示模塊實時顯示,同時通過串口將溫度數(shù)據(jù)傳送給PC機,再由PC機做數(shù)據(jù)處理并保存。待檢測完成后,系統(tǒng)通過電源控制模塊自動切斷焊條保溫桶電源,使其停止加熱保溫。系統(tǒng)硬件結構圖如圖1。
圖1 系統(tǒng)硬件結構圖Fig.1 System hardware structure diagram
系統(tǒng)采用意法半導體公司設計的STM32F407ZGT6作為微處理器,它是基于ARM Cortex-M4內核的32位微處理器,主頻高達168MHz,具有優(yōu)異的實時數(shù)據(jù)處理能力。其具有1024K片上FLASH和192K SRAM、3個SPI、3個IIC、6個串口,內部集成SPI總線、串行總線、12位A/D等資源,完全滿足系統(tǒng)開發(fā)以及后期功能擴展的需要[1]。另外,編程時可以選擇基于HAL庫的STM32CubeMX軟件進行開發(fā),其圖像化的參數(shù)配置能極大縮短開發(fā)周期,降低編程難度。
系統(tǒng)采用K型集成式三點測溫熱電偶實現(xiàn)焊條保溫桶內部上、中、下3個位置的溫度采集,并通過MAX31855熱電偶溫度轉換芯片處理補償熱電偶的微弱信號,利用STM32F407ZGT6單片機的三路SPI串行通信通道即可讀取焊條保溫桶內部上、中、下3個位置的溫度數(shù)據(jù)。MAX31855直接將熱電偶信號轉換為數(shù)字信號,具有信號放大、冷端補償、線性化、檢測熱電偶開路、A /D轉換及SPI串口數(shù)字化輸出功能,通過SPI兼容接口輸出14位帶符號數(shù)據(jù)[2]。其最高溫度讀數(shù)為+1800℃,最低溫度讀數(shù)為-270 ℃,冷端補償范圍為-55℃~+127℃,溫度分辨率為0.25℃[3]。在實際溫度采集過程中,MAX31855內部的ADC采樣會讓溫度數(shù)據(jù)產(chǎn)生0.25℃的波動,此時可以通過均值濾波的方式加以改善,經(jīng)程序補償處理后,最高可保持±1℃的精度。由于熱電偶產(chǎn)生的電勢差微弱,容易受電源電壓的影響,導致熱電偶產(chǎn)生的模擬信號嚴重失真,故在靠近芯片電源引腳的位置連接大小為1μF的旁路電容,用于降低電源對熱電偶的影響[4]。集成式三點測溫熱電偶結構圖、溫度采集電路分別如圖2、圖3。
圖2 集成式三點測溫熱電偶結構圖Fig.2 Integrated three-point temperature measurement thermocouple structure diagram
圖3 溫度采集電路Fig.3 Temperature acquisition circuit
系統(tǒng)采用0.96英寸,分辨率為128×64的OLED作為下位機顯示模塊,通過單片機IIC通信接口進行連接。利用自制字庫,提前繪制焊條保溫桶相關信息界面,最后只需單片機定時將處理后的溫度數(shù)據(jù)通過IIC通信接口發(fā)送給OLED顯示屏,即可實現(xiàn)焊條保溫桶內部上、中、下三路溫度數(shù)據(jù)的實時顯示。OLED信息顯示如圖4。
圖4 OLED信息顯示Fig.4 OLED Information display
焊條保溫桶作為大功率器件,不能直接和單片機連接,需要通過輸出驅動器實現(xiàn)單片機對焊條保溫桶電源通斷的控制。由于固態(tài)繼電器的眾多優(yōu)點,本文采用德力西CDG1-1DD/25A固態(tài)繼電器作為連接焊條保溫桶和單片機之間的驅動器,同時為提高系統(tǒng)穩(wěn)定性,采用光電耦合器PC817C實現(xiàn)電氣隔離。電源控制電路如圖5。
圖5 電源控制電路Fig.5 Power control circuit
下位機程序采用模塊化程序設計方法,包含溫度采集子程序、數(shù)據(jù)處理子程序、OLED顯示子程序、電源控制子程序、串口通訊子程序,主要實現(xiàn)對焊條保溫桶內部上、中、下3個位置溫度數(shù)據(jù)的采集、濾波處理,并將處理好的數(shù)據(jù)實時顯示在OLED顯示屏上,同時通過串口將數(shù)據(jù)傳送給上位機。另外,電源控制子程序還負責接收上位機發(fā)出的電源控制指令,在系統(tǒng)檢測完成后及時斷開焊條保溫桶電源。下位機程序流程圖如圖6。
圖6 下位機程序流程圖Fig.6 Lower computer program flow chart
上位機軟件基于Qt進行開發(fā),采用多線程編程方式,同時實現(xiàn)數(shù)據(jù)存儲及繪圖顯示。Qt是Qt Company開發(fā)的跨平臺C++圖形用戶界面應用程序開發(fā)框架,具有優(yōu)良的跨平臺特性、面向對象、豐富的API、大量的開發(fā)文檔、開源等優(yōu)點,用戶可以輕而易舉地通過拖拽的方式布控Qt界面控件[5-7]。上位機軟件主要完成系統(tǒng)登錄驗證、數(shù)據(jù)接收解析、數(shù)據(jù)極值點尋找、數(shù)據(jù)存儲及繪圖、電源控制、歷史數(shù)據(jù)查詢等功能。上位機軟件結構圖如圖7。
圖7 上位機軟件結構圖Fig.7 Upper computer software structure diagram
3.2.1 系統(tǒng)登錄驗證模塊
為辨別當前檢測人員信息,系統(tǒng)設有用戶注冊、登錄功能。同時為記錄用戶數(shù)據(jù),此處選用Qt內置的SQLite數(shù)據(jù)庫進行存儲。該數(shù)據(jù)庫支持標準的SQL命令,數(shù)據(jù)存儲在單個物理文件中,零配置和安裝,在系統(tǒng)崩潰或失電之后可自動恢復。訪問速度快、體積小,訪問數(shù)據(jù)庫的程序直接從磁盤上的數(shù)據(jù)文件讀寫,具有高達2TB的大存儲量,完全滿足本應用程序的開發(fā)需求[8]。系統(tǒng)初始化時,SQLite數(shù)據(jù)庫中包含一張帶有系統(tǒng)管理員賬號、密碼的用戶信息表單,該表單用于用戶注冊、登錄、身份驗證等功能,系統(tǒng)管理員可以通過登錄管理員賬號的方式實現(xiàn)對系統(tǒng)普通用戶的增刪改查。用戶登錄、注冊界面如圖8、圖9。
圖8 用戶登錄界面Fig.8 Login UI
圖9 用戶注冊界面Fig.9 Registration UI
3.2.2 數(shù)據(jù)接收解析模塊
上位機與下位機通過串口實現(xiàn)數(shù)據(jù)通信。為保證上位機接收數(shù)據(jù)的準確穩(wěn)定,需要在上位機與下位機之間設定一個通信協(xié)議。下位機將采集到的三路溫度數(shù)據(jù)打包成一定格式后,通過串口傳輸給上位機,此時上位機按照相同格式解析接收到的數(shù)據(jù)包即可獲取焊條保溫桶內部上、中、下3個位置的溫度數(shù)據(jù)。
3.2.3 數(shù)據(jù)極值點尋找模塊
根據(jù)焊條保溫桶檢測要求,需要對焊條保溫桶內部上、中、下3個區(qū)域溫度均上升至100℃后的第一個控溫周期內的最高、最低溫度進行記錄。因此,當溫度數(shù)據(jù)解析出來后,需要分別尋找這3個位置的溫度極大、極小值。由于焊條保溫桶保溫曲線為偽正弦曲線,因而在程序設計時,通過將當前溫度數(shù)據(jù)與下一個溫度數(shù)據(jù)相互比較的方式求出溫度極大值、極小值。溫度極值尋找流程圖如圖10。
圖10 溫度極值尋找流程圖Fig.10 Temperature extremum search flow chart
3.2.4 數(shù)據(jù)存儲及繪圖模塊
為保存焊條保溫桶檢測過程中的溫度數(shù)據(jù),系統(tǒng)采用Qt內置的SQLite輕量級文件型數(shù)據(jù)庫進行存儲。當用戶登錄成功,填寫被檢焊條保溫桶相關信息并開始檢測后,此時系統(tǒng)根據(jù)用戶所填信息,自動新建一張表名為被檢焊條保溫桶編號的新表單。該表單主要存放當前檢測人員信息、檢測日期、溫度極值以及帶時間標簽的焊條保溫桶內部3個溫度采集點的溫度數(shù)據(jù)。通過以上表單設置,可以極大方便后期查看不同編號焊條保溫桶的檢測信息。同時,系統(tǒng)采用QcustomPlot對解析出來的溫度數(shù)據(jù)進行實時溫度曲線繪制。QcustomPlot是基于Qt的用于繪圖及數(shù)據(jù)可視化的C++部件,它沒有復雜的依賴關系,在Qt工程中引入相應的頭文件即可使用[9]。系統(tǒng)檢測主界面如圖11。
圖11 系統(tǒng)檢測主界面Fig.11 System verification main interface
3.2.5 電源控制模塊
系統(tǒng)在檢測完成后,通過固態(tài)繼電器實現(xiàn)焊條保溫桶電源的切斷。當系統(tǒng)完成檢測后,上位機軟件通過串口向下位機發(fā)送電源斷開“OFF”指令。當下位機接收到該指令后,立即將控制固態(tài)繼電器通斷的PC0引腳置為低電平,此時固態(tài)繼電器斷路,焊條保溫桶電源被切斷,本次檢測完成。
3.2.6 歷史數(shù)據(jù)查詢模塊
為方便用戶查詢歷史數(shù)據(jù),系統(tǒng)設有歷史數(shù)據(jù)查詢功能。用戶可通過焊條保溫桶編號、檢測日期等信息精確查找該焊條保溫桶的歷史檢測數(shù)據(jù),并自動將所查詢的歷史溫度數(shù)據(jù)通過QcustomPlot進行繪圖顯示,方便用戶查看。另外,系統(tǒng)還通過調用Qt中QPdfWriter、QPainter類實現(xiàn)了檢測證書PDF格式導出功能,用戶可以根據(jù)需求選擇是否導出檢測證書。
為保證系統(tǒng)溫度采集數(shù)據(jù)的準確性,選用溫度波動范圍為±0.05℃的熱電偶恒溫爐在50℃~200℃溫度區(qū)間內每隔25℃對系統(tǒng)進行標定。在各項標定溫度下,使用系統(tǒng)的上、中、下三路溫度采集通道同時進行測量,從而得到三路溫度采集通道的溫度數(shù)據(jù),系統(tǒng)測試數(shù)據(jù)見表1。通過表1數(shù)據(jù)可以看出,系統(tǒng)三路溫度采集通道的測溫最大絕對誤差均在±1℃以內,系統(tǒng)溫度采集準確性及穩(wěn)定性良好,滿足系統(tǒng)設計要求。
本文基于STM32和Qt設計并實現(xiàn)了焊條保溫桶智能檢測系統(tǒng)。系統(tǒng)利用STM32單片機采集溫度數(shù)據(jù),并通過串口將溫度數(shù)據(jù)傳送至Qt上位機。經(jīng)過實際測試,系統(tǒng)成功實現(xiàn)了焊條保溫桶內部溫度數(shù)據(jù)的自動采集,實現(xiàn)了數(shù)據(jù)保存、曲線繪制、極值尋找及歷史數(shù)據(jù)查詢等功能,并能通過溫度極值自動給出檢測結論,檢測完成后自動切斷焊條保溫桶電源。通過標定測試發(fā)現(xiàn)系統(tǒng)測溫誤差均在±1℃以內,溫度采集準確性及穩(wěn)定性良好,滿足焊條保溫桶的實際檢測要求,具有良好的實用價值。