無線收發(fā)的聲音導(dǎo)引系統(tǒng)
摘要:設(shè)計以STC89C58單片機(jī)為核心的最小系統(tǒng)。采用L297與L298控制、驅(qū)動步進(jìn)電機(jī);音頻放大器采用CX20106芯片,信號頻率選擇、放大性能好;同時具有433 MHz無線接收發(fā)模塊等。音頻接收器接收小車發(fā)出的15 kHz音頻信號,通過采集、放大、濾波等環(huán)節(jié)傳送至接收端單片機(jī);利用時間差作為變量,將對應(yīng)的信息無線發(fā)送回小車處理器,控制小車移動到達(dá)預(yù)定位置。
關(guān)鍵詞:聲音導(dǎo)引;無線收發(fā);運(yùn)算放大;STC89C58
引言
聲音引導(dǎo)在工業(yè)、民用等領(lǐng)域有著廣闊的應(yīng)用空間。本文基于主從兩塊單片機(jī)設(shè)計了聲音引導(dǎo)電動小車運(yùn)動系統(tǒng)。該系統(tǒng)由可移動聲源(智能小車)和聲音接收控制電路等組成。其主要功能是由聲音接收控制電路接收并處理移動聲源發(fā)出的聲音信號,通過無線的方式向移動聲
源控制電路發(fā)送方位、速度等信息,使移動聲源達(dá)到預(yù)期的目標(biāo)。系統(tǒng)的移動聲源采用了步進(jìn)電機(jī)驅(qū)動的小車,角度、位移控制較為精確。
1 系統(tǒng)硬件設(shè)計
系統(tǒng)硬件總體框圖如圖1所示。主控、從控單片機(jī)為宏晶科技的STC89C58。
1.1 電機(jī)驅(qū)動模塊
電機(jī)驅(qū)動模塊電路如圖2所示。驅(qū)動模塊采用L298驅(qū)動芯片和L297電機(jī)控制芯片。L298驅(qū)動芯片是性能優(yōu)越的小型直流電機(jī)驅(qū)動芯片,可用來驅(qū)動兩個直流電機(jī)或者是一個步進(jìn)電機(jī);在4~46 V的電壓下,可以提供2 A的驅(qū)動電流。L298還有過熱自動關(guān)斷功能,并有反饋電流檢測功能,符合電機(jī)驅(qū)動的需要。L297芯片為電機(jī)驅(qū)動的前級電路,主要用來產(chǎn)生格雷碼,避免了用單片機(jī)引腳直接控制所造成的資源浪費(fèi)。
本系統(tǒng)采用的是步進(jìn)電機(jī)。步進(jìn)電機(jī)是將電脈沖信號轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移的開環(huán)控制元件。在非超載的情況下,電機(jī)的轉(zhuǎn)速、停止的位置只取決于脈沖信號的頻率和脈沖數(shù),而不受負(fù)載變化的影響,即給電機(jī)加一個脈沖信號,電機(jī)則轉(zhuǎn)過一個步進(jìn)角。這一線性關(guān)系的存在,加上步進(jìn)電機(jī)只有周期性的誤差而無累積誤差等特點(diǎn),在速度、位置等控制領(lǐng)域用步進(jìn)電機(jī)來控制變得非常簡單。
采用步進(jìn)電機(jī)作為電動車的電動機(jī),可以通過脈沖控制實現(xiàn)速度與精度兼得。
1.2 聲音發(fā)生裝置
以揚(yáng)聲器作為車載聲源加之多諧振蕩電路,可以向聲音接收器發(fā)送一定頻率的聲音脈沖。多諧振蕩電路的應(yīng)用可節(jié)省寶貴的單片機(jī)資源。
555定時器是一種模擬電路和數(shù)字電路相結(jié)合的中規(guī)模集成器件。它性能優(yōu)良,適用范圍很廣,外部接少量的阻容元件就可以很方便地組成多諧振蕩器,產(chǎn)生穩(wěn)定的方波波形。由555定時器組成的多諧振蕩器如圖3所示。其中,R1、R2和電容C為外接元件。
多諧振蕩波形如圖4所示。
由圖4可知,矩形波的振蕩周期T=T1+T2。T1為電容充電時間,T2為電容放電時間。
因此,改變R1、R2和電容C的值,便可改變矩形波的周期和頻率。
1.3 聲音接收及處理模塊
采用具有帶通功能的集成芯片CX20106進(jìn)行信號處理。CX20106的總放大增益約為80 dB,輸出的控制脈沖序列信號幅度在3.5~5 V范圍內(nèi)。總增益具有可調(diào)性,雖然增益取值過大時將造成頻率響應(yīng)變差,但仍能滿足系統(tǒng)要求。經(jīng)過實驗,CX20106作為聲音信號處理芯片的抗干擾能力極強(qiáng),且電路最為簡潔。其內(nèi)部結(jié)構(gòu)如圖5所示。
前置電路將接收到的信號轉(zhuǎn)換成CX20106可以接收的標(biāo)準(zhǔn)數(shù)字信號,送到CX20106的1腳。CX20106的總放大增益約為80 dB,其7腳輸出的控制脈沖序列信號幅度為3.5~5 V??傇鲆娲笮∮?腳外接的R1、C1決定,R1越小或C1越大,增益越高。但取值過大時將造成頻率響應(yīng)變差,C1為1.OμF。采用峰值檢波方式,檢波電容C2為3.3 μF。R2為帶通濾波器中心頻率的外部電阻。
積分電容C3取330 pF。經(jīng)CX20106處理后的脈沖信號由7腳輸出。
1.4 無線收發(fā)模塊
1.4.1 無線發(fā)射模塊
無線發(fā)射模塊電路如圖6所示。編碼采用PT2262芯片,它將載波振蕩器、編碼器和發(fā)射單元集于一身,使發(fā)射電路變得非常簡潔。編碼輸入是4路獨(dú)立的二進(jìn)制信號,把誤差信號轉(zhuǎn)換為4位數(shù)字信號通過433 MHz發(fā)射模塊進(jìn)行發(fā)射。
1.4.2 無線接收模塊
無線接收模塊電路如圖7所示。解碼芯片采用PT2272-M4芯片,對433 MHz接收模塊接收到的信號進(jìn)行解碼。433 MHz接收模塊上集成有超外差接收裝置,其具有較好的選擇性和頻率特性,且容易調(diào)整。PT2272-M4的數(shù)據(jù)輸出位因其后綴而異,數(shù)據(jù)輸出具有暫存和鎖存兩種方式,方便用戶使用。后綴為M為暫存型,后綴為L為鎖存型,其數(shù)據(jù)輸出又分為0、2、4、6不同的輸出。
2 軟件設(shè)計
聲源引導(dǎo)示意圖如圖8所示。設(shè)S點(diǎn)為可移動聲源,Ox代表AB直線的中垂線,O'y代表AC直線的中垂線。如果AS距離大于BS距離,則小車向9點(diǎn)鐘方向前進(jìn);如果AS距離小于BS距離,則小車向3點(diǎn)鐘方向倒車;如果AS等于BS,則說明小車在AB的中垂線上。如果AS距離大于CS距離,則小車向6點(diǎn)方向前進(jìn);如果AS距離小于CS距離,則小車向12點(diǎn)鐘方向倒車;如果AS等于CS,則小車到達(dá)W點(diǎn)。
本系統(tǒng)在聲音接收器端設(shè)置主單片機(jī),承擔(dān)運(yùn)算工作并發(fā)射信號。在移動聲源上設(shè)置一塊從單片機(jī),根據(jù)接收到的指令控制聲源運(yùn)動。系統(tǒng)軟件流程如圖9所示。
3 系統(tǒng)測試
測試儀器使用秒表、米尺等。通過改變小車的起始位置測量小車走完全程所需的時間,從而計算出平均速度。設(shè)小車離W點(diǎn)水平線的垂直距離為H(單位為cm)。由于車身完全為手工制作,重心位置存在誤差,導(dǎo)致兩個輪子承受壓力不同、阻力不同,對系統(tǒng)的精度有一定影響。共進(jìn)行6次測試,在同一H值下,分別測量平均速度v1和v2。
測試數(shù)據(jù)如表1所列。
結(jié)語
本系統(tǒng)以單片機(jī)STC89C58芯片為核心部件,利用無線收發(fā)模塊、音頻收發(fā)模塊,并配合一套獨(dú)特的軟件算法實現(xiàn)聲音的收發(fā)、無線傳輸控制、小車的方向和運(yùn)動控制,以及自動到達(dá)指定位置并有明顯的光和聲指示、時間顯示等功能。在系統(tǒng)設(shè)計過程中,力求硬件線路簡單,充分利用軟件編程方便、靈活的特點(diǎn)來滿足系統(tǒng)的設(shè)計要求。