李繼超,賀曉倩,權(quán)亞騰,黨康博
(西安工業(yè)大學(xué) 電子信息工程學(xué)院,西安710021)
隨著經(jīng)濟的快速發(fā)展,人們生活水平不斷提高,我國垃圾產(chǎn)生量也在逐年遞增。據(jù)統(tǒng)計,僅城市生活垃圾年產(chǎn)量超過2 億噸,年增長率為8%~10%。我國的城市生活垃圾資源利用率不到5%,但是在國外卻超過60%[1],面對愈演愈烈的“垃圾圍城”現(xiàn)象,研究一種有效的垃圾分類方法已經(jīng)十分緊迫。
針對垃圾的收集,國外市場開始出現(xiàn)智能垃圾桶[2-3],如美國的Transhbot[4]和BigBelly、芬蘭的Enevo[5],大多基于實時監(jiān)測、自動報警、液晶顯示屏進行設(shè)計[6-8]。國內(nèi)也進行了相關(guān)研究,主要分為感應(yīng)性垃圾桶、 太陽能垃圾桶與商業(yè)廣告垃圾桶,使得垃圾桶具有自動分類、報警和監(jiān)測可用容量等功能,但尚無法滿足自動識別分類的需求[9]。本文針對當前現(xiàn)狀,設(shè)計了一個室內(nèi)智能語音識別垃圾分類系統(tǒng),該分類系統(tǒng)采用語音識別技術(shù),指導(dǎo)扔垃圾者對可回收、廚余、有害和其他垃圾4 類垃圾進行正確的分類和投放,主動進行垃圾分類[10-16]知識的播報和宣導(dǎo)。其次,該系統(tǒng)有效避免垃圾分類錯誤導(dǎo)致的二次分揀等問題。綜上所述,室內(nèi)智能語音識別垃圾分類系統(tǒng)可以節(jié)約人力資源,自動化程度高,有良好的經(jīng)濟效益和社會效益。
本設(shè)計采用STM32F103ZET6 單片機為核心控制器,以翻蓋垃圾桶實物為依托,配備智能語音庫,實時處理采集的數(shù)據(jù)信息,包括語音指令、手部感應(yīng)和容量檢測信息等,實現(xiàn)在室內(nèi)環(huán)境下,有效地進行垃圾種類的識別和回收。
本文設(shè)計的室內(nèi)智能語音識別垃圾分類系統(tǒng)具備語音播報、語音識別、串口通信、人機交互等功能。
本設(shè)計對原有腳踩垃圾桶進行機械改造,采用MG995,TBS2701 舵機(15 kg),以此控制垃圾桶桶蓋的開關(guān)。當語音助手識別關(guān)鍵詞含垃圾名稱時,串口發(fā)送數(shù)據(jù)至舵機控制模塊執(zhí)行開蓋操作。如果語音助手被喚醒,則會根據(jù)對話中的關(guān)鍵詞判斷垃圾的正確歸屬種類,打開對應(yīng)的垃圾桶蓋并且通過語音提醒使用者。當檢測到垃圾桶已滿時,對應(yīng)的垃圾桶容量指示燈會常亮,同時語音提醒人們更換垃圾袋。功放模塊也可宣傳和普及正確的垃圾分類知識,幫助人們養(yǎng)成良好的垃圾分類習(xí)慣。管理員模式下,可通過按鍵控制對應(yīng)垃圾桶蓋打開或閉合,人為收集和更換垃圾袋。室內(nèi)智能語音識別垃圾分類系統(tǒng)設(shè)計方案如圖1 所示。
圖1 室內(nèi)智能語音識別垃圾分類系統(tǒng)設(shè)計方案Fig.1 Design scheme of indoor intelligent voice recognition garbage classification system
室內(nèi)智能語音識別垃圾分類系統(tǒng)硬件設(shè)計包括供電模塊、STM32F103ZET6 主控模塊、通信模塊、超聲波感應(yīng)模塊、舵機模塊、垃圾桶容量檢測模塊、工作選擇模式模塊、語音識別模塊和控制按鍵等組成。
HC-SR04-1 是一款體積小,具有較寬工作電壓的超聲波測距模塊,探測距離為1 cm~450 cm,采用該模塊實現(xiàn)垃圾桶手部感應(yīng)和容量檢測等功能。該模塊有4 個引腳分別為VCC,Trig,Echo,GND。VCC 與GND 分別為模塊的電源和地接口;Trig 為觸發(fā)端口;Echo 為接收端口。該模塊的工作原理如下:STM32 通過Trig 端口提供至少持續(xù)10 μs 的高電平信號,模塊接收到該信號后連續(xù)發(fā)送8 個40 kHz 的方波,并檢測是否有信號返回,若檢測到返回信號則通過Echo 口向STM32 發(fā)送高電平信號,高電平持續(xù)時間為超聲波從發(fā)送到返回時間,可通過下面的公式計算距離:
距離=(高電平時間×聲速(340 m/s))÷2
其接口電路原理如圖2 所示。
圖2 超聲波感應(yīng)模塊接口Fig.2 Ultrasonic sensor module interface
舵機模塊是一種集電機、 伺服驅(qū)動、PWM 信號接口為一體的伺服單元,用于需要精確位置控制的場合。
PWM 舵機的伺服系統(tǒng)由可變寬度的脈沖來進行控制,控制線是用來傳送脈沖的。舵機的基準信號周期為20 ms,占空比有限范圍0.5~2.5 ms。1.5 ms這個基準信號定義為中位信號,當脈寬給1.5 ms 時對270°舵機來說就是控制其處于135°的位置。舵機一般都有最大轉(zhuǎn)動角度和最小轉(zhuǎn)動角度,中間位置的定義就是從最大角度到最小角度的中間位置。不同舵機的最大轉(zhuǎn)動角可能不相同,但中間位置的脈沖寬度是一定的,那就是1.5 ms。
舵機控制采用定時器計數(shù)方式控制,周期為20 ms,PWM 有效控制數(shù)值為500~2500 μs,270°舵機精度為270/2000=0.135°。
垃圾分類系統(tǒng)要進行機械改造,所以舵機的角度必須要精確。結(jié)合實際算出此垃圾分類系統(tǒng)舵機需要轉(zhuǎn)過的角度為22°對應(yīng)垃圾桶開蓋的角度。如圖3 所示。
圖3 舵機角度計算示意圖Fig.3 Schematic diagram of steering gear angle calculation
工作選擇模式模塊主要由撥碼開關(guān)來實現(xiàn)。撥碼開關(guān)也稱為DIP 開關(guān),是一款用來操作地址的控制開關(guān),采用的是0/1 的二進制編碼原理。采用4 路撥碼開關(guān),一共有16 種編碼方式。主要是當垃圾桶已滿時,用來切換工作模式和管理員模式。切換到管理員模式之后,所有工作模式下的功能都已關(guān)閉,其電源模塊電路如圖4 所示。
圖4 電源模塊電路圖Fig.4 Power module circuit diagram
為通過聲音的方式進行語音識別和人機交互,本設(shè)計采用LD3320 語音模塊進行設(shè)計。LD3320 是一顆基于非特定人語音識別計數(shù)的聲控芯片,集成了高精度的A/D 和D/A 接口,不再需要外接輔助的Flash 和RAM,可以實現(xiàn)語音識別、人機對話功能。語音識別ASR 技術(shù),是基于關(guān)鍵詞語列表識別的技術(shù),只需要設(shè)定好識別的關(guān)鍵詞語列表,并把這些關(guān)鍵詞語以字符的形式傳送到LD3320 內(nèi)部。UART串口進行數(shù)據(jù)傳輸通信;板載5WD 類功放,可直接驅(qū)動4 Ω,3~5 W 喇叭,其端口及電路如圖5 所示。
圖5 語音識別模塊電路Fig.5 Speech recognition module circuit
軟件系統(tǒng)包括語音播報模塊、 語音識別模塊、串口通信模塊、人機交互模塊、管理員模式模塊。整體系統(tǒng)組成框架如圖6 所示。
圖6 整體系統(tǒng)組成框架Fig.6 Overall system composition framework
垃圾分類系統(tǒng)上電初始化完成后,首先播報當前垃圾分類系統(tǒng)的感應(yīng)開蓋語音提醒的開關(guān)狀態(tài),以及播報當前垃圾分類系統(tǒng)的工作模式。工作模式指的是語音交互、手部感應(yīng)、垃圾桶容量檢測等功能,非工作模式(即管理員模式)指的是管理員可按鍵控制各個垃圾桶蓋的開啟和閉合,完成舊垃圾袋的收取和新垃圾袋的更換。垃圾分類系統(tǒng)主程序流程如圖7 所示。
圖7 垃圾分類系統(tǒng)主程序流程Fig.7 Main program flow chart of garbage sorting system
語音助手上電之后,開始初始化系統(tǒng)時鐘、GPIO、串口、定時器等相關(guān)資源,等待語音助手喚醒指令,如果聽到喚醒指令,則發(fā)送喚醒狀態(tài)串口指令至垃圾分類系統(tǒng),同時播放“我在”語音。接著,檢測10 s內(nèi)是否有關(guān)鍵詞口令(關(guān)鍵詞:玻璃、雞蛋皮、殺蟲劑、骨頭等),若沒有,則直接進入睡眠狀態(tài),同時播放退出“好的,那我先溜了”語音文件;若有關(guān)鍵詞,則立即匹配對應(yīng)的關(guān)鍵詞,發(fā)送當前關(guān)鍵詞對應(yīng)的串口識別碼(二位十六進制數(shù)據(jù)),播放對應(yīng)的語音文件(舉例:“玻璃”對應(yīng)的語音文件是“玻璃屬于可回收垃圾”),垃圾分類系統(tǒng)接收到二位十六進制串口識別碼后,立即打開對應(yīng)垃圾桶桶蓋。最后,此時語音助手程序返回等待關(guān)鍵詞處,進入新的一輪等待。
任何時候,串口USART1 接收到垃圾分類系統(tǒng)發(fā)送的串口數(shù)據(jù)后,立即匹配對應(yīng)的語音播放指令。語音助手程序流程如圖8 所示。
圖8 語音助手程序流程Fig.8 Voice assistant program flow chart
進入管理員模式后,若沒有按鍵按下時,則一直等待按鍵按下;當檢測到有按鍵按下時,首先判斷是否為1 號按鍵按下 (此處1 號是指廚余垃圾桶、廚余垃圾桶蓋狀態(tài)和語音文件對應(yīng)的編號),如果是,再判斷是否為第一次按下,如果是第一次按下,則立即打開1 號垃圾桶蓋,同時播放1 號垃圾桶蓋打開語音文件,打開1 號狀態(tài)指示燈;如果不是第一次按下,則關(guān)閉1 號垃圾桶蓋,同時播放1號垃圾桶蓋關(guān)閉語音文件,關(guān)閉1 號狀態(tài)指示燈。同理,2 號可回收垃圾桶、3 號有害垃圾桶、4 號其他垃圾桶的按鍵控制流程類似。按鍵模塊程序部分流程如圖9 所示。
圖9 按鍵模塊部分程序流程Fig.9 Part of program flow chart of button module
在完成了系統(tǒng)的硬件電路設(shè)計和軟件設(shè)計之后,對整個系統(tǒng)的功能進行了驗證。本系統(tǒng)主要采用以STM32F103ZET6 和STM32F103RCT6 為微控制器,LD3320 語音芯片、超聲波手部感應(yīng)模塊、容量檢測模塊、舵機控制模塊、步進電機驅(qū)動模塊、以及功放模塊等構(gòu)成。系統(tǒng)實物如圖10 和圖11所示。
圖10 系統(tǒng)控制板實物圖Fig.10 Physical picture of system control board
圖11 垃圾分類系統(tǒng)實物圖Fig.11 Physical map of garbage classification system
當手部感應(yīng)垃圾桶蓋位置時,HC-SR04 超聲波傳感器檢測到閾值范圍內(nèi)有障礙物,此時STM32 對數(shù)據(jù)信息進行分析處理,對應(yīng)的垃圾桶蓋自動打開,并通過語音助手播放對應(yīng)垃圾桶蓋打開語音文件。手部感應(yīng)測試結(jié)果如表1 所示。
表1 手部感應(yīng)模塊測試結(jié)果Tab.1 Hand sensor module test results
當語音助手檢測到關(guān)鍵詞出現(xiàn)時,立即匹配對應(yīng)的關(guān)鍵詞,播放對應(yīng)的語音文件。針對不同的垃圾類別,分別模擬100 次實驗,對應(yīng)的語音識別測試結(jié)果如表2 所示,其中,測試對應(yīng)的識別速度如圖12 所示,可見,系統(tǒng)運行穩(wěn)定后,每完成一次垃圾分類識別的時間約為0.90 s,具有良好的識別速度。
表2 語音識別模塊測試結(jié)果Tab.2 Speech recognition module test results
圖12 垃圾種類識別速度Fig.12 Speed graph of garbage type recognition
本文所設(shè)計的垃圾分類系統(tǒng)是由舵機控制模塊、手部感應(yīng)模塊、STM32 和LD3320 語音芯片控制板、功放外設(shè)模塊、按鍵控制模塊、功能狀態(tài)指示燈模塊、垃圾桶容量檢測模塊等7 大部分組成。本設(shè)計采用降壓穩(wěn)壓處理、語言識別、串口通信、人機交互等技術(shù),設(shè)計一套綠色環(huán)保、自動化管理及安全可靠的室內(nèi)智能語音識別垃圾分類系統(tǒng)。
本垃圾分類系統(tǒng)目前雖然具有垃圾分類的基本功能,但是仍然有改進和完善的地方,比如增加對所投放的垃圾進行圖像識別,分類錯誤時語音播報等擴展功能,使此作品更加的智能化,使垃圾分類更加人性化。