中國(guó)地質(zhì)調(diào)查局水文地質(zhì)環(huán)境地質(zhì)調(diào)查中心 國(guó)土資源部地質(zhì)環(huán)境監(jiān)測(cè)技術(shù)重點(diǎn)實(shí)驗(yàn)室 張曉飛 呂中虎韓永溫 孟憲瑋 張 青
溫度是一個(gè)非常重要的物理量,溫度控制關(guān)聯(lián)著生產(chǎn)安全、產(chǎn)品質(zhì)量、產(chǎn)品產(chǎn)量等一系列問(wèn)題,因此對(duì)溫度的檢測(cè)與控制是工業(yè)生產(chǎn)和自動(dòng)控制中最重要的環(huán)節(jié)之一[1]。在工業(yè)生產(chǎn)過(guò)程中,很多時(shí)候都需要對(duì)溫度進(jìn)行嚴(yán)格的監(jiān)控,通常的鉑電阻測(cè)溫系統(tǒng)如果要獲得高準(zhǔn)確度和多傳感器連接,則電路相對(duì)復(fù)雜,容易受到干擾[2]。目前有一種新型的數(shù)字化測(cè)溫芯片ADT7420,它具有很高的分辨率和準(zhǔn)確度,結(jié)構(gòu)簡(jiǎn)單,在一定范圍內(nèi)具有替代鉑熱電阻的優(yōu)勢(shì)[3]。
本次設(shè)計(jì)采用STM32微控制器為采集處理核心,采用ADT7420為溫度檢測(cè)單元,采用I2C多路復(fù)用器PCA9544A為中間節(jié)點(diǎn)單元,設(shè)計(jì)了一種能最多掛載32個(gè)溫度傳感器ADT7420的多點(diǎn)溫度采集系統(tǒng)。
圖1 多點(diǎn)溫度采集系統(tǒng)總體結(jié)構(gòu)圖
如圖1所示,多點(diǎn)溫度采集系統(tǒng)由溫度檢測(cè)單元、中間節(jié)點(diǎn)單元和STM32微控制器單元三部分組成。溫度檢測(cè)單元采用高精度數(shù)字溫度傳感器ADT7420感知其環(huán)境溫度的變化[4];中間節(jié)點(diǎn)單元采用以I 2C多路復(fù)用器PCA9544A為核心[5],采集系統(tǒng)最多可同時(shí)掛接8個(gè)中間節(jié)點(diǎn);STM32微控制器單元是數(shù)據(jù)采集處理的核心[6],其通過(guò)I2C總線發(fā)送地址碼來(lái)依次選定中間節(jié)點(diǎn),再發(fā)送命令碼依次選通與中間節(jié)點(diǎn)相連的4個(gè)溫度傳感器,從而完成對(duì)所有溫度檢測(cè)單元的讀寫操作。
設(shè)計(jì)中采用高精度數(shù)字溫度傳感器ADT7420檢測(cè)環(huán)境溫度的變化。ADT7420是一種具有自校準(zhǔn)、16位分辨率、高線性度的數(shù)字溫度傳感器。該芯片內(nèi)置一個(gè)帶隙溫度基準(zhǔn)源、一個(gè)溫度傳感器和一個(gè)16位ADC,用來(lái)監(jiān)控溫度并進(jìn)行數(shù)字轉(zhuǎn)換,分辨率為0.0078℃,其在(-20~+105)℃的溫度范圍內(nèi),可達(dá)到±0.25℃準(zhǔn)確度,在一定范圍內(nèi)具有替代鉑熱電阻的優(yōu)勢(shì)[4]。ADT7420具有I2C總線,可以很方便的與中間節(jié)點(diǎn)PCA9544A連接。如圖2所示,ADT7420與PCA9544A采用I 2C總線連接,為了設(shè)計(jì)上的方便,將ADT7420的地址線A0和A1均接地。
設(shè)計(jì)中采用I 2C多路復(fù)用器PCA9544A作為中間節(jié)點(diǎn)。PCA9544A是NXP公司生產(chǎn)的I2C總線多路復(fù)用器,通過(guò)該器件可以將一路I2C總線擴(kuò)展為4路I2C總線,將1路上行SDA/SCL通道擴(kuò)展為4路下行通道。通過(guò)對(duì)該器件內(nèi)部可編程寄存器進(jìn)行配置,在同一時(shí)間可以任意選擇一對(duì)SCx/SDx線[5]。該器件通過(guò)3個(gè)可編程地址引腳A0、A1、A2,允許多達(dá)8個(gè)設(shè)備掛接在總線上。如圖2所示,PCA9544A與ADT7420采用I2C總線連接,采用這種方式最多可同時(shí)掛接32個(gè)ADT7420。
圖2 溫度檢測(cè)單元和中間節(jié)點(diǎn)單元電路圖
微控制器是多點(diǎn)溫度采集系統(tǒng)的數(shù)據(jù)采集處理的核心部分,該系統(tǒng)中間節(jié)點(diǎn)的選取、溫度檢測(cè)單元的選通和溫度的讀取等均通過(guò)微控制器的I2C接口來(lái)完成。設(shè)計(jì)中采用的微控制器是ST公司生產(chǎn)的微控制器芯片STM32F103,如圖3所示,使用其GPIO口與LCD1602和輸入按鍵相接,用于顯示測(cè)量結(jié)果及系統(tǒng)參數(shù)的設(shè)定,使用其USART口與U盤存儲(chǔ)模塊相連接,自帶的看門狗電路能保證系統(tǒng)的穩(wěn)定運(yùn)行,外接的I2C存儲(chǔ)芯片24C02用于存儲(chǔ)輸入的系統(tǒng)參數(shù)等重要信息,保證在掉電過(guò)程中這些參數(shù)不至于丟失[6,7]。U盤存儲(chǔ)模塊選用南京沁恒公司生產(chǎn)的U盤文件讀寫模塊,其支持FAT12、FAT16及FAT32文件系統(tǒng),外圍電路簡(jiǎn)單、操作方便。
圖3 STM32微控制器聯(lián)結(jié)框圖
多點(diǎn)溫度采集系統(tǒng)的軟件設(shè)計(jì)以STM32F103微控制器為基礎(chǔ),采用模塊化思想,通過(guò)主程序調(diào)用的形式來(lái)實(shí)現(xiàn)整個(gè)系統(tǒng)的初始化,系統(tǒng)參數(shù)的輸入,多點(diǎn)溫度的采集處理等。系統(tǒng)軟件采用C語(yǔ)言編寫,總體流程如圖4所示[6]。
圖4 多點(diǎn)溫度采集系統(tǒng)軟件流程圖
軟件主體由啟動(dòng)界面、封面界面、系統(tǒng)參數(shù)設(shè)定界面和數(shù)據(jù)采集界面組成。按照順序,程序先顯示啟動(dòng)界面,接著顯示進(jìn)入封面界面,在封面界面中,如果有按鍵按下,則進(jìn)入?yún)?shù)設(shè)定界面,如3秒內(nèi)沒(méi)有按鍵操作則直接按照默認(rèn)的參數(shù)進(jìn)入數(shù)據(jù)采集界面。在參數(shù)界面中,通過(guò)按鍵進(jìn)行系統(tǒng)時(shí)間、中間節(jié)點(diǎn)個(gè)數(shù)、采集時(shí)間間隔的設(shè)定,在采集界面中,依據(jù)設(shè)定的參數(shù)調(diào)用溫度數(shù)據(jù)采集模塊完成對(duì)各溫度檢測(cè)單元ADT7420的溫度采集。
多點(diǎn)溫度采集模塊的程序設(shè)計(jì)主要針對(duì)中間節(jié)點(diǎn)PCA9544A和溫度檢測(cè)單元ADT7420進(jìn)行操作。溫度采集模塊的程序流程圖如圖5所示,在設(shè)定中間節(jié)點(diǎn)個(gè)數(shù)的基礎(chǔ)上,進(jìn)行I2C總線的初始化,先選取地址最小的中間節(jié)點(diǎn)PCA9544A,接著依次選取下行總行I2C0—I2C2,再依照ADT7420的操作命令依次完成ADT7420的工作模式設(shè)定、溫度的讀取等操作,在完成選定的這個(gè)中間節(jié)點(diǎn)上4個(gè)溫度檢測(cè)單元的操作后,依次選取下一地址的中間節(jié)點(diǎn),依次對(duì)連接在中間節(jié)點(diǎn)上的溫度檢測(cè)單元進(jìn)行模式設(shè)定和溫度讀取的操作,從而完成所有節(jié)點(diǎn)上所有溫度檢測(cè)單元的操作[4,5]。
本設(shè)計(jì)采用高精度數(shù)字溫度傳感器ADT7420和I2C多路復(fù)用器PCA9544A設(shè)計(jì)了一種多點(diǎn)溫度采集系統(tǒng),結(jié)構(gòu)清晰,外接元件少,實(shí)用性強(qiáng),能夠很好地巡回采集多點(diǎn)溫度值,在實(shí)際應(yīng)用中工作性能穩(wěn)定,測(cè)量溫度準(zhǔn)確,精度較高。
[1]張姍姍.基于單片機(jī)的溫度采集控制系統(tǒng)設(shè)計(jì)[J].信息通信,2012,06(2):69-70.
[2]吳祿慎,李彧雯.基于單片機(jī)的多點(diǎn)溫度采集系統(tǒng)設(shè)計(jì)[J].飛機(jī)設(shè)計(jì),2010,08(5):76-80.
[3]呂中平.基于ADT7420的新型數(shù)字溫度記錄儀[J].計(jì)量與測(cè)試技術(shù),2012,07(2):6,8.
[4]Analog Devices,Inc.ADT7420 Data Sheet[EB/OL].Rev0,2012-12.
[5]廣州致遠(yuǎn)電子有限公司.PCA9544A-I2C總線多路復(fù)用器產(chǎn)品數(shù)據(jù)手冊(cè)(中)[EB/OL].V0.00,2009-08-18.
[6]張曉飛,郝文杰,張青等.基于STM 32的裂縫位移監(jiān)測(cè)系統(tǒng)[J].微計(jì)算機(jī)應(yīng)用,2011,05(8):52-59.
[7]孫啟富,孫運(yùn)強(qiáng),姚愛(ài)琴.基于STM 32的通用智能儀表設(shè)計(jì)與應(yīng)用[J].儀表技術(shù)與傳感器,2010,10(3):34-36.