朱高陽 孫彤彤
【摘要】針對倉庫溫度與濕度的日常監(jiān)測工作,該設(shè)計以STC80C52為核心,將溫濕度傳感器采集到的數(shù)據(jù)進(jìn)行實時存儲,并發(fā)送給上位機(jī),上位機(jī)能夠顯示單片機(jī)的工作狀態(tài)并能對數(shù)據(jù)進(jìn)行分析。當(dāng)溫濕度達(dá)到一定值時,報警系統(tǒng)給予提示。
【關(guān)鍵詞】溫濕度;單片機(jī);報警
1.背景及意義
防潮、防火災(zāi)是倉庫日常工作的重要內(nèi)容,是衡量倉庫作用的重要指標(biāo)。它直接關(guān)系到倉庫內(nèi)存放物品的使用壽命和質(zhì)量。為了保證倉庫日常工作的順利進(jìn)行,使其能更好的為我們服務(wù),關(guān)鍵是加強(qiáng)倉庫內(nèi)溫度與濕度的監(jiān)測工作。
目前傳統(tǒng)的倉庫在實際使用中暴露了很多隱患,例如濕度過低或過高時只靠人工感知不出,發(fā)生火災(zāi)時人們未能及時發(fā)現(xiàn)。因此,設(shè)計一個操作方便、功能完善、工作可靠的溫濕度監(jiān)控系統(tǒng),對提高設(shè)備的工作效率、降低事故率有積極作用。隨著電子技術(shù)在我國的飛速發(fā)展,倉庫系統(tǒng)由原來的簡單化、人工化向智能化發(fā)展已成為必要趨勢。
2.系統(tǒng)總體設(shè)計
此次研究的倉庫溫濕度監(jiān)測系統(tǒng)由溫濕度傳感器、單片機(jī)、存儲模塊、通信模塊、LED顯示以及報警電路模塊組成。其中溫濕度傳感器主要是利用其特性隨時檢測外界溫度及濕度,做到隨時監(jiān)控;存儲模塊采用AT24c64芯片,實時存儲由單片機(jī)發(fā)送來的數(shù)據(jù)。USB通信轉(zhuǎn)RS232通信,用于將數(shù)據(jù)傳遞給上位機(jī)。紅外通信能對單片機(jī)進(jìn)行控制相當(dāng)于按鍵,且支持上位機(jī)通信。上位機(jī)能接收溫濕度數(shù)據(jù),且能夠顯示單片機(jī)的工作狀態(tài)并能對數(shù)據(jù)進(jìn)行分析。LED顯示可以讓我們更直觀的看到單片機(jī)反映給我們的信息。報警電路模塊則能在溫度濕度達(dá)到一定值的時候給予提示。
圖1 系統(tǒng)總體設(shè)計電路圖
3.系統(tǒng)硬件設(shè)計
3.1 溫濕度傳感器
本系統(tǒng)采用DHT11數(shù)字溫濕度傳感器,是一款含有已校準(zhǔn)數(shù)字信號輸出的溫濕度復(fù)合傳感器。應(yīng)用專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),確保產(chǎn)品具有極高的可靠性與卓越的長期穩(wěn)定性。傳感器包括一個電阻式感濕元件和一個NTC測溫元件,并與一個高性能8位單片機(jī)相連接。
圖2 溫濕度采集電路
因此該產(chǎn)品具有品質(zhì)卓越、超快響應(yīng)、抗干擾能力強(qiáng)、性價比極高等優(yōu)點。每個DHT11傳感器都在極為精確的濕度校驗室中進(jìn)行校準(zhǔn)。校準(zhǔn)系數(shù)以程序的形式儲存在OTP內(nèi)存中,傳感器內(nèi)部在檢測信號的處理過程中要調(diào)用這些校準(zhǔn)系數(shù)。單線制串行接口,使系統(tǒng)集成變得簡易快捷。超小的體積、極低的功耗,信號傳輸距離可達(dá)20米以上,使其成為各類應(yīng)用甚至最為苛刻的應(yīng)用場合的最佳選則。產(chǎn)品為4針單排引腳封裝,連接方便。
3.2 存儲模塊
圖3 AT24C64模塊電路
本系統(tǒng)采用AT24C64芯片。ATMEL的24C64,存儲位是64K位也就是說可以存儲8K(8192)字節(jié),它支持1.8V~5V電源,可以擦寫一百萬次,數(shù)據(jù)可以保持一百年,使用5V電源時時鐘可以達(dá)到400KHz,并且有多種封裝進(jìn)行選擇。另外本系統(tǒng)也支持SD卡存儲。
3.3 紅外接收模塊
紅外線通信是目前使用很廣泛的一種通信方式,其具有體積小、功耗低、功能強(qiáng)、成本低的特點。即使在有輻射、有粉塵的環(huán)境下,采用紅外線遙控不僅可靠而且可以有效的隔離電氣干擾。在該系統(tǒng)中,能對單片機(jī)進(jìn)行控制相當(dāng)于按鍵,且支持上位機(jī)通信。
圖4 紅外接收電路
圖5 主程序流程圖
4.軟件設(shè)計
主程序的設(shè)計流程圖如圖5所示,首先對單片機(jī)進(jìn)行初始化,對溫濕度開關(guān)設(shè)置,包括是否開啟溫濕度檢測功能,若不開啟,電源不給器件供電,否則供電(節(jié)電要求);溫濕度范圍設(shè)置,在該范圍內(nèi)蜂鳴器不報警;存儲時間段設(shè)置,每隔多長時間進(jìn)行一次存儲數(shù)據(jù);存儲模式,選擇使用24C64存儲數(shù)據(jù)還是用SD卡存數(shù)數(shù)據(jù);顯示模式,顯示器常亮或亮一段時間后變暗。然后對溫濕度進(jìn)行檢測,如果不在設(shè)定范圍之內(nèi),進(jìn)行報警,直到倉庫內(nèi)溫濕度在設(shè)定范圍內(nèi)即停止報警。
部分程序:
#ifndef _at24c64_h_
#define _at24c64_h_
#include
#define uint unsigned int
#define uchar unsigned char
sbit sda_24c64 = P1^5; //24c64定義數(shù)據(jù)線
sbit scl_24c64 = P1^6; //24c64定義時鐘線
void Delay_xus(uint i); //(16+9*i)us(51)
void Delay_100us(); //(16+9*i)us(51)
void Delay_100ms(); //(16+9*i)us(51)
void start_24c64(); //開啟iic
void stop_24c64(); //停止iic
void ask_24c64(); //寫數(shù)據(jù)應(yīng)答,第九個脈沖sda_24c64為低,則24c64成功接受數(shù)據(jù)
void writebyte_24c64(uchar data_to_24c64); //寫入數(shù)據(jù)
uchar readbyte_24c64(uchar ack); //ack應(yīng)答位,ack=1,MCU不應(yīng)答(不繼續(xù)接受數(shù)據(jù))
void write_o_data_24c64(uchar addH,uchar addL,uchar data_24c64); //寫入單個數(shù)據(jù)
uchar read_o_data_24c64(uchar addH,uchar addL); //讀出單個數(shù)據(jù)
void write_m_data_24c64(uchar addH,uchar addL,uchar *m_data_24c64,uchar n); //從某地址開始連續(xù)多字節(jié)寫入
void read_m_data_24c64(uchar addH,uchar addL,uchar *m_data_from_24c64,uchar n); //從某地址開始連續(xù)讀取n個數(shù)據(jù)
#endif
5.結(jié)語
本系統(tǒng)可以精確的監(jiān)測到倉庫內(nèi)部的溫度濕度變化,通過系統(tǒng)內(nèi)部的處理,當(dāng)倉庫內(nèi)溫度濕度達(dá)到設(shè)定值的時候,系統(tǒng)將自動報警,當(dāng)相關(guān)人員采取相應(yīng)措施使溫度濕度到達(dá)正常范圍內(nèi)后,警報消除。本系統(tǒng)不僅能做好倉庫內(nèi)溫度與濕度的監(jiān)測工作,還造價低廉、使用方便并且測量準(zhǔn)確,可廣泛應(yīng)用于生活中,具有很好的應(yīng)用前景。
參考文獻(xiàn)
[1]五皓東.C51單片機(jī)技術(shù)實操實訓(xùn)項目式教程[M],2012.
[2]金建設(shè).單片機(jī)系統(tǒng)及應(yīng)用[M].北京郵電大學(xué)出版社,2012.
[3]譚浩強(qiáng).C程序設(shè)計(第四版)[M].清華大學(xué)出版社,2012
[4]童詩白,華成英.模擬電子技術(shù)基礎(chǔ)[M].北京:高等教育出版社,2005.
[5]余小平,奚大順.電子系統(tǒng)設(shè)計——基礎(chǔ)篇[M].北京:北京航空航天大學(xué)出版社,2010.
[6]黃正謹(jǐn).綜合電子設(shè)計與實踐[M].南京:東南大學(xué)出版社,2002.