《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 測試測量 > 設(shè)計(jì)應(yīng)用 > 便攜式多點(diǎn)溫度同步采集系統(tǒng)設(shè)計(jì)
便攜式多點(diǎn)溫度同步采集系統(tǒng)設(shè)計(jì)
摘要: 以嵌入式ARM處理器STM32F103VC為核心,結(jié)合無線通信和溫度檢測技術(shù),設(shè)計(jì)了一套多點(diǎn)溫度同步采集系統(tǒng)。系統(tǒng)可根據(jù)設(shè)定的采集模式對多點(diǎn)溫度進(jìn)行同步采集,并將時(shí)間信息及溫度數(shù)據(jù)存入SD卡,用戶可將SD卡內(nèi)數(shù)據(jù)本機(jī)回放,也可讀入上位機(jī)進(jìn)行分析、存儲等。系統(tǒng)功耗極低,采用電池供電,采集過程無需人工干預(yù),也可適用于野外溫度數(shù)據(jù)的采集與存儲。給出了硬件組成與軟件編制方法。實(shí)驗(yàn)表明,系統(tǒng)溫度檢測精確,同步精度高,稍作修改即可實(shí)現(xiàn)對其它信號的同步采集。
Abstract:
Key words :


摘要:以嵌入式ARM處理器STM32F103VC為核心,結(jié)合無線通信和溫度檢測技術(shù),設(shè)計(jì)了一套多點(diǎn)溫度同步采集系統(tǒng)。系統(tǒng)可根據(jù)設(shè)定的采集模式對多點(diǎn)溫度進(jìn)行同步采集,并將時(shí)間信息及溫度數(shù)據(jù)存入SD卡,用戶可將SD卡內(nèi)數(shù)據(jù)本機(jī)回放,也可讀入上位機(jī)進(jìn)行分析、存儲等。系統(tǒng)功耗極低,采用電池供電,采集過程無需人工干預(yù),也可適用于野外溫度數(shù)據(jù)的采集與存儲。給出了硬件組成與軟件編制方法。實(shí)驗(yàn)表明,系統(tǒng)溫度檢測精確,同步精度高,稍作修改即可實(shí)現(xiàn)對其它信號的同步采集。
關(guān)鍵詞:ARM;M32F103 VC;同步采集;SD卡;FATFS

0 引言
    目前在工業(yè)控制及野外勘測等領(lǐng)域經(jīng)常需要同步測量不同地點(diǎn)的溫度參數(shù),并進(jìn)行長時(shí)間記錄,完成后將時(shí)間同步的溫度數(shù)據(jù)載入計(jì)算機(jī)進(jìn)行分析。但實(shí)現(xiàn)精度較高的時(shí)間同步一般采用有線同步技術(shù),這樣就非常不便于應(yīng)用。因此設(shè)計(jì)一種便攜式的、基于無線同步技術(shù)的多點(diǎn)溫度同步采集與存儲系統(tǒng)就顯得尤為重要。本文給出了基于STM32F103VC微控制器和無線同步技術(shù)相結(jié)合的溫度采集系統(tǒng),能夠根據(jù)事先設(shè)定好的模式對溫度參數(shù)進(jìn)行采集,并將同步時(shí)間及溫度數(shù)據(jù)存入SD卡進(jìn)行長期存儲。系統(tǒng)采用電池供電,特別適合不便于取市電的應(yīng)用場合。

1 硬件組成及原理
    置于不同位置的溫度采集系統(tǒng)硬件結(jié)構(gòu)上完全相同,只是不同系統(tǒng)有唯一的ID號,ID號可人為設(shè)置。同步采集溫度時(shí)有以下幾種啟動(dòng)模式:溫度低越限、溫度高越限、溫度變化率越限、定時(shí)采集。任一滿足啟動(dòng)條件的系統(tǒng)都會發(fā)出無線指令,通知其它系統(tǒng)同步啟動(dòng)溫度采集。系統(tǒng)由微控制器模塊、電源模塊、人機(jī)接口、無線通信模塊、SD卡組成,總體結(jié)構(gòu)如圖1所示。下面就重要部分進(jìn)行分別介紹。

a.jpg


