鄧三星,薛國陽,張兆寬,李恒,楊蒙蒙
(1.黃河交通學院,河南焦作,454950;2.焦作市智能機器人工程技術研究中心,河南焦作,454950)
近年來,垃圾分類成了一個熱門話題,引起了廣泛的關注和討論。隨著人口的增多和城市發展的加快,所產生的垃圾也越來越多,垃圾的處理問題日益突出。為了建設美麗宜居的城市,垃圾分類已經成為每個人都應該積極參與并重視的環保行動。垃圾分類不僅幫助減少環境污染,還能回收再利用資源,實現可持續發展的目標[1]。為此結合了文獻[2~4]設計了一款生活垃圾智能分類系統,以STM32 單片機為核心,利用OpenMV 視覺模塊進行圖像識別,可以對城市中多種類型的垃圾進行識別,同時還可以對垃圾箱內垃圾滿載進行檢測。通過串口屏電路設計,當沒有垃圾投入時,屏幕播放垃圾分類相關知識視頻,當檢測到垃圾投入時屏幕立即顯示垃圾相關信息,以宣傳垃圾分類的重要性。
生活智能垃圾分類系統的垃圾識別系統是由攝像頭OpenMV,STM32F103ZET6 單片機主控芯片,二維云臺,滿載檢測,串口屏顯示組成。
生活智能垃圾分類系統的工作原理:整個電路通電之后,對單片機的復位引腳施加一個信號,使整個系統處于初始化狀態,等待垃圾投放時串口屏會重復播放垃圾分類宣傳視頻。當有垃圾投放時,二維云臺設計了托盤結構,保證了垃圾投放的穩定性,同時OpenMV 會對托盤內的垃圾進行分類識別,將分析得到的數據傳遞給單片機,單片機判斷垃圾類型,控制二維云臺把垃圾投入對應垃圾箱內,超聲波傳感器對箱內垃圾容量進行判斷,當垃圾達到設定高度后,單片機收到信息,控制串口屏顯示垃圾序號,信息,滿載情況。系統組成框圖如圖1 所示。

圖1 系統組成框圖
垃圾分類系統的主控芯片采用的是STM32F103ZET6單片機,板載資源豐富。STM32F103ZET6 搭載了ARM Cortex-M3 32 位處理器,具有較高的性能和低功耗特性。運行主頻可高達120 MHz, 有512KB 的Flash 存儲器和64KB 的SRAM。它具有廣泛的外設接口,包括多個通用定時器、串口通信接口、模擬到數字轉換器(ADC)、PWM 控制器、USB 控制器等。還支持多種通信協議,包括SPI、I2C、UART 和CAN,適合連接到不同類型的外部設備和通信總線。
OpenMV 視覺模塊[5]是一款性能強大,低成本且開源的電子設備,如圖2 所示。OpenMV 采用ARM Cortex-M系列微控制器,配備高質量圖像傳感器,以及專門的圖像處理和計算機視覺硬件單元,同時還提供了一系列用于圖像處理、計算機視覺和機器學習的軟件庫,包括顏色追蹤、人臉檢測、二維碼識別等。強大的集成開發環境OpenMV IDE 能夠協助完成編程、調試和更新固件等工作。采用BP神經網絡訓練模型,訓練模型傳遞給OpenMV,能夠保證垃圾識別的準確性,完成垃圾識別的功能。

圖2 OpenMV4 H7 plus
二維云臺是一種常用于的機器人和攝像設備的旋轉機構,它可以實現在水平和垂直方向上的全方位旋轉。它通常由兩個旋轉關節組成,使其能夠在水平面和垂直面上進行精確的定位和調整。本系統所選二維云臺的旋轉角度可達到270 度,完全可以覆蓋四個垃圾箱,實現垃圾的精準投放。
超聲波測距原理是在超聲波發射裝置發出超聲波脈沖[6],利用聲波的傳播速度與距離之間的關系,可以通過測量脈沖的時間差來推斷物體與傳感器之間的距離。利用這種特性可以在程序上設定超聲波傳感器的閾值,當垃圾箱內的垃圾的高度達到設定值后,反饋給單片機一個信號,控制串口屏顯示垃圾箱中的垃圾存放信息。
電源模塊最核心元件為電池,所選用的電池應滿足安全、電池容量大、電池可循環次數多、重量小、體積小等條件,還要根據單片機所需供電電壓等級,設計電壓等級轉換電路。LM2596 電源模塊基于LM2596 芯片,該芯片是一款高效率降壓穩壓器,能夠將輸入電壓降低至較低的輸出電壓,當輸出電流超過一定限制時,芯片會自動降低輸出電壓,以保護電路和負載。本設計采用2000mAh 鋰電池組,可同時輸出不同電壓,電源采用12V 輸入,采用四路輸出,5V 輸出供電用于二維云臺,傳感器和串口屏,3.3V 輸出用于MCU 和OpenMV,另外兩路用于擴展模塊電路的供電,電源模塊電路如圖3 所示。

