孫榮耀,孟錦濤,葉方雨,曹 城,馮 麗,嚴 旭
(安徽科技學院 電氣與電子工程學院,安徽 蚌埠 233100)
隨著人類社會的不斷發展,垃圾問題日益凸顯,尤其是垃圾分類和分揀問題。傳統的垃圾分揀方式通常依賴于人工,這種方式效率低下、誤差率較高,難以滿足現代社會的需求。因此,設計一種能夠自動、快速且準確分揀垃圾的系統成為當務之急。近年來,隨著嵌入式系統、傳感器技術和人工智能等技術的飛速發展,基于智能控制的垃圾分揀系統成為研究熱點。其中,STM32作為一種廣泛使用的嵌入式系統芯片,具有強大的處理能力和豐富的外設接口,非常適合用于智能垃圾分揀系統的設計。
智能垃圾分揀系統作為一種新興的垃圾處理技術,通過運用計算機視覺、傳感器技術和自動控制等先進技術,實現了對垃圾的自動識別、分類和分揀[1]。這種系統具有處理速度快、準確率高、環保性能好等優點,旨在通過合理的硬件設計和軟件算法,實現對垃圾的有效識別和分揀,能夠有效地解決傳統垃圾處理方法所面臨的問題。
對于此系統的需求,可從3個方面考慮,分別是硬件需求、軟件需求、網絡需求。這3類需求分析如表1所示。
基于STM32的智能垃圾分揀系統主要由STM32核心控制器、傳感器模塊、執行器模塊和通信模塊組成。系統的整體架構如圖1所示[2]。

圖1 智能垃圾分揀系統總體架構設計
STM32作為系統的核心控制器,負責對整個系統的運行進行控制和管理。STM32微控制器通過運行嵌入式操作系統(如FreeRTOS、uCOS等)實現多任務調度,同時與傳感器模塊、執行器模塊和通信模塊進行數據交互。
STM32核心控制器與傳感器模塊、執行器模塊、通信模塊之間通過串行總線(如I2C、SPI等)或并行總線(如GPIO)進行數據交互[3]。傳感器模塊將采集到的數據傳送給STM32核心控制器進行處理,STM32核心控制器根據處理結果向執行器模塊發送控制指令,實現對垃圾的識別和分揀。通信模塊負責實現STM32核心控制器與上位機或其他設備之間的數據傳輸和通信,實現系統的遠程監控功能。
根據智能垃圾分揀系統的需求,需要一個性能較高、功耗較低且成本適中的STM32芯片。綜合考慮這些因素,本文在STM32F4系列中選擇了STM32F407型號。
STM32F407是基于Cortex-M4內核的高性能單片機,主頻高達168 MHz,可以滿足實時圖像處理和控制任務的需求;集成了豐富的外設接口,如GPIO、SPI、I2C、USART等,方便與其他硬件設備進行連接和通信。同時,STM32F407內置DMA控制器和高級定時器,可以提高數據處理效率,實現精確控制。
2.1.1 溫濕度傳感器模塊
溫濕度傳感器在智能垃圾分揀系統中扮演著重要角色。具體型號選擇DHT11,DHT11是一款高精度的溫濕度傳感器,具有測量范圍寬、穩定性高等優點。溫濕度傳感器可以監測垃圾處理場所的環境溫度和濕度,確保垃圾處理環境符合要求,避免因溫度或濕度過高/過低而影響系統正常運行。
2.1.2 圖像傳感器
本設計采用OV2640型號的圖像傳感器。OV2640是一款200萬像素的CMOS圖像傳感器,具有高靈敏度、低噪聲、高幀率等優點。圖像傳感器可以用來采集垃圾的圖像數據,通過圖像識別算法對垃圾進行分類和識別,從而實現垃圾分類自動化,幫助系統檢測垃圾中的異物。
2.1.3 重量傳感器
本設計采用HX711型號的重量傳感器。該重量傳感器具有測量準確、穩定性高等優點。重量傳感器模塊在智能垃圾分揀系統中起到了實時監測和判斷垃圾重量的作用,為系統提供重要的分類依據。重量傳感器模塊可以實時監測垃圾的重量變化,通過與預設的重量范圍進行比較,系統可以判斷垃圾是否符合特定的分類標準。
2.1.4 紅外傳感器
Sharp GP2Y0A21YK0F紅外傳感器是一款性能穩定、精度高且易于集成的紅外傳感器。在智能垃圾分揀系統中,紅外傳感器用來檢測垃圾的位置和距離,幫助機械手臂實現精確抓取和分揀。
電機驅動模塊在智能垃圾分揀系統中起到了控制和驅動各種機械設備的作用。
2.2.1 控制機械臂的運動
智能垃圾分揀系統中的機械臂需要能夠準確地抓取和移動垃圾。電機驅動模塊控制機械臂的運動軌跡、速度和力度,使其能夠精確地完成抓取和放置操作。
2.2.2 控制傳送帶的運行
傳送帶是將垃圾從一個位置傳送到另一個位置的重要設備。電機驅動模塊可以控制傳送帶的速度和方向,確保垃圾能夠順利地從一個環節傳送到下一個環節。
2.2.3 控制其他輔助設備的運行
智能垃圾分揀系統中可能還包括其他輔助設備,如垃圾箱的開合、垃圾袋的更換等。電機驅動模塊可以控制這些設備的運行,實現自動化操作。
利用Wi-Fi模塊實現在智能垃圾分揀系統中的無線通信功能。Wi-Fi模塊可以通過無線網絡將垃圾分類數據傳輸到云端或其他設備,實現實時監控和數據分析,方便管理和優化垃圾分揀系統的運行。通過Wi-Fi模塊,可以實現對智能垃圾分揀系統的遠程控制。用戶可以通過手機、電腦等設備連接Wi-Fi網絡,遠程設置和監控垃圾分揀系統的運行狀態,例如調整分揀策略、查看統計數據等。
電源管理模塊主要負責管理系統的電源供應和電能消耗,確保系統的正常運行和高效能耗,具體作用如下:
2.4.1 電源供應管理
電源管理模塊負責為系統提供穩定可靠的電源供應。監測電源狀態,包括電壓、電流和功率等參數,并根據需要進行調整和控制。在電源電壓不穩定或電池電量低下時,電源管理模塊可以及時切換到備用電源或發出警報。
2.4.2 節能管理
通過對系統的電能消耗進行管理和優化,實現節能和環保。電源管理模塊可以根據系統的工作狀態和需求,動態調整電源的供電方式和功率輸出,以降低能耗。在系統空閑或低負載時,可以降低電源的功率輸出,減少能源浪費。
3.1.1 主程序
(1)圖像采集模塊:負責通過攝像頭獲取垃圾圖像,并傳遞給圖像處理模塊進行處理。
(2)圖像處理模塊:使用圖像識別算法對垃圾圖像進行處理和分析,提取垃圾的特征和屬性。
(3)分類模塊:根據圖像處理模塊提供的特征和屬性,使用分類算法將垃圾分為不同的類別。
(4)控制模塊:根據分類結果,控制機械臂和傳送帶的運動,將垃圾分揀到相應位置。
(5)數據庫模塊:負責存儲垃圾的分類信息和相關數據,以便后續分析和統計。
3.1.2 中斷程序
(1)傳感器中斷:當傳感器檢測到垃圾的重量、體積或其他特征發生變化時,會觸發中斷程序,通知主程序進行相應地處理。
(2)緊急停止:當系統發生故障或其他緊急情況時,中斷程序可以立即停止主程序的執行,保證系統的安全性。
(3)用戶交互:當用戶進行操作或設置時,中斷程序可以響應用戶的請求,進行相應的處理。
首先,由重量傳感器模塊及圖像傳感器模塊判斷是否有垃圾。若檢測到有垃圾,則通過圖像傳感器識別后與數據庫進行比對,判斷是否為有害垃圾,若無有害垃圾,則繼續判斷是否為可回收垃圾。其次,通過溫濕度傳感器判斷是否為濕垃圾[4]。垃圾分類判斷完成后,由電機模塊控制機械臂和傳送帶將垃圾歸到對應的垃圾桶中,并將垃圾桶的信息通過Wi-Fi模塊上傳到服務器,由顯示屏顯示垃圾的重量、數量、種類。智能垃圾分揀流程[5]如圖2所示。

