黃賢
摘 要:設(shè)計一種具有語音識別和自動跟蹤語音功能的玩具機器人,采用凌陽十六位單片機SPCE061A作為主控芯片,外接麥克,通過外圍電路采集聲音信號實現(xiàn)語音識別和語音定位,在語音命令識別成功之后控制玩具機器人做相應(yīng)的動作。該控制系統(tǒng)功能完備,能夠滿足玩具機器人系統(tǒng)的控制要求。
關(guān)鍵詞:玩具機器人 語音識別 語音定位
中圖分類號:TP273 文獻(xiàn)標(biāo)識碼:B 文章編號:1674-098X(2016)09(b)-0082-02
隨著人們物質(zhì)文化生活水平的提高,人們的消費水平越來越高。目前兒童玩具特別是智能玩具擁有一個很大的市場。智能玩具不僅能夠滿足兒童的好奇心、加強孩子和玩具的互動,而且可以激發(fā)兒童的求知欲[1]。智能玩具將計算機、電子、通訊等領(lǐng)域內(nèi)的先進(jìn)技術(shù)融合為一體,突破了傳統(tǒng)玩具的局限性,賦予玩具“聽”“說”功能,與人進(jìn)行互動,寓知于樂,可使兒童在愉悅中學(xué)習(xí)、體會生活,真正達(dá)到寓教于樂的目的[2,3]。
1 總體設(shè)計方案
采用凌陽十六位單片機SPCE061A作為主控芯片,外接麥克到SPCE061A的聲音輸入模數(shù)轉(zhuǎn)換通道,由單片機實現(xiàn)語音識別和聲音定位,再利用SPCE061A的IO端口控制三級管的導(dǎo)通和關(guān)斷,進(jìn)而控制機器人的腿部、頭部和飛碟電機,實現(xiàn)對機器人的動作控制,系統(tǒng)整體設(shè)計方案如圖1所示。
語音識別語音信號輸入:語音信號由該模塊進(jìn)入單片機后進(jìn)行語音識別處理。聲音定位信號輸入:聲音定位的語音信號經(jīng)過轉(zhuǎn)化,將模擬的聲音信號轉(zhuǎn)換為數(shù)字的高低電平,由I/O端口輸入到SPCE061A。鍵盤輸入控制:用于選擇語音識別和聲音定位模塊,在語音識別模塊下用于重新訓(xùn)練語音控制命令的按鍵。設(shè)有3個按鍵:KEY1-上電復(fù)位后用于選擇語音識別模塊;KEY2-上電復(fù)位后用于選擇聲音定位模塊;KEY3-運行語音識別模塊中用于選擇重新訓(xùn)練語音控制命令。機器人控制:SPCE061A通過基本I/O口控制機器人的前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)和發(fā)射等。語音播放:在語音識別和聲音定位中加入了語音播放,用來提示說話者訓(xùn)練語音控制命令、辨識后的應(yīng)答和定位后的播放音源方位等。
2 系統(tǒng)模塊設(shè)計
2.1 語音識別
該設(shè)計采用特定人識別方式,即語音樣板由單個人訓(xùn)練,對訓(xùn)練人的語音命令識別準(zhǔn)確率較高,而其他人的語音命令識別準(zhǔn)確率較低或不識別[4]。識別電路如圖2所示,麥克選用駐極體電容話筒,話筒的偏壓由SPCE061A的VMIC管腳提供。
2.2 聲音定位
由3個麥克組成聲音定位的前端信號接收電路,3個麥克擺放成7 cm的等邊三角形接收聲音信號,每路麥克都經(jīng)過相同的放大和整形將模擬的聲音信號轉(zhuǎn)化為數(shù)字高低電平輸入到SPCE061A,在SPCE061A內(nèi)識別三路麥克輸入信號的相位差值,通過計算獲取音源所在的方位。圖3為單個聲音信號接收及調(diào)理電路,圖中R1、Q1形成一個恒流源,為麥克供應(yīng)電流,U1A、C1、R2、R3形成一個放大電路,其中C1濾掉信號中的低頻部分,R2/R3/U1A構(gòu)成一個負(fù)反饋放大回路;C2、R4、R5、U1B形成一個過零比較電路。
2.3 機器人的電機驅(qū)動及控制電路
當(dāng)單片機成功識別語音指令后,將對機器人的腿部、頭部和飛碟發(fā)射裝置進(jìn)行運動控制,主要是通過IO口的輸出實現(xiàn)對相應(yīng)電機的控制。
2.3.1 腿部電機控制
圖4為機器人的左腿電機M1的驅(qū)動電路,該驅(qū)動電路采用4個三極管Q1-Q4作為驅(qū)動,提升流過電機的電流,2個三極管Q5-Q6控制電機正反轉(zhuǎn)。電機控制的端口接到了SPCE061A的IOB13和IOB14,只需要給IOB13高電平就可以控制其正轉(zhuǎn),左腿前進(jìn);給IOB14高電平就可以控制電機反轉(zhuǎn),左腿后退。
右腿的電機驅(qū)動和控制電路與左腿的完全相同,其電機控制的端口接到了SPCE061A的IOB11和IOB12,只需要給IOB12高電平就可以控制其正轉(zhuǎn),右腿前進(jìn);給IOB11高電平就可以控制電機反轉(zhuǎn),右腿后退。
2.3.2 頭部電機控制
用于頭部轉(zhuǎn)動的電機驅(qū)動控制電路和左右腿的相同,其電機控制的端口接到了SPCE061A的IOB9和IOB10,只需要給IOB9高電平就可以控制電機正轉(zhuǎn),頭部轉(zhuǎn)向左方;給IOB10高電平就可以控制電機反轉(zhuǎn),頭部轉(zhuǎn)向右方。
2.3.3 發(fā)射飛碟電機控制
為增加玩具機器人的趣味性和互動性,設(shè)計中增加了機器人發(fā)射飛碟的功能。采用兩個直流電機進(jìn)行控制,由SPCE061A的IOB8和IOB15控制電機M4和M5,分別控制帶動裝置和加速裝置,其中帶動彈簧裝置彈出飛碟,加速裝置帶動飛碟發(fā)射出來,驅(qū)動控制電路如圖5所示。
3 結(jié)語
基于SPCE061A單片機開發(fā)的玩具機器人控制系統(tǒng),由3個麥克擺放成邊長為7 cm的等邊三角形,采集聲音信號并進(jìn)行語音識別,根據(jù)識別的語音實現(xiàn)對機器人的動作控制。系統(tǒng)采用模塊化設(shè)計方案,既能實現(xiàn)智能控制,又增加了互動性,達(dá)到了玩具機器人寓教于樂的效果。
參考文獻(xiàn)
[1] 渠川鈺,劉修泉.基于STC89C52單片機的斗牛玩具機器人研制[J].機電工程技術(shù),2011,40(7):36-38.
[2] 楊宜民,李瑩.智能玩具研發(fā)動態(tài)及思考[J].廣東工業(yè)大學(xué)學(xué)報,2004,21(3):34-39.
[3] 馮勁梅,王慶明.采用單片機的直流電機無線遙控系統(tǒng)[J].機電工程,2010(12):7-10.
[4] 張培堅.十六位單片微處理器原理及應(yīng)用(凌陽SPCE061A)[M].北京:清華大學(xué)出版社,2005.