引言 為了確保太陽能發電系統能夠正常的工作,需要對太陽能發電系統的各項環境參數進行測量,從而有效地控制其運行。本文介紹了一種基于單片機的太陽能參數測試儀,提供了3種參數的測量功能和通信接口,以及2種供電方式,既可作為手持設備使用,又能安裝在發電系統中,具有較高的實用價值。 1 硬件電路設計 1.1 總體結構 該測試儀以AT89S52單片機為核心,外接溫濕度傳感器 SHT11、照度傳感器TSL2561、四位共陰數碼管、RS485總線通信接口以及顯示切換按鍵。單片機上電工作后,對當前溫度、濕度、光強度進行實時測量,通過按鍵切換將測得的3種參數通過LED數碼管進行輪流顯示;此外,還可以通過RS485總線與PC機進行通信,將參數值傳送到上位機,以達到遠程監測的目的。該測試儀的結構框圖如圖1所示。 1.2 測量模塊 溫度和濕度測量采用的是瑞士Sensirion 公司生產的SHT11傳感器。該傳感器采用獨特的CMOSens TM技術,將溫濕度傳感器、信號放大處理、A/D轉換、I2C總線全部集成在一塊芯片上,可直接與單片機接口。該芯片采用數字式輸出,為編程提供了方便。 光照度測量選用的是TAOS公司生產的TSL2561光強度傳感器。它具有數字式輸出端口和標準I2C總線接口,涵蓋1~70 000 lx的寬照度范圍,非常適合戶外環境下光照強度的測量,適用于太陽能發電系統。圖2為傳感器與AT89S52單片機的接口電路設計。 1.3 電源模塊 電源模塊提供了2種供電方式: ①當測試儀作為手持設備使用時,可直接使用3.6 V鋰電池,經過DC-DC電壓轉換芯片MAX756將電壓升至5 V后為單片機和外設供電。 ②當測試儀作為固定設備安裝在太陽能發電現場時,可以采用太陽能供電。太陽能電池產生的12 V電壓通過穩壓芯片LM7805后,得到穩定的5 V電壓輸出,輸出電壓既可以為測試模塊供電還可以通過充電電路為鋰電池充電。 圖3是電源模塊的硬件原理圖。 1.4 充電電路 充電電路的核心器件采用的是上海如韻公司生產的專用充電芯片CN3058,它可以對單節磷酸鐵鋰可充電電池進行恒流/恒壓充電。該器件內部集成有功率晶體管,使用時不需要設計外圍電流檢測和保護電路,適用于便攜式的應用領域。 圖4為鋰電池充電電路。其中LED1和LED2分別作為充電中和充電飽和兩種狀態的指示燈,R1在充電時起限流保護的作用;電容C1和C2采用的是多層陶瓷電容器(MLCC),能保證充電電路穩定工作。 1.5通信模塊 測試儀通過RS485工業總線與PC機進行通信,其硬件接口電路如圖5所示。 2 軟件設計 2.1 總體設計 測試儀的軟件開發環境采用的是Keil c,所有代碼采用C語言編寫。為了方便程序調試和提高可靠性,軟件采用模塊化結構設計,主要由初始化程序、主程序、子程序、中斷服務程序等組成。單片機上電后即開始循環執行溫濕度、照度測量程序,并以設定的時間間隔在數碼管上輪流動態顯示;按鍵切換和通信功能部分由于使用頻率相對較低,為降低設備功耗,其程序以中斷響應的方式執行。在此要注意中斷優先級的設置:按鍵中斷優先級應高于串口中斷,否則將無法進行顯示切換。主程序流程如圖6所示。 2.2傳感器驅動程序 本系統采用的傳感器均為集成數字芯片且都具有I2c總線接口,故其驅動程序的編寫要嚴格遵循I2c總線的時序。主程序為每一個參數開辟了一個8位的存儲空間,傳感器將采集到的數據經SDA引腳串行輸出,驅動程序將SDA線上輸出的數據進行串并轉換,并存儲到相應空間中,以方便其他功能程序調用。以下是照度傳感器數據采集程序的部分代碼。 TSL2561 初始化 2.3 RS485通信程序 測試儀與上位機的通信采用RS485協議。串口參數為:波特率9600,數據位8位,1個校驗位,1個停止位。其數據格式如圖7所示。 由于RS485總線協議與RS232串口協議只是接口電平上有區別,其軟件編程完全按照串口通信協議進行,此處不再詳述。 結語 經實驗測試,該環境參數測試儀溫度測量顯示精度可以達到O.1℃,濕度精確到0.1%,照度可以精確到1 lx。由于主要器件均為I2C數字接口,故本測試儀還有結構簡單、易維護、可擴展性強等特點,具有很高的實用價值;另外,獨特的雙電源供電方式更擴展了它的適用范圍。 參考文獻 1. 姜連祥.汪小燕 基于光強傳感器TSL256x的感測系統設計 2. SHT1X/SHT7X Humidity & Temperature Sensor datasheet 3. 廣州周立功單片機發展有限公司 I2C 總線規范 4. 方佩敏 磷酸鐵鋰電池充電器CN3059 [期刊論文] -今日電子2007(10) 作者:胡磊 王濤 (武漢理工大學) 王艷 (武漢科技學院) 來源:單片機與嵌入式系統應用 2009 (4) |