《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > SPCE061A在智能語(yǔ)音識(shí)別避障機(jī)器人中的設(shè)計(jì)應(yīng)用
SPCE061A在智能語(yǔ)音識(shí)別避障機(jī)器人中的設(shè)計(jì)應(yīng)用
凌陽(yáng)科技教育推廣中心
摘要: 現(xiàn)代社會(huì)中機(jī)器人這個(gè)詞語(yǔ)已經(jīng)不再新鮮,而且形形色色的機(jī)器人出現(xiàn)在我們的日常生活中,。為了提高廣大單片機(jī)愛(ài)好者學(xué)習(xí)單片機(jī)的興趣,,在凌陽(yáng)科技教育推廣中心的興趣產(chǎn)品智能機(jī)器人的基礎(chǔ)上,配合超聲波傳感器的使用,,
Abstract:
Key words :

現(xiàn)代社會(huì)中機(jī)器人這個(gè)詞語(yǔ)已經(jīng)不再新鮮,,而且形形色色的機(jī)器人出現(xiàn)在我們的日常生活中。為了提高廣大單片機(jī)愛(ài)好者學(xué)習(xí)單片機(jī)的興趣,,在凌陽(yáng)科技教育推廣中心的興趣產(chǎn)品智能機(jī)器人的基礎(chǔ)上,,配合超聲波傳感器的使用,使機(jī)器人具有障礙檢測(cè)功能,。本文對(duì)這個(gè)避障機(jī)器人的軟硬件制作進(jìn)行介紹,。

1  引言

  為了提高廣大單片機(jī)愛(ài)好者學(xué)習(xí)單片機(jī)的興趣,凌陽(yáng)科技教育推廣中心推出了應(yīng)用SPCE061A作為主控制器,,外加電機(jī)驅(qū)動(dòng)電路制作的智能機(jī)器人,。該機(jī)器人采用特定人語(yǔ)音識(shí)別對(duì)機(jī)器人進(jìn)行控制,可以完成向前走,、倒退,、左轉(zhuǎn)、右轉(zhuǎn),、跳兩首舞曲,、向左瞄準(zhǔn),、向右瞄準(zhǔn)、發(fā)射,、連續(xù)發(fā)射等功能,。在此基礎(chǔ)上,配合凌陽(yáng)科技教育推廣中心推出的超聲波測(cè)距模組,,為機(jī)器人增加了活動(dòng)過(guò)程中實(shí)時(shí)檢測(cè)前方障礙物,、遇到障礙停止運(yùn)動(dòng)并向前方發(fā)射飛盤(pán)等功能,進(jìn)一步豐富了機(jī)器人的功能,,可以大大提高在校學(xué)生學(xué)習(xí)單片機(jī)的興趣,。

2  模組特性簡(jiǎn)介
2.1  SPCE061A特性簡(jiǎn)介

  SPCE061A是凌陽(yáng)科技研發(fā)生產(chǎn)的性?xún)r(jià)比很高的一款十六位單片機(jī),使用它可以非常方便靈活的實(shí)現(xiàn)語(yǔ)音的錄放系統(tǒng),,該芯片擁有8路10位精度的ADC,,其中一路為音頻轉(zhuǎn)換通道,并且內(nèi)置有自動(dòng)增益電路,。這為實(shí)現(xiàn)語(yǔ)音錄入提供了方便的硬件條件,。兩路10位精度的DAC,只需要外接功放(SPY0030A)即可完成語(yǔ)音的播放,。另外凌陽(yáng)十六位單片機(jī)具有易學(xué)易用的效率較高的一套指令系統(tǒng)和集成開(kāi)發(fā)環(huán)境,。在此環(huán)境中,支持標(biāo)準(zhǔn)C語(yǔ)言,,可以實(shí)現(xiàn)C語(yǔ)言與凌陽(yáng)匯編語(yǔ)言的互相調(diào)用,,并且,提供了語(yǔ)音錄放的庫(kù)函數(shù),,只要了解庫(kù)函數(shù)的使用,,就會(huì)很容易完成語(yǔ)音錄放,這些都為軟件開(kāi)發(fā)提供了方便的條件:
