梁 軍,易 藝,陳得日,彭雪斌
(桂林信息科技學(xué)院 電子工程學(xué)院,廣西 桂林 541004)
隨著經(jīng)濟(jì)發(fā)展與人民生活水平日益提高,人工湖數(shù)量逐年遞增。在習(xí)近平總書記強(qiáng)調(diào)“綠水青山就是金山銀山”的今天,中國(guó)的自然環(huán)境有了很大的改善,但是在公園、水上游樂場(chǎng)等一些人流量較多的地方仍面臨著水環(huán)境的污染,尤其是水面漂浮物(如:塑料瓶、塑料袋、一次性餐具等)造成的污染,嚴(yán)重影響著整個(gè)水域生態(tài)環(huán)境和人類居住環(huán)境[1]。另外,小型河道和水域較狹窄區(qū)域的湖泊采用人工進(jìn)行垃圾打撈,人工打撈不僅效率低,而且安全系數(shù)低[2-4]。目前,水面垃圾清潔船大多數(shù)是自動(dòng)化水平較高的大型船舶,對(duì)于水面垃圾漂浮物的打撈效率較低[5,6],且主要依靠人工,效率不高,對(duì)于小規(guī)模或形狀復(fù)雜多變的城市水道、景觀池、人工湖等水域的垃圾打撈受到限制,無法滿足小型水域水面垃圾清潔的需求[7-9]。為了解決上述存在的問題,有效地對(duì)內(nèi)河和湖泊等水域漂浮垃圾進(jìn)行打撈,同時(shí)對(duì)內(nèi)河和湖泊等水域的水質(zhì)進(jìn)行檢測(cè),設(shè)計(jì)了一種小型的水面清潔無人船系統(tǒng)。該系統(tǒng)以STM32作為微控制器,通過遙控操作控制打撈裝置對(duì)水面垃圾進(jìn)行打撈,進(jìn)而實(shí)現(xiàn)水面的清潔;同時(shí),該系統(tǒng)還控制濁度傳感器、pH值傳感器和TDS傳感器等水質(zhì)傳感器進(jìn)行工作,獲取檢測(cè)水域的水質(zhì)參數(shù),然后通過物聯(lián)網(wǎng)方式將檢測(cè)數(shù)據(jù)傳輸至上位機(jī)進(jìn)行顯示,方便用戶了解水域的水質(zhì)情況,實(shí)現(xiàn)對(duì)水資源的保護(hù)。
水面清潔無人船系統(tǒng)主要由主控單元、4G通信模塊、水質(zhì)傳感器模塊、紅外傳感器模塊、串口舵機(jī)、無線通信模塊、電機(jī)驅(qū)動(dòng)模塊、上位機(jī)、視頻采集單元和遙控器單元組成,其系統(tǒng)組成框圖如圖1。
圖1 系統(tǒng)組成框圖Fig.1 System composition block diagram
水面清潔無人船系統(tǒng)的主控單元主要由兩個(gè)STM32微控制器組成。微控制器A主要負(fù)責(zé)水域水質(zhì)數(shù)據(jù)的采集和發(fā)送給上位機(jī)等工作:第一,控制紅外傳感器模塊工作,檢測(cè)垃圾回收艙的空間狀態(tài),用于判斷垃圾回收艙是否裝滿,并將信息通過4G通信模塊發(fā)送給上位機(jī);第二,控制水質(zhì)傳感器模塊工作,獲取水域的水質(zhì)信息,并進(jìn)行分析和處理,然后將水質(zhì)數(shù)據(jù)通過4G通信模塊發(fā)送至上位機(jī)。微控制器B主要負(fù)責(zé)水域水面垃圾的打撈和船體的巡航工作:一方面,它主要根據(jù)用戶從遙控器單元或用戶預(yù)先設(shè)置的自動(dòng)垃圾打撈命令控制串口舵機(jī)帶動(dòng)打撈裝置工作,對(duì)水面垃圾進(jìn)行打撈;另一方面,它根據(jù)用戶從遙控器單元發(fā)送的任務(wù)指令控制電機(jī)驅(qū)動(dòng)模塊驅(qū)動(dòng)兩個(gè)直流電機(jī)進(jìn)行工作,從而控制水面清潔無人船進(jìn)行巡航。遙控器單元上設(shè)有按鍵模塊和液晶顯示模塊,方便用戶輸入控制指令和觀察系統(tǒng)信息。用戶還可以通過阿里云平臺(tái)隨時(shí)隨地查看無人船所在水域的水質(zhì)參數(shù)和垃圾回收艙的空間狀態(tài)。視頻采集單元主要由樹莓派和攝像頭組成,樹莓派控制攝像頭完成視頻采集的工作,并將獲取得到的實(shí)時(shí)視頻回傳至上位機(jī)阿里云平臺(tái)進(jìn)行顯示。
水面清潔無人船的船體結(jié)構(gòu)由打撈裝置、垃圾回收艙、控制艙和推進(jìn)裝置共4個(gè)部分組成,船體正前方兩側(cè)安裝了隔離網(wǎng),延展了水面垃圾的收集范圍,船體結(jié)構(gòu)如圖2。
圖2 水面清潔船的船體結(jié)構(gòu)圖Fig.2 The hull structure of the surface cleaning vessel
系統(tǒng)的硬件電路設(shè)計(jì)主要包括主控單元模塊、4G通信模塊、水質(zhì)傳感器模塊、串口舵機(jī)、無線通信模塊、電機(jī)驅(qū)動(dòng)模塊、視頻采集單元和遙控器單元電路的設(shè)計(jì)。
為方便系統(tǒng)調(diào)試和提高系統(tǒng)的靈活性和穩(wěn)定性,主控單元模塊分為STM32微控制器A和STM32微控制器B。STM32微控制器A的型號(hào)為STM32F103ZET6,其片內(nèi)具有豐富的資源,如:512K的FLASH、112個(gè)可用GPIO口、21路ADC等[10],便于后續(xù)的系統(tǒng)升級(jí)(如:增加風(fēng)速傳感器、GPS等),使水面清潔無人船系統(tǒng)的功能更加完善,滿足用戶的更多需求。STM32微控制器B的型號(hào)為STM32F103C8T6,其內(nèi)部含有64K FLASH、37個(gè)可用GPIO口、10路ADC等資源[11],它主要用于無人船船體的運(yùn)動(dòng)控制,負(fù)責(zé)控制船體的電機(jī)驅(qū)動(dòng)模塊和串口舵機(jī)工作。
水質(zhì)檢測(cè)常見的指標(biāo)有溫度、TDS、DO、PH、電導(dǎo)率和濁度等[12,13]。水質(zhì)檢測(cè)作為水面清潔無人船系統(tǒng)的輔助功能,主要對(duì)典型水質(zhì)參數(shù),如溫度、TDS、PH和濁度進(jìn)行檢測(cè),并將水質(zhì)檢測(cè)數(shù)據(jù)發(fā)送給上位機(jī)給用戶提供參考。水質(zhì)傳感器模塊電路連接原理框圖如圖3。
圖3 水質(zhì)傳感器模塊電路連接原理框圖Fig.3 Block diagram of circuit connection of water quality sensor module
PH值檢測(cè)模塊采用上海雷磁E-201-C型號(hào)的PH復(fù)合電極作為傳感器[14-16],用于檢測(cè)水中的酸堿度,其供電電壓為5V。使用前需對(duì)PH電極進(jìn)行校準(zhǔn),以消除溫度和探頭老化導(dǎo)致的測(cè)量誤差,電極兩端毫伏級(jí)的電位差經(jīng)過運(yùn)放放大后轉(zhuǎn)換為0V~3.3V范圍的模擬電壓信號(hào),然后輸給微控制器A的片內(nèi)ADC采樣通道1進(jìn)行模數(shù)轉(zhuǎn)換,最后經(jīng)過擬合公式(1)換算后得出PH值。
TDS檢測(cè)模塊采用TDS探針作為傳感器[14],其頂部為兩個(gè)電極,用以檢測(cè)水中溶解的固體含量,供電電壓為5 V。TDS探針采集的模擬信號(hào)經(jīng)過運(yùn)放放大后,輸出到微控制器A的片內(nèi)ADC采樣通道2進(jìn)行模數(shù)轉(zhuǎn)換,然后經(jīng)過擬合公式(2)換算后得出TDS值。
溫度檢測(cè)采用的是DS18B20溫度傳感器[16],微控制器A通過單總線傳輸協(xié)議獲取DS18B20溫度傳感器的溫度數(shù)據(jù),從而求得當(dāng)前水域的溫度。該溫度參數(shù)可以作為濁度和TDS測(cè)量的溫度補(bǔ)償,用于減少檢測(cè)誤差。
濁度檢測(cè)模塊采用型號(hào)為TSW-30的濁度傳感器[15,16],其工作電壓為5V。該傳感器的內(nèi)部擁有一個(gè)紅外線對(duì)管,當(dāng)紅外線穿過水體時(shí),通過水中透光率和散射率來判斷懸浮顆粒濃度。濁度檢測(cè)模塊將傳感器輸出的電流信號(hào)轉(zhuǎn)換為電壓信號(hào),經(jīng)過運(yùn)放放大后,輸出到微控制器A的片內(nèi)ADC采樣通道3進(jìn)行模數(shù)轉(zhuǎn)換,然后經(jīng)過擬合公式(3)換算得出濁度值。
4G通信模塊和無線通信模塊分別負(fù)責(zé)物聯(lián)網(wǎng)通信和遙控通信。在物聯(lián)網(wǎng)通信中采用的是創(chuàng)思通信的Quectel EC20 4G通信模塊[17],該模塊在硬件上將基帶、射頻集成在一塊電路板上,完成無線接收、發(fā)射和基帶信號(hào)處理功能,支持LTE、UMTS和GSM/GPRS網(wǎng)絡(luò),最大上行速率為50Mbps,最大下行速率為100Mbps,能夠向后兼容現(xiàn)存的EDGE和GSM/GPRS網(wǎng)絡(luò),以確保在缺乏3G和4G網(wǎng)絡(luò)的偏遠(yuǎn)地區(qū)也能正常工作,這樣保證了數(shù)據(jù)的實(shí)時(shí)性。在水面清潔無人船系統(tǒng)中,通過微控制器A的串口與4G通信模塊進(jìn)行通信,實(shí)現(xiàn)微控制器A與上位機(jī)之間的數(shù)據(jù)收發(fā)。與傳統(tǒng)的WiFi模塊或藍(lán)牙模塊相比,該4G通信模塊具有易操作、通信速度快、靈活性強(qiáng)等特點(diǎn),可實(shí)現(xiàn)設(shè)備數(shù)據(jù)與遠(yuǎn)端控制中心的相互傳輸,非常適用于M2M和IOT領(lǐng)域。
船體與遙控器單元之間的數(shù)據(jù)通信采用HC-12無線串口通信模塊[18],該模塊內(nèi)部含有一個(gè)MCU,工作電壓為3.2V~5.5V,最大發(fā)射功率達(dá)到100mW,工作頻率為433MHz,支持多種串口透?jìng)髂J健T谒媲鍧崯o人船系統(tǒng)中,通過微控制器B和微控制器C的串口分別與無線通信模塊A和無線通信模塊B相連接,實(shí)現(xiàn)數(shù)據(jù)的相互收發(fā)。該通信模塊在開闊地可實(shí)現(xiàn)1000m距離的無線通信。
電機(jī)驅(qū)動(dòng)模塊采用H橋模塊。該模塊采用門電路與MOS管組合的方式來實(shí)現(xiàn)電機(jī)正反轉(zhuǎn)、制動(dòng)及調(diào)速控制,它既有較大的輸出電流又有類似L298靈活的控制信號(hào)邏輯,輸入PWM頻率范圍在0kHz~10kHz,可同時(shí)調(diào)節(jié)兩路電機(jī),每路額定輸出電流7A。在水面清潔無人船系統(tǒng)中,通過微控制器B的IO口控制電機(jī)驅(qū)動(dòng)模塊進(jìn)行工作,用于實(shí)現(xiàn)船體的巡航功能。
串口舵機(jī)采用眾靈科技生產(chǎn)的ZX20S串行總線舵機(jī),該舵機(jī)扭力為15kg/cm,同時(shí)具有角度回讀和多種角度工作模式切換的功能。舵機(jī)內(nèi)部自帶主控芯片,內(nèi)部完成PWM的控制,用戶只需通過總線轉(zhuǎn)接板發(fā)送串口命令即可實(shí)現(xiàn)對(duì)舵機(jī)的控制,既方便又快捷。在水面清潔無人船系統(tǒng)中,將微控制器B的串口與串口舵機(jī)模塊的控制總線轉(zhuǎn)接板進(jìn)行連接,用于實(shí)現(xiàn)水面垃圾的打撈功能。
遙控器單元主要由無線通信模塊B、STM32微控制器C、供電模塊、按鍵模塊和液晶顯示模塊組成。無線通信模塊B采用HC-12無線通信模塊,STM32微控制器C采用STM32F103C8T6最小系統(tǒng)板,按鍵模塊分為控制電機(jī)部分和控制舵機(jī)部分??刂齐姍C(jī)部分為4個(gè)按鍵,分別為前進(jìn)、后退、向左和向右功能;控制舵機(jī)部分為兩個(gè)按鍵,分為打撈和復(fù)位兩個(gè)功能。供電模塊采用ASM1117-5.0穩(wěn)壓芯片,12V鋰電池由JP1端口輸入,經(jīng)過ASM1117-5.0穩(wěn)壓芯片得到+5V的電壓,給無線通信模塊B和STM32最小系統(tǒng)板供電,液晶顯示模塊的+3.3V供電電壓由STM32F103C8T6最小系統(tǒng)板上的ASM1117-3.3穩(wěn)壓芯片提供。液晶顯示模塊采用OLED顯示屏,用于顯示系統(tǒng)信息。用戶輸入的指令通過無線通信模塊B發(fā)送至無線通信模塊A,用于完成對(duì)船體的控制功能。遙控器單元電路原理圖如圖4。
圖4 遙控器單元電路原理圖Fig.4 Circuit diagram of remote control unit
視頻采集單元采用樹莓派和攝像頭的組合。樹莓派選用2GB內(nèi)存的樹莓派4B,其主要功能包括:高性能64位四核處理器、雙頻2.4/5.0 GHz無線局域網(wǎng)、藍(lán)牙5.0、千兆以太網(wǎng)、USB 3.0和PoE功能等[19],其軟硬件開發(fā)資源豐富,這些優(yōu)點(diǎn)可用于后續(xù)系統(tǒng)的升級(jí)(如圖像識(shí)別、雷達(dá)避障等)。攝像頭采用的是免驅(qū)動(dòng)USB攝像頭,方便拔插和安裝。在水面清潔無人船系統(tǒng)中,攝像頭搭載于船體上并連接至樹莓派,通過樹莓派系統(tǒng)搭建的“MJPGStreamer”傳輸視頻流,用戶可在局域網(wǎng)中用Web端查看攝像頭畫面,也通過內(nèi)網(wǎng)穿透的方式將域名映射到局域網(wǎng),用戶可以通過上位機(jī)訪問域名,隨時(shí)隨地查看回傳的視頻。
電源模塊采用LM2596和ASM1117-3.3穩(wěn)壓芯片來設(shè)計(jì),得到符合系統(tǒng)需求的穩(wěn)壓源,從而給整個(gè)系統(tǒng)電路進(jìn)行供電。電源模塊硬件設(shè)計(jì)原理如圖5。
圖5 電源模塊硬件設(shè)計(jì)原理Fig.5 Hardware design principle of power module
圖5中,J1接口與24V鋰電池相接,24V直流電壓經(jīng)過LM2596穩(wěn)壓芯片進(jìn)行電壓轉(zhuǎn)換后得到+5V電壓,分別提供給通信模塊、傳感器模塊和ASM1117-3.3穩(wěn)壓芯片,通過ASM1117-3.3穩(wěn)壓芯片輸出+3.3V電壓給主控單元模塊供電。
系統(tǒng)的軟件設(shè)計(jì)主要由主控單元的微控制器程序設(shè)計(jì)、遙控器單元的微控制器程序設(shè)計(jì)和上位機(jī)系統(tǒng)軟件設(shè)計(jì)組成。
主控單元的微控制器A和微控制器B軟件設(shè)計(jì)均采用模塊化程序設(shè)計(jì)開發(fā),在Keil軟件的開發(fā)環(huán)境下使用C語(yǔ)言編寫,主要包括串口驅(qū)動(dòng)程序設(shè)計(jì)、ADC驅(qū)動(dòng)程序設(shè)計(jì)、溫度傳感器驅(qū)動(dòng)程序設(shè)計(jì)和電機(jī)驅(qū)動(dòng)模塊的程序設(shè)計(jì)。其主程序流程圖如圖6。
圖6 (b) 微控制器B的主程序流程圖Fig.6(b) Main program flow chart of microcontroller B
圖6 (a) 微控制器A主程序流程圖Fig.6(a) Main program flow chart of microcontroller A
遙控單元的微控制器C軟件設(shè)計(jì)采用模塊化程序開發(fā),在Keil軟件的開發(fā)環(huán)境下使用C語(yǔ)言編寫,主要包括串口驅(qū)動(dòng)程序設(shè)計(jì)、液晶顯示屏驅(qū)動(dòng)程序設(shè)計(jì)、按鍵模塊程序設(shè)計(jì)。其主程序流程圖如圖7。
圖7 遙控器單元的主程序流程框圖Fig.7 The main program flow chart of the remote control unit
上位機(jī)系統(tǒng)采用阿里云物聯(lián)網(wǎng)平臺(tái)[20],該平臺(tái)是一個(gè)集成了設(shè)備管理、數(shù)據(jù)安全通信和消息訂閱等功能的一體化平臺(tái),具有安全性能高,易用性強(qiáng)等優(yōu)點(diǎn)。該平臺(tái)通過4G通信模塊與水面清潔無人船進(jìn)行數(shù)據(jù)交互,顯示船體所在水域的水質(zhì)參數(shù)。阿里云平臺(tái)還可以與視頻采集單元進(jìn)行通信,獲取船體所在水域的視頻圖像。利用阿里云平臺(tái)的Web可視化開發(fā)工具,可以方便地進(jìn)行Web應(yīng)用和移動(dòng)可視化開發(fā)。用戶可使用手機(jī)端或PC端對(duì)數(shù)據(jù)進(jìn)行查看,Web端的軟件界面圖如圖8。
圖8 上位機(jī)Web端軟件界面圖Fig.8 Web-side software interface diagram of the host computer
為了驗(yàn)證水面清潔無人船的設(shè)計(jì)方案,采用3D打印制作無人船的船體模型,在本校的人工湖內(nèi)進(jìn)行實(shí)驗(yàn)測(cè)試,測(cè)試現(xiàn)場(chǎng)圖如圖9。實(shí)驗(yàn)過程中,水面清潔無人船能夠通過遙控器進(jìn)行運(yùn)動(dòng)控制,無人船船體掛載的水質(zhì)傳感器正常工作,對(duì)人工湖內(nèi)常見的易拉罐、塑料瓶、塑料袋和一次性餐具盒等水面漂浮垃圾的回收率較高,垃圾的回收率與水面垃圾的體積及當(dāng)前水浪等環(huán)境因素有關(guān)。上位機(jī)與無人船的通信效果良好,阿里云平臺(tái)能夠顯示無人船所在水域的水質(zhì)情況,能夠?qū)崟r(shí)采集湖面的視頻。使用小米TDS水質(zhì)檢測(cè)筆和A52家貝測(cè)水筆作為標(biāo)準(zhǔn)儀器,使用濁度標(biāo)準(zhǔn)溶液作為標(biāo)準(zhǔn)溶液,對(duì)研制的水面清潔無人船系統(tǒng)進(jìn)行比對(duì)測(cè)試,得到水面清潔無人船系統(tǒng)的部分參數(shù)測(cè)量結(jié)果見表1和表2。
圖9 水面清潔無人船實(shí)驗(yàn)測(cè)試圖Fig.9 Experimental test chart of water surface cleaning unmanned ship
表1 傳感器部分參數(shù)測(cè)量結(jié)果Table 1 Measurement results of some parameters of the sensor
表2 濁度標(biāo)準(zhǔn)溶液測(cè)量結(jié)果Table 2 Measurement results of turbidity standard solution
測(cè)試結(jié)果表明,水面清潔無人船系統(tǒng)可以代替人工完成小型水域水面的漂浮垃圾打撈任務(wù),且可以測(cè)量船體所在水域的水質(zhì)參數(shù),滿足用戶清潔小型水域水面漂浮垃圾的要求。
本文以STM32微控制器作為控制和處理核心,結(jié)合控制技術(shù)、無線通信技術(shù)和傳感器技術(shù),設(shè)計(jì)了一種水面清潔無人船系統(tǒng)。介紹了水面清潔無人船系統(tǒng)的組成原理,軟件和硬件實(shí)現(xiàn)的方法,并對(duì)水面清潔無人船系統(tǒng)的功能和指標(biāo)進(jìn)行實(shí)驗(yàn)測(cè)試。實(shí)驗(yàn)結(jié)果表明,該水面清潔無人船能由用戶通過遙控單元進(jìn)行遙控巡航作業(yè),對(duì)水面漂浮垃圾打撈效果良好,且可以測(cè)量船體所在水域的水質(zhì)參數(shù),為水面漂浮垃圾的回收提供一種參考。