圖2 智能垃圾分揀流程
為了測試系統的性能情況,本文進行了一系列模擬實驗。這些實驗分別模擬了垃圾數量為20件、40件、100件和200件的情況。在每個實驗中,保持了有害垃圾、可回收垃圾、干垃圾和濕垃圾的數量相同。為了評估系統的性能,本測試關注了以下指標:垃圾識別準確率、分揀準確率和分揀效率[6]。這些指標可以幫助了解系統在垃圾分類過程中的準確性和效率。如表2所示。

表2 不同垃圾數量下的性能指標
從2表中可以看出,隨著垃圾數量的增加,系統的垃圾識別準確率、分揀準確率和分揀效率都有所提高。這表明系統在處理大量垃圾時能夠更準確地識別和分揀。然而,隨著垃圾數量的增加,系統的分揀效率略有下降,這可能是由于系統處理大量垃圾時的負載增加所致。
本文介紹了基于STM32的智能垃圾分揀系統設計和實現過程。利用多種傳感器對垃圾進行分類。這些傳感器包括重量傳感器、紅外傳感器和溫濕度傳感器等。當垃圾進入分揀系統時,這些傳感器會讀取垃圾的相關信息,并將其傳輸到微控制器中進行處理。微控制器根據預設的算法判斷垃圾的類別,并控制機械手臂和傳送帶等執行器將垃圾分揀到相應的垃圾桶中。
實驗結果表明,該智能垃圾分揀系統能夠實現高準確率的垃圾分類。在實驗中,該系統成功分揀了不同類型的垃圾,包括可回收垃圾、有害垃圾和濕垃圾等。同時,該系統的分揀效率和準確性均高于傳統的手動分揀方式。
該基于STM32的智能垃圾分揀系統具有廣闊的應用前景,可以應用于城市垃圾處理中心、垃圾轉運站和垃圾填埋場等場所,能提高垃圾處理的效率和準確性[7]。同時,該系統還可以根據不同場所的需求進行定制化開發,以滿足不同用戶的需求。