1.1 微控制器模塊
    本系統(tǒng)的主控制器采用STM32F103VC處理器,與電源電路、時(shí)鐘電路、存儲器系統(tǒng)及復(fù)位電路共同組成微控制系統(tǒng)。復(fù)位電路選用了系統(tǒng)監(jiān)視復(fù)位芯片IMP811S,可提供高效的電源監(jiān)視功能,確保系統(tǒng)工作正常。
    STM32F103VC采用ARM公司的高性能“Cortex—M3”內(nèi)核。運(yùn)行的頻率高達(dá)72 MHz,指令速度達(dá)1.25 DMipa/MHz。在此基礎(chǔ)上還擴(kuò)展了一系列完整的通用外圍接口單元,能夠提供高性價(jià)比的嵌入式解決方案。STM32F103VC系統(tǒng)外圍接口單元主要包括支持60個(gè)中斷源的中斷控制器,2個(gè)DMA控制器,80個(gè)通用I/O口,1個(gè)SD卡接口,3個(gè)可編程波特率的UART,16路12位A/D轉(zhuǎn)換器,SD卡接口,2個(gè)多主機(jī)I2C總線控制器,3個(gè)SPI接口等。
1.2 無線通信接口
    本設(shè)計(jì)各采集系統(tǒng)之間的無線同步采集采用單片射頻收發(fā)芯片NRF24L01,該芯片是真正的GFSK單收發(fā)芯片,內(nèi)置鏈路層,支持自動(dòng)應(yīng)答及自動(dòng)重發(fā)功能,帶有地址及CRC檢驗(yàn)功能,數(shù)據(jù)傳輸率最高達(dá)2 Mbps,采用SPI接口進(jìn)行數(shù)據(jù)傳輸,速率最高位8 Mbps。基于NRF24L01芯片的無線通信接口電路見圖2,該種方式下,若采用阻抗匹配的天線,無線傳輸距離可達(dá)150 m,完全滿足常規(guī)采集需求。

b.jpg


    圖2中,NRF24L01的SPI總線直接與STM32F103VC的SPl0接口相連,TX/RX選擇端CE和片選CSN與STM32F103VC的GPIO相連即可,中斷口IRQ連接于STM32F103VC的外部中斷0,以提供中斷信號。
1.3 人機(jī)接口與信息存儲
    為了便于模式設(shè)置和參數(shù)顯示,系統(tǒng)加入了矩陣鍵盤和LCD顯示器。矩陣鍵盤直接與STM32F103VC的GPIO相連,采用掃描方式進(jìn)行按鍵檢測。顯示器選用LM9033四級灰度LCD模塊,該模塊功耗極低,帶有電源控制,特別適用于電池供電的系統(tǒng)。LM9033可采用并口或SPI接口方式,這里直接將其連接于STM32F103VC的SPI1接口。為了能夠?qū)r(shí)間信息及溫度數(shù)據(jù)進(jìn)行長時(shí)間存儲,系統(tǒng)加入了SD卡存儲裝置。由于STM32 F103VC芯片本身帶有SD卡接口,因此只需將SD卡座與STM32F103VC的SD卡接口直接相連即可實(shí)現(xiàn)數(shù)據(jù)讀寫。
1.4 溫度檢測電路
    溫度檢測采用熱電阻傳感器PT1000,信號調(diào)理電路如圖3所示。圖3中,PTl000與電阻R1、R2和Rt1組成電橋,調(diào)節(jié)電阻Rt1即可調(diào)零。由于信號較弱,所以后端采用A1和A2進(jìn)行兩級放大,放大器選用零漂移、軌對軌輸出的集成運(yùn)放LTC2051,該芯片內(nèi)部集成兩個(gè)獨(dú)立運(yùn)放,一片即可滿足本系統(tǒng)需求,采用單電源供電。通過調(diào)節(jié)電阻Rt2即可實(shí)現(xiàn)量程的調(diào)節(jié)。因?yàn)闇囟茸兓容^緩慢,所以采用R9和C1組成一階低通濾波電路,濾除由電源噪聲等引起的干擾,以提高測量精度。運(yùn)放的輸出直接與STM32F103VC的內(nèi)置A/D轉(zhuǎn)換器相連。

c.jpg



2 系統(tǒng)軟件設(shè)計(jì)
    在溫度同步采集系統(tǒng)中,STM32F103VC完成無線通信、溫度檢測、參數(shù)輸入與顯示、SD卡讀寫等功能。整個(gè)系統(tǒng)軟件部分包括主程序、人機(jī)接口程序、無線通信程序、SD卡讀寫程序、文件系統(tǒng)程序、溫度計(jì)算程序、實(shí)時(shí)時(shí)間讀取、自診斷等功能模塊。由于軟件較復(fù)雜,所以實(shí)際編程中嵌入了μC/OS-Ⅱ實(shí)時(shí)操作系統(tǒng)
