王昊鵬,劉澤乾
(中國人民解放軍空軍航空大學 軍械系,吉林 長春 130022)
本設計主要利用單片機作為核心器件實現(xiàn)聲音導引電動車系統(tǒng)。通過單片機和NEC控制板控制電動車。使用L298雙通道直流電機集成驅動電路,驅動小車的兩個直流電機。電動車的音頻發(fā)聲裝置采用喇叭。聲音接收器采用麥克接收聲音,進行放大后送入單片機處理,進而計算出電動車與指定位置的距離,再通過無線模塊把誤差信號發(fā)送給電動車,引導電動車到達指定位置。其中,主要研究內(nèi)容為:聲音處理,單片機驅動電機,無線傳輸?shù)取?/p>
聲音導引電動車系統(tǒng)有一個電動車S,3個聲音接收器A、B和C,聲音接收器之間可以有線連接。聲音接收器能利用S和接收器之間的不同距離,產(chǎn)生一個S離Ox線(或Oy線)的誤差信號,并用無線方式將此誤差信號傳輸至S,引導其運動。
根據(jù)題目要求,設計任務主要完成電動車發(fā)聲裝置發(fā)送音頻信號,聲音接收器接收音頻信號,利用電動車和接收器之間的不同距離,產(chǎn)生一個電動車離指定點的誤差信號,并用無線方式將此誤差信號傳輸至可電動車處理器,引導其運動。為完成相應功能,本系統(tǒng)可以劃分為:電動車如圖1所示、聲音接收器如圖2所示。電動車是由控制系統(tǒng)模塊、電機模塊及其電機驅動模塊、聲音發(fā)送模塊、無線接收模塊和電源組成。聲音接收器是由音頻接收模塊、控制系統(tǒng)模塊、無線發(fā)送模塊和電源組成。
圖1 電動車框圖Fig.1 Electric car diagram
圖2 聲音接收器框圖Fig.2 Sound receiver diagram
通過單片機和NEC控制板控制電動車。使用L298雙通道直流電機集成驅動電路,驅動小車的兩個直流電機。電動車發(fā)聲裝置的音頻發(fā)聲裝置采用喇叭。聲音接收器采用麥克接收聲音,進行放大后送入單片機處理,進而計算出電動車與指定位置的距離,再通過無線模塊把誤差信號發(fā)送給電動車處理器,引導電動車到達指定位置。
ATmega16 AVR內(nèi)核具有豐富的指令集和32個通用工作寄存器。所有的寄存器都直接與算邏單元(ALU)相連接,使得一條指令可以在一個時鐘周期內(nèi)同時訪問兩個獨立的寄存器。這種結構大大提高了代碼效率,并且具有比普通的CISC微控制器最高至10倍的數(shù)據(jù)吞吐率。
本芯片是以Atmel高密度非易失性存儲器技術生產(chǎn)的。片內(nèi)ISP Flash允許程序存儲器通過ISP串行接口,或者通用編程器進行編程,也可以通過運行于AVR內(nèi)核之中的引導程序進行編程。引導程序可以使用任意接口將應用程序下載到應用Flash存儲區(qū)(ApplicationFlash Memory)。在更新應用Flash存儲區(qū)時引導Flash區(qū) (Boot Flash Memory)的程序繼續(xù)運行,實現(xiàn)了RWW操作。通過將8位RISC CPU與系統(tǒng)內(nèi)可編程的Flash集成在一個芯片內(nèi),ATmega16成為一個功能強大的單片機,為許多嵌入式控制應用提供了靈活而低成本的解決方案。ATmega16具有一整套的編程與系統(tǒng)開發(fā)工具,包括:C語言編譯器、宏匯編、程序調(diào)試器/軟件仿真器、仿真器及評估板。
單片機與其他微處理器一樣,在啟動時都需要復位,使CPU及系統(tǒng)各部件處于正確的初始狀態(tài),并從初始狀態(tài)開始工作。單片機的復位信號是從RST引腳輸入到芯片內(nèi)的施密特觸發(fā)器中的。當系統(tǒng)處于正常工作狀態(tài)時,且振蕩器穩(wěn)定后,如RST引腳上一個高電平并維持2個機器周期,則CPU就可以響應并將系統(tǒng)復位。復位是單片機的初始化操作,其主要功能是把PC初始化為0000H,使單片機從0000H單元開始執(zhí)行程序。除了進入系統(tǒng)的正常初始化之外,當由于程序運行出錯或操作錯誤使系統(tǒng)處于死鎖狀態(tài)時,為擺脫困境,也需按復位鍵重新啟動。
復位操作由上電自動復位和按鍵手動復位兩種方式。上電自動復位是在加電瞬間電容通過充電來實現(xiàn)的。在通電瞬間,電容C通過電阻R充電,RST端出現(xiàn)正脈沖,用以復位。只要電源的上升時間不超過1 ms,就可以實現(xiàn)自動上電復位,即接通電源就完成了系統(tǒng)的復位初始化。
電動車車體采用市售玩具坦克,其特點為穩(wěn)定性高,比較容易實現(xiàn)精確轉向控制。使用車載電池為車直流電機供電同時經(jīng)過LM7805穩(wěn)壓后為單片機系統(tǒng)供電。地面接收端為3個音頻接收器,需要對信號進行放大濾波和比較,考慮到濾波可靠性,使用雙電源供電,聲源接受端使用微機電源產(chǎn)生的正負9 V供電,上位機系統(tǒng)采用9 V直流電源經(jīng)過7805穩(wěn)壓后供電。
由于無線模塊使用的電源電壓是3.3 V,所以使用1117-3.3進行降壓,把電壓降到3.3 V,如果電壓超過3.6 V時芯片燒壞。
由于小車有兩個電機,同時驅動電機需要較大的電流,用單片機無法直接驅動,因此需要用專門的電機驅動芯片。L298N[1]是SGS公司的產(chǎn)品,內(nèi)部包含4通道邏輯驅動電路,是一種二相和四相電機的專用驅動器,即內(nèi)含二個H橋的高電壓大電流雙全橋式驅動器,接收標準TTL邏輯電平信號,可驅動46 V、2 A以下的電機。本設計采用L298N作為電機驅動芯片。L298 可驅動兩個電機,OUTl、OUT2 和 OUT3、OUT4 之間分別接兩個電動機。5、7、10、12腳接輸入控制電平,控制電機的正反轉,ENA,ENB接控制使能端,控制電機的停轉。
由單片機的P1口控制電機驅動芯片L298,P1.2、P1.3分別連接L298的5腳和7腳,以控制電機1的轉向;P1.4、P1.5分別接L298的10腳和12腳,以控制電機2的轉向;P1.6、P1.7分別接L298的6腳和11腳,分別控制兩個電機的轉動和停止。L298的2、3輸出端接小汽車的一個電機,13、14兩個輸出端接小汽車的另一個電機。1、15兩腳接地。用由于電機在正常工作時對電源的干擾很大,只用一組電源時會影響單片機的正常工作。所以選用雙電源供電。一組5 V電源給單片機和控制電路供電,另外一組 5 V、9 V電源給L298N的+VSS、+VS 供電。
P1口狀態(tài)與小汽車行駛狀態(tài)對應關系如表1所示。
表1 P1口狀態(tài)與小汽車行駛狀態(tài)表Tab.1 State and the car driving P1 mouth status table
單片機發(fā)送的信號經(jīng)過放大后給喇叭。喇叭發(fā)音的優(yōu)點是范圍廣,但是聲音響度不夠,因此在信號從單片機出來后經(jīng)過LM386音頻放大電路放大,這樣在遠距離的聲音接收器就能接收到理想的音頻信號。為了讓喇叭發(fā)出多分段的聲音,語音芯片采用采用ISD4004語音芯片。
ISD4004[1]語音芯片構成語音錄放電路,進行真人錄音,并在小車行駛過程中根據(jù)題目要求的任務進行適時地語音提示;根據(jù)程序設計,在啟動,轉向等時間根據(jù)聲音在存儲地址進行調(diào)用并同步播放。
采用駐極體式麥克風作為音頻信號接收傳感器,其特點是耐用,靈敏度較高,在測試中完全可以達到要求,并且價格低。麥克接收到聲源發(fā)出的音頻信息后通過三極管和LM386放大,信號被送入單片機處理。LM386是一種音頻集成功放,具有功耗低、電壓增益可調(diào)整、電源電壓范圍大、外接元件少和總諧波失真小的特點。在電源與地之間接入電容濾出干擾波。麥克接收音頻信號送給三極管放大,經(jīng)電容耦合送給LM386,再通過LM386放大,信號放大倍數(shù)可達到2 000倍左右。放大后的信號電壓可達到幾伏[2]。
LM386聲音放大電路如圖3所示。
圖3 LM386聲音放大電路Fig.3 LM386 sound amplifying circuit
此芯片用于兩相四線步進電機和用于直流電機。
MMC-1[3]為多通道兩相四線式步進電機/直流電機控制芯片,基于NEC電子16位通用MCU固化專用程序實現(xiàn)。通過UART或SPI串行接口,為主控MCU擴展專用電機控制功能,可同時控制3路步進電機或直流電機。
MMC-1內(nèi)部共有13個寄存器,用于設定,控制3通道電機工作。寄存器地址00H~0CH,低4位有效,每個寄存器固定長度8位。通過串行接口訪問。復位后所有寄存器內(nèi)容為00H。
電機控制功能:
MMC-1共有3個通道電機控制單元,通過設置寄存器可分別設置工作模式,實現(xiàn)不同功能。步進電機工作模式和直流電機工作模式
直流電機控制功能:
每一路直流電機需要CHnDCPWM和CHnDCDIR兩個引腳(n=1~3),CHnDCPWM 用于 PWM 輸出,CHnDCDIR 用于指定電機轉向,外接一個全橋驅動芯片就可以控制直流電機工作。輸出頻率固定16 kHz,通過調(diào)節(jié)占空比控制電機轉速。
直流電機功能說明:開始/停止運行和正向/反向運行。
過電流檢測功能,每一通道都對應一路電流檢測引腳CHnSEN(n=1~3),當該引腳的電平超過額定電平(Vdd/8)對應的通道的輸出立即停止。
直流電機啟動MMC-1順序:
1)MMC-1 上電,RESET=“H”,SLEEP=“H”。
2)主控 MCU延時 50 μs,等待 MMC-1初始化結束。
3)設置 ChnDuty 寄存器(n=1~3),確定此通道電機運行速度。
4)設置 ChnMode 寄存器(n=1~3),確定此通道電機運行模式,同時啟動電機運行。
使用ASSP芯片驅動電機控制,通過加入三極管同時控制兩個電機。經(jīng)過測試發(fā)現(xiàn)正反轉時,脈沖調(diào)試之后示波器顯示的占空比是相反的。
ASSP芯片引腳圖如圖4所示。
圖4 ASSP芯片引腳圖Fig.4 ASSP chip pins figure
ASSP芯片使用原理圖如圖5所示。
圖5 ASSP芯片使用原理圖Fig.5 Using principle diagram of ASSP chip
為了降低系統(tǒng)綜合造價,首先必須在系統(tǒng)硬件方面著手,根據(jù)應用特性,針對現(xiàn)有的集成芯片。因此此科目的無線通信數(shù)據(jù)傳輸模塊采用NRF905。nRF905單片無線收發(fā)器,可以自動完成處理字頭和CRC(循環(huán)冗余碼校驗)的工作,可由片內(nèi)硬件自動完成曼徹斯特編碼/解碼,使用SPI接口與微控制器通信,配置非常方便,其功耗非常低。使用nRF905的微功率無線傳輸模塊,nRF905微功率無線傳輸模塊提供標準RS-232、485,UART/TTL電平3種接口方式,可直接與計算機、單片機或其它UART器件直接連接使用。通過SPI接口對nRF905進行配置,該接口包括5個寄存器,它們都是通過SPI指令進行工作的。
無線芯片使用原理圖如圖6所示[4]。
圖6 無線芯片使用原理圖Fig.6 Using principle diagram of wireless chip
此芯片的電壓范圍為1.9~3.6 V之間,筆者選用了3.3 V但它的接口與單片機的P0口連接時候,需要加10 kΩ的上拉電阻。
采用8節(jié)1.2 V可充電式Ni-Cd電池串聯(lián)共9.6 V作為電源[5]供電,經(jīng)過LM2940CT降壓后給直流電機和單片機系統(tǒng)供電,然后將5 V電壓再次降壓、穩(wěn)壓后給無線收發(fā)模塊供電。Ni-Cd電池的電量比較足,并且可以充電,重復利用,因此,這種方案比較可行。并且車上預留的空間剛好可以裝上電池。
調(diào)試包括硬件調(diào)試和整體聯(lián)調(diào)。由于硬件和軟件的設計是相對獨立進行的,并且軟件的設計要依據(jù)硬件連接圖,因此軟件調(diào)試是在硬件完成之前。而硬件的設計需要根據(jù)硬件連接圖進行焊接,并需要在焊接結束后測試硬件的各項指標是否符合設計要求。硬件焊接無誤后,把程序寫進單片機,進行軟、硬件的聯(lián)合調(diào)試。在調(diào)試中找出缺陷,判斷故障源,對硬、軟件做出修改,反復進行這一過程,直至確信沒有錯誤之后將焊接板與小汽車連接,進行總體調(diào)試,并在調(diào)試過程中找出缺陷,對軟件或者硬件進行進一步的修改,直至達到預期設計目的。
為了確定系統(tǒng)與題目要求的符合程度,筆者對系統(tǒng)中的關鍵部分進行了實際的測試[6]。
在自制的實驗臺上,通過在Ox線右側的多個位置作為起始點,進行了測試??梢苿勇曉窗l(fā)出聲音后開始運動,到達Ox線并停止,這段運動時間為響應時間,通過測量響應時間,用下列公式計算出響應的平均速度。
電動車的起始位置到Ox線的垂直距離6.2指標測試可移動聲源停止后的位置與Ox線之間的距離為定位誤差,用米尺測量。
可移動聲源在運動過程中任意時刻超過Ox線左側的距離,用米尺測量。
平均速度測量如表2所示。
表2 平均速度測量Tab.2 Average velocity measurement
定位誤差與過線距離測量如表3所示。
表3 定位誤差與過線距離測量Tab.3 Positioning error and line distance measurement
電機驅動電路直接用穩(wěn)壓可調(diào)直流電源供電,用外加信號觸發(fā),觀看電機轉速以及測量電機兩端的電壓。電機狀態(tài)如表4所示。
表4 電機工作狀態(tài)表Tab.4 Motor work status table
兩個無線模塊在不同距離間通信。狀態(tài)如表5所示。
供電電壓為7.2 V,移動聲源全速前進電流為600 mA。
表5 通信測試表Tab.5 Correspondence test table
經(jīng)過多次數(shù)據(jù)測試,通過對測試數(shù)據(jù)的分析,聲音引導系統(tǒng)能夠完成設計的基本要求,性能指標及實現(xiàn)功能如下:
1)以小車、壓電式蜂鳴器為基本模塊的可移動的聲源。
2)可移動聲源發(fā)出聲音后開始運動,到達Ox線并停止,平均速度為6.3 cm/s。
3)可移動聲源停止后的位置與Ox線之間的距離為定位誤差,定位誤差平局值為1.5 cm。
4)可移動聲源在運動過程中任意時刻超過Ox線左側的最大距離為3 cm。
5)可移動聲源到達Ox線后,小車上的LED燈亮、聲音鳴響。
6)功耗低,性價比高。
語音識別技術是目前新興技術之一,由于它制作成本比較低,使用方便,因此被廣泛應用于各種領域。為了能使語音識別技術走進日常生活,能和日常應用結合起來,更好地為人們服務。
本系統(tǒng)以ATMEGA16為核心部件,通過接收音頻信號,利用可移動聲源和接收器之間的不同距離,產(chǎn)生一個可移動聲源離指定點的誤差信號,并用無線方式將此誤差信號傳輸至可移動聲源的技術并配合相應的軟件算法實現(xiàn)了聲音引導系統(tǒng),并完成了基本要求的各項任務。在系統(tǒng)設計過程中,力求硬件線路簡單,功耗低,有效利用現(xiàn)有資源,并充分發(fā)揮軟件編程方便靈活的特點,來滿足系統(tǒng)的設計要求。
[1]CUI Shu-mei,ZHANG Wei.Research of control method on FAW hybrid electric car's motor system[C]//Proceedings of the 23rd Chinese Control Conference, 2005:1557-1560.
[2]徐愛鈞,彭秀華.Keil Cx51 V7.0單片機高級語言編程與μVision2應用實踐[M].北京:電子工業(yè)出版社,2004.
[3]DENG Tao,SHEN Hui.Design and evaluation of highperformance solarelectric car[C]//15th International PhotovoltaicScienceandEngineeringConference,2005:68-69.
[4]張偉,王力.Protel 99SE基礎教程[M].北京:人民郵電出版社,2006.
[5]李朝青.單片機原理及接口技術[M].北京:北京航空航天大學出版社,2005.
[6]王彥,陳文光,朱衛(wèi)華.全國大學生電子設計競賽訓練教程[M].北京:電子工業(yè)出版社,2006.