《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于ARM的家用智能垃圾桶設(shè)計
基于ARM的家用智能垃圾桶設(shè)計
高同輝,,郭 蕊
摘要: 以ARM11S3C6410為核心設(shè)計了一種家用智能垃圾桶,用拾音器作為聲音傳感器,,采用延時估計法實現(xiàn)聲源方位的實時檢測,,從而實現(xiàn)語音控制垃圾桶的運(yùn)動,;采用紅外傳感器實現(xiàn)垃圾桶行進(jìn)的蔽障功能;同時,,采用語音識別技術(shù)實現(xiàn)用戶對垃圾桶的前,、后,、左、右行駛或開啟,、關(guān)閉垃圾桶蓋等各種語音指示的識別,。從而實現(xiàn)垃圾桶的智能化與人性化,給生活帶來便利,。
Abstract:
Key words :

隨著人們生活水品的不斷提高,,在人們購買各種家具或家電時越來越重視其智能化和人性化。人們在生活中產(chǎn)生的生活垃圾都需用垃圾桶放置,,考慮到老人,、孕婦或者殘疾人,放置垃圾時存在的不便,、費(fèi)時,、費(fèi)力等問題。設(shè)計針對這些問題,,提出了具有語音識別功能的智能垃圾桶設(shè)計方案,,當(dāng)用戶想要扔垃圾時,只要一聲令下,,垃圾桶就會快速準(zhǔn)確地來到你身邊,。

1 系統(tǒng)硬件設(shè)計
系統(tǒng)硬件包括垃圾桶車體機(jī)械結(jié)構(gòu)和硬件控制電路兩個部分。其中車體機(jī)械結(jié)構(gòu)為一部三輪小車車體,,能按照在不同地點(diǎn)處用戶發(fā)出的聲音指令,,自動行駛到用戶所在地。系統(tǒng)硬件電路總體結(jié)構(gòu)框圖如圖1所示,,包括電源模塊,、ARM最小系統(tǒng)、聲源定位模塊,、語音識別模塊,、避障模塊和電機(jī)驅(qū)動模塊。

a.JPG


工作原理:首先通過語音識別模塊識別出用戶的呼叫命令,,同時通過聲源定位模塊判斷用戶所處位置,,再通過ARM產(chǎn)生驅(qū)動電機(jī)的PWM信號,利用電機(jī)驅(qū)動模塊驅(qū)動垃圾桶向聲源方向行駛,,并在行進(jìn)過程中,,利用避障模塊自行避開障礙物。同時,,該設(shè)計還支持用戶對垃圾桶前,、后,、左,、右行駛或打開,、關(guān)閉垃圾桶蓋等語音控制。
1.1 電源模塊
系統(tǒng)所有模塊和控制器都需要+5 V的工作電壓,,采用鋰電池進(jìn)行供電,,并用LM2576S-5穩(wěn)壓芯片將電壓穩(wěn)定在+5 V,然后通過穩(wěn)壓源LM11 17-33和LM1117-18為S3C6410芯片3.3 V和1.8 V電壓,。
其余語音芯片UDA1341TS,、拾音器的5 V供電、紅外避障,、直流電動機(jī)均為+5 V供電,。
1.2 聲源定位模塊
聲源定位模塊主要包括拾音器構(gòu)成的麥克風(fēng)陣列和信號處理單元,如圖2所示,。

b.JPG


系統(tǒng)中麥克風(fēng)陣列選用2個拾音器來實現(xiàn),,其監(jiān)聽范圍為30~50 m2。由于拾音器所拾取的聲音信號太小,,易受環(huán)境噪聲影響,,因此有必要對聲音信號進(jìn)行預(yù)處理,通過信號調(diào)理單元的處理,,使其能夠滿足系統(tǒng)要求,。為滿足拾音器所得到的微弱電信號進(jìn)行放大,系統(tǒng)采取兩級放大電路,。又由于A/D模塊不能采集負(fù)電壓信號,,因此需要對放大后的電信號進(jìn)行偏置,使其不出現(xiàn)負(fù)電壓,,便于ARM采樣,,使其輸出的誤差更小。
1.3 語音識別模塊
設(shè)計采用Philips公司UDA1341TS專用的語音處理芯片,,能對語音實現(xiàn)放大,、濾波、采樣,、A/D或D/A轉(zhuǎn)換及進(jìn)行數(shù)字語音處理功能,,并且支持璐總線數(shù)據(jù)格式,與ARM芯片S3C6410內(nèi)置IIS總線接口配合使用,。ARM芯片上內(nèi)置的IIS接口不但能夠讀取IIS總線上的數(shù)據(jù),,為FIFO數(shù)據(jù)提供DMA的傳輸模式,而且可以同時傳輸和接收數(shù)據(jù),。UDA1341TS對所采集的語音信號進(jìn)行采集和編碼,,由DTW模型算法進(jìn)行模板訓(xùn)練,并將訓(xùn)練結(jié)果存儲在Flash中以便于在語音信號識別階段讀取模板,。在語音信號識別階段,,將輸入的語音信號經(jīng)過音頻數(shù)字信號編譯碼器UDA1341 TS處理后,,通知S3C6410嵌入式Linux操作系統(tǒng),與保存在Flash中的參考樣本進(jìn)行對比,,找出最佳的聲音識別效果,,然后由嵌入式Linux操作系統(tǒng)中的系統(tǒng)調(diào)用函數(shù)控制S3C6410的I/O口,指揮垃圾桶的運(yùn)動,。
1.4 電機(jī)驅(qū)動模塊
電機(jī)驅(qū)動模塊根據(jù)ARM控制器輸出的控制信號驅(qū)動電機(jī)的運(yùn)行,。電機(jī)的驅(qū)動電路采用H橋驅(qū)動電路,如圖3所示,。

