《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于STM32控制的聲音導(dǎo)引系統(tǒng)
基于STM32控制的聲音導(dǎo)引系統(tǒng)
單片機(jī)與嵌入式系統(tǒng)
許崇言 西北民族大學(xué)
摘要: 設(shè)計了一個基于STM32控制的聲音導(dǎo)引系統(tǒng)。該系統(tǒng)由1個可移動聲源S和3個聲音接收器A、B、C構(gòu)成。由一片從控STM32單片機(jī)控制無線發(fā)送模塊,實(shí)現(xiàn)聲音導(dǎo)引信號的發(fā)送。主控單片機(jī)根據(jù)無線接收模塊所接收到的信息來判斷可移動聲源運(yùn)動的啟停。
Abstract:
Key words :

摘要:設(shè)計了一個基于STM32" title="STM32">STM32控制的聲音導(dǎo)引" title="聲音導(dǎo)引">聲音導(dǎo)引系統(tǒng)。該系統(tǒng)由1個可移動聲源S和3個聲音接收器A、B、C構(gòu)成。由一片從控STM32單片機(jī)控制無線發(fā)送模塊,實(shí)現(xiàn)聲音導(dǎo)引信號的發(fā)送。主控單片機(jī)根據(jù)無線接收模塊所接收到的信息來判斷可移動聲源運(yùn)動的啟停。

引言
    聲音導(dǎo)引系統(tǒng),主要是靠聲音來完成對機(jī)器的智能控制,既方便又快捷。尤其是環(huán)境比較惡劣、不適合人類停留的地方,可以依靠聲音來控制機(jī)器的正常運(yùn)行。聲音導(dǎo)引系統(tǒng)也是智能化控制的一個方面,對未來的智能化發(fā)展有較大的促進(jìn)作用,對未來智能機(jī)器人的研究也大有幫助。

1 系統(tǒng)總體方案
    如圖1所示,聲音導(dǎo)引系統(tǒng)由1個可移動聲源S,聲音接收器A、B和C構(gòu)成。其中,可移動聲源由發(fā)聲模塊和無線接收模塊組成;A、B、C三處各放置一個聲音接收器。

a.JPG


    針對系統(tǒng)設(shè)計要求,可以采用以下實(shí)現(xiàn)方案:在O點(diǎn)設(shè)置一個STM32單片機(jī)控制器,作為A、B、C三個聲音接收器的公共控制器,并通過一個公共無線發(fā)送模塊向可移動聲源發(fā)送反饋信號??梢苿勇曉撮_始運(yùn)動并發(fā)出聲音后,聲音接收器A、B和C收到聲音,將聲音信號分別傳送給STM32單片機(jī),由STM32單片機(jī)判別A、B和C哪個聲音接收器先接收到該聲音信號。
    若聲音接收器B先收到,則不發(fā)送反饋信號給可移動聲源。一旦聲音接收器A先收到聲音信號,表明可移動聲源已經(jīng)在定位誤差的范圍內(nèi)到達(dá)Ox線,無線發(fā)送模塊立即向可移動聲源發(fā)送反饋信號,可移動聲源接收到該信號后,立即停止運(yùn)動。該方案電路簡單,只需要一套無線收發(fā)系統(tǒng),因此也節(jié)約了成本。

2 系統(tǒng)硬件設(shè)計
    本系統(tǒng)中,可移動聲源由EDC-CarX V1.0-2007.06四驅(qū)版DIY競賽小車、日本NEC電機(jī)控制ASSP芯片MMC-1、STM32 Cortex-M3" title="Cortex-M3">Cortex-M3系列單片機(jī)、無線接收模塊、天線、蜂鳴器組成;音頻接收模塊、無線發(fā)送模塊、天線組成聲音接收器。

