張海紅,史丹青,武建衛(wèi),郭夕琴
(南京機(jī)電職業(yè)技術(shù)學(xué)院,江蘇南京,211135)
在測(cè)量的對(duì)象領(lǐng)域內(nèi),溫度和濕度是非常重要的。無論是人類的生存,還是生活環(huán)境,工農(nóng)業(yè)生產(chǎn),軍事,氣象觀測(cè),溫度的測(cè)量和控制以及濕度的測(cè)量和控制都是很重要的環(huán)節(jié)。隨著計(jì)算機(jī)技術(shù)、通信技術(shù)、電子技術(shù)、傳感器和傳感器材料技術(shù)的進(jìn)步,溫度和濕度檢測(cè)都取得了跨越式發(fā)展。對(duì)溫度和濕度的測(cè)量與監(jiān)控也是十分有意義的。
通過對(duì)智能溫濕度傳感器特性的研究,設(shè)計(jì)出合理的硬件電路,編寫高效的處理器軟件,顯示溫濕度信息,然后根據(jù)溫濕度信息控制加熱換氣裝置。溫濕度信息由傳感器的敏感元件獲得,其輸出經(jīng)過信號(hào)調(diào)理電路放大、線性化、去除干擾等并獲得與A/D轉(zhuǎn)換器相適配的模擬信號(hào),此信號(hào)通過A/D轉(zhuǎn)換器轉(zhuǎn)換為微處理器可接受的數(shù)字信號(hào)。以單片機(jī)為核心的軟硬件處理電路對(duì)采集到的信號(hào)進(jìn)行編程處理后輸出到顯示模塊,實(shí)時(shí)反映溫濕度值。瑞士Sensiri-on公司生產(chǎn)的SHT11是具有二線串行接口的單片全校準(zhǔn)數(shù)字式新型相對(duì)溫度和濕度傳感器。它將傳感器技術(shù)與CMOS芯片技術(shù)相融合,可用來測(cè)量零點(diǎn)、相對(duì)溫度、相對(duì)濕度等參數(shù),具有數(shù)字式輸出、免標(biāo)定、免外圍電路、免調(diào)試及全互換的特點(diǎn),最終為開發(fā)高精度、高可靠性、高集成度的溫濕度測(cè)控系統(tǒng)提供了解決方案。
本設(shè)計(jì)以AT89C52單片機(jī)系統(tǒng)為核心,首先通過SHT11溫濕度傳感器采集現(xiàn)場(chǎng)的溫濕度數(shù)據(jù),然后經(jīng)過SHT11溫濕度傳感器自身的A/ D轉(zhuǎn)換器轉(zhuǎn)換為數(shù)字代碼;再通過51單片機(jī)利用LCD1602顯示當(dāng)前現(xiàn)場(chǎng)的溫濕度值,同時(shí)設(shè)置上下限;當(dāng)前溫濕度超過預(yù)設(shè)最高上限時(shí),報(bào)警并且燈亮,同時(shí)啟動(dòng)加熱換氣裝置工作;當(dāng)溫濕度低于預(yù)設(shè)最低下限時(shí),報(bào)警并且燈亮,同時(shí)啟動(dòng)加熱換氣裝置工作??梢愿鶕?jù)不同的要求設(shè)置不同的越限值從而使其寬廣的測(cè)溫濕度范圍能夠廣泛地應(yīng)用到溫濕度監(jiān)測(cè)當(dāng)中去。
2.2.1 SHT11簡(jiǎn)介
瑞士Scnsirion 公司推出的SHT11是一款集溫度傳感器和濕度傳感器于一體的數(shù)字溫濕度傳感器芯片。因此在進(jìn)行溫濕度實(shí)時(shí)監(jiān)測(cè)的系統(tǒng)采用SHT11傳感器,就具備成本低、體積小、精度高、接口簡(jiǎn)單等特點(diǎn)。而且SHT11芯片的抗干擾能力也比同類芯片高,因?yàn)樵撔酒瑑?nèi)部集成了14位A/D轉(zhuǎn)換器,且采用了數(shù)字信號(hào)輸出。
2.2.2 SHT11與單片機(jī)的接口電路
MCU(單片機(jī))和SHT11傳感器通信采用串行二線接口DATA和SCK,其中DATA為數(shù)據(jù)線,SCK則為時(shí)鐘線,然而I2C協(xié)議與該二線串行通信協(xié)議是不兼容的。在程序開始時(shí),MCU需要用一組“啟動(dòng)傳輸”時(shí)序表示數(shù)據(jù)傳輸?shù)膯?dòng)。如圖2-3所示,當(dāng)SCK時(shí)鐘為高電平時(shí),DATA翻轉(zhuǎn)為低電平;緊接著SCK變?yōu)榈碗娖?,隨后又變?yōu)楦唠娖剑辉赟CK時(shí)鐘為高電平時(shí),DATA再次翻轉(zhuǎn)為高電平。
圖2-3 數(shù)據(jù)傳輸啟動(dòng)時(shí)序
如圖2-4所示,為SHT11傳感器與單片機(jī)的接口電路。SHT11只有二個(gè)引腳,一個(gè)數(shù)字串行引腳接單片機(jī)P1.0口,SCK引腳接單片機(jī)P1.1口。電源與數(shù)字串行引腳間要接一個(gè)4K的電阻R2。R2是上拉電阻,因?yàn)閱纹瑱C(jī)的P1口驅(qū)動(dòng)能力有限,目的是為了使傳感器接收的數(shù)據(jù)能夠可靠的進(jìn)行。
圖2-4 SHT11與單片機(jī)接口電路
軟件設(shè)計(jì)是在硬件設(shè)計(jì)的基礎(chǔ)上進(jìn)行的,良好的軟件設(shè)計(jì)是實(shí)現(xiàn)系統(tǒng)功能的重要環(huán)節(jié)。系統(tǒng)能否正常運(yùn)行,除了硬件的合理設(shè)計(jì)外,很大程度上取決于功能完善、算法先進(jìn)的軟件設(shè)計(jì)。本系統(tǒng)是以AT89C52為硬件設(shè)計(jì)系統(tǒng)的核心,系統(tǒng)軟件部分主要包括數(shù)據(jù)采集模塊、數(shù)據(jù)顯示模塊、報(bào)警模塊,其中數(shù)據(jù)采集模塊包括溫濕度的采集、數(shù)據(jù)處理A/D轉(zhuǎn)換,報(bào)警模塊包括報(bào)警指示和報(bào)警處理。數(shù)據(jù)采集模塊將接收到的傳感器發(fā)出的模擬信號(hào)采集到單片機(jī)。數(shù)據(jù)處理模塊通過對(duì)接收到的采樣信號(hào)進(jìn)行實(shí)時(shí)處理轉(zhuǎn)換、最后實(shí)現(xiàn)數(shù)據(jù)通信、驅(qū)動(dòng)顯示等,軟件系統(tǒng)框圖如下圖所示:
這些程序相互獨(dú)立,在主程序中依次被調(diào)用。單片機(jī)處理的是數(shù)字信號(hào),對(duì)接受的數(shù)據(jù)進(jìn)行采集即可得到數(shù)字信號(hào);數(shù)據(jù)處理模塊由單片機(jī)實(shí)現(xiàn),對(duì)采樣信號(hào)進(jìn)行實(shí)時(shí)控制、數(shù)據(jù)通信、驅(qū)動(dòng)顯示、驅(qū)動(dòng)運(yùn)行等;顯示部分主要用LCD顯示,LCD由單片機(jī)驅(qū)動(dòng)。
3.2.1 主程序流程圖
主程序是設(shè)計(jì)的主體,是由功能不同的子程序組成。本系統(tǒng)主程序的運(yùn)行如下操作:串口初始化,完成初始化操作后,循環(huán)掃描鍵盤,當(dāng)有相應(yīng)按鍵時(shí)對(duì)應(yīng)不同的功能,SHT11開始采集溫濕度數(shù)據(jù),經(jīng)LCD1602數(shù)碼管顯示讀數(shù),判斷溫濕度是否超出設(shè)定范圍,如若超出則報(bào)警,并且報(bào)警指示燈亮,蜂鳴器報(bào)警,同時(shí)啟動(dòng)加熱換氣電路。主程序流程圖如圖3-2所示。
圖3-2 主程序流程圖
圖3-3 報(bào)警電路程序流程圖
3.2.2 報(bào)警電路程序流程圖
報(bào)警模塊具備兩項(xiàng)功能,即為報(bào)警燈和聲音報(bào)警。聲音報(bào)警是從聽覺上提醒用戶,而報(bào)警燈則是從視覺上提醒用戶。當(dāng)讀取的溫度值超過上下限時(shí),紅燈亮并且報(bào)警,當(dāng)濕度值超過上下限時(shí),黃燈亮并且報(bào)警。流程圖如圖3-3所示。
3.2.3 SHT11讀取溫濕度程序流程圖
單片機(jī)與SHT11進(jìn)行通信是采用的二線串行數(shù)字接口,需要用單片機(jī)的I/0口模擬通信時(shí)序,因?yàn)樵撏ㄐ艆f(xié)議與通用的I2C總線協(xié)議是不兼容的。對(duì)于SHT11的控制,MCU是通過5個(gè)六位命令代碼實(shí)現(xiàn)的,命令代碼的含義分別是:00101:測(cè)量濕度;00011:測(cè)量溫度;00110:寫內(nèi)部狀態(tài)寄存器;00111:讀內(nèi)部狀態(tài)寄存器;11110:復(fù)位命令,使內(nèi)部狀態(tài)寄存器恢復(fù)默認(rèn)值;其他的來設(shè)置分辨率。
程序開始首先對(duì)溫濕度傳感器SHT11進(jìn)行初始化,檢測(cè)是否正常工作,然后單片機(jī)發(fā)出指令與SHT11連接測(cè)量溫濕度,接著溫濕度傳感器SHT11進(jìn)行溫濕度計(jì)算以及A/D轉(zhuǎn)換,再發(fā)送給主機(jī),并反復(fù)調(diào)用復(fù)位、寫入及讀取數(shù)據(jù)子程序,之后再經(jīng)數(shù)據(jù)轉(zhuǎn)換,由數(shù)碼管顯示出來,不斷循環(huán)。流程圖如圖3-4所示
圖3-4 SHT11讀取溫濕度程序流程圖 圖3-5 LCD1602顯示溫濕度程序流程圖
3.2.4 LCD1602顯示溫濕度程序流程圖
圖4-2 對(duì)話框
程序首先對(duì)LCD1602初始化,檢查是否忙碌,如果不忙碌則主機(jī)發(fā)送模式設(shè)置指令或顯示指令寫入LCD1602中,然后指定字符顯示的實(shí)際地址,將數(shù)據(jù)寫入LCD1602中,顯示溫濕度。流程圖如圖3-5所示
本設(shè)計(jì)的硬件仿真由Protues軟件實(shí)現(xiàn),軟件調(diào)試由Keil C51軟件實(shí)現(xiàn),通過軟硬件的結(jié)合實(shí)現(xiàn)總體設(shè)計(jì)的仿真。
4.1.1 系統(tǒng)仿真
(1)在Protues仿真軟件中,分布好元器件,連接好電路圖,電路圖如圖4-1所示。
(2)運(yùn)用Keil uVision4編程軟件進(jìn)行C語言編程,運(yùn)用模塊化的程序設(shè)計(jì)思路對(duì)不同功能模塊的程序進(jìn)行分別編程,以便移植或調(diào)用,這樣使軟件層次結(jié)構(gòu)清晰,有利于軟件的調(diào)試修改。編程完成之后,選擇Project——Build target,編譯程序,編譯結(jié)果如圖19所示
(3)在Protues選中單片機(jī)芯片,在彈出的對(duì)話框中選中Program File的文件夾圖標(biāo)。對(duì)話框如圖4-2所示。
(4)在彈出的對(duì)話框里選中剛剛生成的HEX文件,點(diǎn)擊OK。即可將HEX文件加載到單片機(jī)芯片中。
4.1.2 仿真結(jié)果分析
仿真結(jié)果如圖所示。LCD液晶顯示分別顯示、“Temp:****”、“Humi :****”,其中“****”為測(cè)定的數(shù)據(jù)。按鍵一下,顯示“溫度上下限和測(cè)量值”,再次按鍵顯示“濕度的上下限和測(cè)量值”。
溫度在25℃-75℃之間屬于正常情況,低于25℃高于75℃都不是正常情況。
濕度在25%RH-65%RH之間屬于正常情況,低于25%RH高于65%RH都不是正常情況
(1)正常溫濕度區(qū)間內(nèi):
圖4-1 硬件設(shè)計(jì)仿真結(jié)果圖
正常顯示,沒有報(bào)警
(2)超過正常溫度和濕度上下限
超出預(yù)設(shè)溫度上下限,紅燈亮,蜂鳴器響,加熱換氣裝置運(yùn)轉(zhuǎn)。
超過預(yù)設(shè)濕度上下限,黃燈亮,蜂鳴器響,加熱換氣裝置運(yùn)轉(zhuǎn)。
(3)系統(tǒng)上下限顯示
溫度范圍為25-75℃,濕度范圍為20-65%RH量顯示
圖4-4 系統(tǒng)溫度上下限及測(cè)量顯示
圖3-1 軟件系統(tǒng)框圖
由于該系統(tǒng)采用的核心是高效單片機(jī),主要的采集與測(cè)量系統(tǒng)是集溫度傳感器和濕度傳感器于一體的SHT11,自帶A/D轉(zhuǎn)換器,從而該溫濕度控制儀具有體積小、成本低、精度高、接口簡(jiǎn)單及良好抗干擾能力等優(yōu)點(diǎn),再加上優(yōu)化程序,一定意義上本系統(tǒng)具有了很高的實(shí)用性。
圖4-3 正常時(shí)仿真結(jié)果圖
[1]易順明,趙海蘭,袁然.現(xiàn)代電子技術(shù)[J].電子技術(shù)雜志,2011.(07).
[2]陳永甫.電子電路智能化設(shè)計(jì)實(shí)例與應(yīng)用[M].北京電子工業(yè)出版社,2002.(08).
[3]程捷,何晨.儀表技術(shù)[J].中國科技報(bào),2011.(06).
[4]周樂安.基于MSP430單片機(jī)的溫濕度控制器[J].四川兵工學(xué)報(bào),2008.(02).
[5]何希才.傳感器及應(yīng)用電路[M].北京電子工業(yè)出版社出版,2001.(08).
[6]牛小弟.基于PC總線式溫度檢測(cè)系統(tǒng)的研究[D].河北科技大學(xué),2010.
[7]楊寶強(qiáng).基于AT89C2051的溫濕度控制儀[J].電子技術(shù),2004.(04).
[8]朱真才.基于AT89S51單片機(jī)車間溫濕度控制系統(tǒng)設(shè)計(jì)[J].煤礦機(jī)械,2011.(09).
[9]李云峰.基于B/S模式的溫濕度在線監(jiān)控系統(tǒng)[D].東北大學(xué),2009.
[10]馬建國.電子系統(tǒng)設(shè)計(jì)[M].北京電子工業(yè)出版社,2002.
[11]郭金影.基于單片機(jī)的LCD顯示屏系統(tǒng)設(shè)計(jì)[D].武漢理工大學(xué),2011.
[12]冉偉剛.溫室大棚數(shù)據(jù)采集系統(tǒng)[J].蘭州大學(xué),2010.
[13]Coord3 S.P.A Measuring software for co-ordinate measuring machines Versions 3.7[M],2001.(04).
[14]Scott MacKenzie.THE 8051MICROCONTROLLER[M].USAPrentice-Hall.Inc,2002.
[15]陳小平.PROTEL99SE--電子線路CAD[M].東南大學(xué)出版社,2005