2.1 μC/OS-Ⅱ?qū)崟r(shí)操作系統(tǒng)
    μC/OS-Ⅱ?qū)崟r(shí)操作系統(tǒng)是真正源碼公開的,采用占先式的實(shí)時(shí)內(nèi)核,支持多達(dá)56個(gè)用戶任務(wù),穩(wěn)定性和可靠性高,而且移植方便,占用內(nèi)存小。μC/OS-Ⅱ?qū)崟r(shí)操作系統(tǒng)中各任務(wù)要分配不同的優(yōu)先級,優(yōu)先級用數(shù)字表示,數(shù)字越小其優(yōu)先級越高。針對本系統(tǒng)中各任務(wù)的重要性,為各任務(wù)分配了表1所示的優(yōu)先級。

d.jpg


2.2 無線通信程序
    無線通信程序主要完成基于NRF24L01的數(shù)據(jù)發(fā)送和接收,要嚴(yán)格遵守其發(fā)送及接收時(shí)序。由于溫度采集時(shí)每個(gè)系統(tǒng)都可能成為發(fā)出同步啟動(dòng)信號的主機(jī),因此采集前NRF24L01都配置為接受模式。若某個(gè)系統(tǒng)檢測到已滿足啟動(dòng)條件,則自動(dòng)配置為發(fā)送模式,將同步啟動(dòng)信號發(fā)送給其它系統(tǒng),于是同步采集開始。將NRF24L01配置為增強(qiáng)型ShockBurst模式并啟動(dòng)自動(dòng)應(yīng)答,這樣可以在接收方接收到信號后自動(dòng)產(chǎn)生應(yīng)答以確認(rèn)通信的正確性,發(fā)送方未收到應(yīng)答則會自動(dòng)重發(fā),無需增加控制器的工作量。
2.3 SD卡讀寫程序
    本系統(tǒng)SD卡采用了FatFS文件系統(tǒng)以方便將SD卡內(nèi)的數(shù)據(jù)通過讀卡器導(dǎo)入到上位計(jì)算機(jī)。FatFS是一種通用的文件系統(tǒng)模塊,在小型嵌入式系統(tǒng)中實(shí)現(xiàn)FAT文件系統(tǒng)。FatFS文件系統(tǒng)使用非常方便,因?yàn)镕atFS模塊完全與磁盤I/O層分開,因此只需要改寫對應(yīng)的函數(shù)來實(shí)現(xiàn)底層物理磁盤的讀寫與獲取當(dāng)前時(shí)間即可。本設(shè)計(jì)中應(yīng)用到這幾個(gè)函數(shù):disk_initialize用來初始化磁盤驅(qū)動(dòng)器,這里初始化SD卡;disk_read用來讀SD卡扇區(qū);disk_write用來寫SD卡扇區(qū);disk_ioctl用來控制與設(shè)備相關(guān)的特性;get_fattime用來獲取當(dāng)前時(shí)間,為文件加蓋時(shí)間戳。時(shí)間的獲取采用讀STM32內(nèi)部RTC的方式實(shí)現(xiàn),為此,要在RTC的備用電池引腳接3V的紐扣電池,以實(shí)現(xiàn)掉電后的時(shí)間維持。

3 實(shí)驗(yàn)參數(shù)
    實(shí)驗(yàn)表明,NRF24L01芯片在2 Mbit/s的傳輸速率下,若SPI總線速率控制為4 Mbit/s,則主機(jī)發(fā)送從機(jī)地址與一個(gè)字節(jié)數(shù)據(jù)需要90μs左右的時(shí)間延遲,因此無線同步采集的時(shí)問誤差可控制在90μs。若主機(jī)發(fā)送完同步信號后延遲90μs再啟動(dòng)采樣,則同步采集的時(shí)間誤差可控制在10μs內(nèi),可滿足絕大部分同步采集的需要。經(jīng)測試,只加板載天線時(shí)無線傳輸距離在空曠地可達(dá)50 m,若使用專用天線,則無線傳輸距離可達(dá)150 m,適用于多種測量領(lǐng)域。

4 結(jié)束語
    本文所設(shè)計(jì)的溫度同步采集系統(tǒng)具有成本低、精度高及可靠性高、通信距離遠(yuǎn)、存儲容量大等優(yōu)點(diǎn),調(diào)節(jié)電位器即可實(shí)現(xiàn)溫度量程的調(diào)節(jié),既適用常溫范圍測量,又適用于工業(yè)溫度范圍測量。同步采集后的數(shù)據(jù)很容易在計(jì)算機(jī)中進(jìn)行分析、處理及打印等。將溫度調(diào)理電路做少量修改即可實(shí)現(xiàn)對壓力、濕度等其它物理量的同步采集,因此應(yīng)用領(lǐng)域廣泛。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。