【摘要】本文依托物聯(lián)網(wǎng)平臺(tái),以Arduino uno單片機(jī)為控制核心,利用壓力變送器把水壓變換成(4~20ma)電流信號(hào),經(jīng)過電流電壓轉(zhuǎn)換電路變?yōu)椋?~5V)電壓,轉(zhuǎn)換后的電壓信號(hào)送入單片機(jī)模塊,經(jīng)過單片機(jī)內(nèi)部程序處理后,通過W5100網(wǎng)絡(luò)模塊連接至物聯(lián)網(wǎng)平臺(tái)。在網(wǎng)絡(luò)平臺(tái)上與手機(jī)界面上顯示壓力數(shù)據(jù)曲線與壓力值,撥動(dòng)平臺(tái)與手機(jī)界面上相應(yīng)的開關(guān)即可實(shí)現(xiàn)遠(yuǎn)程控制。此外裝置可綁定微博(或者微信),當(dāng)壓力異常時(shí)發(fā)送信息進(jìn)行壓力異常報(bào)警。
1.引言
傳統(tǒng)的變頻器恒壓供水系統(tǒng)反映了局部官管網(wǎng)運(yùn)行狀態(tài),但是,沒有和物聯(lián)網(wǎng)鏈接,無法把運(yùn)行數(shù)據(jù)隨時(shí)發(fā)布到物聯(lián)網(wǎng)上,不適應(yīng)物聯(lián)網(wǎng)+時(shí)代,采用大數(shù)據(jù)分析時(shí)無法提供實(shí)時(shí)數(shù)據(jù)。本文在原有變頻器恒壓供水控制系統(tǒng)的基礎(chǔ)上,依托物聯(lián)網(wǎng)概念,通過物聯(lián)網(wǎng)平臺(tái)實(shí)現(xiàn)物與物之間的信息交互。通過電腦端,手機(jī)端實(shí)現(xiàn)信息的在線實(shí)時(shí)監(jiān)控與反向控制。
2.系統(tǒng)結(jié)構(gòu)
基于物聯(lián)網(wǎng)的水壓監(jiān)測(cè)與遠(yuǎn)程控制系統(tǒng)由以下模塊組成:
1)傳感器檢測(cè)和電流電壓轉(zhuǎn)換電路模塊;
2)Arduino uno單片機(jī)為運(yùn)行控制器模塊;
3)W5100網(wǎng)絡(luò)通信模塊;
4)Yeelight開放的物聯(lián)網(wǎng)平臺(tái);
5)電腦或手機(jī)端檢測(cè)與控制:
6)繼電器控制電路模塊;
7)原變頻恒壓供水模塊;
8)程序流程圖。
3.主要模塊及電路介紹
3.1 電流電壓轉(zhuǎn)換電路
電流電壓轉(zhuǎn)換電路由傳感器電路、電源電路、整形放大電路組成。
3.1.1 傳感器采用壓力變送器
使用24V直流電,它的內(nèi)部有集成電路測(cè)量膜片,感受壓力產(chǎn)生形變,經(jīng)線性及溫度補(bǔ)償電路轉(zhuǎn)換成4~20mA電流信號(hào)輸出。
3.1.2 電源電路、整形放大電路
圖1所示, 7660可進(jìn)行倍壓轉(zhuǎn)換,即VOUT=2VIN.輸入5V電壓,8腳得到10V電壓作為運(yùn)算放大器LM324的電源電壓。傳感器輸出的電流信號(hào),經(jīng)過電阻R3后轉(zhuǎn)變?yōu)殡妷盒盘?hào),經(jīng)過運(yùn)算放大器(電壓跟隨器)U2A后進(jìn)行RC濾波,并且此環(huán)節(jié)R4,R5有消耗過電壓能量,抑制震蕩的作用,經(jīng)過U2B后在U2C的輸入端構(gòu)成同相加法器,調(diào)節(jié)精密可調(diào)電阻RP1可根據(jù)輸入信號(hào)調(diào)節(jié)輸出電壓范圍(LM324 8腳調(diào)至0~5V)。送Arduino UNO R3單片機(jī)模擬輸入端口A3,由單片機(jī)把模擬量轉(zhuǎn)換成數(shù)字量。再發(fā)送至物聯(lián)網(wǎng)平臺(tái)以曲線形式顯示。
3.2 Arduino uno單片機(jī)為運(yùn)行控制器模塊
Arduino UNO R3電路原理圖如圖2所示,處理器核心是ATmega 328,具有14路數(shù)字輸入/輸出口(其中6路可作為PWM輸出),6路模擬輸入,一個(gè)16MHz的晶體振蕩器,一個(gè)USB口,一個(gè)電源插座,一個(gè)ICSP header和一個(gè)復(fù)位按鈕。編程軟件采用Arduino IDE。編程語言用C語言。應(yīng)用模塊以庫文件存在于IDE編程軟件中,使編程簡單化;可實(shí)現(xiàn)圖形化編程。與W5100連接可訪問互聯(lián)網(wǎng)。實(shí)現(xiàn)網(wǎng)絡(luò)監(jiān)測(cè)及控制。由電源自動(dòng)選擇電路、供電電路、單片機(jī)電路、USB接口電路組成,各電路功能介紹如圖2所示。
3.2.1 Arduino供電電路
供電模式1:外接9V電源經(jīng)保護(hù)用二極管D1(反接時(shí)不燒毀),由NCP1117ST50T3G低壓差正電壓穩(wěn)壓器變成5V輸出。
3.2.2 電源自動(dòng)選擇電路
供電模式2:選擇USB口或用外接電源供電;
USB接頭提供5V的電壓,經(jīng)自復(fù)式保險(xiǎn)管(電流大于500mA的時(shí)候,該保險(xiǎn)管會(huì)自動(dòng)斷開,電流恢復(fù)到允許的范圍內(nèi)后,保險(xiǎn)管會(huì)自動(dòng)恢復(fù)連接)提供5V電壓。外接電源VIN經(jīng)分壓電阻分壓后加到運(yùn)放LM358的3腳;當(dāng)輸入電壓大于7V時(shí),3腳電壓高于2腳電壓(3.3V),1腳輸出高電平;FDN340P PMOS管處于截至狀態(tài),從而切斷了USB接口的供電。當(dāng)外接電源輸入電壓VIN小于6V時(shí),LM358的3腳電壓低于2腳(3.3V), 1腳輸出低電平。FDN340P管處于導(dǎo)通狀態(tài),由USB口供電。LP2985-33DBV是線性穩(wěn)壓器,負(fù)責(zé)把5V電源轉(zhuǎn)變成3.3V電源,該器件能給Arduino UNO提供大約50mA的電流。
3.2.3 USB接口部分
ATmega16U2是USB接口芯片,其特征包括:
1)8K/16K字節(jié)的Flash,支持自擦寫功能。512字節(jié)EEPROM和512字節(jié)SRAM。
2)內(nèi)置Boot-Loader功能(Arduino Uno引導(dǎo)加載程序)。
3)支持USB全速,包含4個(gè)USB輸入輸出端口。
4)包含內(nèi)置晶振。
5)操作電壓范圍為2.7V到5.5V。2.7V時(shí),#大工作頻率是8MHz;4.5V時(shí),#大工作頻率是16MHz。
Arduino UNO板上ATmega16U2將USB口轉(zhuǎn)為串口,由8腳和9腳的M8RXD和M8TXD與主控芯片ATMEGA328P-AU的串口引腳2和3相連接。
3.2.4 主控芯片部分
主控芯片ATMEGA328P-AU的工作電壓為5V,每個(gè)I/O腳的#大輸出電流:40mA,F(xiàn)lash大小:32K字節(jié),SRAM大。2K字節(jié),EEPROM大小:1K字節(jié),時(shí)鐘頻率#大為16M。
3.3 W5100網(wǎng)絡(luò)通信模塊
網(wǎng)絡(luò)接口部分:
W5100是一款多功能的單片網(wǎng)絡(luò)接口芯片,內(nèi)部集成有10/100以太網(wǎng)控制器,集成了全硬件的TCP/IP協(xié)議棧、以太網(wǎng)介質(zhì)傳輸層(MAC)和物理層(PHY)。W5100內(nèi)部還集成有16KB存儲(chǔ)器用于數(shù)據(jù)傳輸。使用W5100不需要考慮以太網(wǎng)的控制,只需要進(jìn)行簡單的端口(Socket)編程。W5100網(wǎng)絡(luò)模塊原理圖如圖4所示。該模塊由電源電路(三端集成穩(wěn)壓芯片L1117T-3.3V把5V電壓變成3.3V供W5100和RJ45使用)、W5100電路(負(fù)責(zé)單片機(jī)和物聯(lián)網(wǎng)通訊)、晶振電路(產(chǎn)生25MHZ振蕩頻率)、網(wǎng)絡(luò)接口RJ45(網(wǎng)線接口)組成。
Arduino UNO板上W5100與主控芯片ATMEGA328P-AU通過SPI接口SS、MOSI、MISO和SCLK共四個(gè)引腳進(jìn)行連接。SPI是由美國摩托羅拉公司#先推出的一種同步串行傳輸規(guī)范,也是一種單片機(jī)外設(shè)芯片串行擴(kuò)展接口。 SPI模式可以允許同時(shí)同步發(fā)送和接收8位數(shù)據(jù),并支持4種工作方式:
SPI工作方式簡介:4個(gè)接口信號(hào)為:串行數(shù)據(jù)輸入(MISO,主設(shè)備輸入、從設(shè)備輸出)、串行數(shù)據(jù)輸出(MOSI,主設(shè)備輸出、從設(shè)備輸入)、移位時(shí)鐘(SCK)、低電平有效的從設(shè)備使能信號(hào)(cs)。SPI#大的特點(diǎn)是由主設(shè)備時(shí)鐘信號(hào)的出現(xiàn)與否來確定主/從設(shè)備間的通信。一旦檢測(cè)到主設(shè)備的時(shí)鐘信號(hào),數(shù)據(jù)開始傳輸。
W5100通過網(wǎng)絡(luò)變壓器與RJ45網(wǎng)卡接口相連接,RJ45再和路由器相連接。所以,以W5100構(gòu)成的網(wǎng)絡(luò)模塊與Arduino單片機(jī)組合,可以很輕松的與物聯(lián)網(wǎng)平臺(tái)進(jìn)行對(duì)接。W5100連接單片機(jī)和網(wǎng)絡(luò)接口框圖如圖3所示:
3.4 Yeelight開放的物聯(lián)網(wǎng)平臺(tái)
在Yeelight物聯(lián)網(wǎng)平臺(tái), 注冊(cè)賬號(hào),創(chuàng)建設(shè)備及傳感器。壓力曲線及監(jiān)測(cè)與遠(yuǎn)程控制如圖5所示;綁定微博或微信作為壓力異常報(bào)警接收端。
3.5 電腦或手機(jī)端檢測(cè)與控制
以手機(jī)端檢測(cè)與控制為例,物聯(lián)網(wǎng)平臺(tái)有相應(yīng)的手機(jī)端APP軟 件(IOS和Android),手機(jī)端軟件與電腦端功能相同。
(1)登錄手機(jī)端Yeelink賬號(hào);(2)點(diǎn)擊相應(yīng)的開關(guān)實(shí)現(xiàn)遠(yuǎn)程控制;(3)點(diǎn)擊壓力變送器將打開圖表顯示壓力曲線。
3.6 繼電器控制電路模塊
繼電器控制電路有NPN型三極管、5V繼電器、電阻、二極管組成,電阻為三極管基極的限流電阻,二極管為繼電器線圈的保護(hù)二極管。觸發(fā)方式為高電平出發(fā),繼電器常開觸點(diǎn)連接在PLC輸入端口上,PLC輸出端口通過PID調(diào)節(jié)儀連接變頻器IRF、ACM端口,變頻器通過變頻和切換工頻/變頻控制電機(jī) 轉(zhuǎn)速,達(dá)到控制水壓,并配合PLC切換三臺(tái)電機(jī)實(shí)現(xiàn)恒壓供水。
3.7 原變頻恒壓供水模塊
原變頻恒壓供水模塊已經(jīng)具有:(1)低恒壓值運(yùn)行,保障生活用水,高恒壓值運(yùn)行,保障消防供水;(2)三臺(tái)泵已經(jīng)實(shí)現(xiàn)“先開先停接入/退出;(3)一臺(tái)泵運(yùn)行3小時(shí),切換下一臺(tái)泵;(4)對(duì)泵有手動(dòng)控制功能;(5)有報(bào)警功能;(6)當(dāng)壓力穩(wěn)定時(shí)維持;(7)壓力不足時(shí)增泵;(8)壓力超過設(shè)定時(shí)減泵。由于篇幅所限不再論述。
3.8 程序流程圖
程序流程圖如圖6所示。
4.小結(jié)
本文論述了“變頻恒壓供水+物聯(lián)網(wǎng)”,實(shí)現(xiàn)了物聯(lián)網(wǎng)水壓監(jiān)測(cè)和遠(yuǎn)程控制;并據(jù)此制作出“基于物聯(lián)網(wǎng)的水壓監(jiān)測(cè)與遠(yuǎn)程控制系統(tǒng)”,有一定的創(chuàng)新點(diǎn)。為使用大數(shù)據(jù)分析官網(wǎng)運(yùn)行狀態(tài)成為可能,具有一定的應(yīng)用推廣價(jià)值。