• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于AT89S52單片機(jī)的太陽能環(huán)境參數(shù)測試儀

    基于AT89S52單片機(jī)的太陽能環(huán)境參數(shù)測試儀

    作者: 時(shí)間:2009-11-23 來源:網(wǎng)絡(luò) 收藏

      引 言

      為了確保發(fā)電系統(tǒng)能夠正常的工作,需要對發(fā)電系統(tǒng)的各項(xiàng)進(jìn)行測量,從而有效地控制其運(yùn)行。本文介紹了一種基于單片機(jī)的參數(shù)測試儀,提供了3種參數(shù)的測量功能和通信接口,以及2種供電方式,既可作為手持設(shè)備使用,又能安裝在發(fā)電系統(tǒng)中,具有較高的實(shí)用價(jià)值。

      1 硬件電路設(shè)計(jì)

      1.1 總體結(jié)構(gòu)

      該測試儀以單片機(jī)為核心,外接溫濕度傳感器SHTll、照度傳感器、四位共陰數(shù)碼管、總線通信接口以及顯示切換按鍵。單片機(jī)上電工作后,對當(dāng)前溫度、濕度、光強(qiáng)度進(jìn)行實(shí)時(shí)測量,通過按鍵切換將測得的3種參數(shù)通過LED數(shù)碼管進(jìn)行輪流顯示;此外,還可以通過總線與PC機(jī)進(jìn)行通信,將參數(shù)值傳送到上位機(jī),以達(dá)到遠(yuǎn)程監(jiān)測的目的。該測試儀的結(jié)構(gòu)框圖如圖1所示。

    測試儀的結(jié)構(gòu)框圖

      1.2 測量模塊

      溫度和濕度測量采用的是瑞士Sensirion公司生產(chǎn)的SHTll傳感器。該傳感器采用獨(dú)特的CMOsens TM技術(shù),將溫濕度傳感器、信號放大處理、A/D轉(zhuǎn)換、全部集成在一塊芯片上,可直接與單片機(jī)接口。該芯片采用數(shù)字式輸出,為編程提供了方便。

      光照度測量選用的是TAOS公司生產(chǎn)的光強(qiáng)度傳感器。它具有數(shù)字式輸出端口和標(biāo)準(zhǔn)接口,涵蓋1~70 000 lx的寬照度范圍,非常適合戶外環(huán)境下光照強(qiáng)度的測量,適用于太陽能發(fā)電系統(tǒng)。圖2為傳感器與單片機(jī)的接口電路設(shè)計(jì)。

    傳感器與AT89S52單片機(jī)的接口電路設(shè)計(jì)

      1.3 電源模塊

      電源模塊提供了2種供電方式:

      ①當(dāng)測試儀作為手持設(shè)備使用時(shí),可直接使用3.6V鋰電池,經(jīng)過DC—DC電壓轉(zhuǎn)換芯片MAX756將電壓升至5 V后為單片機(jī)和外設(shè)供電。

      ②當(dāng)測試儀作為固定設(shè)備安裝在太陽能發(fā)電現(xiàn)場時(shí),可以采用太陽能供電。太陽能電池產(chǎn)生的12 V電壓通過穩(wěn)壓芯片LM7805后,得到穩(wěn)定的5 V電壓輸出,輸出電壓既可以為測試模塊供電還可以通過充電電路為鋰電池充電。圖3是電源模塊的硬件原理圖。

    電源模塊的硬件原理圖

      1.4 充電電路

      充電電路的核心器件采用的是上海如韻公司生產(chǎn)的專用充電芯片CN3058,它可以對單節(jié)磷酸鐵鋰可充電電池進(jìn)行恒流/恒壓充電。該器件內(nèi)部集成有功率晶體管,使用時(shí)不需要設(shè)計(jì)外圍電流檢測和保護(hù)電路,適用于便攜式的應(yīng)用領(lǐng)域。

      圖4為鋰電池充電電路。其中LEDl和LED2分別作為充電中和充電飽和兩種狀態(tài)的指示燈,R1在充電時(shí)起限流保護(hù)的作用;電容C1和C2采用的是多層陶瓷電容器(MLCC),能保證充電電路穩(wěn)定工作。

    鋰電池充電電路

      1.5 通信模塊

      測試儀通過工業(yè)總線與PC機(jī)進(jìn)行通信,其硬件接口電路如圖5所示。

    硬件接口電路

      2 軟件設(shè)計(jì)

      2.1 總體設(shè)計(jì)

      測試儀的軟件開發(fā)環(huán)境采用的是Keil C,所有代碼采用C語言編寫。為了方便程序調(diào)試和提高可靠性,軟件采用模塊化結(jié)構(gòu)設(shè)計(jì),主要由初始化程序、主程序、子程序、中斷服務(wù)程序等組成。單片機(jī)上電后即開始循環(huán)執(zhí)行溫濕度、照度測量程序,并以設(shè)定的時(shí)間間隔在數(shù)碼管上輪流動(dòng)態(tài)顯示;按鍵切換和通信功能部分由于使用頻率相對較低,為降低設(shè)備功耗,其程序以中斷響應(yīng)的方式執(zhí)行。在此要注意中斷優(yōu)先級的設(shè)置:按鍵中斷優(yōu)先級應(yīng)高于串口中斷,否則將無法進(jìn)行顯示切換。主程序流程如圖6所示。

    主程序流程

      2.2 傳感器驅(qū)動(dòng)程序

      本系統(tǒng)采用的傳感器均為集成數(shù)字芯片且都具有接口,故其驅(qū)動(dòng)程序的編寫要嚴(yán)格遵循I2C總線的時(shí)序。主程序?yàn)槊恳粋€(gè)參數(shù)開辟了一個(gè)8位的存儲空間,傳感器將采集到的數(shù)據(jù)經(jīng)SDA引腳串行輸出,驅(qū)動(dòng)程序?qū)DA線上輸出的數(shù)據(jù)進(jìn)行串并轉(zhuǎn)換,并存儲到相應(yīng)空間中,以方便其他功能程序調(diào)用。以下是照度傳感器數(shù)據(jù)采集程序的部分代碼。

      (1)初始化

    程序

      2.3 RS485通信程序

      測試儀與上位機(jī)的通信采用RS485協(xié)議。串口參數(shù)為:波特率9600,數(shù)據(jù)位8位,1個(gè)校驗(yàn)位,1個(gè)停止位。其數(shù)據(jù)格式如圖7所示。

    數(shù)據(jù)格式

      由于RS485總線協(xié)議與RS232串口協(xié)議只是接口電平上有區(qū)別,其軟件編程完全按照串口通信協(xié)議進(jìn)行,此處不再詳述。

      結(jié) 語

      經(jīng)實(shí)驗(yàn)測試,該測試儀溫度測量顯示精度可以達(dá)到0.1℃,濕度精確到O.1%,照度可以精確到11x。由于主要器件均為I2C數(shù)字接口,故本測試儀還有結(jié)構(gòu)簡單、易維護(hù)、可擴(kuò)展性強(qiáng)等特點(diǎn),具有很高的實(shí)用價(jià)值;另外,獨(dú)特的雙電源供電方式更擴(kuò)展了它的適用范圍。



    評論


    相關(guān)推薦

    技術(shù)專區(qū)

    關(guān)閉
    主站蜘蛛池模板: 苍南县| 开阳县| 安康市| 柘荣县| 察哈| 玉山县| 台湾省| 高密市| 桂平市| 宁晋县| 麻江县| 义乌市| 珲春市| 陈巴尔虎旗| 楚雄市| 磐安县| 山丹县| 炉霍县| 鹰潭市| 左贡县| 太和县| 上林县| 深水埗区| 深州市| 武川县| 凌海市| 辛集市| 印江| 砚山县| 漳州市| 万年县| 遂宁市| 浮山县| 洛扎县| 顺义区| 忻城县| 海原县| 涞水县| 淮滨县| 衢州市| 淮滨县|