李 陽
(貴州商學(xué)院,貴州 貴陽 550014)
隨著現(xiàn)代化社會(huì)的不斷發(fā)展以及電子電器設(shè)備的不斷優(yōu)化更新,越來越多的人開始關(guān)注用電安全的重要性,普通家庭住宅、公寓、集中性住宿場所等用電安全的檢測越來越引起人們的重視,特別針對大功率用電設(shè)備的檢測[1]。然而,傳統(tǒng)的住宅用電監(jiān)測方法主要采用人工檢測的方式。該方式存在檢測效率低、報(bào)警不及時(shí)、人工成本高等明顯缺陷。同時(shí),人為疏忽和注意力不集中等不可控因素,很可能導(dǎo)致誤判、遺漏以及檢測數(shù)據(jù)不準(zhǔn)確等后果。如今,數(shù)據(jù)的準(zhǔn)確性和及時(shí)性對于數(shù)據(jù)反饋階段仍然非常重要。傳統(tǒng)的檢測方法已不再適用。用電監(jiān)測數(shù)據(jù)需要借助無線通信設(shè)備實(shí)時(shí)上傳[2]。通過以上背景分析,針對家庭住宅、公寓、集體宿舍的遠(yuǎn)程電源控制系統(tǒng)具有實(shí)際應(yīng)用意義。
遠(yuǎn)程電源控制系統(tǒng)采用單片機(jī)技術(shù)和WiFi通信技術(shù)來實(shí)現(xiàn)遠(yuǎn)程監(jiān)控的功能,保證住宅的用電安全,減少事故的發(fā)生。當(dāng)電源控制系統(tǒng)檢測到住宅中存在超標(biāo)的大功率設(shè)備運(yùn)行時(shí),用戶可立即切斷電源,保證住宅安全的同時(shí)也提高了住宅供電控制的智能化水平。
該系統(tǒng)的實(shí)現(xiàn)需由硬件和軟件兩部分配合。其中,硬件部分利用單片機(jī)及傳感器測量電能參數(shù),并通過無線網(wǎng)傳輸數(shù)據(jù)至遠(yuǎn)程的手機(jī)應(yīng)用中,以實(shí)現(xiàn)用戶對電源的遠(yuǎn)程控制。系統(tǒng)總體設(shè)計(jì)方案如圖1所示。
圖1 遠(yuǎn)程電源控制系統(tǒng)總體設(shè)計(jì)方案
此設(shè)計(jì)中,電能計(jì)量模塊通過IM1281B傳感器采集電壓(U)、電流(A)、功率(P)等數(shù)據(jù)信息,再由STC89C51單片機(jī)進(jìn)行數(shù)據(jù)收集和處理,并且通過串口通信,驅(qū)動(dòng)LCD12864液晶顯示器實(shí)時(shí)顯示電源的相關(guān)電能信息及功率限值。單片機(jī)連接WiFi模塊。WiFi模塊會(huì)將數(shù)據(jù)無線傳輸至阿里云服務(wù)器數(shù)據(jù)庫,將電壓(U)、電流(A)、功率(P)信息及功率限值等相關(guān)數(shù)據(jù)存儲(chǔ)下來。手機(jī)App端通過無線網(wǎng)絡(luò)訪問阿里云服務(wù)器數(shù)據(jù)庫,將電能信息及功率限值實(shí)時(shí)顯示在手機(jī)應(yīng)用端界面上,以達(dá)到遠(yuǎn)程監(jiān)控的目的。
用戶可在手機(jī)App端輸入控制指令,通過無線網(wǎng)絡(luò)傳輸?shù)皆品?wù)器,然后服務(wù)器發(fā)送指令給單片機(jī)。單片機(jī)接收指令并作出響應(yīng),控制電磁繼電器模塊,從而實(shí)現(xiàn)遠(yuǎn)程控制電源開關(guān)和限制功率的功能。當(dāng)檢測到電源電路的實(shí)際功率超過設(shè)定的閾值,將啟動(dòng)報(bào)警機(jī)制,激活蜂鳴器,手機(jī)應(yīng)用程序進(jìn)行報(bào)警提醒[3-6]。
硬件部分基于單片機(jī)技術(shù)實(shí)現(xiàn),主要包括單片機(jī)控制模塊、電能計(jì)量模塊、WiFi通信模塊、蜂鳴器報(bào)警模塊、繼電器驅(qū)動(dòng)模塊以及相應(yīng)的按鍵、電源指示燈、顯示屏等。硬件部分組裝后的成品如圖2所示,圖中所標(biāo)注模塊如下。
1:LCD12864液晶顯示屏[實(shí)時(shí)顯示電流(A)、電壓(U)、功率(P)];
2:蜂鳴器[當(dāng)電路總功率(P)超過設(shè)定的功率閾值時(shí),蜂鳴器發(fā)出警報(bào)];
3:STC89C51單片機(jī)芯片(控制各個(gè)模塊協(xié)調(diào)工作、處理數(shù)據(jù)等功能);
4:電磁繼電器(實(shí)現(xiàn)電源控制系統(tǒng)中電源的接通和斷開功能);
5:電能計(jì)量模塊[收集電源電路中的電流(A)、電壓(U)、功率(P)等數(shù)據(jù)];
6:電容、變壓器(保護(hù)各個(gè)模塊正常工作);
7:電源接入口(接入總電源);
8:電源輸出口(輸出總電源);
9:電阻(保護(hù)電路正常工作)。
圖2 硬件模塊組裝
該模塊選用STC89C51單片機(jī)芯片,搭配晶振電路和復(fù)位電路實(shí)現(xiàn)預(yù)期的功能。STC89C51單片機(jī)擁有8K字節(jié)FLASH和512字節(jié)RAM以及32位I/O口線。STC89C51單片機(jī)擁有豐富的端口數(shù)量和強(qiáng)大的處理器性能,能夠滿足多種場景下的開發(fā)需求。在本系統(tǒng)中,STC89C51單片機(jī)主要用來接收采集端的數(shù)據(jù),進(jìn)行數(shù)據(jù)處理,控制后方電路做出響應(yīng)。
電能計(jì)量模塊選用IM1281B作為采集芯片,可實(shí)時(shí)測量電力參數(shù),包括測量電源電壓(U)、電流(A)、功率(P)等數(shù)據(jù)。IM1281B通過內(nèi)部集成的電流互感器和電壓互感器,利用互感原理,采集在電感器上感應(yīng)出來的電壓、電流數(shù)值,再換算出被測電路的電壓(U)電流(A)數(shù)值,通過串口將采集的電壓(U)、電流(A)、功率(P)數(shù)值傳輸至單片機(jī)接收。
IM1281B芯片的TX管腳連接至單片機(jī)的RX管腳,使用數(shù)據(jù)線束將IM1281B芯片的RX管腳與STC89C51單片機(jī)的TX管腳,傳輸電能數(shù)據(jù)。
在本設(shè)計(jì)中,WiFi模塊與主控芯片之間使用數(shù)據(jù)線連接通過串口進(jìn)行數(shù)據(jù)通信。WiFi模塊建立一個(gè)通信網(wǎng)絡(luò)實(shí)現(xiàn)數(shù)據(jù)連接,主控制芯片和手機(jī)應(yīng)用程序能夠檢測數(shù)據(jù)上傳,也可以接收遠(yuǎn)程控制指令。采用ESP8266芯片,更常用于各種各樣的通信系統(tǒng),特別是物聯(lián)網(wǎng)系統(tǒng),芯片支持用戶分享自建熱點(diǎn),同時(shí)可以長距離傳輸,傳輸延遲低,保證數(shù)據(jù)通信的質(zhì)量。本系統(tǒng)的無線通信主要使用AP模式,ESP8266內(nèi)置TCP/IP堆棧,可以實(shí)現(xiàn)點(diǎn)對點(diǎn)連接。
ESP8266芯片的RX,TX管腳分別與單片機(jī)的TX,RX管腳相連接。
蜂鳴器主要用于報(bào)警。當(dāng)采集到的功率(P)數(shù)據(jù)超出設(shè)定的功率限值時(shí),蜂鳴器報(bào)警提醒。蜂鳴器選擇有源蜂鳴器。只要蜂鳴器兩端通上電源即可鳴叫,考慮單片機(jī)的驅(qū)動(dòng)能力不足,電路上可以增加三極管進(jìn)行電流的放大。
電磁繼電器在本系統(tǒng)中用于實(shí)現(xiàn)電路的斷開與閉合的控制功能。當(dāng)電磁繼電器閉合時(shí),指示燈點(diǎn)亮顯示電路連通;當(dāng)電磁繼電器斷開時(shí),指示燈熄滅電路斷開。
本系統(tǒng)的軟件部分設(shè)計(jì)采用總分總的架構(gòu),首先針對功能需求進(jìn)行模塊劃分,然后編輯主程序流程圖,理清函數(shù)間的調(diào)用關(guān)系,完善子程序設(shè)計(jì),最終完成整體軟件程序調(diào)試。本系統(tǒng)的軟件設(shè)計(jì)用到KEIL開發(fā)平臺(tái)和HBuilder對系統(tǒng)進(jìn)行軟件設(shè)計(jì)以及系統(tǒng)程序的編寫。
在系統(tǒng)主程序設(shè)計(jì)中,設(shè)計(jì)人員應(yīng)做好對初始參數(shù)的定義及相關(guān)端口設(shè)置。在程序開始階段,執(zhí)行整體初始化函數(shù),顯示模塊顯示初始界面。調(diào)用電量采集程序,分別讀取傳感器采集的電源電壓(U)、電流(A)、功率(P)信息,必要時(shí),需要引用A/D轉(zhuǎn)換函數(shù),由單片機(jī)將顯示內(nèi)容輸出到液晶模塊,實(shí)時(shí)顯示電源電壓(U)、電流(A)、功率(P)信息及功率限值。程序調(diào)用串口并發(fā)送指令,利用WiFi模塊建立的WiFi網(wǎng)絡(luò)將通過電能計(jì)量模塊采集到的電源電壓(U)、電流(A)、功率(P)信息無線傳輸至手機(jī)App端,并進(jìn)行顯示。系統(tǒng)通過調(diào)用if判斷函數(shù),判斷功率(P)是否超過設(shè)定的閾值。如果功率(P)超過設(shè)定的閾值,則會(huì)啟動(dòng)報(bào)警程序并將報(bào)警信息發(fā)送到應(yīng)用程序進(jìn)行報(bào)警顯示。確定手機(jī)App應(yīng)用程序的控制命令是否已經(jīng)成功發(fā)送。如果收到指令,單片機(jī)將驅(qū)動(dòng)電磁繼電器工作,切斷電源,電源開關(guān)指示燈熄滅。主程序調(diào)用按鍵掃描程序并判斷鍵碼,然后調(diào)用鍵碼處理程序,完成設(shè)置功率限值設(shè)定及控制電源開關(guān)功能。執(zhí)行完上述流程之后返回主函數(shù),繼續(xù)循環(huán)檢測。系統(tǒng)主程序流程如圖3所示。
圖3 主程序流程
3.2.1 顯示屏程序設(shè)計(jì)
顯示屏程序中,通過調(diào)用顯示函數(shù)實(shí)現(xiàn)顯示電壓(U)、電流(A)、功率(P)信息及功率限值的目的。程序在編碼時(shí),需要設(shè)定好讀時(shí)序和寫時(shí)序函數(shù),在初始化函數(shù)內(nèi)定義清楚。程序開始時(shí),調(diào)用清屏函數(shù)進(jìn)行清屏操作,然后執(zhí)行LCD屏初始化,確認(rèn)坐標(biāo)顯示字符。將傳感器采集的電量參數(shù)進(jìn)行顯示,程序?qū)⑿枰@示的內(nèi)容通過寫函數(shù)和字符串指令的方式輸入函數(shù)。程序每隔一段時(shí)間刷新顯示以更新數(shù)據(jù)。
3.2.2 電源電量采集程序設(shè)計(jì)
在電量采集程序中,初始化配置傳感器。電能計(jì)量模塊IM1281B通過傳感器采集電源電壓(U)、電流(A)、功率(P)信息。將數(shù)據(jù)傳輸給單片機(jī)后,單片機(jī)芯片調(diào)用內(nèi)置的程序判斷是否超過預(yù)設(shè)定的極限閾值。
3.2.3 WiFi通信程序設(shè)計(jì)
本系統(tǒng)中的WiFi通信模塊內(nèi)置了IEEE802.11b.g.n協(xié)議棧以及TCP/IP協(xié)議棧無線網(wǎng)絡(luò)協(xié)議。系統(tǒng)運(yùn)行時(shí),主控單片機(jī)芯片通過WiFi通信模塊搭建的通信網(wǎng)絡(luò)實(shí)現(xiàn)與手機(jī)App端的連接,并進(jìn)行數(shù)據(jù)傳輸。在WiFi通信程序中,建立的無線通信網(wǎng)絡(luò)能夠?qū)z測數(shù)據(jù)上傳,也能接收遠(yuǎn)端的控制指令。本系統(tǒng)主要應(yīng)用了WiFi通信模塊的AP模式,在配置WiFi網(wǎng)絡(luò)階段,通過調(diào)用AP配置函數(shù)進(jìn)行網(wǎng)絡(luò)配置。在中斷函數(shù)內(nèi),程序等待中斷信號觸發(fā)串口網(wǎng)絡(luò),然后通過WiFi網(wǎng)絡(luò)將電能模塊上傳感器采集到的相關(guān)數(shù)據(jù)傳輸至阿里云服務(wù)器數(shù)據(jù)庫,然后再由云端數(shù)據(jù)庫將數(shù)據(jù)通過無線傳輸?shù)姆绞絺鬏數(shù)绞謾C(jī)App端顯示。
在遠(yuǎn)程電源控制系統(tǒng)完成搭建后,對系統(tǒng)相關(guān)功能進(jìn)行測試,測試過程包括硬件連接測試、系統(tǒng)功能測試,以確保系統(tǒng)實(shí)現(xiàn)預(yù)期的功能。
根據(jù)硬件設(shè)計(jì),完成實(shí)物連接,連接后需要對系統(tǒng)中的硬件設(shè)備進(jìn)行首次上電檢測。在此,使用萬用表作為檢測工具。上電測試的檢測原則采用總分總方式,分別針對系統(tǒng)供電模塊和各模塊的輸入電壓進(jìn)行檢測。整個(gè)系統(tǒng)上電后,針對電源輸入電壓進(jìn)行檢測,保證輸入端電壓正常。依據(jù)器件的規(guī)格書要求,分別針對各模塊的輸入電壓進(jìn)行檢測,檢測電壓滿足規(guī)格書允許的偏差范圍,才屬于正常情況。完成以上步驟,代表系統(tǒng)上電測試正常。
硬件連接無誤后,對系統(tǒng)功能進(jìn)行測試。將該系統(tǒng)接通電源后進(jìn)行上電操作,LCD液晶顯示屏屏幕會(huì)實(shí)時(shí)顯示電源的電流(A)、電壓(U)、功率(P)信息和功率閾值。單片機(jī)模塊通過驅(qū)動(dòng)WiFi模塊將電能模塊采集到的數(shù)據(jù)傳輸至手機(jī)App端。通過手機(jī)App進(jìn)行WiFi連接設(shè)置,分別設(shè)置好相應(yīng)的IP地址和端口號后,點(diǎn)擊連接,然后可以觀察到App提示連接成功。完成后,可觀察到電源的功率(P)、電壓(U)和電流(A)的實(shí)時(shí)數(shù)據(jù)。當(dāng)功率(P)超出預(yù)設(shè)的功率限值時(shí),蜂鳴器鳴叫發(fā)出警報(bào),手機(jī)App的報(bào)警狀態(tài)提示報(bào)警,本次測試共測試10組數(shù)據(jù),功能均正常,符合預(yù)期,測試數(shù)據(jù)如表1所示。功率超標(biāo)報(bào)警功能成功實(shí)現(xiàn)。
表1 報(bào)警功能測試
通過上述操作,針對擬定的測試計(jì)劃及方案進(jìn)行各項(xiàng)功能驗(yàn)證,本系統(tǒng)實(shí)現(xiàn)了預(yù)期的測試結(jié)果,測試數(shù)據(jù)準(zhǔn)確無較大誤差,達(dá)到預(yù)期的目標(biāo)。測試過程出現(xiàn)過傳感器采集的數(shù)據(jù)不準(zhǔn)確、測量數(shù)據(jù)偏差較大的問題。在實(shí)際檢查后,發(fā)現(xiàn)是由于信號管腳焊接不牢固所致,重新進(jìn)行管腳焊接后,解決了該問題。通過上述各項(xiàng)性能測試,本次軟件測試結(jié)果符合預(yù)期的功能要求。在功能優(yōu)化方面,可以考慮增加語音播報(bào)功能,對當(dāng)前的電壓(U)、電流(A)、功率(P)檢測數(shù)值進(jìn)行實(shí)時(shí)播報(bào)功能,為了使整個(gè)系統(tǒng)更具有實(shí)用性,需要在輸出端增加控制模塊,使數(shù)值控制在合理范圍,更符合市場需求。
計(jì)算機(jī)網(wǎng)絡(luò)和無線通信技術(shù)正迎來蓬勃發(fā)展的時(shí)期,相關(guān)技術(shù)的應(yīng)用也極大地改變著人們的生活方式。人們在生活上對智能化的需求也日益增長。本文中設(shè)計(jì)的遠(yuǎn)程電源控制系統(tǒng),利用無線WiFi技術(shù)進(jìn)行通信,實(shí)現(xiàn)對住宅和家居電源的遠(yuǎn)程檢測及控制。用戶平時(shí)可通過手機(jī)App端對家中的用電情況進(jìn)行監(jiān)控。在離家時(shí),可設(shè)置相應(yīng)的用電功率閾值,當(dāng)住宅用電功率出現(xiàn)異常,超過此閾值時(shí),將會(huì)通過無線網(wǎng)對遠(yuǎn)程的手機(jī)端進(jìn)行通信,并在手機(jī)App上進(jìn)行報(bào)警。接到報(bào)警后,用戶可在手機(jī)上對電源進(jìn)行遠(yuǎn)程一鍵斷電的操作,以保證住宅用電的安全。