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