以
無線模組供應商遠距離WiFi模組為基礎的物聯網電能表,用移動設備來遠程查看電力的使用情況已經成為當今生活的迫切需要。20世紀70年代,國外對遠距離抄表技術的摸索與研究開始了,在較短時間內取得了長足的發展。雖然在水、電、氣、熱等領域有較大的貢獻,但在實際生活中難以推廣。當英國THORNEMI公司通過公用電話網絡等方式獨立開發SCTM技術的同時,英國THORNEMI/GYR也在開發利用公用電話網絡的遠程自動抄表技術。一九八五年,日本九州電力公司利用電力載波技術進行了遠程抄表試驗。從那時起,美國、德國、澳大利亞等國相繼開發了各種新型抄表技術,并大規模地應用于實際工作。90年代以后,美國、加拿大等國家的大部分電表節點都裝有遠程自動抄表芯片。一九九八年,美國正式開始使用它所開發的大功率遠距離自動無線抄表系統。2006年,東歐通過一種由法國Coronis公司開發的Wavenis無線抄表技術,建立了世界上一個大型遠程自動抄表系統網絡。20世紀80年代以來,中國開展了遠程抄表系統的研究,但其研究成果在實際應用中的效果并不理想。中國幅員遼闊,電力信息采集系統的覆蓋面比較小,許多地方還依賴人工采集的數據,不能反映整體的特點。近幾年抄表系統發展很快,抄表系統在我國的住宅小區逐步得到應用,給居民帶來了很大的方便。設計了一種基于物聯網技術的CV520單片機智能電表系統,具備實時監控.遠距離通訊.通訊局部.顯示等功能,成本低.功耗低.效率高.穩定,有利于供電部門對用戶用電進行實時監控,促進社會智能化發展。
無線模組供應商遠距離WiFi模組方案裝置主要包括電能數據采集模塊.數據通訊功能模塊,數據監測功能模塊。由HMI屏幕.云服務器.BLEAPP構成的數據監控模塊,觀察用戶的電力消耗。利用UART串行口.WiFi模塊.BLE藍牙模塊組成數據通信功能模塊,采用串口UART0進行數據下載與調試,UART2用UART2將數據傳送到HMI屏幕,WiFi模塊和BLE藍牙模塊都采用TCP/IP協議來傳輸數據。當使用WiFi模塊時,CV520芯片作為與阿里云服務器連接的客戶端傳送數據,在使用BLE藍牙模塊時,無線模組供應商遠距離WiFi模組CV520作為服務器端將數據發送到手機APP。Holer效應傳感器ACS712采集電流數據,CV520模組通過ADC模擬通道進行濾波處理,得到電壓數據,用該公式計算出所需的電量。
該設計利用ACS712電流傳感器把獲得的AC電流轉化為模擬電壓信號,用GPIO32端口發送到CV520芯片,在采集后,數據在UART2串口的GPIO16.GPIO17端發送到HMI串口屏上,藍牙與WiFi模塊同時實現無線通訊。
無線模組供應商
遠距離WiFi模組CV520是一款多功能模組,它的MCU模塊由WiFi模塊.BT模塊和BLE模塊組成,非常適合攜帶小型電子器件,如移動物聯網器材。該模塊的核心是CV520-D0WFQ6芯片。具有2組32bitLX6CPU的CV520采用7級流水結構,主頻為240MHz。CV520完全符合WiFi802.11n和藍牙4.2標準,集成了WiFi.Bluetooth.BLERF.低功率基帶,以及豐富的模擬傳感器和數字接口。
無線模組供應商遠距離WiFi模組支持802.11B/G/N/E/I協議的CV520內建模塊,數據傳輸率高可達150Mb/s,大發射功率19.5dBm,內置TCP/IP協議,可以傳輸TCP數據,其WiFi信號靈敏度可以達到-98dBm,UDP傳輸速率達到135Mb/s。在CV520上,WiFi模塊有3種工作模式,分別是Station模式、AP模式和AP模式。
Bluetooth模塊也是內建模塊,它使用了多設備通用的藍牙v4.2標準,支持傳統藍牙和低功耗藍牙(BLE)雙模式controller。Bluetooth模塊采用基于SDIO/SPI/UART接口的標準HCI,其高速UARTHCI數據傳輸速率達到4Mb/s。支持同步播放和掃描功能,便于用戶與設備連接芯片進行數據交互。
ACS712是一種基于霍爾效應開環模式的芯片級線性電流傳感器,使用時通常串聯在電流回路中。根據不同的量程,輸入輸出的線性系數分別為185mV/A.100mV/A.66mV/A.66mV/A。ACS712的典型用途,要求監視電流從1.2端口進入傳感器,從3.4端口流出,這時ACS712將基于所產生的磁場感應產生一個線性電壓。通過感應器中的放大電路.濾波電路和斬波電路后輸出模擬電壓,這個電壓與交流電流IP之間的關系:VIOUT=0.5×Vcc+IP×線性系數,用CF濾波電容提高輸出精度,數值越大,噪聲越小。
HMI智能串口屏幕具有GUI界面,用戶可以通過觸摸屏控制編輯界面,操作簡單,使用方便。串口屏幕通過USARTHMI軟件繪制界面,以無線模組供應商遠距離WiFi模組CV520的UART串口和HMI屏實現人機交互,并通過TX.RX接口實現兩臺設備的數據收發。硬件連接顯示CV520屏幕和HMI屏幕。HMI在串口通信中一般采用RS232/422接口,也可以通過連接其它硬件設備來實現人機交互,而采用RS485接口來控制PLC設備的運行。
在Arduino開發平臺上,通過CV520開發板庫相應API函數,在Arduino開發平臺上實現遠程通信和數據獲取。在系統上電復位后,借助setup初始化功能,啟動BLEBluetoop和WiFi通信模塊,然后在主程序loop函數中無限循環,同時ACS712采集的數據進行處理。當系統停電或程序干擾停止時,才能跳出循環。
CV520與12位SARADC集成,ADC1有8個通道,ADC2有10個通道。但是由于ADC2和WiFi一起使用時會出現沖突,不能共存,因此本系統采用ADC1的GPIO32接口作為ADC采樣通道。當進行ADC采樣時,首先通過readVref函數讀取模擬管腳的大電壓值Vref,然后調用analogRead函數獲得GPIO32接口輸入的電壓值,通過計算得到模擬電壓。
因為交流電流的周期性變化,本系統在使用ACS712時將其數據轉換為電壓,計算出其有效值電壓。用CV520采集到的ADC電壓峰值與谷值相減,然后將PR值除以2,得出電壓有效值。由ACS712的線性系數得到電流值。如果沒有經過過濾,則結果的誤差更大。軟件濾波中位平均濾波算法具有較好的數值穩定性,能使計算結果更平滑。在ADC采集程序中,系統采集了18組數據,每組數據的峰值和谷值都通過GPIO32引腳1000次讀入GPIO32引腳數據,然后用冒泡排序法對18組數據進行排序,然后用冒泡排序法對數據進行比較。
因為無線模組供應商遠距離WiFi模組CV520WiFi模塊的驅動代碼是非開源的,因此本文將Arduino作為開發工具。此系統缺省選擇狀態模式,先連接路由器或手機熱點連接到公共網絡,再判定是否連入,在連接之后,將通過端口號8080作為TCPClient端向服務器發送一個連接請求,服務端偵聽8080端口的連接請求,若連接成功,則可以根據TCP/IP協議將TCP數據發送到公網的TCPServer端服務器。
GATT是藍牙連接的通用規范。當Bluetooth通信時,通過稱為service和characteristic的兩個設備實現數據交互。一種服務是一種服務,characteristic實現BLE主機和從機之間的數據通訊。UUID是一般意義上的獨特識別碼,每一個service和characteristic都具有獨特的UUID。該系統使用CV520作為BLEBluetooth的服務器端,在創建服務器服務之后,創建服務中的characteristic,當CV520廣播時,手機APP連接無線模組供應商遠距離WiFi模組CV520以獲取數據。6UART程序設計CV520芯片,提供3個UART串口,分為UART0.UART1.UART2,分別占用GPIO1.GPIO3.GPIO9.GPIO17。采用UART0與UART2進行串行通訊,其中UART0通過USB-UART與計算機相連,進行燒寫程序并打印調試信息。UART2作為與HMI屏幕的主串口進行數據交互。當在Arduino平臺上發送串口信息時,首先需要與UART2和HMI屏幕匹配,隨后CV520通過Serial庫中的print函數將并行數據傳入UART2,UART2通過杜邦線從TXD端口向HMI屏幕發送串行數據。當收到串口信息時,UART2通過Serial庫中的read函數檢測到另一根線上的信號,串行收集后放置在緩沖區。CV520可以讀取read函數返回的值來獲得這個信息。
針對智能電表系統的發展現狀,結合無線模組供應商遠距離WiFi模組和藍牙通訊技術,設計了基于CV520的物聯網智能電表。它可實現數據采集和無線通訊,具有廣闊的應用前景。