蔡大華
摘 要:針對(duì)風(fēng)力發(fā)電供電、光伏發(fā)電供電以及市電供電“三電”供電的監(jiān)控和智能切換,達(dá)到“三電”有效、無(wú)縫合一的供電方式,是新能源應(yīng)用的先進(jìn)技術(shù)?;谖锫?lián)網(wǎng)技術(shù)自動(dòng)完成供電環(huán)境內(nèi)重要參數(shù)的監(jiān)測(cè);數(shù)據(jù)的遠(yuǎn)程傳輸;數(shù)據(jù)的顯示及遠(yuǎn)程控制等工作來(lái)實(shí)現(xiàn)“三電”合一功能,有效的解決“三電”合一中的若干常見(jiàn)問(wèn)題,達(dá)到風(fēng)力及光伏發(fā)電不能滿(mǎn)足供電要求時(shí),能自動(dòng)切入市電供電,從而保證用電負(fù)載的正常工作,具有一定的現(xiàn)實(shí)意義及實(shí)用價(jià)值。
關(guān)鍵詞:能源;物聯(lián)網(wǎng);“三電”合一
中圖分類(lèi)號(hào):TM61 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):2095-2945(2018)13-0078-02
Abstract: In view of the monitoring and intelligent switching of "three-electricity" power supply among wind power supply, photovoltaic power supply and municipal power supply, it is the advanced technology of new energy application to achieve the "three-electricity" effective and seamless power supply mode. Based on the Internet of Things technology to automatically complete the monitoring of important parameters in the power supply environment, remote transmission of data, data display and remote control to achieve the "three-electricity" integration function, effectively solve the "three-electricity" in the integration of a number of common problems. When the wind and photovoltaic power generation can not meet the requirements of power supply, it can automatically cut into the power supply to ensure the normal operation of the power load, which has a certain practical significance and practical value.
Keywords: energy; Internet of Things; "three electricity" in one
1 概述
所謂“三電”是風(fēng)力發(fā)電供電、光伏發(fā)電供電以及市電供電。在風(fēng)光發(fā)電應(yīng)用系統(tǒng)中,風(fēng)力及光伏發(fā)電受環(huán)境及氣候影響很大,影響供電的穩(wěn)定性及質(zhì)量。采用“三電”合一的供電方式,在風(fēng)力及光伏發(fā)電不能滿(mǎn)足供電要求時(shí),能自動(dòng)切入市電供電,從而保證用電負(fù)載的正常工作。
2 系統(tǒng)組成方案
本套“三電”供電監(jiān)測(cè)、智能控制系統(tǒng)是依托現(xiàn)在流行的物聯(lián)網(wǎng)技術(shù)利用無(wú)線自組傳感器網(wǎng)對(duì)采集的數(shù)據(jù)進(jìn)行實(shí)時(shí)遠(yuǎn)程傳輸以及做出相應(yīng)操作,提高系統(tǒng)的可靠性。
在“三電”供電監(jiān)控、管理系統(tǒng)中,對(duì)溫濕度、光照、交流電壓等參數(shù)是影響底層模塊運(yùn)行狀態(tài)的關(guān)鍵性因素,如何準(zhǔn)確實(shí)時(shí)全面地監(jiān)測(cè)這些環(huán)境變量的變化情況是提高“三電”智能切換準(zhǔn)確度,提升居民(工作者)舒適度,保證居民(工作者)用電穩(wěn)定的前提條件和重要環(huán)節(jié)。本系統(tǒng)僅選用了溫濕度、光照度和交流電壓三個(gè)物理量的傳感器來(lái)模擬對(duì)現(xiàn)場(chǎng)環(huán)境的實(shí)時(shí)監(jiān)測(cè)。在實(shí)際開(kāi)發(fā)和應(yīng)用中,可添加其他必要的檢測(cè)傳感器和控制系統(tǒng),使得“三電”供電監(jiān)控、管理系統(tǒng)真正做到對(duì)供電環(huán)境的更為全面的實(shí)時(shí)監(jiān)測(cè)和控制。
在人機(jī)交互接口上,本系統(tǒng)采用了較為傳統(tǒng)的LCD顯示、上位機(jī)顯示和上位機(jī)系統(tǒng)控制的方式。對(duì)供電能源系統(tǒng)進(jìn)行實(shí)時(shí)監(jiān)測(cè)和“三電”之間的切換,方便用戶(hù)準(zhǔn)確了解和控制現(xiàn)場(chǎng)環(huán)境,協(xié)助管理者準(zhǔn)確快速地處理各種問(wèn)題。
傳感器與無(wú)線結(jié)點(diǎn)的連接是使用接插件的形式,無(wú)線結(jié)點(diǎn)系統(tǒng)板上預(yù)留4種不同規(guī)格、不同種類(lèi)的傳感器接口,方便以后拓展其他器件。人機(jī)交互接口中,LCD是直接插在無(wú)線結(jié)點(diǎn)上,保證了系統(tǒng)硬件的穩(wěn)定性和整體統(tǒng)一性。協(xié)調(diào)結(jié)點(diǎn)與上位機(jī)之間使用串口線相連,進(jìn)行數(shù)據(jù)通信。
3 數(shù)據(jù)的采集和上傳
在系統(tǒng)中涉及到溫濕度、光照度、交流電壓三種傳感器的數(shù)據(jù)的采集。以溫濕度數(shù)據(jù)做簡(jiǎn)單的介紹,附帶相應(yīng)的核心程序。
以下是濕度讀取的程序的主函數(shù)部分:
if((R_Buffer.packet_Struct.cmd[1]=='W')&&
(R_Buffer.packet_Struct.cmd[2] == 'S'))//讀溫濕度
read_data(sensor_data_value); //讀取濕度
DataChange(sensor_data_value,ch); //數(shù)據(jù)處理
dis[0] = ((ch[4] - 0x30)<<4)| (ch[5] - 0x30);
dis[1] = ch[7] - 0x30;
T_Buffer.packet_Struct.DataBuf[0] = dis[0]; //濕度整數(shù)部分
T_Buffer.packet_Struct.DataBuf[1] = dis[1]; //濕度小數(shù)部分
主函數(shù)中需要值得關(guān)注的是read_data函數(shù)和DataChange函數(shù),這兩部分是根據(jù)芯片時(shí)序和資料手冊(cè),對(duì)傳感器數(shù)據(jù)進(jìn)行讀取后再修正。程序中所提及的T_Buffer是上傳數(shù)據(jù)的結(jié)構(gòu)體,所有將要上傳的數(shù)據(jù)都存放在其中,傳感器采集的數(shù)據(jù)都在T_Buffer.packet_Struct.DataBuf[]中,其他的位置將存放其他數(shù)據(jù),例如數(shù)據(jù)頭、網(wǎng)絡(luò)地址、物理地址等。
傳感器數(shù)據(jù)采集后,將通過(guò)ZigBee終端(路由)結(jié)點(diǎn)進(jìn)行上傳數(shù)據(jù)。在本次設(shè)計(jì)中,終端結(jié)點(diǎn)所執(zhí)行的任何操作都需要驗(yàn)證上位機(jī)傳來(lái)的指令,只有驗(yàn)證通過(guò)才會(huì)執(zhí)行,其中就包含數(shù)據(jù)上傳。
以下代碼在終端部分協(xié)議棧App層的SampleApp_MessageMSGCB函數(shù)中,同樣以上傳溫度數(shù)據(jù)為例。
uint16 temp16;
UINT8 dis1[2];
memcpy(R_Buffer.data,pkt->cmd.Data,pkt->cmd.DataLength);
memset(T_Buffer.data,'y',32);
memcpy(T_Buffer.data,R_Buffer.data,7);
T_Buffer.packet_Struct.rType='S';
T_Buffer.packet_Struct.Saddr[0]=R_Buffer.packet_Struct.Saddr[0];
T_Buffer.packet_Struct.Saddr[1]=R_Buffer.packet_Struct.Saddr[1];
T_Buffer.packet_Struct.foot='*';
switch(R_Buffer.packet_Struct.cmd[0])
case 'R'://讀
if((R_Buffer.packet_Struct.cmd[1]=='W')
&&(R_Buffer.packet_Struct.cmd[2] == 'S')) //讀濕度
ds18b20_main();
SendData(T_Buffer.data, 0x0000, 32);
在switch-case選擇語(yǔ)句之前,是將數(shù)據(jù)R_Buffer復(fù)制到T_Buffer中,共32個(gè)字節(jié),其中包含了數(shù)據(jù)頭、數(shù)據(jù)尾,以及當(dāng)前控制設(shè)備的物理地址、網(wǎng)絡(luò)地址,這樣統(tǒng)一指令格式是為了數(shù)據(jù)傳輸?shù)陌踩?、完整、高效。接下?lái)就是根據(jù)指令的具體內(nèi)容來(lái)進(jìn)行數(shù)據(jù)的讀取,然后發(fā)送,SendData為發(fā)送函數(shù),目標(biāo)地址為0x0000即協(xié)調(diào)結(jié)點(diǎn)。
上部分為終端結(jié)點(diǎn)通過(guò)無(wú)線網(wǎng)上傳數(shù)據(jù),而協(xié)調(diào)結(jié)點(diǎn)通過(guò)RS232串口線直接與上位機(jī)相連,其收到的數(shù)據(jù)驗(yàn)證通過(guò)后將會(huì)原封不動(dòng)的全部上傳給上位機(jī)。
以下代碼在協(xié)調(diào)結(jié)點(diǎn)部分的App層SampleApp_MessageMSGCB函數(shù)中,作用是接收到無(wú)線消息上傳來(lái)的傳感器數(shù)據(jù),驗(yàn)證通過(guò)后再原封不動(dòng)的上傳至上位機(jī)。
else // 數(shù)據(jù)轉(zhuǎn)發(fā)
T_Buffer.packet_Struct.DataBuf[20]=pkt->LinkQuality;
HalUARTWrite ( MT_UART_DEFAULT_PORT, T_Buffer.data, 32); //從串口輸出 上位機(jī)通過(guò)串口接收并進(jìn)行判斷,然后顯示、控制。
4 “三電”合一智能切換
本套系統(tǒng)主要是為了實(shí)現(xiàn)“三電”智能無(wú)縫切換,這一功能是在上位機(jī)中來(lái)完成的。通過(guò)點(diǎn)播的方式,上位機(jī)可以通過(guò)協(xié)調(diào)結(jié)點(diǎn)獲取網(wǎng)絡(luò)中的各個(gè)終端結(jié)點(diǎn)的地址,上位機(jī)會(huì)通過(guò)判斷終端結(jié)點(diǎn)的地址來(lái)選擇把控制切換的命令發(fā)送給對(duì)應(yīng)的終端結(jié)點(diǎn),實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)通信。底層結(jié)點(diǎn)通過(guò)光照度傳感器采集光照數(shù)據(jù)和交流電壓傳感器采集風(fēng)、光發(fā)電的電壓并實(shí)時(shí)上傳至協(xié)調(diào)結(jié)點(diǎn),協(xié)調(diào)結(jié)點(diǎn)繼續(xù)上傳至上位機(jī),上位機(jī)對(duì)上傳數(shù)據(jù)進(jìn)行判斷,當(dāng)?shù)陀谠O(shè)定的閾值時(shí)自動(dòng)發(fā)送切換命令,將供電方式切換到市電,保證日常生活和工作的正常進(jìn)行。當(dāng)然在實(shí)際操作過(guò)程當(dāng)中也可以采用手動(dòng)的方式,在上位機(jī)中有相對(duì)應(yīng)的按鈕,只需鼠標(biāo)單擊按鈕即可發(fā)送相應(yīng)的命令,對(duì)供電方式進(jìn)行切換。
主要程序:
a.采集數(shù)據(jù)
guangzhao1 = Convert.ToDouble(data[10])*10;
guangzhao.Text = guangzhao1.ToString();
chatshow(0x03, guangzhao1, 0);
b.光照數(shù)值與設(shè)定的閾值進(jìn)行比較判斷
if(guangzhao1<70)
比閾值小的話,執(zhí)行下面控制命令發(fā)送將風(fēng)、光發(fā)電供電切換到市電供電
c.執(zhí)行控制命令達(dá)到切換效果
private void send(int zhuangtai, int jiedian)//發(fā)送控制命令切換供電方式
data.Add(all[i].Wang1);
data.Add(all[i].Wang2);
data.Add(0x30);//表示關(guān)閉
相反則不執(zhí)行此程序。
5 系統(tǒng)方案達(dá)到的效果
根據(jù)系統(tǒng)的功能要求,設(shè)計(jì)達(dá)到的效果是:ZigBee底層模塊能夠進(jìn)行小型無(wú)線個(gè)域網(wǎng)的組網(wǎng),保證了整個(gè)數(shù)據(jù)傳輸網(wǎng)絡(luò)的穩(wěn)定性。傳感器能夠?qū)崟r(shí)采集數(shù)據(jù)并且把數(shù)據(jù)輸出給終端結(jié)點(diǎn),終端結(jié)點(diǎn)采集數(shù)據(jù)后無(wú)線傳輸至協(xié)調(diào)結(jié)點(diǎn)并在LCD上數(shù)據(jù)顯示,上位機(jī)界面能夠顯示協(xié)調(diào)結(jié)點(diǎn)通過(guò)串口上傳的采集的數(shù)據(jù),在智能控制上,上位機(jī)通過(guò)后臺(tái)數(shù)據(jù)處理能夠達(dá)到“三電”之間的智能切換。
6 結(jié)束語(yǔ)
在對(duì)硬件和軟件的全面測(cè)試、調(diào)試之后,最終完成了“三電”供電監(jiān)控、智能切換系統(tǒng)的設(shè)計(jì),實(shí)現(xiàn)了實(shí)時(shí)監(jiān)測(cè)、LCD顯示、上位機(jī)顯示、以及上位機(jī)系統(tǒng)控制等功能,成功地完成了設(shè)計(jì)之初設(shè)定的目標(biāo),也為后續(xù)的開(kāi)發(fā)拓展奠定了基礎(chǔ)。
參考文獻(xiàn):
[1]李艷紅,李海華.傳感器原理及其應(yīng)用[M].北京:北京理工大學(xué)出版社,2010.
[2]戴娟,吳國(guó)中,周昱英.單片機(jī)技術(shù)與項(xiàng)目實(shí)施[M].南京:南京大學(xué)出版社,2010.
[3]Christian Nagel,Bill Evjen.C#高級(jí)編程(第8版)[M].北京:清華大學(xué)出版社,2013.