b.JPG


    如圖2所示,本系統(tǒng)主要靠無線模塊實(shí)現(xiàn)主從控制器之間的通信,進(jìn)而通過MCU-1來控制電機(jī)的運(yùn)行狀態(tài)。由于該系統(tǒng)要求系統(tǒng)的響應(yīng)速度快、功耗低、穩(wěn)定性高等,一般的C51單片機(jī)不能滿足要求,綜合考慮選擇ST公司Cortex-M3系列的STM32F1103VE作為主控芯片。該芯片基于專為要求高性能、低成本、低功耗的嵌入式應(yīng)用設(shè)計的ARM Cortex-M3內(nèi)核。其特點(diǎn)如下:工作時鐘頻率最高達(dá)到72 MHz;單周期乘法和硬件除法;256~512KB的Flash,高達(dá)64 KB的SRAM;睡眠、停機(jī)和待機(jī)3種低功耗模式;2通道12位D/A轉(zhuǎn)換器;多達(dá)13個通信接口;11個定時器,可以進(jìn)行輸入捕捉/輸出比較/PWM信號通道和增量編碼輸入。
    可移動聲源電機(jī)部分由STM32-F103VE、MMC-1和L293芯片驅(qū)動,其控制、驅(qū)動電路如圖3所示。MMC-1和L293都是直流電機(jī)的控制芯片,這種組合更有利于精確控制。

c.JPG


    無線接收模塊電路如圖4所示。SCDRX2DS為無線接收模塊的控制芯片。301是電路的穩(wěn)壓芯片,起到電壓保護(hù)的作用。

d.JPG

 

3 軟件設(shè)計
    本系統(tǒng)的軟件部分主要分為移動聲音模塊和聲音接收模塊。采用ST公司提供的函數(shù)庫進(jìn)行開發(fā)。該函數(shù)庫是一個固件函數(shù)包,它由程序、數(shù)據(jù)結(jié)構(gòu)和宏組成,包括了微控制器所有外設(shè)的性能特征,以及每一個外設(shè)的驅(qū)動描述和應(yīng)用實(shí)例。通過使用函數(shù)庫,無需深入掌握細(xì)節(jié),用戶就可以輕松地應(yīng)用外設(shè),從而大大縮短了用戶的編程時間,進(jìn)而降低了開發(fā)成本。為了減小開發(fā)難度,本設(shè)計以引用函數(shù)庫為主,添加自己的用戶程序完成整個系統(tǒng)的軟件部分。
3.1 移動聲音模塊
    本模塊主要實(shí)現(xiàn)移動聲音控制器的功能。利用延時的方法產(chǎn)生高低電平來驅(qū)動蜂鳴器產(chǎn)生聲源。通過SPI串口和NEC的從控芯片進(jìn)行通信,發(fā)送命令進(jìn)而來控制電機(jī)的運(yùn)行狀態(tài)。通過無線模塊接收的信息先暫存在SPI的緩沖區(qū)中,以備控制命令及時發(fā)送。發(fā)送的控制命令有前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)和停止信號。移動聲音模塊控制流程如圖5所示。

e.JPG


3.2 聲音接收模塊
    本模塊的功能主要是循環(huán)接收傳感器的信息,根據(jù)3個接收器傳回聲音的順序不同,來判斷移動聲音的位置和運(yùn)行狀態(tài),進(jìn)而將前進(jìn)、后退、左轉(zhuǎn)和右轉(zhuǎn)控制命令發(fā)送給移動聲源。由于該控制器的采樣頻率要高,因此把主控制器的時鐘頻率通過PLL調(diào)到最大72 MHz。聲音接收模塊控制流程如圖6所示。

4 系統(tǒng)測試
    測試儀器包括:100 MHz數(shù)字示波器,數(shù)字萬用表(型號VICTOR-VC890D),STM32單片機(jī)開發(fā)板,秒表,卷尺。
    用示波器觀測單片機(jī)、MMC-1芯片的輸入/輸出引腳信號波形,用數(shù)字萬用表檢查元件有無虛焊,從而確定對電機(jī)的驅(qū)動情況。
    用秒表、卷尺測試小車運(yùn)動的平均速度,并量取定位誤差。假設(shè)小車初始位置為S0,小車停止位置為S且SS0與間夾角為α,全程運(yùn)動時間為t,S與0x線間距離為d,則小車平均速度為SS0·tan(α/t)。
    測試數(shù)據(jù)如表1所列。

f.JPG

 

結(jié)語
    可移動聲源開始運(yùn)動并發(fā)出聲音,3個聲音接收器收到來自可移動聲源的聲音信號后,立即發(fā)出各自載波頻率的反饋信號給可移動聲源。可移動聲源根據(jù)接收到的不同信號頻率判斷反饋信號的源頭,從而由MCU發(fā)出相應(yīng)控制信號(前進(jìn)、倒退和轉(zhuǎn)彎),導(dǎo)引可移動聲源在定位誤差的范圍內(nèi)。
 

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