



摘要:隨著科技的不斷進(jìn)步,人們需要更加智能且精密的電器。由于人們平時(shí)的生活與溫濕度應(yīng)用密切相關(guān),文章設(shè)計(jì)了基于STM32F103C8的溫濕度數(shù)據(jù)采集系統(tǒng)。該系統(tǒng)包括STM32F103C8T6主控模塊、OLED顯示屏顯示模塊和溫濕度采集主要模塊。各種模塊獨(dú)立工作,互不干擾,模塊電路內(nèi)部完善、使用方便、相關(guān)衍生功能豐富。該系統(tǒng)將采集到的數(shù)據(jù)在顯示屏上顯示,并在智能終端產(chǎn)品上應(yīng)用,用戶反響良好。
關(guān)鍵詞:智能;溫濕度;采集;測(cè)試
中圖分類號(hào):TP311.1
文獻(xiàn)標(biāo)志碼:A
0 引言
隨著科學(xué)技術(shù)與生產(chǎn)力的發(fā)展,人們的生活逐漸富裕,開始追求便捷的生活方式,智能家居監(jiān)測(cè)系統(tǒng)也應(yīng)運(yùn)而生。為了能依據(jù)室內(nèi)溫濕度來調(diào)整空調(diào)、風(fēng)扇等電器的使用,對(duì)室內(nèi)溫濕度的實(shí)時(shí)采集必不可少。溫濕度數(shù)據(jù)控制對(duì)智能家居起著至關(guān)重要的作用。從電器角度看,溫度檢測(cè)設(shè)備可以由接觸式和非接觸式組成。接觸式是被測(cè)量對(duì)象和溫度測(cè)量傳感器之間進(jìn)行充分的熱量交互,最終達(dá)到熱量平衡時(shí),溫度傳感器的物理參數(shù)值就可以表明被測(cè)對(duì)象的溫度值。而非接觸式溫度采集則是通過輻射進(jìn)行熱交換,最常用的方式是采用光電式等傳感器來實(shí)現(xiàn)。
1 硬件電路設(shè)計(jì)
1.1 溫度檢測(cè)電路
該系統(tǒng)主要由溫濕度采集模塊、STM32F103C8T6主控模塊和OLED顯示屏模塊組成。各個(gè)模塊之間電路結(jié)構(gòu)簡(jiǎn)單,易于焊接,性價(jià)比高。依據(jù)“Steinhart-Hart方程”和“電阻式濕度傳感器原理”可知:當(dāng)溫度升高時(shí),熱敏電阻(Negative Temperature Coefficient,NTC)阻值減小。溫度可由Steinhart-Hart方程求得溫度T。
Rt=R×EXP[B×(1/T2-1/T1)]
由此可知,電阻以非線性方式與溫度成反比變化。其中,B:熱敏指數(shù),從規(guī)格書獲取;T1:固定值,25℃;T2:輸入目標(biāo)溫度;Rt:熱敏電阻阻值;R:標(biāo)稱阻值,從規(guī)格書獲取;EXP:自然指數(shù)函數(shù)。因此,求得Rt即可獲得溫度T2。
濕度可由電阻式濕度傳感器原理求得,設(shè)計(jì)者可以通過查閱濕度傳感器文檔進(jìn)行計(jì)算。最終,設(shè)計(jì)者可以通過溫濕度模塊電路采集到確切數(shù)值,例如,溫度檢測(cè)電路如圖1所示。
DHT11的溫濕度采集模塊是一種將電流的信號(hào)轉(zhuǎn)變?yōu)橛筛叩碗娖經(jīng)Q定的數(shù)字信號(hào),可以通過一條數(shù)據(jù)線輸出采集到的溫濕度傳感器數(shù)據(jù)。DHT11的溫濕度采集模塊采用專用的數(shù)字與溫濕度采集技術(shù),從而保證設(shè)計(jì)的產(chǎn)品具有較高的精度和良好的穩(wěn)定性[1]。傳感器包括電阻式感濕元件和NTC測(cè)溫元件,并與一個(gè)高性能8位微控制器芯片相連接。因此,該設(shè)計(jì)產(chǎn)品具有品質(zhì)優(yōu)越、快響應(yīng)、抗干擾能力強(qiáng)、性價(jià)比高等優(yōu)點(diǎn)[2]。溫濕度傳感器的系數(shù)校準(zhǔn)在生產(chǎn)過程中完成,并可在使用過程中進(jìn)行系數(shù)調(diào)整。同時(shí),溫濕度傳感器對(duì)系統(tǒng)資源的占用少,具有體體積小、低功耗和傳輸距離遠(yuǎn)等特點(diǎn),是各類應(yīng)用甚至最為苛刻應(yīng)用場(chǎng)合的最佳選擇[3]。DHT11不僅能檢測(cè)溫度還能檢測(cè)濕度,而DS18B20只能檢測(cè)溫度,從功能上而言,DS18B20功能單一,但精準(zhǔn)度和測(cè)量范圍比DHT11更好。DHT11 電路很簡(jiǎn)單,只需要將 DATA 引腳連接微控制器的一個(gè) I/O 即可,不過該引腳需要上拉一個(gè) 5 K 的電阻,DHT11 的供電電壓為 3~5.5 V。因此,在實(shí)際應(yīng)用中,DHT11不能測(cè)量較低溫度和濕度,且與實(shí)際溫度稍有偏差。DHT11溫濕度傳感器模塊電路如圖2所示。
在實(shí)踐過程中,工程師需要對(duì)電子元器件進(jìn)行選型,同時(shí)還需進(jìn)行PCB繪制。由于工藝問題,即使使用相同的電子元器件和由各種參數(shù)一致的電子元器件焊接成PCB電路模塊也會(huì)存在一定差異,因此,在使用前,工程師需要對(duì)選型的各種元器件進(jìn)行測(cè)試,控制實(shí)驗(yàn)過程中的外在影響因素。
1.2 溫濕度數(shù)據(jù)采集顯示電路設(shè)計(jì)
實(shí)驗(yàn)將8個(gè) LED 燈按照一定的順序擺放,會(huì)形成默認(rèn)的數(shù)字“8”形狀,不同設(shè)置的燈會(huì)打開或關(guān)閉,形成從0到F的16個(gè)數(shù)字。OLED集成模塊利用這一原理將8000多盞LED燈集成到一個(gè)較小的電路模塊中,液晶顯示優(yōu)于點(diǎn)陣顯示,通過圖3中的標(biāo)識(shí),芯片的第13和第14腳與MCU進(jìn)行數(shù)據(jù)交流,通過這2個(gè)引腳實(shí)現(xiàn)所需內(nèi)容的顯示。
2 軟件設(shè)計(jì)
軟件代碼由C語言編寫,使用DHT11來進(jìn)行溫濕度數(shù)據(jù)采集,通過按鍵實(shí)現(xiàn)光標(biāo)切換和各界面圖的編程。
DHT11溫濕度傳感器采用單總線協(xié)議與單片機(jī)通信。單片機(jī)發(fā)送一次復(fù)位信號(hào)后,DHT11 從低功耗模式轉(zhuǎn)換到高速模式,等待主機(jī)復(fù)位結(jié)束后,DHT11發(fā)送響應(yīng)信號(hào),并拉高總線準(zhǔn)備傳輸數(shù)據(jù)[4]。通信一次傳輸?shù)臄?shù)據(jù)共40比特,按照完整數(shù)據(jù)為40位,設(shè)計(jì)者可以按高位優(yōu)先和低位最后的順序傳輸[5]。DHT11的分辨率只能精確到小數(shù)點(diǎn)后一位,因此,小數(shù)部分將所有數(shù)據(jù)表示為0。校驗(yàn)和是前4個(gè)字節(jié)數(shù)據(jù)的總和,校驗(yàn)和的目的是確保數(shù)據(jù)傳輸?shù)臏?zhǔn)確性。傳感器一次傳輸40位數(shù)據(jù),時(shí)序要求非常嚴(yán)格,因此,在程序中設(shè)置操作時(shí)序,為了防止中斷干擾總線時(shí)序,先關(guān)閉總中斷,操作完畢后再打開總中斷。
屏幕由STM32片上外設(shè)SSD1306供電,只需4個(gè)引腳即D1、D0、VCC和GND。
3 數(shù)據(jù)采集測(cè)試結(jié)果
用OLED顯示屏顯示溫濕度數(shù)據(jù),當(dāng)?shù)靥鞖忸A(yù)報(bào)溫濕度進(jìn)行對(duì)比測(cè)試,實(shí)際測(cè)試結(jié)果如表1所示。
本文經(jīng)過多次實(shí)際試驗(yàn),測(cè)得溫度范圍為0~50 ℃,濕度范圍為20%~90% RH,測(cè)得的溫度誤差在±2 ℃以內(nèi);測(cè)量的濕度誤差在±5% RH以內(nèi)。經(jīng)過反復(fù)測(cè)量,收集的數(shù)據(jù)符合設(shè)計(jì)要求。如果存在額外的精度要求,需更換精度更高的溫度和濕度傳感器。
4 結(jié)語
本文主要完成了基于STM32的OLED顯示器的溫濕度采集設(shè)計(jì),實(shí)現(xiàn)了溫濕度的測(cè)量,并在屏幕上顯示。然而,這種設(shè)計(jì)仍然需要繼續(xù)改進(jìn),例如測(cè)量范圍限制在0~50℃和20%~90% RH。較高或較低的溫度會(huì)影響線性化結(jié)果,導(dǎo)致顯著的測(cè)量誤差,只能通過軟件重新校準(zhǔn)。
參考文獻(xiàn)
[1]卜永波,羅小玲,陳一.基于DHT11傳感器的溫濕度采集系統(tǒng)[J].計(jì)算機(jī)與現(xiàn)代化,2013(6):16-17.
[2]趙鑫.實(shí)驗(yàn)室遠(yuǎn)程溫濕度監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)與開發(fā)[J].中國(guó)科技信息,2011(8):25-27.
[3]陳靜.基于單片機(jī)的溫度濕度控制系統(tǒng)設(shè)計(jì)[J].科技信息,2011(10):28-30.
[4]趙蘭,趙美琪,王從清.STM32在溫度控制系統(tǒng)應(yīng)用與設(shè)計(jì)[J].信息與電腦(理論版),2015(12):76-78.
[5]徐洋,馬躍.STM32F103系列微控制器在應(yīng)用編程技術(shù)研究[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2013(8):35-37,40.
(編輯 王雪芬)
Design of temperature and humidity data acquisition system based on STM32F103C8
Liu" Xiaozhao1, Liu" Yuchen2, Dong" Yixiao1
(1.Industrial Internet College, Suzhou Institute of Economics and Technology, Suzhou 215000, China;"2.Suzhou Gas Group Co., Ltd., Suzhou 215000, China)
Abstract: With the continuous progress of technology, people need more intelligent and precise electrical appliances. Due to the close relationship between people’s daily lives and temperature and humidity applications, this article designs a temperature and humidity data acquisition system based on STM32F103C8. The system includes the STM32F103C8T6 main control module, OLED display module, and temperature and humidity acquisition main module. Various modules work independently and do not interfere with each other. The internal circuits of the modules are complete, easy to use, and have rich related derivative functions. The system will display the collected data on the display screen and apply it to smart terminal products, with good user feedback.
Key words:intelligence; temperature and humidity; collection; test