劉露露,高宇恒,趙俊鋒
(南陽(yáng)理工學(xué)院,河南 南陽(yáng) 473004)
2021年2月1 日河南省農(nóng)業(yè)農(nóng)村廳部門(mén)下發(fā)《關(guān)于做好高標(biāo)準(zhǔn)農(nóng)田項(xiàng)目區(qū)用水計(jì)量設(shè)施安裝工作通知》,農(nóng)用智能灌溉設(shè)備設(shè)計(jì)與制造被提上日程,因此亟待創(chuàng)造出健全的水價(jià)改革管理機(jī)制及智能化的計(jì)量設(shè)施,來(lái)緩解當(dāng)前用水和計(jì)量方式不合理的情況。近些年來(lái),互聯(lián)網(wǎng)與物聯(lián)網(wǎng)行業(yè)高速發(fā)展,云計(jì)算、大數(shù)據(jù)普及,物聯(lián)網(wǎng)已逐漸滲透人們的生活中。即使在農(nóng)村,智能手機(jī)和4G網(wǎng)絡(luò)也相當(dāng)普及。這就為計(jì)量設(shè)備智能化,使用移動(dòng)支付的新方式創(chuàng)造了條件。本課題正是在這種情況下設(shè)計(jì)出一款水電雙計(jì)遠(yuǎn)程控制器。
智能化用水計(jì)量設(shè)施已經(jīng)成為農(nóng)業(yè)發(fā)展的一個(gè)重要需求,政府相關(guān)文件提出要實(shí)現(xiàn)灌溉過(guò)程用水用電數(shù)據(jù)實(shí)時(shí)上傳,支持計(jì)費(fèi)、充值,用水受水價(jià)改革系統(tǒng)統(tǒng)一管理。目前大部分地區(qū)已經(jīng)完成了基礎(chǔ)設(shè)施的安裝工作,但是仍然存在部分地區(qū)未能將智能灌溉設(shè)施實(shí)施到位,人們采用機(jī)械和人力灌溉的方式依然存在。此外,以往的農(nóng)業(yè)灌溉采取的“以電測(cè)水”或者只計(jì)電費(fèi)而不計(jì)水費(fèi)的方式,造成了水資源的浪費(fèi),不利于綜合水價(jià)改革[1]。所以需設(shè)計(jì)一款基于農(nóng)用智能灌溉的能夠精準(zhǔn)計(jì)量用水和用電量并能夠準(zhǔn)確換算消費(fèi)金額的控制器,且能夠?qū)?shù)據(jù)傳輸?shù)皆破脚_(tái),方便遠(yuǎn)程數(shù)據(jù)管理。
水電雙計(jì)的遠(yuǎn)程控制器核心是精準(zhǔn)測(cè)量灌溉過(guò)程中用電量和用水量,并將其轉(zhuǎn)化為消費(fèi)金額上傳至遠(yuǎn)程控制終端。除此之外,還能夠?qū)崿F(xiàn)語(yǔ)音播報(bào),手機(jī)APP數(shù)據(jù)查看管理及繳費(fèi)等功能。該控制器由硬件設(shè)計(jì)和軟件開(kāi)發(fā)2部分組成。硬件部分主要實(shí)現(xiàn)對(duì)于用水量和用電量的采樣,水電計(jì)量模塊與數(shù)據(jù)處理模塊之間的通信電路設(shè)計(jì),數(shù)據(jù)處理模塊與遠(yuǎn)程管理中心網(wǎng)絡(luò)聯(lián)接,人機(jī)交互模塊電路設(shè)計(jì)。軟件部分主要對(duì)水電采集模塊與數(shù)據(jù)處理中心程序參數(shù)設(shè)置,數(shù)據(jù)處理模塊初始化程序設(shè)計(jì),4G遠(yuǎn)傳驅(qū)動(dòng)程序及人機(jī)交互模塊程序設(shè)計(jì)等[2]。針對(duì)以上設(shè)計(jì)需求,控制器總體設(shè)計(jì)方案圖如圖1所示。
圖1 總體方案設(shè)計(jì)圖
MBUS通信協(xié)議是水量計(jì)量模塊的核心,是實(shí)現(xiàn)遠(yuǎn)程抄表系統(tǒng)的關(guān)鍵所在。采用支持MBUS CJ/T188協(xié)議水表;命令報(bào)文格式為二進(jìn)制,MBUS主站和水表只要能夠識(shí)別ASCⅠⅠ即可識(shí)別命令完成數(shù)據(jù)傳輸。
MBUS全稱Meter Bus,是歐洲提出的儀表抄表數(shù)據(jù)總線,其使用了2根無(wú)極性總線連接,分別為M+和M-,雖然標(biāo)的有正負(fù),但實(shí)際接線并不區(qū)分正負(fù)極。并且這2根通信線電壓較高,遠(yuǎn)程傳輸電能線損較小,總線同時(shí)具備通信和供電的功能。MBUS主站和從站的數(shù)據(jù)傳送方式不同,分別采用電壓調(diào)制和電流調(diào)制。主站向從站發(fā)送數(shù)據(jù)時(shí),用電壓值的高低跳變傳輸數(shù)據(jù),總線電壓為36 V時(shí)發(fā)送數(shù)據(jù)“1”,當(dāng)總線電壓減小至24 V時(shí)發(fā)送數(shù)據(jù)“0”。從站水表向MBUS主站返回?cái)?shù)據(jù)采用電流信號(hào),此時(shí)電壓保持36 V,從站向主站發(fā)送“1”時(shí),總線電流為最小的1.5 mA;當(dāng)發(fā)送“0”時(shí),總線中電流增加11~20 mA[3]。
HT7038芯片通過(guò)采樣電阻得到三相電壓和三相電流值,并通過(guò)芯片內(nèi)部的計(jì)算、校正和補(bǔ)償,得到有功功率、有功能量等參數(shù)并儲(chǔ)存于芯片內(nèi)部寄存器中,通過(guò)SPⅠ串口與4G模塊交換數(shù)據(jù),即可將用電量數(shù)據(jù)上傳至數(shù)據(jù)處理模塊。HT7038芯片提供三路電壓通道,三路電流通道,具有SPⅠ通信接口,并且能提供有功和無(wú)功功率脈沖輸出。
以A相為例,HT7880電壓通道最大模擬輸入電壓為500 mV。電壓采樣電路采用7個(gè)330 k的電阻與1個(gè)1.2 k的電阻串聯(lián)設(shè)計(jì),7個(gè)330 k的電阻主要是負(fù)責(zé)分壓,1.2 k的電阻作為采樣電阻[4]。HT7038的VAP引腳接在采樣電阻與分壓電阻之間,采集該點(diǎn)的電壓信號(hào)。本設(shè)計(jì)按照220 V額定電壓計(jì)算,采樣電阻的電壓為114 mV,電壓通道輸入的有效值為1~500 mV,滿足芯片設(shè)計(jì)要求。VAN引腳是與VAP引腳相對(duì)應(yīng)的差分引腳,使其經(jīng)1.2 k的電阻后接地,形成對(duì)地差分,保證了電壓采樣的準(zhǔn)確性。
同樣以A相為例,經(jīng)電流互感器所得電流引入采樣電路得到弱電信號(hào),經(jīng)采樣電阻轉(zhuǎn)為電壓信號(hào),接入HT7038的ⅠAP、ⅠAN引腳。電流采樣電路采用對(duì)稱設(shè)計(jì),保證采樣的準(zhǔn)確性,電容用來(lái)濾波。其余兩相電路與該相相同。電流互感器的參數(shù)是10(100)/5 mA,變比為2 000∶1,假設(shè)負(fù)載電流為電流互感器最大量程,此時(shí)電流互感器二次側(cè)電流為50 mA。經(jīng)過(guò)計(jì)算,ADC引腳最大為180 mV,電流通道輸入的有效值為1~500 mV,滿足芯片設(shè)計(jì)要求。
電源供電模塊在整個(gè)電路的設(shè)計(jì)中是不可或缺的一部分,穩(wěn)定的直流電流是控制器能夠穩(wěn)定工作的前提。在此將電網(wǎng)電壓220 V交流市電通過(guò)開(kāi)關(guān)電源轉(zhuǎn)為24 V直流,24 V經(jīng)由降壓模塊得到穩(wěn)定的5 V直流電以供電路使用。其中24 V電壓作為MBUS供電電壓,5 V作為計(jì)量芯片、磁保持繼電器控制芯片和其他外圍電路的供電電壓,3.8 V作為AⅠR724UG模塊的供電電壓。其中24 V轉(zhuǎn)5 V選用JW5015A降壓芯片,5 V轉(zhuǎn)3.8 V選用JW5033S降壓芯片。24 V轉(zhuǎn)5 V電路如圖2所示。
圖2 24 V轉(zhuǎn)5 V電路圖
磁保持繼電器用于控制水泵的三相電通斷,進(jìn)而控制水泵的啟停。繼電器觸點(diǎn)受內(nèi)部永久磁鐵的磁力影響處于穩(wěn)定狀態(tài),需要用正反直流脈沖電壓激勵(lì)線圈,進(jìn)而完成觸點(diǎn)的開(kāi)合狀態(tài)轉(zhuǎn)換。為了控制繼電器的開(kāi)合,選用BL8023磁保持繼電器專用芯片完成正反脈沖變換,當(dāng)芯片接收到來(lái)自4G的電平轉(zhuǎn)換信號(hào)時(shí)改變芯片的輸出脈沖極性進(jìn)而控制磁保持繼電器的開(kāi)合狀態(tài)。磁保持繼電器選用型號(hào)為FC808C-100 A,可通斷最大100 A電流。BL8023為T(mén)TL5 V電平,而4G為1.8 V電平,兩者端口電平互不兼容,故需加電平轉(zhuǎn)換電路才能保證兩者正常通信。
磁保持繼電器、4G模塊與BL8023芯片連接電路如圖3所示,A、B兩端為邏輯信號(hào)輸入端連接4G模塊,OA、OB兩端為輸出端,與磁保持繼電器兩端連接??刂七壿嬕?jiàn)表1,當(dāng)輸入A端為高電平,B端為低電平時(shí),OA端為高電平,OB端為低電平,此時(shí)觸點(diǎn)接觸;同樣地,當(dāng)輸入A端為低電平,B端為高電平時(shí),OA端為低電平,OB端為高電平,此時(shí)觸點(diǎn)打開(kāi)。當(dāng)輸入兩端電平相同時(shí),輸出端為高阻狀態(tài),觸點(diǎn)保持原來(lái)的狀態(tài)不變。
圖3 磁保持繼電器芯片連接電路圖
表1 BL8023芯片控制邏輯表
人機(jī)交互模塊包括LCD顯示屏、按鍵及揚(yáng)聲器。LCD選用ST7735彩色液晶顯示屏,該顯示屏使用SPⅠ接口,能夠匹配4G模塊SPⅠ-LCD接口,可以實(shí)現(xiàn)4G模塊向LCD進(jìn)行數(shù)據(jù)傳輸。除此之外LCD顯示屏電壓范圍為2.8~3.3 V,4G模塊內(nèi)置LDO可輸出3.3 V,因此當(dāng)LCD可直接接收4G數(shù)據(jù)時(shí),不需要額外的電平轉(zhuǎn)換電路。
本設(shè)計(jì)含有2個(gè)按鍵,一個(gè)用來(lái)現(xiàn)場(chǎng)控制啟動(dòng)水泵,一個(gè)是用來(lái)現(xiàn)場(chǎng)控制灌溉過(guò)程中水泵的停止??刂破鏖L(zhǎng)期處于開(kāi)機(jī)狀態(tài),當(dāng)用戶掃碼登錄自己的賬號(hào)之后便可通過(guò)按鍵操作。
揚(yáng)聲器用于灌溉過(guò)程操作時(shí)的語(yǔ)音提示,4G模塊提供三路模擬輸出通道,支持播放功能。走線采用差分形式,寬度應(yīng)在0.5 mm以上,用于防止其他噪聲的干擾。此外,在電路設(shè)計(jì)中加入10 pf和33 pf的濾波電容用于濾去1 800 Hz和900 Hz的高頻干擾,保證聲音的純凈。在揚(yáng)聲器附近添加TVS二極管,其能夠吸收高達(dá)數(shù)千瓦的浪涌功率,使兩極之間的電壓鉗位于預(yù)定值,同時(shí)能夠有效地保護(hù)揚(yáng)聲器。
水量計(jì)量只需要采集到初始水表示數(shù)和結(jié)束水表示數(shù)便可以得到灌溉過(guò)程總的用水量。按照設(shè)定好的水價(jià)即可得到灌溉的消費(fèi)金額,設(shè)計(jì)中采用CJ/T188規(guī)范的MBUS協(xié)議流量計(jì),水表與4G模塊串行通信有固定的數(shù)據(jù)幀,其格式如圖4所示。FE FE FE為引導(dǎo)字符,是水表判斷數(shù)據(jù)到來(lái)開(kāi)始讀取的依據(jù);68H固定為幀起始符,是一個(gè)數(shù)據(jù)幀的開(kāi)始;T為表計(jì)類型代碼;A0~A6為表計(jì)地址,是水表廠家出廠置于水表內(nèi)部芯片的;CMD為控制碼;L為數(shù)據(jù)長(zhǎng)度;DⅠ為數(shù)據(jù)表示;SER為序列號(hào),表示第幾個(gè)數(shù)據(jù)包;CS為校驗(yàn)碼,按相加取模256加1運(yùn)算后得到16H為幀結(jié)束符。
圖4 水表通信數(shù)據(jù)幀格式
電量采集首先檢測(cè)控制器是否為工作狀態(tài),如果在工作狀態(tài),通過(guò)SPⅠ串口獲取HT7038寄存器的有功電量,記為初始用電量。在工作過(guò)程中不斷讀取工作狀態(tài)CFⅠ脈沖信號(hào)直至控制器變?yōu)榭臻e狀態(tài),用電結(jié)束后獲取寄存器數(shù)據(jù),解析之后得到最終用電量。
控制部分開(kāi)始,先進(jìn)行4G模塊硬件的初始化,加載Lua程序腳本,初始化完成后進(jìn)入4G聯(lián)網(wǎng)階段。4G模塊首先會(huì)檢查SⅠM卡狀態(tài),讀取SⅠM卡的ⅠCCⅠD、ⅠMSⅠ,并檢查4G的信號(hào)強(qiáng)度RSSⅠ,請(qǐng)求附著運(yùn)營(yíng)商的4G網(wǎng)絡(luò),并連接物聯(lián)網(wǎng)云平臺(tái)。
云平臺(tái)連接成功后,檢測(cè)用戶是否登錄,如果沒(méi)有登錄,則為待機(jī)狀態(tài)。當(dāng)用戶登錄成功,4G模塊從云平臺(tái)獲取用戶信息,包括用戶ⅠD、手機(jī)號(hào)和余額等必要信息,存儲(chǔ)在4G模塊的存儲(chǔ)單元中。登錄成功后,系統(tǒng)并不會(huì)立即進(jìn)入工作狀態(tài),而是等待一個(gè)開(kāi)始信號(hào),在本設(shè)計(jì)中,開(kāi)始信號(hào)可以遠(yuǎn)程下發(fā)或者由控制器上的開(kāi)始按鈕觸發(fā)。接到開(kāi)始命令,控制子程序檢查用戶信息中的余額是否大于0,如果余額為0,則顯示屏和語(yǔ)音會(huì)提醒用戶繳費(fèi),不啟動(dòng)水泵;當(dāng)余額大于0時(shí)即可開(kāi)始工作,設(shè)置工作狀態(tài)為“工作中”,接通磁保持繼電器,用戶開(kāi)始用水。
開(kāi)始工作后,控制子程序不斷檢測(cè)3個(gè)停止?fàn)顟B(tài)。如果用戶按下停止按鈕,或云平臺(tái)下發(fā)停止命令,或者余額為0時(shí),則會(huì)進(jìn)入停止流程;否則一直工作,計(jì)水計(jì)電,讀取云平臺(tái)下發(fā)的指令。當(dāng)用戶停止用水,子程序首先會(huì)設(shè)置全局標(biāo)志位工作狀態(tài)為“空閑”,以通知其他子程序停止,然后斷開(kāi)磁保持繼電器,根據(jù)計(jì)水計(jì)電子程序計(jì)算的金額,計(jì)算本次使用費(fèi)用,扣除用戶對(duì)應(yīng)余額后,將數(shù)據(jù)上報(bào)至云平臺(tái)存檔,最后清除工作中存儲(chǔ)的用戶信息和用水信息,等待下個(gè)用戶使用。遠(yuǎn)程控制子程序流程圖如圖5所示。
圖5 遠(yuǎn)程控制子程序流程圖
APP界面需求分析:①掃碼進(jìn)入登錄界面;②手機(jī)APP完成賬戶登錄、充值;③APP界面顯示使用設(shè)備信息,包括灌溉過(guò)程中的水電用量、消費(fèi)金額及余額;④實(shí)現(xiàn)APP遠(yuǎn)程控制控制器開(kāi)關(guān)。
APP使用Vue.js前端的開(kāi)源框架開(kāi)發(fā),且具有組件化特點(diǎn),將其分為一個(gè)個(gè)組件,每個(gè)組件都包含HTML、CSS和JavaScript,可以相互獨(dú)立也可被復(fù)用。本界面設(shè)計(jì)采用Vant小組件開(kāi)發(fā)UⅠ界面。主要使用了Button按鈕、輪播、Cell單元格、Ⅰmage圖片、Popup彈出層和Toast輕提示等小組件。主界面信息包括登錄選項(xiàng)框,充值金額選項(xiàng)框;灌溉信息顯示包括使用設(shè)備號(hào)、用電量、用水量、消費(fèi)金額及余額;此外還包括控制水泵的開(kāi)始和結(jié)束按鈕。APP界面如圖6所示。
圖6 APP界面截圖
將以上各部分電路圖匯集,形成2份電氣原理圖,并將其轉(zhuǎn)化為PCB電路圖如圖7所示。
圖7 PCB電路圖
系統(tǒng)測(cè)試包括2部分:水量電量的采集調(diào)試和APP遠(yuǎn)程控制調(diào)試。采集調(diào)試采用合宙公司推薦的Luatools調(diào)試助手進(jìn)行測(cè)試。使用USB將控制器與PC機(jī)上調(diào)試助手連接,點(diǎn)擊軟件界面上的項(xiàng)目管理測(cè)試按鈕。然后選擇官方的底層CORE,再添加Lua腳本代碼,點(diǎn)擊“下載底層和腳本”按鈕,等待軟件提示下載成功,就可以在主界面上看到聯(lián)網(wǎng)、查詢水表數(shù)據(jù)、查詢電量數(shù)據(jù)、讀到水表數(shù)據(jù)、讀到電量數(shù)據(jù)、用水量數(shù)據(jù)調(diào)試和用電數(shù)據(jù)調(diào)試等日志信息。除此之外,還可以在界面上看到系統(tǒng)狀態(tài)、信號(hào)強(qiáng)度及當(dāng)前網(wǎng)絡(luò)狀態(tài)等信息。
APP遠(yuǎn)程控制調(diào)試包括對(duì)于手機(jī)APP端能否遠(yuǎn)程登錄賬戶,賬戶充值和控制水泵啟停的測(cè)試。使用手機(jī)登錄時(shí)點(diǎn)擊登錄框,輸入用戶名及密碼,點(diǎn)擊確認(rèn)即可登陸成功。當(dāng)余額不足時(shí),點(diǎn)擊充值選項(xiàng)框,輸入充值金額,點(diǎn)擊確認(rèn)按鈕即顯示充值成功。APP界面將會(huì)顯示工作過(guò)程灌溉信息。最重要的是可以在手機(jī)端實(shí)現(xiàn)水泵的遠(yuǎn)程控制,點(diǎn)擊界面下方的開(kāi)始按鈕即可使磁保持繼電器觸點(diǎn)閉合開(kāi)始灌溉,按下停止按鈕時(shí)觸發(fā)磁保持繼電器使觸點(diǎn)斷開(kāi)而關(guān)閉水泵。
本設(shè)計(jì)通過(guò)設(shè)計(jì)和實(shí)物驗(yàn)證,實(shí)現(xiàn)了對(duì)于水電的精準(zhǔn)計(jì)量,并將數(shù)據(jù)上傳至云平臺(tái)。能夠通過(guò)手機(jī)APP遠(yuǎn)程控制控制器的啟停,遠(yuǎn)程查看設(shè)備的在線狀態(tài)及工作情況,最終達(dá)到設(shè)計(jì)的要求。但由于本人的能力有限和時(shí)間的不足,所設(shè)計(jì)的控制器還有很多地方?jīng)]有考慮到位,忽視了水泵保護(hù)部分設(shè)計(jì),應(yīng)該充分考慮控制器的安全性問(wèn)題。由于實(shí)驗(yàn)條件有限,電量采集部分僅完成設(shè)計(jì)未進(jìn)行實(shí)驗(yàn)驗(yàn)證,軟件部分功能不夠完善。