特性:
  16位μ'nSP微處理器,;
  工作電壓:內(nèi)核工作電壓VDD為3.0~3.6V(CPU),,IO口工作電壓VDDH為VDD~5.5V(I/O);
  CPU時(shí)鐘:0.32MHz~49.152MHz,;
  內(nèi)置2K字SRAM,;
  內(nèi)置32K閃存ROM;
  可編程音頻處理,;
  晶體振蕩器,;
  系統(tǒng)處于備用狀態(tài)下(時(shí)鐘處于停止?fàn)顟B(tài)),,耗電小于2μ[email protected],;
  2個(gè)16位可編程定時(shí)器/計(jì)數(shù)器(可自動(dòng)預(yù)置初始計(jì)數(shù)值);
  2個(gè)10位DAC(數(shù)-模轉(zhuǎn)換)輸出通道,;
  32位通用可編程輸入/輸出端口,;
  14個(gè)中斷源可來(lái)自定時(shí)器A / B,,時(shí)基,2個(gè)外部時(shí)鐘源輸入,,鍵喚醒,;
  具備觸鍵喚醒的功能;
  使用凌陽(yáng)音頻編碼SACM_S240方式(2.4K位/秒),,能容納210秒的語(yǔ)音數(shù)據(jù),;
  鎖相環(huán)PLL振蕩器提供系統(tǒng)時(shí)鐘信號(hào);
  32768Hz實(shí)時(shí)時(shí)鐘,;
  7通道10位電壓模-數(shù)轉(zhuǎn)換器(ADC)和單通道聲音模-數(shù)轉(zhuǎn)換器,;
  聲音模-數(shù)轉(zhuǎn)換器輸入通道內(nèi)置麥克風(fēng)放大器和自動(dòng)增益控制(AGC)功能;
  具備串行設(shè)備接口,;
  低電壓復(fù)位(LVR)功和低電壓監(jiān)測(cè)(LVD)功能,;
  內(nèi)置在線(xiàn)仿真板(ICE,In- Circuit Emulator)接口,。

2.2  超聲波模組簡(jiǎn)介
2.2.1  功能簡(jiǎn)介

  三種測(cè)距模式選擇跳線(xiàn)J1(短距,、中距、可調(diào)距):
  短距:20cm~100cm左右(根據(jù)被測(cè)物表面材料決定),,精度1cm,;
  中距:70cm~400cm左右(根據(jù)被測(cè)物表面材料決定);
  可調(diào):范圍由可調(diào)節(jié)參數(shù)確定,,當(dāng)調(diào)節(jié)在合適的值時(shí),,最遠(yuǎn)測(cè)距700cm左右;

2.2.2  電氣參數(shù)
  超聲波傳感器諧振頻率:40KHz
  模組傳感器工作電壓:4.5V~9V
  模組接口電壓:4.5V~5.5V

2.2.3  超聲波發(fā)射電路原理圖

 

圖 2-1 超聲波諧振頻率調(diào)理電路原理圖

  由單片機(jī)產(chǎn)生40KHz的方波,,并通過(guò)模組接口(J4)送到模組的CD4049,,而后面的CD4049則對(duì)40KHz頻率信號(hào)進(jìn)行調(diào)理,以使超聲波傳感器產(chǎn)生諧振,。

2.2.4  超聲波回波接收處理電路

圖 2-2 超聲波回波接收處理電路

  超聲波接收處理部分電路前級(jí)采用NE5532構(gòu)成10000倍放大器,,對(duì)接收信號(hào)進(jìn)行放大;后級(jí)采用LM311比較器對(duì)接收信號(hào)進(jìn)行調(diào)整,,比較電壓為L(zhǎng)M311的3管腳的輸入,,可由J1跳線(xiàn)選擇不同的比較電壓以選擇不同的測(cè)距模式。

