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