圖3 電源模塊電路圖
總體結構有整體框架、垃圾分類結構、滿載結構三部分組成,整體結構如圖4 所示。

圖4 整體結構圖
生活智能垃圾分類系統可以識別城市生活中常見的有害垃圾、可回收垃圾、廚余垃圾和其他垃圾等,其中包括個頭很小的煙頭或者電池,以及礦泉水瓶等形狀不一的垃圾,設計的投放裝置要保證在分類過程中,垃圾不掉落且平穩的投入相對應的垃圾箱內。
垃圾投放裝置安裝在總體框架內,該裝置應具有良好的承載能力、較強的穩定性和快速反應能力。本系統在二維云臺上方加裝了一個托盤,用于盛放垃圾,二維云臺能夠完美地完成相應的動作,托盤采用四方一端開口設計,可以保證垃圾在旋轉過程中不掉落,整體動作靈敏,效率較高。二維云臺如圖5 所示。

圖5 二維云臺
本系統可以檢測垃圾箱內垃圾是否超過80%,需要較強的準確性,滿載檢測工作是由超聲波傳感器來完成,只要垃圾容量達到設定的閾值,串口屏就會顯示對應垃圾信息,提醒工作人員及時更換垃圾箱,提高資源回收重復利用率。
當系統通電后,程序初始化運行,二維云臺復位到初始位置,等待垃圾投入,串口屏循環播放垃圾分類視頻,垃圾投入后,系統協調各模塊完成相應動作。系統工作流程如圖6 所示。

圖6 程序流程圖
本系統采用的是USART HMI 軟件來對串口屏進行UI界面設計,軟件界面簡潔,功能完善,操作簡單,主界面如圖7 所示。USART HMI 軟件操作界面最上方一欄為功能區,左上邊為組件工具箱,左下為資源區,可以放置各種資源,中間是屏幕的布局區域了,布局區域下面是事件處理區域,可以編寫事件處理代碼,右上可以添加新的編輯欄,右下為組件的屬性欄。在UI 布局界面中可以在最上面設置標題,下方可以布置垃圾的類型,具體垃圾名稱,用紅綠圖標表示垃圾投放成功與否。在垃圾滿載時,同樣會顯示垃圾是否滿載的信息。

圖7 USART HMI 操作界面
為了檢測智能垃圾分類系統各種功能的可行性,對其展開了一系列測試。
利用OpenMV 視覺模塊,可以實現對垃圾的智能識別和分類。首先需要收集垃圾和非垃圾物體的圖像數據集,對其進行比對,將收集到的圖像進行預處理,處理完之后對圖像數據采用深度算法學習,建立訓練模型。導入OpenMV視覺模塊后,系統可以快速識別垃圾,判斷其所屬種類及詳細信息,并自動進行垃圾分類處理。整個流程中,OpenMV視覺模塊將識別到的樣本與數據庫中的垃圾樣本進行對比分析,經過分析判斷后,輸出垃圾所屬種類。系統會將數據進行量化處理,并經由串口通信傳輸給系統控制模塊,實現對垃圾的精準分類。測試場景效果圖8 所示。

圖8 測試場景效果圖
經過多次測試之后,系統已經能夠識別超過20 種垃圾了,且可以在1 分鐘實現15 次的垃圾分類。滿載檢測也會在垃圾容量超過80%時在屏幕上進行顯示。具體測試垃圾類型如表1 所示。

表1 垃圾類型
實驗結果如表2 所示。

表2 實驗測試結果
實驗結果表明,垃圾分類投放成功率穩定在97%以上,且垃圾識別分類時間較短,能夠滿足垃圾的快速分類、投放的功能需求。
本設計切實考慮了當代的城市社會發展中垃圾分類的需求,設計的生活垃圾智能分類系統,彌補了傳統人工垃圾分類費時費力的難題。該設計完全能夠滿足智能垃圾分類系統的設計需求,相對于現有的垃圾箱,具有穩定性好,效率高,維護成本低,發展前景好等優勢,可以為城市的環境保護和資源回收提供強有力的支持。