2.2.5  電源接口

圖 2-3 超聲波模組的電源接口電路

  為外部電源接口,,最高電壓不要超過(guò)12V,,J2為電源選擇跳線(xiàn),VCC_5即為由61板通過(guò)10PIN排線(xiàn)引入模組的電源,;VCC即為模組的放大器,、調(diào)理電路的供電電源。當(dāng)用戶(hù)使用61板為其供電時(shí),,要把VCC與VCC_5V短接,;而使用外部電源時(shí),,要把VCC與VCC_IN短接。

2.2.6  測(cè)距模式選擇跳線(xiàn)

圖2-4  超聲波測(cè)距模式選擇跳線(xiàn)電路

  模組提供了測(cè)距模式選擇跳線(xiàn)J1,,可以選擇短距測(cè)量模式,、中距測(cè)量模式,,或距離可調(diào)模式,。跳線(xiàn)選擇LOW時(shí)為近距測(cè)量模式,選擇HIG時(shí)為中距測(cè)量模式,;選擇SET時(shí)為距離可調(diào)模式,。凌陽(yáng)科技大學(xué)計(jì)劃提供了短距測(cè)量模式和中距測(cè)量模式的完整程序(其中ultrasonic_Low為短距測(cè)量模式程序,;ultrasonic_long為中距測(cè)量模式程序)。

2.2.7  模組接口

圖 2-5  超聲波模組接口電路

  用戶(hù)只需要把前面的電源輸入跳線(xiàn)J2,、測(cè)量模式選擇跳線(xiàn)J1設(shè)置好后,,用排線(xiàn)把J5與SPCE061A的IOB口低八位相接,J4與IOB口高八位相接,,即可使用了,。

2.2.8  注意事項(xiàng)
  ◆提供給模組的電源必須在4.5V以上,而且盡量保持電源電壓的穩(wěn)定,。
  ◆模組外接電源接口J3接入的電源不要超過(guò)12V,。
  ◆模組工作的性能與被測(cè)物表面材料有很大關(guān)系,如毛料,、布料對(duì)超聲波的反射率很小,,會(huì)嚴(yán)重影響測(cè)量結(jié)果。
  ◆模組的中距測(cè)距模式的精度與程序設(shè)計(jì)有關(guān),,提供的范例程序中沒(méi)有對(duì)測(cè)距結(jié)果進(jìn)行標(biāo)定,,所以有3~5cm的距離誤差時(shí)是正常的。

2.3  機(jī)器人簡(jiǎn)介
2.3.1   機(jī)器人驅(qū)動(dòng)電路圖
  機(jī)器人驅(qū)動(dòng)電路圖如圖2-6所示:

圖 2-6 機(jī)器人驅(qū)動(dòng)電路圖

  機(jī)器人驅(qū)動(dòng)電路采用功率較大的三極管搭成H橋來(lái)驅(qū)動(dòng)電機(jī),,可以實(shí)現(xiàn)電機(jī)的正向旋轉(zhuǎn)與電機(jī)的反向旋轉(zhuǎn),。這些電機(jī)包括2個(gè)用于走路的電機(jī)與一個(gè)頭部轉(zhuǎn)向的電機(jī)。另外用了一個(gè)三極管驅(qū)動(dòng)單向旋轉(zhuǎn)的電機(jī),,包括加速電機(jī)與發(fā)射電機(jī),,驅(qū)動(dòng)電路比較簡(jiǎn)單。

2.3.2  主要功能
  ◆通過(guò)語(yǔ)音命令對(duì)其進(jìn)行控制,;
  ◆可以跳兩首舞曲,;
  ◆走步功能、轉(zhuǎn)向功能,、轉(zhuǎn)頭功能,;
  ◆發(fā)射飛盤(pán)功能;