c.JPG


Q1,、Q2、Q3,、Q4這4個三極管組成4個橋臂,,Q1和Q4組成一組,Q2和Q3組成一組,,Q5控制Q2,、Q3的導(dǎo)通與關(guān)斷,Q6控制Q1和Q4的導(dǎo)通與關(guān)斷,,而Q5,、Q6由S3C6410的IO口來控制,這樣就可以通過IO輸出的高低電平,,控制4個橋臂的導(dǎo)通與關(guān)斷控制電機(jī)的運(yùn)行狀態(tài),,使之正轉(zhuǎn)反轉(zhuǎn)或者停轉(zhuǎn),進(jìn)而控制垃圾桶的行駛,。為避免用分立元件使電路板過于復(fù)雜,,在設(shè)計中使用H橋驅(qū)動L298N芯片。

1.5 避障模塊
避障電路采用漫反射式光電開關(guān)進(jìn)行避障,。光電開關(guān)是集發(fā)射頭和接收頭于一體的檢測開關(guān),,其工作原理是根據(jù)發(fā)射頭發(fā)出的光束,被障礙物反射,,接收頭據(jù)此做出判斷是否有障礙物,。當(dāng)有光線反射回來時,輸出低電平,;當(dāng)沒有光線反射回來時,,輸出高電平。ARM根據(jù)接收頭電平的高低做出相應(yīng)控制,,避免小車碰到障礙物,,由于接收管輸出TTL電平,有利于ARM對信號的處理。障礙檢測模塊作為對外部障礙信息的采集窗口,,將行進(jìn)過程中障礙信息檢測出來,,并傳遞給ARM控制器進(jìn)行處理。
1.6 ARM最小系統(tǒng)
智能垃圾桶以三星公司的ARM微處理器S3C6410為核心控制器,,其主要作用:接收和處理收到的各種傳感器信號,并通過決策后輸出合適的控制信號,。利用S3C6410豐富的片上外設(shè)可以方便地采集和處理各種傳感器的信號,,實時控制垃圾桶的運(yùn)動,同時完成與語音芯片UDA1341 TS之間的通信,。

2 系統(tǒng)算法設(shè)計
系統(tǒng)軟件包括聲源定位算法,、特定語音識別算法和自動避障算法等。
2.1 聲源定位算法
針對聲源定位,,系統(tǒng)采用基于傳聲器陣列時延估計法來估測用戶發(fā)聲的方向,。基于時延估計的聲源定位算法分為兩個部分:(1)時延估計,,即計算聲源到兩兩傳聲器之間的時間差,。(2)方位估計,即根據(jù)時延和傳聲器陣列的幾何位置估計出聲源的位置,,其中時延估計的精度是關(guān)系到聲源定位精確與否的關(guān)鍵因素,。
(1)時延估計。時延估計采用廣義互相關(guān)法,。假設(shè)兩傳聲器m1和m2間距為d,,在沒有混響的情況下,兩傳聲器接受到的信號x1(t)和x2(t)為
x1(t)=α1s(t)+n1(t) (1)
x2(t)=α2s(t-τ)+n2(t) (2)
其中,,s(t)為聲源信號,;α1、α2是聲波從聲源到傳感器的傳播衰減系數(shù),;τ是聲源傳播到兩個傳感器所需延遲時間,,即到達(dá)時延。n1(t),、n2(t)為環(huán)境噪聲,。這時,到達(dá)時延(TDOA)可以采用傳統(tǒng)的互相關(guān)法進(jìn)行估計,,這時互相關(guān)方程為
e.JPG
其中,,是傳聲器1、2拾取信號的互相關(guān)譜,;ψ12:(ω)是權(quán)函數(shù),;φx1x2(ω)=ψ12(ω)Gx1x2(ω)是廣義互相關(guān)譜,這樣到達(dá)時延為n.jpg
根據(jù)上式選取不同的權(quán)函數(shù)ψ12(ω)就可得到到達(dá)時延的不同算法,,它的選取可根據(jù)實際的聲學(xué)環(huán)境選擇相應(yīng)的準(zhǔn)則,,使得Rx1x2(τ)有個比較尖銳的峰值,得到最好的估計效果,。Rx1x2(τ)的峰值處即為兩傳聲器間的時延,。但在實際應(yīng)用中,權(quán)函數(shù)的選取是一個難點(diǎn),。目前用得較多的是基于互功率譜相位加權(quán)(CSP)法,,其中加權(quán)函數(shù)選為ψ12=1/|Gx1x2(ω)|。這種方法通過對信號互功率譜的歸一化,,去除了信號的幅度信息,,只保留了信號的相位特性,對于噪聲和混響都有一定的抑制效果,。
(2)方位估計,。采用幾何定位法,利用角度距離估計方位,。利用兩個拾音器擺成如圖4所示,,利用拾音器1和2接收到得時間差就可以檢測出聲源偏離主軸的角度θ。

