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