2.3.3  機(jī)器人實(shí)物圖

圖 2-7 機(jī)器人實(shí)物圖

2.3.4  注意事項(xiàng)
  ◆機(jī)器人在發(fā)射飛盤(pán)時(shí)不要面向人,避免受傷
  ◆機(jī)器人要輕拿輕放應(yīng)該避免摔打
  ◆在安裝電池時(shí)注意正負(fù)極,,否則容易燒壞機(jī)器人電機(jī)或主控制板

3  系統(tǒng)總體方案介紹
  用61板來(lái)控制機(jī)器人,使用了IOA7-IOA15以及IOB2和IOB9資源,,另外使用了揚(yáng)聲器,。如圖3-1所示:

圖 3-1 系統(tǒng)的結(jié)構(gòu)框圖

  系統(tǒng)主要由61板、超聲波測(cè)距模組和機(jī)器人驅(qū)動(dòng)電路構(gòu)成,。61板作為整個(gè)系統(tǒng)的主控板,,超聲波測(cè)距模組在機(jī)器人運(yùn)動(dòng)期間定期檢測(cè)前方是否存在障礙物,驅(qū)動(dòng)電路驅(qū)動(dòng)電機(jī),,在主控板61板的控制下完成各個(gè)動(dòng)作,。另外增加了特定人語(yǔ)音識(shí)別的功能,通過(guò)命令來(lái)控制機(jī)器人,,使機(jī)器人智能化,。

4  系統(tǒng)軟件設(shè)計(jì)
  在主函數(shù)中調(diào)用相關(guān)函數(shù)完成特定人語(yǔ)音的訓(xùn)練,然后在訓(xùn)練成功后進(jìn)行語(yǔ)音識(shí)別,,根據(jù)識(shí)別的命令執(zhí)行相關(guān)的操作,。程序流程如圖4-1所示:

圖 4-1 主程序流程圖

  根據(jù)FLASH中的標(biāo)志位來(lái)進(jìn)行判斷是否為第一次下載。使用庫(kù)函數(shù)BSR_ExportSDWord(uiCommandID)將訓(xùn)練好的語(yǔ)音模型導(dǎo)出存儲(chǔ)到FLASH中進(jìn)行操作,,然后再調(diào)用讀寫(xiě)FLASH函數(shù),。在進(jìn)行語(yǔ)音識(shí)別時(shí),首先讀取FLASH將語(yǔ)音模型取得,,然后調(diào)用BSR_ImportSDWord(uiCommandID)函數(shù)將語(yǔ)音資源載入內(nèi)存,。在識(shí)別出命令后,執(zhí)行相關(guān)動(dòng)作,,相關(guān)動(dòng)作操作就是操作電機(jī)的正向或反向旋轉(zhuǎn)同時(shí)配合延時(shí)與播放聲音組合起來(lái)形成不同的動(dòng)作,。
  避障的實(shí)現(xiàn)是在機(jī)器人活動(dòng)期間完成的。
  在機(jī)器人活動(dòng)期間會(huì)播放背景聲音或音樂(lè),。播放采用后臺(tái)方式,,使用4096Hz時(shí)基中斷處理語(yǔ)音解碼。這樣可以釋放大量CPU資源在前臺(tái)處理其他事務(wù),。
  語(yǔ)音播放函數(shù)流程圖如圖4-2所示,。

圖 4-2 語(yǔ)音播放程序流程圖

  在4096Hz時(shí)基中斷中進(jìn)行的處理流程如圖4-3所示。

