盛慧龍,王玉鵬,王淼,王宇童
(南京工業(yè)大學(xué)浦江學(xué)院,江蘇南京,210000)
隨著科技的發(fā)展,普通的垃圾桶已經(jīng)滿足不了當(dāng)今社會垃圾分類投放的需要,雖然先后出現(xiàn)了開合式垃圾桶和腳踩式垃圾桶,但是電子技術(shù)的飛速發(fā)展已經(jīng)使得它們不再適用于要求垃圾精準(zhǔn)分類投放的社會。
本產(chǎn)品以STM32F103為主控板,通過紅外傳感器,語音識別模塊實現(xiàn)了垃圾桶的自動翻蓋,利用太陽能面板和穩(wěn)壓器實現(xiàn)了整個智能垃圾桶的供電,語音播報功能可以使人們在扔垃圾的同時了解該垃圾分類知識。
該系統(tǒng)由單片機、語音識別模塊、語音播報模塊、電機驅(qū)動模塊、太陽能充電模塊以及紅外傳感器組成,其設(shè)計的總體結(jié)構(gòu)如圖1所示。
圖1 智能垃圾桶系統(tǒng)設(shè)計圖
該系統(tǒng)的設(shè)計以STM32F103C8T6為主控板。LD3320語音識別模塊主要接收用戶發(fā)出的一級指令和二級指令;JQ8400語音模塊播報用戶所扔垃圾的種類;L298N電機驅(qū)動模塊驅(qū)動相應(yīng)垃圾桶的舵機使垃圾桶開蓋和合蓋;太陽能充電模塊為整個系統(tǒng)提供電能;紅外傳感器檢測是否有人靠近,來判斷垃圾桶的開蓋合蓋。
本 設(shè) 計 采 用 了STM32F103x8系 列 芯 片,圖2是STM32F103x8最小系統(tǒng)板實圖。與傳統(tǒng)的STC89C52相比具有更快的運算能力,使用性能更高,功耗更小等優(yōu)點。
圖2 STM32F103x8最小系統(tǒng)板實圖
該模塊的型號是UNV–LD3320。集成了語音識別處理器和一些外部電路,包括、麥克風(fēng)接口、聲音輸出接口等。當(dāng)用戶向語音識別模塊發(fā)出一級指令時,該模塊會被喚醒,并等待接收用戶發(fā)出的二級指令即垃圾名稱。當(dāng)接收到二級指令后,會把信息通過串口通信發(fā)送給單片機。語音識別模塊的電路圖如圖3所示。
圖3 語音識別模塊電路原理圖
TXD主要用于接收指令,RXD主要用于發(fā)送指令給單片機的串口。
JQ8400語音模塊集成了一個16位的MCU以及一個專門針對音頻解碼的ADSP,采用硬解碼的方式,保證了系統(tǒng)的穩(wěn)定性和音質(zhì)。該模塊的電路圖如圖4所示。
圖4 語音播報模塊電路圖
使用時,可通過串口或單總線與單片機進(jìn)行通信,單片機將接收到的來自語音識別模塊的信息轉(zhuǎn)換成播放設(shè)置命令和需要播放的語音編號并輸入到該模塊,模塊就可以播放對應(yīng)的音頻文件。
L298N電機驅(qū)動模塊主要通過控制舵機的正反轉(zhuǎn)來實現(xiàn)垃圾桶的開合蓋,具有控制能力高,電機驅(qū)動能力強的特點。圖5為電機驅(qū)動模塊原理圖。
圖5 電機驅(qū)動模塊原理圖
通過改變單片機輸出的PWM波形達(dá)到控制電機驅(qū)動模塊的效果,從而控制舵機轉(zhuǎn)動的速率,保證了垃圾桶開合蓋過程中的穩(wěn)定性。
圖6為該模塊結(jié)構(gòu)圖。
圖6 太陽能充電框圖
由3W 6V 500mA多晶硅鋼化玻璃板、可自動升降壓穩(wěn)壓器、MPPT鋰電池充電板和18650鋰電池組成。該模塊能夠為整個系統(tǒng)提供一個穩(wěn)定的電源。
該傳感器模塊的發(fā)射管發(fā)射出一定頻率的紅外線。圖7是紅外傳感器原理圖。
圖7 紅外傳感器原理圖
當(dāng)檢測方向遇到障礙物時,紅外線反射回來被接收管接收,經(jīng)過比較器電路處理之后,信號輸出接口輸出數(shù)字信號。實現(xiàn)了垃圾桶無接觸式開蓋和判斷人是否離開后合蓋。
該智能垃圾桶為一鍵式設(shè)計,只需按下一鍵啟動開關(guān)即可全自動執(zhí)行,程序流程如圖8所示。
圖8 程序流程圖
按下一鍵啟動開關(guān)后,設(shè)備開始初始化;初始化完成后,語音識別模塊開始接收一級指令即喚醒指令,如果識別成功便開始接收二級指令;當(dāng)二級指令識別成功后會驅(qū)動相應(yīng)的舵機打開對應(yīng)垃圾桶。此時紅外傳感器開始檢測人是否離開垃圾桶,如果未檢測到人群便驅(qū)動舵機盒蓋,若檢測到人則繼續(xù)使桶處于開蓋狀態(tài)。
對于STM32F103主板的程序設(shè)計來說,可以使用模塊化的編程思想來提高程序的可移植性和易讀性。各個功能模塊,如語音識別模塊和語音播報模塊可以單獨編程,并用串口實現(xiàn)與STM32單片機的通信。
因為涉及到的功能較多,綜合所有模塊的程序給單片機并能高速運行是重點。為了提高該系統(tǒng)的執(zhí)行速率,需要注意的是:函數(shù)的嵌套調(diào)用不能太多,中斷優(yōu)先級的分配必須合理,延時函數(shù)要適當(dāng)使用等。
為了讓智能垃圾桶的電路布局簡單明了,本項目采用了模塊化電路的布局設(shè)計,圖9是智能垃圾桶主板電路設(shè)計。
圖9 智能垃圾桶主板電路設(shè)計
該主板電路由語音識別電路、語音播報電路、舵機驅(qū)動電路、供電電路所構(gòu)成。圖中JRX和JTX與語音播報電路相連,LTX和LRX與語音識別電路相連,PWM1、PWM2、PWM3、PWM4與舵機驅(qū)動電路相連。這種設(shè)計能夠很好的對接模塊化的程序設(shè)計。便于對硬件的組裝和程序的修改。
本節(jié)將簡要說明語音識別模塊、語音播報模塊、電機驅(qū)動模塊和紅外傳感器的調(diào)試過程。
對于語音識別模塊的編程,我們使用的是keil4軟件。考慮到垃圾名稱的繁多,在初期調(diào)試過程中,只引入了部分垃圾的名稱,這樣不僅減少了調(diào)試的出錯率,還縮短了調(diào)試時間。調(diào)試時使用的串口調(diào)試助手使數(shù)據(jù)可視化。打開串口后,模塊開始接收一級指令,完成一級指令的接收后會進(jìn)入二級指令接收階段。當(dāng)二級指令識別成功后,串口會發(fā)送對應(yīng)的數(shù)據(jù)給單片機。
語音播報模塊主要播放用戶所投垃圾的分類信息。在調(diào)試過程中需要用到串口調(diào)試工具和語音合成工具。為了使該模塊播放出來的聲音清晰響亮,需要通過多次的語音合成獲取最理想的音頻。通過不斷的調(diào)試,當(dāng)設(shè)置語速5音量9時,所播報出的垃圾分類信息最清晰響亮,能給人們最佳的聽覺效果。
將L298N電機驅(qū)動模塊與舵機接好后,通過調(diào)節(jié)單片機IO口引腳輸出的PWM值來控制舵機轉(zhuǎn)動的速度。當(dāng)開合蓋不會影響垃圾桶的穩(wěn)定性時即達(dá)到調(diào)試效果如表1所示。
表1 電機驅(qū)動模塊調(diào)試結(jié)果
通過上表的多次調(diào)試數(shù)據(jù)可以看出,當(dāng)PWM比較值為250時,垃圾桶開合蓋的效果最好。
在各個模塊的調(diào)試完成之后,將所有的模塊組裝成一個整體如圖10所示。
圖10 基于STM32智能垃圾桶
先將STM32焊接在萬用板上,再依次將語音識讀模塊和語音播報模塊與STM32相連接,然后將裝有舵機和紅外傳感器的垃圾桶模型與對應(yīng)的單片機IO相連,最后接上可太陽能充電的電源。
當(dāng)按下一鍵啟動鍵后,該智能垃圾桶即可接收用戶發(fā)出的語音指令,并播報對應(yīng)的垃圾分類信息,同時安裝在垃圾桶上的舵機開始旋轉(zhuǎn)使垃圾桶開蓋,當(dāng)傳感器模塊不再檢測人體靠近時,舵機反向轉(zhuǎn)動使垃圾桶合蓋。即實現(xiàn)了一次精準(zhǔn)的垃圾分類投放。
在模塊調(diào)試與綜合調(diào)試過程中,由于調(diào)試效果較好,顯著提高了垃圾桶的執(zhí)行效率,基本實現(xiàn)了垃圾桶的智能化。
該文設(shè)計的智能垃圾桶,既包括語音識別開蓋功能,又含有人體感應(yīng)開合蓋的功能。不管用戶是選擇在語音指導(dǎo)下投放垃圾,還是直接投放,用戶都能快速精準(zhǔn)的投放垃圾,并學(xué)習(xí)到語音播報功能推送的垃圾分類知識。除此之外,該智能垃圾桶的太陽能供電系統(tǒng)使得垃圾桶實現(xiàn)了零排放,“人走蓋合”的設(shè)計顯著減少了垃圾對空氣的影響。不僅傳播了垃圾分類知識而且緩解了生活垃圾給環(huán)境帶來的壓力,具有良好的發(fā)展前進(jìn)。