太陽(yáng)能環(huán)境參數(shù)測(cè)試儀的系統(tǒng)設(shè)計(jì)
介紹了一種基于AT89S52單片機(jī)的太陽(yáng)能環(huán)境參數(shù)測(cè)試儀,詳細(xì)闡明了環(huán)境參數(shù)測(cè)試儀的軟硬件設(shè)計(jì)與實(shí)現(xiàn)方法。該測(cè)試儀能對(duì)溫度、濕度和照度進(jìn)行實(shí)時(shí)測(cè)量顯示,并通過(guò)RS485工業(yè)總線將采集數(shù)據(jù)傳送至遠(yuǎn)端上位機(jī)。
關(guān)鍵詞 AT89S52 太陽(yáng)能 環(huán)境參數(shù) I2C總線 Rs485 TSL2561 SHTll
引 言
??? 為了確保太陽(yáng)能發(fā)電系統(tǒng)能夠正常的工作,需要對(duì)太陽(yáng)能發(fā)電系統(tǒng)的各項(xiàng)環(huán)境參數(shù)進(jìn)行測(cè)量,從而有效地控制其運(yùn)行。本文介紹了一種基于單片機(jī)的太陽(yáng)能參數(shù)測(cè)試儀,提供了3種參數(shù)的測(cè)量功能和通信接口,以及2種供電方式,既可作為手持設(shè)備使用,又能安裝在發(fā)電系統(tǒng)中,具有較高的實(shí)用價(jià)值。
1 硬件電路設(shè)計(jì)
1.1 總體結(jié)構(gòu)
??? 該測(cè)試儀以AT89S52單片機(jī)為核心,外接溫濕度傳感器SHTll、照度傳感器TSL2561、四位共陰數(shù)碼管、RS485總線通信接口以及顯示切換按鍵。單片機(jī)上電工作后,對(duì)當(dāng)前溫度、濕度、光強(qiáng)度進(jìn)行實(shí)時(shí)測(cè)量,通過(guò)按鍵切換將測(cè)得的3種參數(shù)通過(guò)LED數(shù)碼管進(jìn)行輪流顯示;此外,還可以通過(guò)RS485總線與PC機(jī)進(jìn)行通信,將參數(shù)值傳送到上位機(jī),以達(dá)到遠(yuǎn)程監(jiān)測(cè)的目的。該測(cè)試儀的結(jié)構(gòu)框圖如圖1所示。
1.2 測(cè)量模塊
??? 溫度和濕度測(cè)量采用的是瑞士Sensirion公司生產(chǎn)的SHTll傳感器。該傳感器采用獨(dú)特的CMOsens TM技術(shù),將溫濕度傳感器、信號(hào)放大處理、A/D轉(zhuǎn)換、I2C總線全部集成在一塊芯片上,可直接與單片機(jī)接口。該芯片采用數(shù)字式輸出,為編程提供了方便。
??? 光照度測(cè)量選用的是TAOS公司生產(chǎn)的TSL2561光強(qiáng)度傳感器。它具有數(shù)字式輸出端口和標(biāo)準(zhǔn)I2C總線接口,涵蓋1~70 000 lx的寬照度范圍,非常適合戶外環(huán)境下光照強(qiáng)度的測(cè)量,適用于太陽(yáng)能發(fā)電系統(tǒng)。圖2為傳感器與AT89S52單片機(jī)的接口電路設(shè)計(jì)。
1.3 電源模塊
??? 電源模塊提供了2種供電方式:
??? ①當(dāng)測(cè)試儀作為手持設(shè)備使用時(shí),可直接使用3.6V鋰電池,經(jīng)過(guò)DC—DC電壓轉(zhuǎn)換芯片MAX756將電壓升至5 V后為單片機(jī)和外設(shè)供電。
??? ②當(dāng)測(cè)試儀作為固定設(shè)備安裝在太陽(yáng)能發(fā)電現(xiàn)場(chǎng)時(shí),可以采用太陽(yáng)能供電。太陽(yáng)能電池產(chǎn)生的12 V電壓通過(guò)穩(wěn)壓芯片LM7805后,得到穩(wěn)定的5 V電壓輸出,輸出電壓既可以為測(cè)試模塊供電還可以通過(guò)充電電路為鋰電池充電。圖3是電源模塊的硬件原理圖。
1.4 充電電路
??? 充電電路的核心器件采用的是上海如韻公司生產(chǎn)的專用充電芯片CN3058,它可以對(duì)單節(jié)磷酸鐵鋰可充電電池進(jìn)行恒流/恒壓充電。該器件內(nèi)部集成有功率晶體管,使用時(shí)不需要設(shè)計(jì)外圍電流檢測(cè)和保護(hù)電路,適用于便攜式的應(yīng)用領(lǐng)域。
??? 圖4為鋰電池充電電路。其中LEDl和LED2分別作為充電中和充電飽和兩種狀態(tài)的指示燈,R1在充電時(shí)起限流保護(hù)的作用;電容C1和C2采用的是多層陶瓷電容器(MLCC),能保證充電電路穩(wěn)定工作。
1.5 通信模塊
??? 測(cè)試儀通過(guò)RS485工業(yè)總線與PC機(jī)進(jìn)行通信,其硬件接口電路如圖5所示。
2 軟件設(shè)計(jì)
2.1 總體設(shè)計(jì)
??? 測(cè)試儀的軟件開(kāi)發(fā)環(huán)境采用的是Keil C,所有代碼采用C語(yǔ)言編寫。為了方便程序調(diào)試和提高可靠性,軟件采用模塊化結(jié)構(gòu)設(shè)計(jì),主要由初始化程序、主程序、子程序、中斷服務(wù)程序等組成。單片機(jī)上電后即開(kāi)始循環(huán)執(zhí)行溫濕度、照度測(cè)量程序,并以設(shè)定的時(shí)間間隔在數(shù)碼管上輪流動(dòng)態(tài)顯示;按鍵切換和通信功能部分由于使用頻率相對(duì)較低,為降低設(shè)備功耗,其程序以中斷響應(yīng)的方式執(zhí)行。在此要注意中斷優(yōu)先級(jí)的設(shè)置:按鍵中斷優(yōu)先級(jí)應(yīng)高于串口中斷,否則將無(wú)法進(jìn)行顯示切換。主程序流程如圖6所示。
2.2 傳感器驅(qū)動(dòng)程序
??? 本系統(tǒng)采用的傳感器均為集成數(shù)字芯片且都具有I2C總線接口,故其驅(qū)動(dòng)程序的編寫要嚴(yán)格遵循I2C總線的時(shí)序。主程序?yàn)槊恳粋€(gè)參數(shù)開(kāi)辟了一個(gè)8位的存儲(chǔ)空間,傳感器將采集到的數(shù)據(jù)經(jīng)SDA引腳串行輸出,驅(qū)動(dòng)程序?qū)DA線上輸出的數(shù)據(jù)進(jìn)行串并轉(zhuǎn)換,并存儲(chǔ)到相應(yīng)空間中,以方便其他功能程序調(diào)用。以下是照度傳感器數(shù)據(jù)采集程序的部分代碼。
??? (1)TSL2561初始化
???
2.3 RS485通信程序
??? 測(cè)試儀與上位機(jī)的通信采用RS485協(xié)議。串口參數(shù)為:波特率9600,數(shù)據(jù)位8位,1個(gè)校驗(yàn)位,1個(gè)停止位。其數(shù)據(jù)格式如圖7所示。
??? 由于RS485總線協(xié)議與RS232串口協(xié)議只是接口電平上有區(qū)別,其軟件編程完全按照串口通信協(xié)議進(jìn)行,此處不再詳述。
結(jié) 語(yǔ)
??? 經(jīng)實(shí)驗(yàn)測(cè)試,該環(huán)境參數(shù)測(cè)試儀溫度測(cè)量顯示精度可以達(dá)到0.1℃,濕度精確到O.1%,照度可以精確到11x。由于主要器件均為I2C數(shù)字接口,故本測(cè)試儀還有結(jié)構(gòu)簡(jiǎn)單、易維護(hù)、可擴(kuò)展性強(qiáng)等特點(diǎn),具有很高的實(shí)用價(jià)值;另外,獨(dú)特的雙電源供電方式更擴(kuò)展了它的適用范圍。
評(píng)論
查看更多