圖 4-3 語(yǔ)音播放中斷服務(wù)程序流程圖

  在播放背景音樂(lè)的同時(shí),,程序?qū)⒄{(diào)用超聲波測(cè)距函數(shù)進(jìn)行機(jī)器人前方障礙物檢測(cè),。測(cè)距函數(shù)利用TimerB產(chǎn)生40KHz的PWM方波驅(qū)動(dòng)超聲波發(fā)射傳感器。當(dāng)接收傳感器接收到回波后經(jīng)過(guò)處理電路處理將引起SPCE061A的外部中斷,,計(jì)算從發(fā)射超聲波到產(chǎn)生中斷的時(shí)間,,即可計(jì)算出目標(biāo)物體的距離。測(cè)距函數(shù)流程如圖4-4所示。

圖 4-3 語(yǔ)音播放中斷服務(wù)程序流程圖

  在播放背景音樂(lè)的同時(shí),,程序?qū)⒄{(diào)用超聲波測(cè)距函數(shù)進(jìn)行機(jī)器人前方障礙物檢測(cè),。測(cè)距函數(shù)利用TimerB產(chǎn)生40KHz的PWM方波驅(qū)動(dòng)超聲波發(fā)射傳感器。當(dāng)接收傳感器接收到回波后經(jīng)過(guò)處理電路處理將引起SPCE061A的外部中斷,,計(jì)算從發(fā)射超聲波到產(chǎn)生中斷的時(shí)間,,即可計(jì)算出目標(biāo)物體的距離。測(cè)距函數(shù)流程如圖4-4所示,。

圖4-5 編譯,、鏈接圖

  步驟二:下載程序代碼到機(jī)器人的61板上。
  步驟三:打開(kāi)機(jī)器人的電源,,進(jìn)行語(yǔ)音訓(xùn)練,,訓(xùn)練過(guò)程按照下面進(jìn)行:
按順序訓(xùn)練以下15條指令:"名稱(chēng)","開(kāi)始",,"準(zhǔn)備",,"跳舞","再來(lái)一曲",,"開(kāi)始",,"向前走","倒退",,"右轉(zhuǎn)",,"左轉(zhuǎn)","準(zhǔn)備",,"向左瞄準(zhǔn)",,"向右瞄準(zhǔn)","發(fā)射",,"連續(xù)發(fā)射",。每條指令要訓(xùn)練兩遍。當(dāng)一條指令被正確識(shí)別時(shí)會(huì)提示進(jìn)入下一條,;如沒(méi)有被識(shí)別會(huì)要求重復(fù)該指令,,直到正確識(shí)別為止。
  步驟三:如果訓(xùn)練成功則進(jìn)入語(yǔ)音識(shí)別狀態(tài),,如果訓(xùn)練沒(méi)有成功則重復(fù)訓(xùn)練,。由于SPCE061A的FLASH存儲(chǔ)器只有32K,所以15條指令需要分組存放,。在這里分成3組,,每組5條指令。在不同組指令中交換需要根據(jù)觸發(fā)名稱(chēng),,所以在識(shí)別狀態(tài),,要執(zhí)行動(dòng)作首先需要觸發(fā)名稱(chēng),就是訓(xùn)練的第一條命令,然后可以識(shí)別第一組的其余四條命令,。在觸發(fā)第一條指令,,然后再觸發(fā)第二條指令,就可以識(shí)別第三條指令,,參考下圖:

圖 4-6 機(jī)器人操作示意圖

  步驟四:在機(jī)器人前進(jìn),、倒退、跳舞時(shí),,用手或其他物體靠近機(jī)器人前方,機(jī)器人會(huì)發(fā)出"HoHooHoHoo"的聲音,,并停止動(dòng)作,,接著,向前方發(fā)射飛盤(pán),。

  應(yīng)用SPCE061A外加電機(jī)驅(qū)動(dòng)控制電路可以實(shí)現(xiàn)多個(gè)電機(jī)的控制,,完成機(jī)器人的許多動(dòng)作。配合超聲波傳感器等感測(cè)裝置,,可以為機(jī)器人增加更多的功能,。單片機(jī)愛(ài)好者可以自己制作電機(jī)驅(qū)動(dòng)電路,選擇多式多樣的傳感器,,發(fā)揮想象力制作出自己的機(jī)器人,。

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