劉小燕 白克強 倪一寧 曾明山 張皓 胡旭林



摘要:根據小型水域特點,針對現有垃圾清理裝置存在的體積大、成本高等問題,設計了一款可自動調節深度的水面垃圾清理收集裝置。該裝置主要由esp8266控制的無線通信模塊、基于紅外傳感的檢測模塊、以STM32為主的控制模塊、以水泵為主的垃圾收集模塊、云端服務器以及安卓客戶端組成。水泵吸水形成渦流將垃圾卷入垃圾收集倉,傳感器檢測垃圾收集狀態,無線通信模塊將裝置工作狀態實時傳送到客戶端,實現遠程監控。
關鍵詞:STM32;esp8266;安卓客戶端;深度調節;遠程監控
0 引言
我國經濟飛速發展的同時,水資源問題日益嚴重,河道、湖泊等水域經常可見大量的水面垃圾,污染環境,對附近居民的日常生活造成了巨大影響。這種環境污染問題在各小型水域尤為明顯,因此,解決水面垃圾問題迫在眉睫。
對于小型水域的水面垃圾清理問題,目前主要以人工打撈方式為主,這種方式耗費勞動力大,周期較長,實際效果與付出不呈正比。目前雖然出現了多種水面垃圾清理機,一定程度上提高了水面垃圾清理效率,但其結構復雜,成本較高,體積偏大,適用范圍有限。為此,本文針對現有清理裝置存在的不足,結合小型水域特點,設計了一款能自動調節深度的水面垃圾清理收集裝置,通過水泵和傳感器控制垃圾的收集;通過STM32控制調節裝置位置;通過手機APP獲取裝置工作狀態,進行遠程監控,也可通過APP對裝置進行控制。該裝置具有結構簡單、操作方便、工作效率高、成本低且針對性強的特點,具有良好的應用前景及推廣價值。
1 整體方案設計
本設計包括清理裝置和客戶端兩部分。其中,清理裝置的主要模塊包括無線通信模塊、檢測模塊、深度控制模塊、垃圾收集模塊;客戶端包括手機APP和云端服務器。清理裝置整體架構與客戶端架構如圖1所示。
收集裝置浮于水面,控制部分沉于水底,兩部分用繩子相連,通過控制繩子長度來調節收集裝置的深度。收集垃圾時,清理裝置通過水泵抽水形成漩渦,將水面垃圾從上端口收入垃圾網,水從裝置底部排出。傳感器位于垃圾收集倉內,用于檢測垃圾收集狀態,以控制收集裝置的深度和開啟狀態。裝置的工作狀態等通過無線傳輸模塊上傳至云端,可在手機APP查看裝置的工作狀態,也可通過APP控制裝置開關。
2 硬軟件設計
2.1 ? ?步進電機轉動控制
本設計采用57步進電機控制清理裝置上浮下沉,驅動器連接步進電機的對應端口。其中,PUL+、PUL-是脈沖信號輸入正負端口;DIR+、DIR-是控制電機正反轉正負端口;EN+、EN-是電機脫機控制正負端口;PUL+、DIR+、ENA+ 3個端口共陽極,控制系統設置的3個端口脈沖信號、方向信號、脫機信號分別連接PUL-、DIR-、ENA-。驅動器提供24 V的直流電壓(24 V為最適工作電壓)供電。根據以下公式控制繩子變化長度L,進而控制清理裝置的深度。
L=nπr/180
式中,r為電機轉動承軸的半徑;n為用單片機控制電機轉動的度數。
2.2 ? ?垃圾收集與監測
2.2.1 ? ?垃圾收集原理
垃圾收集通過水泵抽水形成漩渦,同時使收集裝置與水面形成一定的液位差,將水面垃圾隨水吸入到裝置,然后將水從裝置底部排出,此時吸入的水面垃圾全部吸附在垃圾收集倉底部。當垃圾堆積滿后,需要向上位機APP發送信號,從而人為進行垃圾收集倉的清理。
2.2.2 ? ?垃圾收集監測
通過傳感器對垃圾收集倉內垃圾量進行測算,從而達到監測的目的,當垃圾集滿后給上位機APP發送相應的信號,從而對垃圾收集倉進行實時監控。考慮到水位對垃圾測量的影響,采用GP2D12紅外測距傳感器對垃圾高度進行測量,傳感器由一個紅外發射管和一個PSD(位置敏感檢測裝置)以及相應的計算電路構成,可以檢測到光點落在它上面的微小位移,分辨率達到微米級別。其工作原理是通過紅外發射管發出紅外線光束,發射角度由發射管確定,遇到障礙物反射回來,落在PSD上,構成了一個等腰三角形,借助PSD可直接得到三角形的底,此時可通過底邊推算出高,也就是測距的實際距離,即垃圾收集倉剩余空間高度。因為傳感器不是連續測量,因此得到底邊長度后,必須經過計算才能得到距離值,而后轉換為模擬信號輸出。
2.3 ? ?收集控制硬件連接設計
清理裝置的收集控制原理如圖2所示,裝有紅外傳感器的水泵通過步進電機和繩子連接湖底的配重物,步進電機和esp8266以及紅外傳感器通過導線與STM32單片機連接。當水泵啟動,步進電機開始初始化,使繩子收縮5 cm左右,收集裝置下降同等距離,紅外傳感器實時監測垃圾收集高度。若傳感器監測到垃圾收集滿,則控制電機正轉,使繩子上升5 cm左右;反之,則持續工作。在整個過程中,STM32把采集到的信息經esp8266實時傳送到云端,用戶可在移動端實時監測水泵的工作狀態。
3 軟件設計
3.1 ? ?深度控制的實現
本裝置通過步進電機軸承旋轉改變繩子的長度,通過配重物將上浮的裝置拉緊,從而改變裝置深度并維持懸浮。當裝置剛放入水中,通過移動端將裝置進行初始化,裝置收集口恰好位于水面,配重物位于水底;然后步進電機正轉使裝置下降5 cm,收集裝置開始收集垃圾;此時位于收集倉壁上的傳感器開始工作,檢測垃圾是否收集滿,若集滿,則步進電機反轉,使裝置上升5 cm上浮至水面,傳感器和收集裝置停止工作,并將信息發送至移動端;反之,則繼續收集。
3.2 ? ?通信的實現
本裝置控制部分由STM32單片機和esp8266 Wi-Fi芯片組成,兩個芯片共同處理信息,其中STM32單片機負責水位控制和收集狀態的監控,esp8266負責信息收發和收集裝置控制。STM32單片機和esp8266芯片之間采用通信簡單且適合距離較近的串口通信。
esp8266芯片和云端服務器通信采用MQTT協議。該協議基于TCP/IP協議專為大量計算能力有限且工作在低帶寬的物聯網設備開發。本設計中裝置和云端為雙向通信鏈路,MQTT使用發布/訂閱消息模式,發布者發布話題,所有訂閱該話題的訂閱者均能接受話題信息。
服務器和移動端采用http協議建立連接,裝置、服務器、移動端通信采用JSON格式進行通信,具體格式如下:
{"0001":[
{"temperature","21":"humidity","24"},
{"state","1"},
{"depth","1"},
]}
其中,0001為設備序列號,由四位整數組成,不同的序列號代表不同的設備;temperature和humidity代表溫度和濕度值為0~100的數;state表示垃圾是否裝滿,值為0和1,0代表沒滿,1代表滿了;depth代表距離水面深度,由0~100的整數組成。
3.3 ? ?服務器結構設計
服務器主要負責MQTT協議報文的轉發,并且控制用戶的名稱和密碼。硬件裝置和云端服務器通過MQTT協議建立雙向通信鏈路,移動端和云端服務器通過http協議建立雙向通信鏈路。移動端和云端服務器進行通信時,通過http協議發送JSON格式的數據進行通信。硬件裝置和云服務器通信時,相關信息直接被放在MQTT報文中。
3.4 ? ?移動端軟件設計
由于手機具有普及性、便捷性及軟件開發的豐富性等優勢,本設計采用安卓系統作為移動端,移動端界面主要包括登錄和裝置的監控界面,如圖3所示。
用戶登錄界面用于用戶的登錄管理,監控界面是移動端的核心且支持多設備同時監控。裝置序列號與注冊的賬號綁定,登錄后自動與云端服務器匹配,將該賬號下的所有設備信息顯示在移動端,實現一機多用。
4 結語
本文介紹了一種自動調節深度的水面垃圾清理裝置的設計與實現,詳細敘述了裝置的構成、原理以及各部分功能。該裝置結構簡單,成本低廉,客戶端可實現多裝置同時監控。測試表明,該裝置能夠較好適應小型水域特點,對水面垃圾進行有效清理,對水面垃圾清理裝置的研發有一定的實用價值。
[參考文獻]
[1] 江達飛,毛玉青.景區水面垃圾清理船設計[J].科技視界,2016(5):254-255.
[2] 袁斌華,高曉紅,張彬,等.小型水面垃圾清理船的設計與實現[J].隴東學院學報,2017,28(1):24-29.
[3] 傅鵬有,羅亮,吳靜,等.旋渦式水面垃圾清理裝置及其遠程監控系統設計[J].自動化與儀表,2019,34(5):80-84.
收稿日期:2020-05-07
作者簡介:劉小燕(1998—),女,四川瀘州人,研究方向:仿真機器人。
通信作者:白克強(1979—),甘肅慶陽人,男,博士,講師,研究方向:仿生機器人。