楊帆,秦智鵬
1.武漢工程大學電氣信息學院,湖北武漢430205;
2.湖北省視頻圖像與高清投影工程技術研究中心,湖北武漢430205
隨著經濟社會發展和物質消費水平大幅提高,我國生活垃圾產生量迅速增長,環境隱患日益突出,已經成為新型城鎮化發展的制約因素[1-3]。2015年9月,中共中央、國務院印發《生態文明體制改革總體方案》,將制定垃圾分類制度列為一項重要改革任務[4-5]。2016年12月,習總書記提出了“要加快建立分類投放、分類收集、分類運輸、分類處理的垃圾處理系統,形成以法治為基礎、政府推動、全民參與、城鄉統籌、因地制宜的垃圾分類制度,努力提高垃圾分類制度覆蓋范圍”[6-8]。
遵循減量化、資源化、無害化的原則,實施生活垃圾分類,可以有效改善城鄉環境,促進資源回收利用,加快“兩型社會”建設,提高新型城鎮化質量和生態文明建設水平,對于培養社會的資源環境意識,不斷提升中華民族整體的文明素質具有重要的意義[9-10]。
當今社會,無論從各個方面而言,只有達到全民參與的程度才能達到預期的效果。推動民眾參與垃圾分類、正確認識垃圾丟棄的方法是每個人應盡的義務與責任。
本文將垃圾分類與智能感應相結合,設計了一種基于語音感應控制的分類垃圾桶,并通過利用電機動作和檢測方式改善了垃圾桶的使用空間,優化了人們日常生活中的垃圾投放。
整個系統總體主要分為兩個部分,由57步進電機(以下稱1號電機)以及HX711壓力檢測模塊組成的桶蓋部分;由STM32單片機、TB6600電機驅動器(2個)、XL6009升壓模塊、LED、LD3320語音識別模塊以及第二個57步進電機(以下稱2號電機)組成的桶身部分。垃圾桶以STM32單片機為核心,通過LD3320語音識別模塊采集和分析聲音信息,并將結果傳輸至單片機,單片機通過將該信息與設定的關鍵詞對比判斷用戶是否具有投放意圖,結果匹配時驅動1號步進電機打開桶蓋,同時與當前分類桶所對應的關鍵詞對比判斷是否需要驅動2號步進電機旋轉不同的分類桶至桶口。通過HX711壓力檢測模塊實時檢測當前所使用的分類桶垃圾是否達到桶蓋處,在桶內垃圾堆積后接觸桶蓋內側的壓力檢測模塊時,檢測模塊開始受到壓力并將信號傳輸至單片機,單片機將該壓力值與設定值比較判斷分類桶是否已達到箱滿,當達到箱滿時驅動LED燈常亮。系統總體框圖如圖1所示。

圖1系統結構框圖Fig.1 Diagram of system structure
采用了XL6009升壓模塊,該模塊使用了第二代高頻開關技術的XL6009E1為核心芯片,升壓效果好,可以輸入3~32 V,輸出5~35 V,并供給電機使用。該模塊的輸入端直接與開發板上的VCC以及GND相連,輸出端與電機驅動模塊相連用以供給驅動,連接圖如圖2(a)所示。
設計采用了HX711壓力檢測模塊[11]。該模塊配置于垃圾桶桶蓋內側,用于檢測垃圾桶內用戶最近一次投放垃圾后垃圾桶是否已經裝滿,在投放動作結束時若該分類桶垃圾未滿溢至桶蓋處,模塊不會檢測到擠壓力;若垃圾已堆積到桶蓋處,在桶蓋關閉擠壓桶內垃圾的過程中壓力檢測模塊會收到來自桶蓋和桶內垃圾的上下側的擠壓力,若在擠壓動作過程中受到的壓力大于500 g,單片機則會驅動LED燈常亮提醒用戶更換桶內垃圾。模塊與主控芯片的PB0、PB1連接,連接圖如圖2(b)所示。

圖2系統結構:(a)電壓轉換模塊,(b)壓力檢測模塊Fig.2 System structures:(a)module of voltage conversion,(b)module of pressure detection
選用2個57步進電機作為桶蓋轉軸以及分類桶轉軸,選用TB6600驅動器完成驅動工作[12]。驅動 器 分 別 與 主 控 芯 片 的PC2、PC0、PC7、PB13、PB14、PB15相連接,通過輸出改變TB6600控制端電平,驅動電機正、反轉動。本設計采用共陰極連接法,電機驅動模塊與控制器的連接如圖3所示。

圖3電機驅動模塊原理圖:(a)1號驅動模塊,(b)2號驅動模塊Fig.3 Schematic diagrams of motor drive module:(a)drive module 1,(b)drive module 2
語音播報模塊選擇了LD3320模塊[13-14]。其內部固化有高效的非特定人語音識別搜索引擎模塊和完整的非特定人語音識別特征庫,以及專門為語音識別而做的硬件優化和加速設計[15]。模塊配置與桶體外沿。用戶在投放垃圾時,說出含有投放垃圾種類的語句后,語音識別模塊通過采集8 m以內的聲音實時進行頻譜分析并提取特征匹配關鍵字,當采集到設定關鍵字后LD3320將信息發送至處理芯片。該模塊與主控芯片的PA3、PA5、PA6、PA7、PB10、PB11、PB12連接,連接圖如圖4(a)所示。
按鍵模塊配置于桶身顯眼處,當不同類別的垃圾桶箱滿后,light emitting diode(LED燈)會常亮報警。模塊連接如圖4(b)所示。

