發(fā)布時間:2018/8/27 9:20:37 來源:本站
光伏照明作為新能源、新光源領(lǐng)域的新興產(chǎn)業(yè),能提供夜間道路照明,其不消耗電網(wǎng)電能、不架設(shè)輸電線路、不污染環(huán)境、產(chǎn)品附加值高.在穩(wěn)定國際市場的同時,大力開拓國內(nèi)市場,光伏照明發(fā)展的前景廣闊.
光伏照明的主要應用就是太陽能路燈.現(xiàn)有的太陽能路燈控制器一般為單機版和網(wǎng)絡(luò)版.單機版通常按照獨立光伏系統(tǒng)設(shè)計.控制器只監(jiān)測本路燈的太陽能電池板、蓄電池電壓,采用電流控制路燈的開啟、關(guān)閉,多采用恒流模式充電.這種單機版的控制器不能實時監(jiān)測太陽能路燈的狀況,例如燈具損壞、太陽能電池板損壞等故障,要由巡視人員進行定期檢查,提高了太陽能路燈的維護成本.網(wǎng)絡(luò)版太陽能路燈控制器利用Internet網(wǎng)絡(luò)或手機網(wǎng)絡(luò)對路燈系統(tǒng)工作狀況進行遠程監(jiān)控和匯總.由于Internet網(wǎng)絡(luò)需要鋪設(shè)網(wǎng)絡(luò)線路,應用場合受限制.手機網(wǎng)絡(luò)需配置的無線通信設(shè)備及通信費用的成本較高,實用性不好.楊超等提出利用無線自組網(wǎng)來控制太陽能路燈系統(tǒng),通過分離的控制器與無線透傳自組網(wǎng)節(jié)點實現(xiàn)路燈系統(tǒng)的自動控制.在系統(tǒng)實現(xiàn)過程中,每個太陽能路燈配備1個控制器和1個無線節(jié)點.控制器僅僅作為1個多節(jié)點控制終端,成本較高,而且控制器與無線自組網(wǎng)節(jié)點間的串口通信干擾較大,通信效果不好.
近年來,一種短距離、低功耗的無線通信網(wǎng)絡(luò)模塊——ZigBee模塊在自動控制領(lǐng)域得到了迅速的應用.本文基于美國德州儀器公司CC2530F256微控制器設(shè)計了無線自組網(wǎng)太陽能路燈控制系統(tǒng),具有數(shù)據(jù)采集、終端控制和自組網(wǎng)功能,能實時監(jiān)控太陽能路燈系統(tǒng)的工作,同時降低了硬件成本,提高了通信質(zhì)量.
無線自組網(wǎng)太陽能路燈控制系統(tǒng)結(jié)構(gòu)如圖1所示.系統(tǒng)由上位機與ZigBee無線路燈網(wǎng)絡(luò)組成.上位機與ZigBee無線路燈網(wǎng)絡(luò)通過協(xié)調(diào)器相連;協(xié)調(diào)器通過ZigBee協(xié)議接收無線路燈網(wǎng)絡(luò)上傳的數(shù)據(jù),然后通過RS–232與上位機通信,并接收上位機控制命令下發(fā)給無線路燈網(wǎng)絡(luò).
圖2 太陽能路燈控制器節(jié)點結(jié)構(gòu)框圖
Fig. 2 Structure diagram of the solar energy streetlight control unit
上位機監(jiān)控系統(tǒng)具有路燈監(jiān)控、控制參數(shù)設(shè)置、ZigBee無線數(shù)據(jù)通信等功能;此外,可根據(jù)需要打開或關(guān)閉單燈、組燈,可通過控制單燈電流,達到節(jié)能目的;可對路燈模塊數(shù)據(jù)通信超時、狀態(tài)出錯、燈具故障等進行報警,可報告故障路燈的位置,以便及時維修,保證燈亮率.
協(xié)調(diào)器負責網(wǎng)絡(luò)的建立及參數(shù)配置.組建網(wǎng)絡(luò)包括網(wǎng)絡(luò)初始化及節(jié)點加入網(wǎng)絡(luò)2個主要步驟.
圖1 無線自組網(wǎng)太陽能路燈控制系統(tǒng)結(jié)構(gòu)框圖
Fig. 1Structure diagram of the solar energy streetlight control system based on wireless Ad Hoc network
太陽能路燈控制器節(jié)點是無線路燈網(wǎng)絡(luò)的重要組成部分.節(jié)點由太陽能電池板、太陽能路燈控制器、蓄電池和燈具等組成,如圖2所示.
太陽能路燈控制器在無線自組網(wǎng)太陽能路燈系統(tǒng)中起重要作用,其控制功能有:(1)當外界光照條件符合要求時,控制太陽能電池板向蓄電池充電,當光照條件變化時,如黑夜或自然照明條件差時,控制蓄電池向負載供電;(2)通過對太陽能電池板和蓄電池電量進行精確檢測,防止蓄電池過充與過放,延長蓄電池使用壽命;(3)通過時控與人工控制確定路燈負載情況,使路燈工作更加人性化,從而延長系統(tǒng)的使用壽命,節(jié)約能源;(4)控制路燈節(jié)點穩(wěn)定運行、自動加入無線網(wǎng)絡(luò)、接收并執(zhí)行上位機的控制命令、上傳節(jié)點數(shù)據(jù).
無線自組網(wǎng)太陽能路燈控制系統(tǒng)的控制器采用CC2530F256.它提供了1個真正的片上系統(tǒng)(SoC)解決方案,能夠以較低的成本建立強大的網(wǎng)絡(luò)節(jié)點,其整合了領(lǐng)先的RF收發(fā)器、增強型8051CPU、強大的AES-128安全加密功能、2個可支持多種串行通信協(xié)議的USART、具有12位分辨率可配置的ADC和8路輸入,并且具有不同的運行模式,使得此控制器尤其適應超低功耗要求的系統(tǒng).由于具有高集成度和強大的功能,使得CC2530F256只需很少的外圍設(shè)備,就可搭建無線自組網(wǎng)絡(luò)系統(tǒng).
系統(tǒng)采用閥控密封式鉛酸(valve-regulated lead acid,VRLA)蓄電池,整體密封,不存在普通鉛酸蓄電池的氣脹、電解液滲漏等現(xiàn)象,安全可靠、使用壽命長.但是,過充電會引起VRLA蓄電池正極析氧,促使活性物質(zhì)與板柵結(jié)合力變壞,導致蓄電池容量下降.過放電還會導致VRLA蓄電池表面生成PbSO4結(jié)晶,降低極板活性物質(zhì)的孔率,縮短使用壽命.所以,控制器必須具有良好的防過充、過放電功能.
2.1 VRLA蓄電池閾值電壓溫度補償
圖3 VRLA蓄電池充、放電電路
Fig. 3 Circuit of charge and discharge of the VRLA
VRLA蓄電池的閾值電壓與溫度有很大關(guān)系,充電器的輸出電壓必須隨VRLA蓄電池的電壓溫度系數(shù)改變.系統(tǒng)采用DS18B20數(shù)字溫度傳感器,將DS18B20通過液態(tài)硅膠緊貼在VRLA蓄電池表面采集VRLA蓄電池外殼的表面溫度.VRLA蓄電池的充電閾值電壓補償系數(shù)a為-4mV/(℃·單體),補償后閾值電壓為Uh=U+an(t-25),其中U為25℃時的標準閾值電壓,t為VRLA蓄電池外殼的表面溫度,n為串聯(lián)單體數(shù).
2.2 VRLA蓄電池充、放電電路
VRLA蓄電池充電電路工作在浮充、均充、停止充電狀態(tài),并在浮充、均充、停止充電間自動切換.VRLA蓄電池放電電路工作在穩(wěn)流放電、停止放電狀態(tài),并當蓄電池低于放電電壓時自動切換到停止放電狀態(tài). VRLA蓄電池充、放電電路如圖3所示.
運算放大器U2A、U2B、U2C,U2D,大功率達林頓三極管Q1,三極管Q2、Q3、Q4等組成蓄電池充電電路.其中Q4由程序控制,從而控制充電電路是否工作:當K1輸入高電平,Q4飽和導通,充電電路正常工作;當K1輸入低電平,Q4截至,關(guān)閉充電電路.
運算放大器U2C用來消除電流取樣電阻R11上的壓降對蓄電池電壓測量的影響,它與R6、R7組成負阻轉(zhuǎn)換器(NIC),以提高蓄電池電壓采樣精度.R11上的壓降為正,U2C與R5、R6、R7組成反向差動放大器,輸出電壓為負,目的是在AD1的取樣信號中減去R11上的壓降,采集到真實的蓄電池電壓值.輸出電壓經(jīng)R3、R4組成的分壓電路由AD1輸出做相應處理,同時送入U2A反向輸入端,完成充電電壓調(diào)節(jié).
充電電路中電壓調(diào)整三極管Q1的輸出電壓為
R11上的電壓為
蓄電池電壓為
將式(1)、式(2)代入式(3)得
式中:Iout是流經(jīng)VRLA蓄電池的電流;Upwma為運算放大器U2A輸入端的電壓.當滿足時,能夠消除蓄電池電流取樣電阻上的壓降對蓄電池電壓采樣的影響,得到
設(shè)Uh為VRLA蓄電池溫度補償后浮充電壓值,Iq為蓄電池均充電流值.設(shè)置Upwma=Uh,當UBat>Upwma時,U2A工作在比較器狀態(tài),U1A輸出低電平,截止,充電停止,實現(xiàn)防過充功能;當UBat<Upwma時,U2A工作在線性放大器狀態(tài),此時U2A輸出控制Q2實現(xiàn)浮充功能;當UBat≪Upwma時,U2A工作在比較器狀態(tài),U1A輸出高電平,飽和導通,此時由Upwmb(運算放大器U2B輸入端的電壓)控制Q3,實現(xiàn)均充.
U2B、U2D與三極管Q3等組成穩(wěn)流電路.取樣電阻R11上流過的電流與U2D組成跨阻放大器,輸出電壓送入由U2B組成的反向放大器,完成電流調(diào)節(jié)和均流充電,電流值由式(4)得出.
充電電路工作在浮充、均充是由微控制器通過AD4端口測量運放U2A輸出電壓進行控制的,當U2A輸出電壓>11V,Q2工作在飽和導通狀態(tài),充電模式為由Upwmb控制的均充.當U2A輸出電壓<1V時,充電模式為由Upwma控制的浮充模式.
由U1A、U1B、Q5、Q6、Q7、Q8等組成的放電電路可工作在穩(wěn)流放電、停止放電狀態(tài).當蓄電池低于放電電壓時,自動切換到停止放電狀態(tài),工作原理與充電電路原理相同.
軟件設(shè)計包括上位機監(jiān)控軟件與下位機軟件.下位機軟件包括路燈控制器節(jié)點軟件和協(xié)調(diào)器軟件,路燈控制器節(jié)點軟件實現(xiàn)數(shù)據(jù)采集、接收并轉(zhuǎn)發(fā)數(shù)據(jù)的路由功能;協(xié)調(diào)器軟件實現(xiàn)組網(wǎng),按照ZigBee協(xié)議接收無線網(wǎng)絡(luò)中節(jié)點數(shù)據(jù)并通過RS–232與上位機監(jiān)控軟件進行數(shù)據(jù)交互.
3.1 下位機軟件
下位機軟件基于Z-STACK協(xié)議棧進行開發(fā),ZSTACK協(xié)議棧提供名為操作系統(tǒng)抽象層OSAL的協(xié)議棧調(diào)度程序,其庫代碼封裝了ZigBee協(xié)議棧的實現(xiàn)細節(jié),向開發(fā)人員提供ZigBee協(xié)議描述的各層功能組件模塊的API接口.開發(fā)人員在協(xié)議棧調(diào)度程序中調(diào)用API接口進行應用程序開發(fā),Z-STACK底層封裝了自動組建網(wǎng)絡(luò)、加入節(jié)點、數(shù)據(jù)收發(fā)等功能,其應用程序開發(fā)包括為3個步驟:(1)應用程序涉及的軟、硬件初始化編碼;(2)在Z-STACK協(xié)議棧中注冊該事件編碼;(3)在合適的地方調(diào)用功能函數(shù)編碼.在協(xié)議棧中,每個任務(wù)都是1個事件,且有相應的標志位.協(xié)議棧以任務(wù)輪詢方式工作,輪流查詢所有標志位,若標志位有效,則調(diào)度程序執(zhí)行該任務(wù)事件處理函數(shù);若同時有多個事件發(fā)生,則調(diào)度程序根據(jù)優(yōu)先級順序執(zhí)行相應事件處理函數(shù).圖4為ZSTACK協(xié)議棧工作流程.
圖4 Z-STACK 協(xié)議棧工作流程
Fig. 4 Working process of the Z-Stack
應用軟件是在Z-STACK提供的示例工程SampleApp.eww基礎(chǔ)上開發(fā)的.首先在APP文件夾中SampleApp.c與SampleApp.h中用戶添加事件初始化函數(shù),包括定時器、I/O口、ADC、PWM初始化和事件處理函數(shù);其次在SampleApp_Init()函數(shù)中調(diào)用應用程序初始化函數(shù)與注冊任務(wù)號,進行功能初始化并把相應的事件號添加到協(xié)議棧的事件數(shù)組中;最后根據(jù)要求觸發(fā)該事件來調(diào)用用戶功能函數(shù),把采集到的數(shù)據(jù)通過void SampleApp_ SendPeriodicMessage(void)函數(shù)發(fā)送出去,或者將通過void SampleApp_ MessageMSGCB(afIncoming MSGPacket_t *pkt)函數(shù)接收到的數(shù)據(jù)進行解析、處理.
在事件處理函數(shù)中,對電壓、電流數(shù)據(jù)采集應用過采樣技術(shù).過采樣是犧牲速度來換取分辨率的軟件手段,在軟件中將1個和采樣頻率相關(guān)的PWM白噪聲疊加到輸入端,按照過采樣理論,增加4倍采樣可提高1位分辨率,增加256倍采樣,理論上可提高4位分辨率,此時ADC每秒采樣4,000次,能夠滿足系統(tǒng)需要.采用過采樣技術(shù)使CC2530片上ADC的分辨率由12位提高到16位,大大提高了數(shù)據(jù)采集的精度.
編譯SampleApp工程后,通過CoodinatorEB-Pro下載程序到協(xié)調(diào)器中.協(xié)調(diào)器運行軟件后,能夠自動加入無線網(wǎng)絡(luò),收發(fā)無線自組網(wǎng)絡(luò)中數(shù)據(jù),也能夠通過串口與上位機進行數(shù)據(jù)交互.
3.2 上位機軟件
在上位機軟件中主要實現(xiàn)了以下3個功能:
(1)協(xié)調(diào)器與上位機監(jiān)控軟件通過RS–232串口通信.首先把SerialPort控件添加到主窗口中,選擇DtaReceived事件生成SerialPort1_DataReceived()函數(shù),初始化串口屬性.DataReceived事件是在輔線程被觸發(fā)的,當接收到1條完整的數(shù)據(jù)返回主線程中處理時,需要進行跨線程處理.程序采用同步委托方法Invoke.首先聲明委托delegate void mydelegate1 (StringBuilder sb),其次定義1個委托實例并實例化委托對象mydelegate1mydelegate=new mydelegate1 (updateReceiveSB),然后定義1個實例方法private void updateReceiveSB(StringBuilder sb),最后進行調(diào)用this.Invoke(mydelegate,sb).
(2)協(xié)調(diào)器與上位機監(jiān)控軟件之間傳輸數(shù)據(jù)的編碼與解碼,解析出控制命令與數(shù)據(jù).監(jiān)控軟件處理協(xié)議數(shù)據(jù)時采用有限狀態(tài)機模式,把復雜的協(xié)議數(shù)據(jù)分解成有限個穩(wěn)定的狀態(tài),在每個狀態(tài)上判斷事件,將連續(xù)處理變?yōu)殡x散數(shù)字處理,符合計算機的工作特點,同時因為有限狀態(tài)機具有有限個狀態(tài),所以在實際的工程中更容易實現(xiàn).
(3)實時對上傳的數(shù)據(jù)進行解析,并根據(jù)解析的控制命令字和數(shù)據(jù)進行快速響應處理,程序采用事件觸發(fā)方式對采集到的數(shù)據(jù)進行實時處理.以上傳模塊控制測試數(shù)據(jù)事件為例:
首先定義委托public delegate void delegateRequestUploadModuleTstData(string recStr);
定義事件public event delegateRequestUpload-ModuleTestData eventRequestUploadModuleTestData;
定義事件觸發(fā)函數(shù)public void requestUpload-ModuleTestDataFun(){
eventRequestUploadModuleTestData(_recStr);}.
然后,在可能有該事件產(chǎn)生的窗口中注冊該事件mainform.eventRequestUploadModuleTestData+=ret-SuccessRequestUploadModuleTestData. 其中retSuccessRequestUploadModuleTestData為該事件處理函數(shù).
最后,在產(chǎn)生該事件的地方調(diào)用事件觸發(fā)函數(shù)requestUploadModuleTestDataFun().
基于CC2530無線自組網(wǎng)太陽能路燈系統(tǒng)方案已在常州某太陽能電池板公司的廠區(qū)道路進行了性能測試,包括無線自組網(wǎng)測試和遠程控制測試.廠區(qū)鋪設(shè)太陽能路燈的道路寬約10m,兩路燈間距約40m,共50盞路燈、1臺上位機與1個協(xié)調(diào)器組成測試系統(tǒng).
無線自組網(wǎng)測試分別在晴天、霧天、陰天和雨天4種天氣條件下進行.為了簡化測試,在測試自組網(wǎng)絡(luò)成功率時屏蔽了傳感器數(shù)據(jù)發(fā)送環(huán)節(jié).測試表明,在實驗條件下節(jié)點的組網(wǎng)成功率均達到100%.
進行遠程控制測試實驗時,廠區(qū)的車輛較少,基本上沒有障礙物,在上位機操作界面對太陽能路燈的平均響應時間進行測試.將50個路燈節(jié)點平均分為5組,進行了全開、全閉、組開、組閉、單燈控制和上傳數(shù)據(jù)6項控制,結(jié)果見表1.
表1 太陽能路燈遠程控制測試結(jié)果
Tab. 1Result of remote control test of the solar energy streetlight control system
測試結(jié)果表明:該設(shè)計性能組網(wǎng)穩(wěn)定,在有效距離內(nèi),能準確控制路燈的亮與滅;電路設(shè)計和通信方式的改進,使得控制器的利用率較高,降低了硬件成本,也明顯改善了組網(wǎng)、數(shù)據(jù)傳輸通信質(zhì)量;系統(tǒng)實現(xiàn)了數(shù)據(jù)采集、控制等功能,提高了設(shè)備的智能化控制程度,方便對照明系統(tǒng)進行管理.
本文以ZigBee模塊CC2530為控制核心,實現(xiàn)了無線自組網(wǎng)太陽能路燈系統(tǒng)設(shè)計,實現(xiàn)了過充、過放保護和溫度補償功能,并進行了測試.設(shè)計中利用電流采樣電阻分壓技術(shù)進行補償,使得測量值更接近蓄電池端電壓.利用過采樣技術(shù),進一步提高了電壓測量精度.由于硬件結(jié)構(gòu)和通信方式的改進,控制器的利用率較高,降低了硬件成本,也明顯改善了通信質(zhì)量.
該無線自組網(wǎng)系統(tǒng)不僅可以應用在太陽能路燈控制,還可以推廣應用到農(nóng)業(yè)節(jié)水灌溉、池塘水產(chǎn)養(yǎng)殖等無人值守現(xiàn)場的監(jiān)測和控制.
|
||