f.JPG


由圖4可得
g.JPG
由于AB距離和V聲音已知,,時延(tA-tB)可由式(1)~式(3)算出,,再由式(4)和式(5)可求得聲源偏移正方向的角度θ,則可控制電機(jī)轉(zhuǎn)動使垃圾桶向用戶方位旋轉(zhuǎn)并前進(jìn),。
2.2 特定語音識別算法
針對特定語音的識別,,采用動態(tài)時間規(guī)整(DTW)的算法,是一種把時間規(guī)整和距離測度的計算結(jié)合起來非線性規(guī)整技術(shù),,多用于孤立詞的語音識別,。語音識別過程如圖5所示。

h.JPG


首先應(yīng)濾掉輸入語音信號的噪音并進(jìn)行預(yù)加重處理,,提升高頻分量,,然后線性預(yù)測系數(shù)等方法進(jìn)行頻譜分析,找出語音的特征參數(shù)作為未知模式,,與預(yù)先存儲的標(biāo)準(zhǔn)模式進(jìn)行比較,,當(dāng)輸入的未知模式與標(biāo)準(zhǔn)模式的特征一致時,ARM便識別輸入的語音信號并輸出結(jié)果,。

3 系統(tǒng)軟件設(shè)計
系統(tǒng)軟件主要包括:數(shù)據(jù)采集模塊,、SCI通訊模塊、特定聲源定位算法模塊和避障軟件模塊,。系統(tǒng)軟件總體流程圖如圖6所示,。

i.JPG

3.1 特定聲源定位算法設(shè)計
系統(tǒng)的聲源定位算法主要基于傳聲器陣列時延估計法,,利用A/D采樣模塊檢測不同拾音器所接收到的聲音信號,算法實現(xiàn)采用廣義互相關(guān)法,。ARM采樣得到的波形接近為正弦波,,將對應(yīng)采樣得到的值放入數(shù)組中保存,首先進(jìn)行相關(guān)運(yùn)算,,得出互相關(guān)譜,。為避免誤差和雜音的干擾,進(jìn)行多次計算去除了誤差較大的值,。其算法流程圖如圖7所示,。

j.JPG


同時,為避免垃圾桶對接收到的任何聲音都進(jìn)行定位,,系統(tǒng)在定位時加入了語音識別,即只對需要的聲音進(jìn)行方位判斷,,對特定聲音進(jìn)行語音識別的流程框圖如圖8所示,。

k.JPG


3.2 避障軟件設(shè)計
避障軟件模塊采用對ARM的GPIO口查詢方法。在垃圾桶加電后,,主函數(shù)中一直查詢GPIO,,某一路的GPIO出現(xiàn)低電平時,進(jìn)入相應(yīng)的子函數(shù),,執(zhí)行相應(yīng)的控制動作,。3個紅外傳感器同時工作,發(fā)射紅外信號,。任何一個紅外接收裝置接收到反射的紅外信號進(jìn)入相應(yīng)的子函數(shù)執(zhí)行控制電機(jī)轉(zhuǎn)動,。紅外避障流程如圖9所示。

l.JPG



4 結(jié)束語
設(shè)計的智能垃圾桶“聽”到主人的呼喊后能自動到達(dá)主人身邊,,并且能識別主人的聲音進(jìn)行一系列動作,,經(jīng)試驗證明該設(shè)計能夠滿足使用要求。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。