基于MLX90615和STM32的多點(diǎn)紅外溫度測(cè)量系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
0 引言
目前在多點(diǎn)溫度測(cè)量系統(tǒng)中應(yīng)用較為廣泛的是DALLAS公司的數(shù)字溫度傳感器DS18B20,其優(yōu)點(diǎn)是只需一根總線,就能完成系統(tǒng)中數(shù)據(jù)的交換與控制。但DS18B20響應(yīng)速度慢,精度低,且在實(shí)際應(yīng)用中當(dāng)總線掛接的DS18B20 的數(shù)目超過(guò)8 個(gè)時(shí),就必須為每個(gè)DS18B20提供獨(dú)立電源供電,導(dǎo)致系統(tǒng)維護(hù)變得十分困難。紅外測(cè)溫技術(shù)作為一種便捷、準(zhǔn)確的非接觸式測(cè)溫技術(shù)而得到快速發(fā)展。紅外測(cè)溫可實(shí)現(xiàn)在其視場(chǎng)范圍內(nèi)對(duì)難以接觸區(qū)域或危險(xiǎn)區(qū)域進(jìn)行連續(xù)、實(shí)時(shí)的溫度監(jiān)測(cè),有效降低了測(cè)溫作業(yè)的危險(xiǎn)系數(shù);且具有體積小、精度高、可組網(wǎng)及實(shí)時(shí)性能好等優(yōu)點(diǎn)。本文采用數(shù)字式紅外溫度傳感器MLX90615作為溫度檢測(cè)器件,以STM32微處理器為核心,設(shè)計(jì)實(shí)現(xiàn)多點(diǎn)紅外溫度測(cè)量系統(tǒng)。
該系統(tǒng)具有優(yōu)點(diǎn)為:測(cè)溫精度高;測(cè)量不影響溫度場(chǎng)的分布;非接觸式溫度測(cè)量,降低危險(xiǎn)系數(shù);響應(yīng)時(shí)間短,易于實(shí)現(xiàn)動(dòng)態(tài)測(cè)量。
1 紅外輻射測(cè)溫基本原理
紅外輻射是一種人眼不可見(jiàn)的光線,俗稱(chēng)紅外線,它是介于可見(jiàn)光中紅色光和微波之間的光線。由于帶電粒子的運(yùn)動(dòng),一切溫度高于絕對(duì)零度的物體都在不停地向周?chē)臻g發(fā)出紅外輻射能量,能量波長(zhǎng)主要集中在0.6~15 μm波段。其輻射能量密度與溫度的關(guān)系符合斯蒂芬-波爾茲曼輻射定律:
由式(1)可知,只要已知物體的溫度及其輻射率,即可計(jì)算出它所發(fā)射的輻射功率。反之,如果測(cè)量出物體的輻射功率,即可確定物體的溫度。紅外傳感器的輸出信號(hào)是被測(cè)目標(biāo)溫度To 與傳感器自身溫度Ta 共同作用的結(jié)果:
式中:溫度單位均為Kelvin;A 為儀器常數(shù),與傳感器的設(shè)計(jì)結(jié)構(gòu)有關(guān)。
2 硬件設(shè)計(jì)
非接觸式多點(diǎn)紅外測(cè)溫系統(tǒng)硬件部分主要由紅外傳感器組、微處理器、其他外圍電路及PC組成。紅外傳感器將其視場(chǎng)范圍內(nèi)的紅外輻射轉(zhuǎn)化成數(shù)字信號(hào),通過(guò)SMBus總線將數(shù)據(jù)傳至STM32微處理器,微處理器與上位機(jī)進(jìn)行串口通信,將溫度數(shù)據(jù)顯示在上位機(jī)。
2.1 紅外傳感器部分
傳感器部分采用數(shù)字式紅外傳感器MLX90615ESG-DAA,該芯片是由Melexis 公司生產(chǎn)的高精度數(shù)字式測(cè)溫芯片,具有PWM和SMBus兩種輸出方式,正常工作的環(huán)境溫度范圍是-40~85 ℃,被測(cè)對(duì)象溫度范圍是-40~115 ℃,若需更小的測(cè)溫范圍,可通過(guò)SMBus總線修改E2PROM 中相應(yīng)控制字來(lái)改變這個(gè)范圍,從而提高精度。發(fā)射率可設(shè)置0~1.0之間的任意值,可根據(jù)公式:
發(fā)射率=dec2hex[round(16 384×ε)] ,將0~1.0之間的任意浮點(diǎn)數(shù)ε 轉(zhuǎn)換為16進(jìn)制數(shù),然后寫(xiě)入相應(yīng)控制字。
MLX90615主要由紅外熱電堆傳感器、低噪聲放大器、16位模/數(shù)轉(zhuǎn)換器和DSP單元等組成,其結(jié)構(gòu)框圖如圖1所示。紅外熱電堆傳感器將采集到的紅外輻射轉(zhuǎn)化為電信號(hào),并經(jīng)過(guò)低噪聲放大器放大后送給模/數(shù)轉(zhuǎn)換器。模數(shù)轉(zhuǎn)換器輸出的數(shù)字信號(hào)經(jīng)FIR/IIR低通濾波器調(diào)理后送入數(shù)字信號(hào)處理器,數(shù)字信號(hào)處理器對(duì)數(shù)字信號(hào)運(yùn)算處理后輸出測(cè)量結(jié)果并保存在MLX90615內(nèi)部RAM中,可以通過(guò)SMBus 或PWM 方式供主控CPU單元讀取。
若干個(gè)紅外傳感器作為從器件,通過(guò)SMBus總線連接到微處理器,典型的SMBus配置如圖2所示[3],SDA及SCL引腳皆需300 kΩ弱上拉。注意,MLX90615紅外傳感器支持7位地址,因此同一總線上的傳感器數(shù)量最多為127個(gè)。
2.2 微處理器
微處理器采用基于ARM Cortex-M3的32位微控制器STM32F103C8T6.該微處理器具有高速可靠、溫度范圍寬、資源豐富、功耗低等優(yōu)點(diǎn),廣泛應(yīng)用于醫(yī)療保健、手持設(shè)備、電機(jī)控制等場(chǎng)合。STM32F103C8T6具有64 KB 的片內(nèi)FLASH 存儲(chǔ)器、32 個(gè)通用I/O 引腳、2 個(gè)10 路12位A/D轉(zhuǎn)換器、3個(gè)通用定時(shí)器等外設(shè)資源和USART,I2C,SPI,CAN等通信接口,能夠滿足多點(diǎn)紅外測(cè)溫系統(tǒng)的設(shè)計(jì)要求。
3 軟件設(shè)計(jì)
3.1 MLX90615的傳輸協(xié)議
SMBus數(shù)據(jù)傳輸協(xié)議為主設(shè)備與從設(shè)備之間的數(shù)據(jù)通訊提供了可能,該協(xié)議規(guī)定,在某一時(shí)刻總線上只能有一個(gè)主設(shè)備有效。主設(shè)備可通過(guò)“讀數(shù)據(jù)”和“寫(xiě)數(shù)據(jù)”與從設(shè)備進(jìn)行“交流”,其數(shù)據(jù)傳輸格式如圖3、圖4所示。其中,S為起始位,Slave Address 為從器件地址,Wr為寫(xiě)標(biāo)志,Command 為命令字節(jié),Rd為讀標(biāo)志,PEC為出錯(cuò)數(shù)據(jù)包,P為停止位。
SDA上的數(shù)據(jù)在SCL變?yōu)榈碗娖?00 ns后即可改變,數(shù)據(jù)在SCL的上升沿被捕獲。16位數(shù)據(jù)分2次傳輸,每次傳一個(gè)字節(jié)。每個(gè)字節(jié)都是按照高位(MSB)在前,低位(LSB)在后的格式傳輸,兩個(gè)字節(jié)中間的第9個(gè)時(shí)鐘是應(yīng)答時(shí)鐘。數(shù)據(jù)傳輸時(shí)序如圖5所示。
3.2 溫度采集模塊
MLX90615 紅外溫度傳感器的出廠默認(rèn)地址為0x5b,因此應(yīng)首先通過(guò)軟件對(duì)紅外傳感器的地址進(jìn)行修改,避免總線上出現(xiàn)“一呼百應(yīng)”的情況。MLX90615支持7位地址,可使用地址值為1~127,所有傳感器都會(huì)響應(yīng)0×00地址,應(yīng)避免使用。更改地址時(shí)應(yīng)保證只有一只傳感器掛接在總線上,且必須先對(duì)傳感器地址控制字清空,即先寫(xiě)入“0×00”地址,再寫(xiě)入指定地址值,其流程如圖6所示。
初始化主要完成通用IO、串口、中斷及SMBus總線的設(shè)置。
為每個(gè)MLX90615紅外傳感器設(shè)置其惟一地址后,將其通過(guò)SDA及SCL兩線掛接到SMBus總線,與微處理器進(jìn)行通信。
微處理器作為總線上的主器件向總線上的第一個(gè)MLX90615發(fā)送命令并等待應(yīng)答,待收到應(yīng)答后,讀取該點(diǎn)溫度值并通過(guò)串口傳至上位機(jī)進(jìn)行顯示,之后向第二個(gè)MLX90615發(fā)送命令并等待應(yīng)答,得到應(yīng)答后讀取該點(diǎn)溫度并傳至上位機(jī)顯示,以此類(lèi)推,對(duì)總線上的所有MLX90615進(jìn)行溫度數(shù)據(jù)采集。MLX90615中讀出的溫度值轉(zhuǎn)換為攝氏溫度的公式為:
數(shù)據(jù)讀取流程圖如圖7所示。
3.3 上位機(jī)界面
上位機(jī)溫度監(jiān)測(cè)界面采用C++下的MFC類(lèi)庫(kù)編寫(xiě),實(shí)現(xiàn)上位機(jī)通過(guò)串口與微處理器連接,接收由微處理器發(fā)送的溫度數(shù)據(jù)并顯示。可通過(guò)單擊界面上的按鈕來(lái)控制、選擇監(jiān)測(cè)點(diǎn),如圖8所示。
4 實(shí)驗(yàn)結(jié)果
實(shí)驗(yàn)采用3只MLX90615傳感器分別監(jiān)測(cè)熱水、冰及室內(nèi)溫度,開(kāi)始監(jiān)測(cè)1 min后得到其方差、平均值及參考溫度如表1所示。
結(jié)果表明,MLX90615測(cè)溫精度更高,且測(cè)量結(jié)果穩(wěn)定,響應(yīng)速度可達(dá)7~9 ms.缺點(diǎn)是測(cè)溫時(shí)與被測(cè)對(duì)象距離需保持在2 cm以?xún)?nèi),距離超過(guò)70 cm時(shí)所測(cè)溫度為環(huán)境溫度。
5 結(jié)語(yǔ)
本文設(shè)計(jì)實(shí)現(xiàn)了基于MLX90615紅外傳感器的非接觸式多點(diǎn)溫度測(cè)量系統(tǒng),該系統(tǒng)測(cè)量精度可達(dá)0.02 ℃,且響應(yīng)速度快,抗干擾能力強(qiáng)。傳感器與微處理器的接口簡(jiǎn)單,簡(jiǎn)化了硬件設(shè)計(jì)工作,為多點(diǎn)溫度測(cè)量提供一種新方法。實(shí)驗(yàn)結(jié)果表明,該方法測(cè)溫精度高,響應(yīng)速度快,且非接觸式測(cè)量有效降低了危險(xiǎn)系數(shù),為多點(diǎn)測(cè)溫提供了一種新途徑。