圖4系統結構:(a)語音識別模塊,(b)LED報警模塊Fig.4 System structures:(a)module of speech recognition,(b)module of LED alarm
在軟件設計中,選用了STM32F103RCT6作為主控芯片,搭配使用成熟的C語言,基于Keil5平臺進行設計。
上電后控制程序初始化,系統進入待機狀態。當用戶需要投放垃圾時,說出投放的垃圾種類,語音識別模塊接收聲音信息后識別關鍵字,傳輸信號至STM32處理器,處理器通過對比接收的信號驅動1號電機旋轉,桶蓋打開,同時判斷此時對應的分類桶是否為用戶需要投放垃圾的對應桶,若不是則驅動2號電機旋轉使對應垃圾桶分類桶至桶口,有害垃圾桶對應電機0°角,干垃圾桶對應電機120°角,濕垃圾桶對應電機240°角。用戶可以在10 s內投放垃圾,10 s后桶蓋關閉并繼續向內旋轉5°角擠壓桶內垃圾,若此時桶內垃圾已經達到桶蓋處,壓力檢測模塊會同時受到來自桶蓋內側與垃圾頂端的擠壓力,當該擠壓力超過設定值(500 g)時,STM32處理器驅動LED燈常亮報警,提醒用戶及時更換該內桶垃圾。程序流程圖如圖5所示。

圖5系統程序流程圖Fig.5 Flowchart of system program
垃圾桶整體模型設計圖及具體模塊位置如圖6所示,包括了桶蓋部分以及桶身部分。

圖6垃圾桶整體設計圖Fig.6 Overall design drawing of trash can
垃圾桶桶身部分由語音模塊,桶內電機模塊、LED、電機驅動模塊以及STM32處理器組成,通過語音模塊接收信息驅動桶內電機轉動對應垃圾桶內桶至桶口,連接圖如圖7(a)所示。
垃圾桶桶蓋部分由壓力檢測模塊(位于桶蓋內側)與桶蓋步進電機組成,電機帶動桶蓋旋轉,位于內側的壓力傳感器在桶內垃圾滿至桶蓋時會進行垃圾桶滿溢檢測。連接圖如圖7(b)所示。

圖7垃圾桶控制模塊連接圖:(a)桶身,(b)桶蓋Fig.7 Diagrams of control module connection of trash can:(a)body,(b)cover
系統上電后,通過串口調試助手以及電機實物轉動情況觀察電機旋轉角度與方向。分別對近距離狀況下的垃圾桶語音識別功能進行語音測試,本設計中的垃圾桶種類關鍵字為“干垃圾”、“濕垃圾”以及“有害垃圾”。在說出“干垃圾”時,桶蓋步進電機旋轉打開桶蓋,同時桶身步進電機動作帶動內桶旋轉干垃圾桶對應桶口,10 s后桶蓋電機反轉關閉;在說出“濕垃圾”時,桶蓋電機正常工作,桶身步進電機反轉120°,此時濕垃圾桶對應桶口,10 s后桶蓋電機反轉關閉;在說出“有害垃圾”時,桶蓋電機正常工作,桶身步進電機再次反轉120°,此時有害垃圾桶對應桶口,10 s后桶蓋電機反轉關閉。語音識別功能正常。
對語音感應模塊識別距離進行測試,選取每隔2 m測1次數據。測試結果如表1所示。

表1語音模塊調試結果Tab.1 Results of voice module debugging
由表1可知,語音識別模塊可以正常完成垃圾分類的識別工作。
對箱滿檢測功能進行測試,在說出關鍵字,語音識別成功后,電機開始動作,對壓力傳感器施加小于500 g的壓力時,LED燈不會亮起,在施加超過500 g的壓力后,電機動作完畢的同時,LED燈會常亮警報,提醒用戶箱內垃圾已滿,工作過程如圖8所示。

圖8垃圾桶滿溢LED報警圖Fig.8 LED alarm diagram of full trash can
在4 m以內,垃圾桶可以對用戶說出的正確關鍵字立刻做出反應,電機可以準確進入工作,4~6 m垃圾桶開始出現接收延遲,用戶以正常行走速度接近垃圾桶可以及時投放垃圾,距離8 m開始已經出現無法接收信號的情況。該情況對于垃圾桶工作條件而言屬于可接受范圍。調試結果說明垃圾桶可以在一定范圍內對用戶的投放信息做出優良控制,并且可以在電機動作過程中檢測到箱滿時做出有效警報。
本文設計的語音分類垃圾桶與市面上常見的熱釋紅外垃圾桶相比,避免了因用戶經過垃圾桶時自動開關的誤操作,并且通過桶蓋電機的動作以及壓力檢測模塊可以更有效地利用桶內空間。不足之處在于缺乏機械加工導致整體垃圾桶組裝不到位。