




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
摘要隨著我國(guó)科學(xué)技術(shù)的進(jìn)步,智能化和自動(dòng)化技術(shù)越來(lái)越普及,各種高科技也廣泛應(yīng)用于智能小車和機(jī)器人玩具制造領(lǐng)域,使智能機(jī)器人越來(lái)越多樣化。智能小車是一個(gè)多種高薪技術(shù)的集成體,它融合了機(jī)械、電子、傳感器、計(jì)算機(jī)硬件、軟件、人工智能等許多學(xué)科的知識(shí),可以涉及到當(dāng)今許多前沿領(lǐng)域的技術(shù)。本系統(tǒng)采用2片AVRAtmega128單片機(jī)作為智能小車的檢測(cè)和控制核心。一片用在在小車上,負(fù)責(zé)控制循跡、無(wú)線和電機(jī)驅(qū)動(dòng)功能;一片在控制端上,負(fù)責(zé)控制語(yǔ)音播報(bào)、無(wú)線發(fā)送、液晶顯示和按鍵功能。通過(guò)控制端的液晶顯示和按鍵輸入設(shè)定模式信息,再通過(guò)無(wú)線發(fā)送給車載控制器,車載控制器根據(jù)接收到的不同無(wú)線信息,控制小車進(jìn)入不同的模式,實(shí)現(xiàn)不同的功能。本系統(tǒng)中的無(wú)線傳輸距離,空曠地為100米左右,室內(nèi)可以隔著一層樓,接收端能收到發(fā)射端發(fā)射的無(wú)線信號(hào)。關(guān)鍵詞:?jiǎn)纹瑱C(jī),傳感器,智能小車AbstractAlongwiththedevelopmentofscienceandtechnology,intelligentandautomationtechnologyismoreandmorepopular,allkindsofhi-techalsowidelyusedinintelligentrobottoycarandmanufacturingfield,makeintelligentrobotmoreandmorediverse.Intelligentcarisavarietyofhigh-payingtechnologyintegrationbody,itincorporatesmechanical,electronic,sensors,computerhardware,software,artificialintelligenceandmanyothersubjectknowledge,caninvolvesmanyoftoday'scurrentareasoftechnology.ThesystemUSES2slicesofAVRAtmega128single-chipprocessorasintelligentcardetectionandcontrolcore.Ausedinonthecar,isresponsibleforthecontrolfollowtrace,obstacleavoidance,wirelessandmotordrivefunction.Ainthecontrol,beresponsibleforcontrollingspeechbroadcast,thewirelessdelivery,liquidcrystaldisplayandkeyboard.Throughthecontrolofliquidcrystaldisplay(LCD)andkeyinputinformationsetmode,againthroughwirelesssenttothecontroller,thecontrolleraccordingtothedifferentwirelessreceivedinformation,controlthecarintoadifferentpattern,therealizationofdifferentfunctions.Thissystemofwirelesstransmissiondistance,aclearingfor100metersorso,intheinterior,youcanfromafloor,thereceivercanalsoreceivethelaunchofthelaunchwirelesssignals.Keywords:single-chipprocessor,sensor,intelligence目錄第1章緒論51.1選題背景和意義51.2智能小車開(kāi)展概況51.2.1國(guó)外智能小車開(kāi)展概況51.2.2國(guó)內(nèi)智能小車開(kāi)展概況61.3研究設(shè)計(jì)的目標(biāo)61.4方案選擇6控制器選擇分析61.4.2電源模塊選擇分析7電機(jī)驅(qū)動(dòng)模塊選擇分析81.4.4循跡模塊選擇分析9無(wú)線模塊選擇分析9語(yǔ)音模塊選擇分析10顯示模塊選擇分析10按鍵模塊選擇分析111.5可行性分析11第2章系統(tǒng)整體設(shè)計(jì)122.1系統(tǒng)結(jié)構(gòu)框圖122.1.1車載控制器局部122.1.2控制端控制器局部13第3章系統(tǒng)硬件設(shè)計(jì)153.1單片機(jī)最小系統(tǒng)153.1.1電源電路153.1.2復(fù)位電路16時(shí)鐘電路163.2電源模塊173.3電機(jī)驅(qū)動(dòng)模塊183.4循跡模塊193.5無(wú)線模塊203.6語(yǔ)音模塊223.7顯示模塊253.10按鍵模塊26第4章系統(tǒng)軟件設(shè)計(jì)274.1主程序設(shè)計(jì)27車載控制器主程序設(shè)計(jì)27控制端控制器主程序設(shè)計(jì)294.2電機(jī)驅(qū)動(dòng)子程序設(shè)計(jì)314.3循跡子程序設(shè)計(jì)334.4語(yǔ)音子程序設(shè)計(jì)36錄音子程序設(shè)計(jì)37放音子程序設(shè)計(jì)394.5無(wú)線程序設(shè)計(jì)404.5.1無(wú)線發(fā)送子程序設(shè)計(jì)404.5.2無(wú)線接收子程序設(shè)計(jì)424.6顯示子程序設(shè)計(jì)434.7按鍵子程序設(shè)計(jì)44第5章系統(tǒng)調(diào)試475.1硬件調(diào)試475.2軟件調(diào)試49結(jié)論50致謝51參考文獻(xiàn)52附錄一54附錄二55第1章緒論選題背景和意義自第一臺(tái)工業(yè)機(jī)器人誕生以來(lái),機(jī)器人的民展已經(jīng)普及機(jī)械、電子、冶金、交通、宇航、國(guó)防等領(lǐng)域。近年來(lái)機(jī)器人的智能水平不斷提高,并且迅速地改變著人們的生活方式。人們?cè)诓粩嗵接?、改造、認(rèn)識(shí)自然的過(guò)程中,制造能替代人工作的機(jī)器一直是人類的夢(mèng)想。其中智能小車可以作為機(jī)器人的典型代表。其需要實(shí)現(xiàn)自動(dòng)導(dǎo)引功能和避障功能就必須要感知導(dǎo)引線和障礙物,實(shí)現(xiàn)自動(dòng)識(shí)別路線,選擇正確的行進(jìn)路線,使用傳感器感知路線并作出判斷和相應(yīng)的執(zhí)行動(dòng)作。智能小車設(shè)計(jì)與開(kāi)發(fā)涉及控制、模式識(shí)別、傳感技術(shù)、汽車電子、電氣、計(jì)算機(jī)、機(jī)械等多個(gè)學(xué)科。它可以分為三大局部:傳感器檢測(cè)局部,執(zhí)行局部,CPU?,F(xiàn)智能小車開(kāi)展很快,從智能玩具到各行業(yè)都有實(shí)質(zhì)成果,其根本可實(shí)現(xiàn)循跡、避障、檢測(cè)貼片,尋光入庫(kù)、避崖等根本功能,有向聲控系統(tǒng)開(kāi)展的趨勢(shì)。智能小車開(kāi)展概況1.2.1國(guó)外智能小車開(kāi)展概況國(guó)外的智能小車開(kāi)展的也很火,這其中要數(shù)韓國(guó)的智能小車開(kāi)展最為迅速。韓國(guó)漢陽(yáng)大學(xué)汽車控制實(shí)驗(yàn)室在飛思卡爾半導(dǎo)體公司資助下,以HCS12飛思卡爾單片機(jī)為核心構(gòu)造的智能小車系統(tǒng)。該智能小車系統(tǒng)主要功能為尋跡。利用紅外、電磁、CCD攝像頭等設(shè)備進(jìn)行,這其中有數(shù)CCD攝像頭最為常見(jiàn),行駛速度快,過(guò)彎靈敏,控制算法上大多采用PID算法進(jìn)行閉環(huán)控制。1.2.2國(guó)內(nèi)智能小車開(kāi)展概況國(guó)內(nèi)智能小車系統(tǒng)做的比擬成熟的有北京博創(chuàng)科技。隨著全世界范圍內(nèi)汽車炸彈襲擊事件的不斷增多,因此平安檢查部門對(duì)重大活動(dòng)的汽車檢查也逐步升級(jí),由過(guò)去僅檢查車內(nèi)和車箱,升級(jí)為對(duì)包括車底的全方位檢查。在全國(guó)兩會(huì)安保工作中采用了北京博創(chuàng)科技的UP_UVSR智能小車機(jī)器人。UP_UVSR既是一款針對(duì)車底檢查任務(wù)研發(fā)的機(jī)器人系統(tǒng),該產(chǎn)品體積小、重量輕,便于攜帶,作業(yè)效率高;可以駛?cè)胲嚨走M(jìn)行檢查,也可以固定安裝與車輛通道口對(duì)過(guò)往車輛進(jìn)行檢查。1.3研究設(shè)計(jì)的目標(biāo)設(shè)計(jì)一個(gè)多功能智能小車系統(tǒng)。通過(guò)控制端的單片機(jī)檢測(cè)按鍵的輸入,根據(jù)輸入的不同模式,控制無(wú)線模塊發(fā)送不同的命令,小車上的車載控制器接收到無(wú)線信號(hào),然后判斷接收到的無(wú)線信號(hào),來(lái)控制小車進(jìn)入不同的模式,控制端的單片機(jī)通過(guò)LCD和語(yǔ)音模塊進(jìn)行參數(shù)信息的顯示和播報(bào)。1.4方案選擇控制器選擇分析控制器主要用于各個(gè)傳感器信號(hào)的接收和識(shí)別、控制小車的電機(jī)的動(dòng)作,是整個(gè)智能車系統(tǒng)的心臟,考慮到需要實(shí)現(xiàn)多個(gè)功能的要求及各個(gè)模塊引腳的數(shù)目,列出以下方案,對(duì)其分析、論證、選擇。方案一:采用ATMEL公司的AT89S52。AT89S52單片機(jī)支持在線編程,易于操作,價(jià)格廉價(jià),技術(shù)成熟,應(yīng)用廣泛,但是功能單一,如果系統(tǒng)電機(jī)驅(qū)動(dòng)需要增加硬件,軟件實(shí)現(xiàn)較為復(fù)雜;另外AT89S52單片機(jī)引腳數(shù)較少,達(dá)不到各個(gè)模塊端口的要求。方案二:采用ATMEL公司的ATmega128。ATmega128是一款基于AVR內(nèi)核,采用RISC結(jié)構(gòu),高性能,低功耗CMOS的8位單片機(jī)。32個(gè)通用工作存放器,53個(gè)通用I/O口,實(shí)時(shí)時(shí)鐘計(jì)數(shù)器〔RTC〕,4個(gè)帶有比擬模式靈活的定時(shí)器/計(jì)數(shù)器,2個(gè)可編程的USART接口,1個(gè)8位面向字節(jié)的TWI(IIC)總線接口,8通道單端或差分輸入的10位ADC〔其中一個(gè)差分通道為增益可調(diào)的〕,可編程帶內(nèi)部振蕩器的看門狗定時(shí)器,一個(gè)SPI接口,一個(gè)兼容IEEE1149.1標(biāo)準(zhǔn)的JTAG接口〔用于在線仿真調(diào)試和程序下載〕,6種可通過(guò)軟件選擇的節(jié)電模式。兩個(gè)具有預(yù)分頻器、比擬功能和捕捉功能的16位定時(shí)器/計(jì)數(shù)器。兩路8位PWM。6路分辨率可編程〔2到16位〕的PWM。方案三:采用更加高端的處理器S3C2410。S3C2410是一款A(yù)RM內(nèi)核的處理器,雖然具備了AVR的資源,但是根據(jù)本設(shè)計(jì)的實(shí)際情況,本錢比擬高,編程難度較大。綜合以上三種方案,考慮到系統(tǒng)的可行性,及功耗,性能,硬軟件的本錢,我選擇方案二。電源模塊選擇分析方案一:采用傳統(tǒng)的7805三端穩(wěn)壓電路,小車鋰電池(7.4V)經(jīng)過(guò)7805穩(wěn)壓后供應(yīng)小車電機(jī)驅(qū)動(dòng)電路和單片機(jī)、各傳感器用電。由于小車電機(jī)啟動(dòng)瞬間需要消耗大量電流,長(zhǎng)時(shí)間行使后,7805芯片會(huì)有明顯的發(fā)燙現(xiàn)象,而且效率也很低,電池充滿一次電后,小車行駛沒(méi)多久,就得再次充電。方案二:采用LM2596開(kāi)關(guān)型穩(wěn)壓芯片,配合電感和電容,一起搭配構(gòu)成整體的電源電路。效率更高,性能也更加穩(wěn)定。綜合以上兩種方案,考慮到系統(tǒng)的性能和穩(wěn)定性方面,選擇方案二。1.4.3電機(jī)驅(qū)動(dòng)模塊選擇分析電機(jī)的驅(qū)動(dòng)電路主要通過(guò)電機(jī)的正轉(zhuǎn)和反轉(zhuǎn)實(shí)現(xiàn)小車的前后或者左右方向的行駛。對(duì)于電機(jī)驅(qū)動(dòng)模塊有下面的幾種方案。方案一:使用功率三極管作為功率放大器的輸出控制直流電機(jī)。線性型驅(qū)動(dòng)的電路結(jié)構(gòu)和原理簡(jiǎn)單,本錢低,加速能力強(qiáng),但功率損耗大,特別是低速大轉(zhuǎn)距運(yùn)行時(shí),通過(guò)電阻R的電流大,發(fā)熱厲害,損耗大,對(duì)于小車的長(zhǎng)時(shí)間運(yùn)行不利。方案二:采用繼電器對(duì)電機(jī)的開(kāi)或關(guān)進(jìn)行控制,通過(guò)開(kāi)關(guān)的切換對(duì)小車的速度進(jìn)行調(diào)整。此方案的優(yōu)點(diǎn)是電路較為簡(jiǎn)單,缺點(diǎn)是繼電器的響應(yīng)時(shí)間慢,易損壞,壽命較短,可靠性不高。方案三:采用專用電機(jī)驅(qū)動(dòng)芯片L298N,實(shí)現(xiàn)框圖如圖1-1所示。該芯片集成度高,占用空間小,主要應(yīng)用于電機(jī)調(diào)速場(chǎng)合。L298N是恒壓恒流雙H橋集成電機(jī)芯片,可同時(shí)控制兩個(gè)電機(jī),且輸出電流可到達(dá)2A。L298N的數(shù)據(jù)口分別與單片機(jī)的I/O口相連,作為調(diào)制信號(hào)。這樣精度高并且穩(wěn)定,可行性好,而且通過(guò)編程能實(shí)現(xiàn)人機(jī)別離,利于調(diào)試。綜合以上三種方案,考慮到AVR單片機(jī)自帶有PWM功能,能實(shí)現(xiàn)直流減速電機(jī)精準(zhǔn)控制,選擇方案三。1.4.4循跡模塊選擇分析循跡模塊確保了小車在黑色邊界線的區(qū)域內(nèi)行駛??紤]到邊界線是黑色的,可以考慮利用傳感器識(shí)別賽車場(chǎng)地黑白兩種不同狀態(tài)。對(duì)傳感器的選擇有以下方案。方案一:采用熱探測(cè)器。熱探測(cè)器是利用所接收到的紅外輻射后,會(huì)引起溫度的變化,溫度的變化引起電信號(hào)不同的輸出,且輸出的電信號(hào)與溫度的變化成比例,當(dāng)紅外線被黑色線吸收時(shí),溫度會(huì)降低,電壓變低,而紅外線沒(méi)有被吸收時(shí),電壓不變,單片機(jī)可以根據(jù)電壓的變化來(lái)判斷小車顯示的情況。由于溫度受環(huán)境的影響很大,當(dāng)溫度變高時(shí),即使黑色線吸收了紅外線,但是也會(huì)有很高的電壓,導(dǎo)致單片機(jī)判斷出錯(cuò)。方案二:采用紅外對(duì)射管。紅外發(fā)射接收管測(cè)量距離近,但反響靈敏、準(zhǔn)確。由于測(cè)量的高度離場(chǎng)地僅1cm,距離很近,符合其特點(diǎn)。相比熱探測(cè)器而言,其體積較小,價(jià)格低,安裝較容易。綜合以上兩種方案,考慮到系統(tǒng)的穩(wěn)定性和安裝的簡(jiǎn)便性,選擇方案二。1.4.5無(wú)線模塊選擇分析無(wú)線模塊是用來(lái)進(jìn)行控制端和小車之間的通信,控制小車進(jìn)入不同的功能模式。方案一:采用目前流行的WiFi無(wú)線模式。WiFi覆蓋面廣,傳輸里遠(yuǎn),但是其硬件開(kāi)銷本錢太高,需要很深厚的理論知識(shí)根底。短時(shí)間內(nèi)實(shí)現(xiàn)有一定的難度。方案二:采用TI的CC1101無(wú)線傳輸方案。有效傳輸距離為100米,工作頻率為387~464MHZ。主從一體,既可以作為發(fā)送端,也可以作為接收端,軟件控制靈活、簡(jiǎn)單。此模塊高靈敏度〔1.2kbps下-110dDm,0.1%數(shù)據(jù)包誤碼率〕、內(nèi)置硬件CRC檢錯(cuò)和點(diǎn)對(duì)多點(diǎn)通信地址控制、較低的電流消耗〔RX中,15.6mA,2.4kbps,433MHz、可編程控制的輸出功率,最大輸出功率+10dBm、無(wú)線喚醒功能,支持低功率電磁波激活功能,無(wú)線喚醒低功耗睡眠狀態(tài)的設(shè)備等優(yōu)點(diǎn)。綜合以上兩種方案,考慮到系統(tǒng)開(kāi)發(fā)本錢和開(kāi)發(fā)時(shí)間,選擇方案二。1.4.6語(yǔ)音模塊選擇分析語(yǔ)音模塊是用來(lái)進(jìn)行在小車進(jìn)入不同的功能模式和小車轉(zhuǎn)向時(shí),進(jìn)行語(yǔ)音播報(bào),使整個(gè)系統(tǒng)更加人性化些。方案一:采用555定時(shí)器,發(fā)出特定頻率的聲波。缺點(diǎn):只能發(fā)出一定頻率的波,難以發(fā)出人類的聲音。方案二:采用ISD1760專業(yè)語(yǔ)音錄放芯片。ISD1760可錄、放音十萬(wàn)次,存儲(chǔ)內(nèi)容可以斷電保存一百年。兩種錄放模式:獨(dú)立按鍵錄放模式和SPI總線操作錄放模式??商幚矶噙_(dá)255段信息。錄音數(shù)據(jù)存儲(chǔ)在芯片的FLASH內(nèi),沒(méi)有經(jīng)過(guò)任何壓縮,所以有較好的音質(zhì)和斷電存儲(chǔ)。多種采樣頻率對(duì)應(yīng)多種錄放時(shí)間。。靜態(tài)電流:0.5-1μA。工作電流:20mA綜合以上兩種方案,考慮到系統(tǒng)的功能要求和控制的靈活性,選擇方案二。1.4.7顯示模塊選擇分析方案一:采用LCD1602液晶進(jìn)行小車參數(shù)的信息顯示。1602為2行16列式的液晶,可以顯示一些數(shù)字和英文字母以及一些簡(jiǎn)單的圖案,但是1602內(nèi)部無(wú)字庫(kù),要想顯示漢字就得自己編寫漢字碼了,軟件開(kāi)發(fā)繁瑣。方案二:采用LCD12864字符式液晶。由于12864液晶內(nèi)部帶字庫(kù),且能夠顯示的信息也足夠多,LCD1284和LCD1602二者在時(shí)序控制上差異不大,軟件一直很容易。綜合以上兩種方案,考慮到系統(tǒng)的要求,選擇方案二。1.4.8按鍵模塊選擇分析方案一:采用4*4矩陣鍵盤,共計(jì)需要16個(gè)獨(dú)立按鍵,占用單片機(jī)8個(gè)IO端口。方案二:采用獨(dú)立的按鍵,結(jié)合本系統(tǒng),只需要6個(gè)獨(dú)立按鍵即可滿足要求,單片機(jī)只要檢測(cè)對(duì)應(yīng)的引腳電平幾個(gè)判斷那一按鍵被按下。綜合以上兩種方案,考慮到硬件的開(kāi)發(fā)本錢和軟件程序上的簡(jiǎn)便性,選擇方案二。1.5可行性分析采用ATmega128A單片機(jī)作為控制核心,其標(biāo)準(zhǔn)工作頻率為8MHz,可以為本系統(tǒng)提供高速的計(jì)算能力和實(shí)時(shí)控制能力。學(xué)校的硬件根底實(shí)驗(yàn)室可以提供焊接和調(diào)試場(chǎng)地,調(diào)試設(shè)備只需要電烙鐵、萬(wàn)用表、示波器等常用設(shè)備即可。對(duì)大學(xué)開(kāi)設(shè)的《C語(yǔ)言編程》、《單片機(jī)技術(shù)》、《模擬電子技術(shù)》、《Protel應(yīng)用技術(shù)》等相關(guān)課程的學(xué)習(xí),可以為該系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)提供理論知識(shí)。第2章系統(tǒng)整體設(shè)計(jì)2.1系統(tǒng)結(jié)構(gòu)框圖本系統(tǒng)主要分為兩個(gè)大模塊,車載控制器模塊和控制端的控制器模塊。車載控制器局部車載控制器模塊如圖2-1所示。車車載控制器電機(jī)驅(qū)動(dòng)電機(jī)驅(qū)動(dòng)模塊避障避障模塊電源電源模塊無(wú)線無(wú)線模塊圖2-1車載控制器模塊結(jié)構(gòu)框圖從圖2-1中可以看出,車載局部的控制器模塊主要包括電源模塊、電機(jī)驅(qū)動(dòng)模塊、循跡模塊、避障模塊、無(wú)線模塊。各個(gè)模塊的功能介紹如下。1.電源模塊:采用7.4V的鋰電池,經(jīng)過(guò)降壓電路,降到5V后供應(yīng)整個(gè)系統(tǒng)。2.電機(jī)驅(qū)動(dòng)模塊:使用兩片L298N驅(qū)動(dòng)小車的電機(jī)。利用單片機(jī)的PWM功能,控制驅(qū)動(dòng)芯片,驅(qū)動(dòng)芯片再控制電機(jī),實(shí)現(xiàn)小車的行駛轉(zhuǎn)向功能。3.循跡模塊:采用7對(duì)紅外對(duì)射管作為單片機(jī)輸入,來(lái)檢測(cè)黑色循跡線路。4.無(wú)線模塊:車載控制器控制無(wú)線模塊,接收控制端的無(wú)線信號(hào),然后根據(jù)所接收到的無(wú)線信號(hào),車載控制器控制小車執(zhí)行不同的功能。2.1.2控制端控制器局部車載控制器模塊如圖2-2所示??乜刂贫丝刂破黠@示模塊無(wú)線模塊語(yǔ)音模塊電源模塊按鍵模塊圖2-2控制端控制器結(jié)構(gòu)框圖從圖2-2中可以看出,車載控制器主要包括電源模塊、無(wú)線模塊、顯示模塊、按鍵模塊、語(yǔ)音模塊。各個(gè)模塊的功能如下。1.電源模塊利用4節(jié)5號(hào)干電池經(jīng)過(guò)7805穩(wěn)壓到5V后供應(yīng)控制端的系統(tǒng)使用。2.語(yǔ)音模塊:使用ISD1760芯片存儲(chǔ)聲音信息,外接揚(yáng)聲器,當(dāng)按鍵設(shè)定小車進(jìn)入不同的功能模式時(shí),實(shí)現(xiàn)聲音播報(bào)功能。3.按鍵電路:共使用6個(gè)獨(dú)立按鍵,4個(gè)方向鍵,一個(gè)菜單鍵,一個(gè)確定鍵,負(fù)責(zé)設(shè)定小車進(jìn)入不同的功能模式。4:顯示模塊:使用LCD12864,當(dāng)按鍵設(shè)定小車的功能模式時(shí),以文字的形式顯示模式設(shè)定。在進(jìn)入無(wú)線模式時(shí),負(fù)責(zé)顯示小車的操縱方向。第3章系統(tǒng)硬件設(shè)計(jì)本章從硬件系統(tǒng)上設(shè)計(jì)單片機(jī)最小系統(tǒng)模塊、電源模塊、電機(jī)驅(qū)動(dòng)模塊、循跡模塊、無(wú)線模塊、語(yǔ)音模塊、顯示模塊、按鍵模塊。3.1單片機(jī)最小系統(tǒng)電源電路電源電路把直流5V輸入給降壓芯片LM117,然后降壓到3.3V后供應(yīng)單片機(jī)和其他3.3V模塊使用。電源電路如圖3-1所示。圖3-1電源電路3.1.2復(fù)位電路單片機(jī)的復(fù)位方式有上電自總復(fù)位和手工復(fù)位兩種。本設(shè)計(jì)中復(fù)位電路采用的是手工復(fù)位電路,如圖3-2所示。圖3-2復(fù)位電路單片機(jī)的REST引腳為主機(jī)提供一個(gè)外部復(fù)位信號(hào)輸入端口。復(fù)位信號(hào)是低電平有效,低電平有效的持續(xù)時(shí)間大于最小脈沖寬度(1.5us)時(shí)即觸發(fā)復(fù)位過(guò)程。復(fù)位后,單片機(jī)內(nèi)各部件都恢復(fù)到初始狀態(tài),單片機(jī)從ROM地址的0000H開(kāi)始執(zhí)行程序。3.1.3時(shí)鐘電路時(shí)鐘電路如圖3-3所示?!部瞻滋幯a(bǔ)上〕圖3-3時(shí)鐘電路單片機(jī)的工作時(shí)間基準(zhǔn)是由時(shí)鐘電路提供的,在單片機(jī)的XTAL1和XTAL2的兩個(gè)引腳間,接入一個(gè)8MHz晶振及兩個(gè)22pF電容即構(gòu)成了單片機(jī)最小系統(tǒng)的時(shí)鐘電路。時(shí)鐘電路中的器件可以從ATmega128的芯片資料上確定,也可以參考一些常見(jiàn)的電路的參數(shù)。3.2電源模塊電源模塊采用的是LM2596開(kāi)關(guān)型穩(wěn)壓芯片。7.4V的鋰電池經(jīng)過(guò)LM2596穩(wěn)壓到5V后供應(yīng)整個(gè)系統(tǒng)。電源模塊電路圖如圖3-4所示。〔空白處補(bǔ)上〕圖3-4電源模塊電路圖鋰電池電壓從J1輸入給LM2596降壓電路,5V從J2輸出,供應(yīng)整個(gè)系統(tǒng)。R2為可調(diào)電阻,可以調(diào)節(jié)輸出電壓。D1為SS34肖特基二極管,具有開(kāi)關(guān)速度快,正向壓降低的特點(diǎn),在電路中配合L1電感,構(gòu)成回路,起到續(xù)流的作用。3.3電機(jī)驅(qū)動(dòng)模塊電機(jī)驅(qū)動(dòng)模塊采用了2片L298N芯片,進(jìn)行對(duì)小車的4個(gè)電機(jī)的控制。其中一片L298N電機(jī)驅(qū)動(dòng)電路圖如圖3-5所示?!部瞻滋幯a(bǔ)上〕圖3-5電機(jī)驅(qū)動(dòng)模塊電路圖圖中QIN1~QIN4為芯片輸入端,接單片機(jī)PD4,PD5,PD6,PD7口,O1~O4為芯片輸出端,接電機(jī)。JDY1和JDJY2為電機(jī)線插座。PWA和PWMB為PWM輸入腳,接車載控制器的PB5(OC1A)和PB6(OC1B)PWM輸出引腳。D2~D9為1N4007二極管,在電路中起到保護(hù)L98N芯片的作用,防止電機(jī)在正反轉(zhuǎn)的瞬間,產(chǎn)生的電動(dòng)勢(shì)擊穿L298N芯片。3.4循跡模塊循跡模塊采用了共計(jì)7對(duì)紅外對(duì)射管,7路循跡接車載控制器的PA0~PA7口。其中一對(duì)紅外對(duì)射管的電路如圖3-6所示?!部瞻滋幯a(bǔ)上〕圖3-6循跡模塊電路圖紅外對(duì)射管為DT2和DR2。LM339N為比擬器,RW1為10K的可調(diào)電阻。當(dāng)DR2接收到DT2發(fā)射的紅外光時(shí)導(dǎo)通,此時(shí)339的反相輸入端為邏輯0,正向輸入端VREF電平高于反相輸入端電平,根據(jù)比擬器的特性,比擬器輸出端為高電平,車載控制器的PA1口也為高電平。當(dāng)DR2未接收到紅外光是截止,此時(shí)339的反相輸入端為高電平且高于正向輸入端VREF的電壓值,比擬器輸出端為低電平,車載控制器的PA1口也為低電平。3.5無(wú)線模塊無(wú)線模塊采用從網(wǎng)上購(gòu)置的CC1101模塊,無(wú)線模塊實(shí)物圖如圖3-7所示。圖3-7無(wú)線模塊實(shí)物圖CC1101工作電壓為1.8V~3.6V,最高不超過(guò)3.8V,本系統(tǒng)無(wú)線模塊工作電壓供應(yīng)的是3.3V。車載控制器通過(guò)IO模擬SPI串行總線的方式和無(wú)線模塊進(jìn)行相連接。無(wú)線模塊和車載控制器的連接圖如圖3-8所示。車載控制器ATmega128A的PB0接CC1101的片選引腳/SS,控制CC1101是否被選通;車載控制器ATmega128A的PB1接CC1101的串行時(shí)鐘輸入腳SCLK,用于同步MOSI和MISO的數(shù)據(jù)傳輸;車載控制器ATmega128A的PB2接CC1101的串行數(shù)據(jù)輸入腳MOSI,CC1101從該引腳讀入發(fā)送/接收命令字;車載控制器ATmega128A的PB3接CC1101的串行數(shù)據(jù)輸出腳MISO,車載控制器從該引腳接收來(lái)自無(wú)線模塊傳來(lái)的信號(hào)。無(wú)SS線SCLK模MISO塊MOSIPB0車PB1載PB2控PB3制器圖3-8無(wú)線模塊和車載控制器的連接圖3.6語(yǔ)音模塊語(yǔ)音模塊是本系統(tǒng)中的重要功能模塊。當(dāng)按鍵設(shè)定小車進(jìn)入不同的功能模式時(shí),語(yǔ)音模塊能夠播報(bào)相應(yīng)的模式信息,防止設(shè)定進(jìn)入錯(cuò)誤的模式。語(yǔ)音模塊實(shí)物圖如圖3-9所示。圖中MIC為錄音輸入麥克,按鍵也可實(shí)現(xiàn)錄音和放音的操作?!部瞻滋幯a(bǔ)上〕獨(dú)立按鍵錄放音外接MIC接口獨(dú)立按鍵錄放音外接MIC接口外接喇叭接口圖3-9語(yǔ)音模塊實(shí)物圖語(yǔ)音模塊和控制端的控制器連接圖如圖3-10所示。ISD1760與ATmega128A接口為SPI串行總線接口,單片機(jī)通過(guò)片選線SS(SS=0時(shí)允許ISD1760工作)、串行數(shù)據(jù)輸入MISO、串行數(shù)據(jù)輸出MOSI和串行時(shí)鐘SCLK和ISD1760進(jìn)行連接。單片機(jī)BATmega128A的PA3接ISD的片選引腳/SS,控制ISD1760是否被選通;ATmega128A的PA2接ISD的串行時(shí)鐘輸入腳SCLK,用于同步MOSI和MISO的數(shù)據(jù)傳輸;ATmega128A的PA1接ISD的串行數(shù)據(jù)輸入腳MOSI,ISD從該引腳讀入錄、放音的地址;Tmega128A的PA0接ISD的串行數(shù)據(jù)輸出腳MISO,單片機(jī)B從該引腳接收來(lái)自語(yǔ)音芯片傳來(lái)的信號(hào)?!部瞻滋幯a(bǔ)上〕語(yǔ)SS音SCLK模MISO塊MOSIPA3車PA2載PA1控PA0制器圖3-10語(yǔ)音模塊和車載控制器的連接圖3.7顯示模塊顯示模塊的硬件原理圖如圖3-11所示。VSS、LED_K接地;VDD、/RST接+5V電源。液晶數(shù)據(jù)線DB0~DB7連接AVR128的PC口。RS接單片機(jī)PE2,當(dāng)為高電平時(shí),表示DB0~DB7為顯示數(shù)據(jù);為低電平時(shí),表示DB0~DB7為顯示指令數(shù)據(jù)。R/W接單片機(jī)PE3口,使能信號(hào)E接單片機(jī)PE4口,R/W為高電平,E為高電平,數(shù)據(jù)被讀到DB0~DB7;R/W為低電平,E從高電平轉(zhuǎn)換到低電平,DB0~DB7被寫到液晶內(nèi)部的DDRAM里?!部瞻滋幯a(bǔ)上〕圖3-11顯示模塊電路圖3.10按鍵模塊按鍵模塊電路圖如圖3-12所示。圖3-12按鍵模塊電路圖6個(gè)按鍵作為輸入方式接入控制器端控制器的PD0~PD5IO口。當(dāng)有按鍵按下時(shí),對(duì)應(yīng)的端口電平變?yōu)榈碗娖?,?dāng)按鍵抬起時(shí),對(duì)應(yīng)的電平變?yōu)楦唠娖健1~K4分別為Up、Down、Left、Right鍵,當(dāng)小車進(jìn)入無(wú)線遙控模式時(shí),負(fù)責(zé)小車的前進(jìn)、后退、左轉(zhuǎn)和右轉(zhuǎn)功能。K5為菜單鍵,負(fù)責(zé)小車進(jìn)入何種模式菜單的設(shè)定顯示。當(dāng)K5按下時(shí),K1~K3分別對(duì)應(yīng)無(wú)線模式、循跡模式和避障模式。K6為確定鍵,當(dāng)K5按下,K1~K3設(shè)定某種模式后,按下K6,然后通過(guò)無(wú)線模塊把模式字碼發(fā)送給車載控制器。第4章系統(tǒng)軟件設(shè)計(jì)系統(tǒng)的軟件設(shè)計(jì)采用C語(yǔ)言,對(duì)單片機(jī)進(jìn)行編程實(shí)現(xiàn)各項(xiàng)功能。程序是在WindowsXP環(huán)境下采用CodeVisionAVRCCompliler軟件編譯的。4.1主程序設(shè)計(jì)本系統(tǒng)主要分為兩個(gè)主程序,即車載控制器上的主程序和控制端控制器的主程序。車載控制器主程序設(shè)計(jì)主程序采用模塊化的思想設(shè)計(jì),車載控制器的主程序流程圖如圖4-1所示。從圖4-1中可以看出,車載空控制器首先進(jìn)行對(duì)電機(jī)模塊、循跡模塊和無(wú)線模塊的初始化,初始化主要包括各個(gè)模塊和控制器相連接的IO端口的輸入/輸出初始化,以及一些功能存放器的初始化。初始化完成后,程序進(jìn)入while循環(huán),開(kāi)始判斷無(wú)線接收到的數(shù)據(jù),如果無(wú)線接收到的數(shù)據(jù)是循跡模式字碼(0xa0),那么進(jìn)入循跡子程序,小車開(kāi)始循跡;如果無(wú)線接收到的數(shù)據(jù)是無(wú)線遙控模式字碼(0xa1),那么進(jìn)入無(wú)線遙控模式,開(kāi)始小車的無(wú)線遙控行駛功能。如果沒(méi)有接收到任何模式字碼或者接收到的不是這三種模式字碼的任意一個(gè),那么小車停止。循跡循跡開(kāi)始電機(jī)、循跡、無(wú)線初始化掃描無(wú)線接收數(shù)據(jù)遙控停止YNNN循跡子程序無(wú)線子程序YY停止程序結(jié)束圖4-1車載控制器主程序流程圖4.1.2控制端控制器主程序設(shè)計(jì)控制端控制器的主程序流程圖如圖4-2所示。任意按鍵任意按鍵按下開(kāi)始按鍵、液晶、語(yǔ)音無(wú)線初始化清屏顯示進(jìn)入模式設(shè)定界面結(jié)束YN初始界面顯示等待掃描是否有按鍵按下YN執(zhí)行相應(yīng)的按鍵處理程序圖4-2控制端控制器主程序流程圖從圖4-2中可以看出,控制端空控制器首先進(jìn)行對(duì)按鍵模塊、液晶模塊、語(yǔ)音模塊和無(wú)線模塊的初始化。初始化主要包括各個(gè)模塊和控制器相連接的IO端口的輸入/輸出初始化,以及一些功能存放器的初始化。初始化完成后,顯示一初始界面信息,然后判斷是否有任意按鍵按下,如有任意按鍵按下,那么清屏顯示信息,顯示模式設(shè)定信息,然后主程序開(kāi)始開(kāi)始處理按鍵程序。4.2電機(jī)驅(qū)動(dòng)子程序設(shè)計(jì)根據(jù)電機(jī)驅(qū)動(dòng)芯片L298的文檔資料,IN1〔5〕、IN2〔7〕、IN3〔10〕、IN4〔12〕分別對(duì)應(yīng)OUT1〔2〕、OUT2〔3〕、OUT3〔13〕、OUT4〔14〕,即輸入上下電平對(duì)應(yīng),〔例如IN1為高那么OUT1為高〕,當(dāng)然這要是建立在使能端滿足的情況下才可以;ENA〔6〕、ENB〔11〕為使能端,ENA控制OUT1、OUT2,ENB控制OUT3、OUT4,高電平有效,即在低電平情況下,無(wú)論輸入為何信號(hào),輸出都為低電平?,F(xiàn)以IN1、IN2、OUT1、OUT2為例控制電機(jī)的轉(zhuǎn)向。詳見(jiàn)表4-1。表4-1電機(jī)轉(zhuǎn)動(dòng)狀態(tài)真值表IN1IN2OUT1OUT2狀態(tài)1111停止1010轉(zhuǎn)動(dòng)0101轉(zhuǎn)動(dòng)0000停止電機(jī)驅(qū)動(dòng)子程序的流程圖如圖4-3所示。前進(jìn)?前進(jìn)?結(jié)束開(kāi)始電機(jī)模塊初始化后退?左轉(zhuǎn)?右轉(zhuǎn)?PWM設(shè)定in1=1int2=0in3=1int4=00停止?NNNNNYYYYYPWM設(shè)定in1=0int2=1in3=0int4=10PWM設(shè)定in1=0int2=1in3=1int4=00PWM設(shè)定in1=1int2=0in3=0int4=10PWM清零in1=0int2=0in3=0int4=00圖4-3電機(jī)驅(qū)動(dòng)子程序流程圖從圖4-3中可以看出,電機(jī)驅(qū)子動(dòng)程序首先要對(duì)電機(jī)模塊初始化,初始化主要包括電機(jī)驅(qū)動(dòng)芯片的輸入端口PORTD.4~PORTD.7的端口輸出方向初始化,PWM輸出通道PORTB.5和PORTB.6的輸出方向初始化,定時(shí)器1的PWM輸出頻率及PWM計(jì)數(shù)器頂端值的初始化。然后進(jìn)入主程序,開(kāi)始判斷各個(gè)標(biāo)志位。如果是前進(jìn)標(biāo)志,那么調(diào)用前進(jìn)函數(shù),先設(shè)定PWM占空比,然后令電機(jī)驅(qū)動(dòng)芯片的輸入端in1=1,in2=0(左輪正轉(zhuǎn)),in3=1,in4=0(右輪正轉(zhuǎn)),小車即向前行駛;如果是左轉(zhuǎn)標(biāo)志,那么調(diào)用左轉(zhuǎn)函數(shù),先設(shè)定PWM占空比,然后令電機(jī)驅(qū)動(dòng)芯片的輸入端in1=0,in2=1(左輪反轉(zhuǎn)),in3=1,in4=0(右輪正轉(zhuǎn)),小車即開(kāi)始左轉(zhuǎn)。其他的后退、右轉(zhuǎn)和停止函數(shù)和前面所講類似,在此不再贅述。4.3循跡子程序設(shè)計(jì)本系統(tǒng)邊界檢測(cè)模塊采用的是紅外對(duì)射模塊。在小車的正前方位置安裝了7支紅外對(duì)射管,這些紅外對(duì)射管是用來(lái)檢測(cè)和探知黑色循跡道路的。小車循跡是通過(guò)7對(duì)紅外對(duì)射管來(lái)檢測(cè)的,表4-2列出了小車的各個(gè)狀態(tài):表4-2紅外對(duì)射管狀態(tài)真值表傳感器編號(hào)小車狀態(tài)Sig1Sig2Sig3Sig4Sig5Sig6Sig7輕微左偏0111111嚴(yán)重左偏0011111輕微左偏1011111輕微左偏1001111輕微左偏1101111輕微左偏1100111中間位置1110111具體程序可根據(jù)循跡流程圖4-4所示進(jìn)行程序編寫。從圖4-4中可以看出,循跡子程序首先要對(duì)循跡模塊初始化。初始化主要包括對(duì)循跡模塊和車載控制器的接口PORTA.0~PORTA.6的端口輸入方向初始化。初始化完畢后,主程序開(kāi)始判斷循跡模塊的中間一個(gè)傳感器Sig4的輸出狀態(tài)是否為0(低電平),如果Sig4為0,那么說(shuō)明小車此時(shí)處于黑色循跡線路的中間位置,車載控制器調(diào)用小車直走函數(shù),控制小車直走即可;如果Sig4不為0,那么程序進(jìn)對(duì)循跡模塊的左邊的傳感器Sig1的狀態(tài)進(jìn)行判斷。如果Sig1的輸出狀態(tài)為0(低電平),那么說(shuō)明小車車身現(xiàn)在處于黑線的右邊位置,車載控制器需調(diào)用小車左轉(zhuǎn)函數(shù)。如果Sig1的輸出狀態(tài)不為0,那么進(jìn)入下一個(gè)傳感器的輸出狀態(tài)判斷。如果7個(gè)傳感器的輸出狀態(tài)都不為0,車載控制器那么控制小車直走。開(kāi)始開(kāi)始循跡初始化小車直走Sig4=0NSig1=0Sig7=0Sig2=0Sig5=0Sig3=0Sig6=0小車左拐小車右拐小車左拐小車右拐小車左拐小車右拐NNNNNNYYYYYYY小車直拐結(jié)束圖4-4循跡子程序流程圖4.4語(yǔ)音子程序設(shè)計(jì)控制端的控制器通過(guò)SPI總線的方式來(lái)控制語(yǔ)音模塊的錄放音操作。SPI的英文名稱為SerialPeripheralInterface。串行外設(shè)接口SPI是由Freescale公司〔原Motoroal公司半導(dǎo)體部〕提出的一種采用串行同步方式的3線或4線通訊接口,使用信號(hào)有使能信號(hào)〔SS〕、同步時(shí)鐘〔SCK〕、同步數(shù)據(jù)輸入和輸出〔MOSI、MISO〕。在SPI模式下,對(duì)芯片進(jìn)行更多功能操作。如對(duì)任意存儲(chǔ)地址進(jìn)行錄放,對(duì)模擬通道配置存放器進(jìn)行讀寫等。通信協(xié)議MOSI的數(shù)據(jù)在SCLK的上升沿進(jìn)入錄音芯片,MISO的數(shù)據(jù)在SCLK的下降沿進(jìn)入主控芯片。8位為一字節(jié),先發(fā)低位。4.4.1錄音子程序設(shè)計(jì)ISD錄音子程序流程圖如圖4-5所示。開(kāi)始開(kāi)始讀取狀態(tài)存放器芯片準(zhǔn)備就緒設(shè)定錄音模式,開(kāi)始錄音錄音語(yǔ)音初始化結(jié)束地址錄音完成下電YNNY圖4-5語(yǔ)音錄音子程序流程圖從圖4-5中可以看出,ISD錄音子程序首先要對(duì)語(yǔ)音模塊進(jìn)行初始化,包括語(yǔ)音模塊和單片機(jī)相連接的IO口PORTA.0~PORTA.3的輸入輸出方向初始化、語(yǔ)音模塊的復(fù)位、去除語(yǔ)音模塊內(nèi)部的中斷。初始化完成后,開(kāi)始讀取狀態(tài)存放器,如果語(yǔ)音芯片準(zhǔn)備就緒,那么發(fā)送錄音模式指令,從起始地址開(kāi)始錄音,遇到結(jié)束地址后,結(jié)束錄音,單片機(jī)發(fā)送下電指令給語(yǔ)音模塊。如果語(yǔ)音芯片沒(méi)有準(zhǔn)備繼續(xù),那么控制器一直讀取語(yǔ)音芯片內(nèi)部的狀態(tài)。4.4.2放音子程序設(shè)計(jì)開(kāi)始開(kāi)始讀取狀態(tài)存放器芯片準(zhǔn)備就緒進(jìn)入放音模式,開(kāi)始放音語(yǔ)音初始化結(jié)束地址放音完成下電YNNY圖4-6語(yǔ)音放音子程序流程圖從圖4-6中可以看出,ISD放音子程序首先要對(duì)語(yǔ)音模塊進(jìn)行初始化,包括語(yǔ)音模塊和單片機(jī)相連接的IO口PORTA.0~PORTA.3的輸入輸出方向初始化、語(yǔ)音模塊的復(fù)位、去除語(yǔ)音模塊內(nèi)部的中斷。初始化完成后,開(kāi)始讀取狀態(tài)存放器,如果語(yǔ)音芯片準(zhǔn)備就緒,那么發(fā)送放音模式指令,從起始地址開(kāi)始放音,遇到結(jié)束地址后,結(jié)束放音,單片機(jī)發(fā)送下電指令給語(yǔ)音模塊。如果語(yǔ)音芯片沒(méi)有準(zhǔn)備繼續(xù),那么控制器一直讀取語(yǔ)音芯片內(nèi)部的狀態(tài)。4.5無(wú)線程序設(shè)計(jì)4.5.1無(wú)線發(fā)送子程序設(shè)計(jì)無(wú)線發(fā)送子程序流程圖如圖4-7所示。從圖4-7中可以看出,無(wú)線發(fā)送子程序首先對(duì)無(wú)線模塊CC1101進(jìn)行初始化,包括無(wú)線模塊和控制端控制器接口的PORTB.0~PORTB.3的端口輸入輸出方式初始化、SPI狀態(tài)初始化、無(wú)線模塊上電復(fù)位初始化、配置CC1101內(nèi)部各存放器、無(wú)線模塊發(fā)射功率設(shè)置初始化。初始化完成后,設(shè)定發(fā)送字節(jié)長(zhǎng)度,然后寫入要發(fā)送的數(shù)據(jù),進(jìn)入發(fā)送模式發(fā)送數(shù)據(jù),然后檢查發(fā)送標(biāo)志位,看是否發(fā)送完成,如果發(fā)送完成,那么清發(fā)送緩沖區(qū)。如果沒(méi)有發(fā)送完成,那么再開(kāi)始發(fā)送數(shù)據(jù)。開(kāi)始開(kāi)始CC1101初始化發(fā)送字節(jié)長(zhǎng)度設(shè)置寫入要發(fā)送的數(shù)據(jù)進(jìn)入發(fā)送模式發(fā)送完成清發(fā)送緩沖區(qū)NY結(jié)束圖4-7無(wú)線發(fā)送子程序流程圖4.5.2無(wú)線接收子程序設(shè)計(jì)無(wú)線接收子程序流程圖如圖4-8所示。開(kāi)始開(kāi)始CC1101初始化接收字節(jié)長(zhǎng)度設(shè)置進(jìn)入接收模式接的字節(jié)數(shù)不為0接收數(shù)據(jù)N結(jié)束Y圖4-8無(wú)線接收子程序流程圖從圖4-8中可以看出,無(wú)線發(fā)送子程序首先對(duì)無(wú)線模塊CC1101進(jìn)行初始化,包括無(wú)線模塊和控制端控制器接口的PORTB.0~PORTB.3的端口輸入輸出方式初始化、SPI狀態(tài)初始化、無(wú)線模塊上電復(fù)位初始化、配置CC1101內(nèi)部各存放器、無(wú)線模塊發(fā)射功率設(shè)置初始化。初始化完成后,設(shè)定接收字節(jié)長(zhǎng)度,然后進(jìn)入接收模式,如果接收的字節(jié)為0,那么一直在接收模式下。如果接收的字節(jié)數(shù)不為0,那么開(kāi)始接收數(shù)據(jù),接收完成活,清接收緩沖區(qū)。4.6顯示子程序設(shè)計(jì)顯示子程序流程圖如圖4-9所示。開(kāi)始開(kāi)始液晶初始化顯示初始界面是否有按鍵按下顯示模式設(shè)定界面N結(jié)束Y等待按鍵按下圖4-9顯示子程序流程圖從圖4-10可以看出,液晶顯示子程序首先要對(duì)液晶模塊進(jìn)行初始化,包括液晶控制端口、液晶數(shù)據(jù)端口和控制器相連接的IO口PE2~PE6、PC口的端口輸入輸出方向初始化。初始化完畢后,液晶先顯示初始界面信息,這時(shí)如果有任意的一個(gè)按鍵按下,那么液晶清楚界面信息,然后顯示模式設(shè)定信息,按鍵輸入相應(yīng)模式。如果沒(méi)有按鍵按下,那么液晶一直顯示初始界面信息。4.7按鍵子程序設(shè)計(jì)按鍵子程序如圖4-10所示。從圖4-10可以看出,按鍵顯示子程序首先要按鍵模塊進(jìn)行初始化,對(duì)按鍵和控制端的控制器的接口PD0~PD5端口輸入/輸出方向初始化。初始化完畢后,開(kāi)始處理按鍵程序,判斷有無(wú)按鍵按下,并執(zhí)行相應(yīng)的按鍵處理程序。開(kāi)始開(kāi)始按鍵初始化任意按鍵按下去除當(dāng)前顯示內(nèi)容,顯示模式選擇界面NK1按下顯示無(wú)線模式被選中圖案K2按下?顯示循跡模式被選中圖案K6按下?無(wú)線發(fā)送設(shè)定的模式字碼K5按下?結(jié)束顯示設(shè)定模式界面YYNYN圖4-10按鍵子程序流程圖第5章系統(tǒng)調(diào)試本系統(tǒng)經(jīng)過(guò)總體設(shè)計(jì),完成了硬件開(kāi)發(fā)和軟件開(kāi)發(fā)。通過(guò)硬件和軟件的相互配合,使得整個(gè)系統(tǒng)正常運(yùn)行。但是一個(gè)工程工程或者一個(gè)系統(tǒng)的最終開(kāi)發(fā)成功,期間必然會(huì)碰到好多錯(cuò)誤,例如硬件焊接上的錯(cuò)誤,軟件編程上的錯(cuò)誤等,這就需要通過(guò)調(diào)試來(lái)發(fā)現(xiàn)錯(cuò)誤并及時(shí)的改正錯(cuò)誤。系統(tǒng)調(diào)試分為硬件調(diào)試和軟件調(diào)試兩個(gè)局部。5.1硬件調(diào)試硬件調(diào)試用到的工具是示波器和萬(wàn)用表。車載局部的硬件實(shí)物圖和控制端的硬件實(shí)物圖分別如圖5-1和5-2所示。圖5-1車載硬件實(shí)物圖圖5-2控制端硬件實(shí)物圖硬件調(diào)試應(yīng)從以下4個(gè)步驟開(kāi)始:1.查看線路根據(jù)硬件設(shè)計(jì)原理圖,仔細(xì)檢查各線路焊接是否正確,有誤虛焊或者短路問(wèn)題。2.檢查板上各元器件檢查各個(gè)芯片、電阻有無(wú)焊接正確,有無(wú)芯片焊反等情況出現(xiàn)。3.檢查電源和地電源和地是一個(gè)系統(tǒng)中必不可少的組成局部,通電之前,首先要將萬(wàn)用表開(kāi)關(guān)調(diào)到測(cè)試二極管擋位,然后檢查電源和地之間有誤短路。檢查各個(gè)模塊的電源和地是否連接正常。4.上電檢查在保證電源和地的電路沒(méi)有問(wèn)題的情況下,接通電源,檢查各個(gè)模塊是否正常,有誤發(fā)熱、發(fā)燙現(xiàn)象發(fā)生。必要時(shí),可以用萬(wàn)用表測(cè)量系統(tǒng)電路中的電流。如果測(cè)量電流很大,那么說(shuō)明系統(tǒng)電路中有短路或者故障,此時(shí)應(yīng)立即斷開(kāi)電源,然后仔細(xì)檢查電路。5.系統(tǒng)整體檢查上電后,檢查系統(tǒng)中各個(gè)模塊的電壓是否正常,單片機(jī)相應(yīng)的引腳輸入輸出電平是否正常等。5.2軟件調(diào)試對(duì)于本系統(tǒng)而言,軟件程序時(shí)序圖要求太多,所以軟件程序的調(diào)試顯得相當(dāng)?shù)臒┈?。整個(gè)程序是使用C語(yǔ)言。軟件調(diào)試分為以下2個(gè)步驟:〔1〕各個(gè)模塊程序的調(diào)試 在本系統(tǒng)設(shè)計(jì)中采用CodeVisionAVR軟件對(duì)程序進(jìn)行編譯和修改。利用AVRStudio4仿真軟件和JTAG工具對(duì)程序進(jìn)行仿真調(diào)試,檢查各存放器內(nèi)值是否正常,堆棧地址是否溢出等。 2.整體程序調(diào)試:各個(gè)模塊程序調(diào)試完畢后,需要把各個(gè)模塊和主程序連接起來(lái),進(jìn)行系統(tǒng)的整體調(diào)試,看看是否能實(shí)現(xiàn)系統(tǒng)的預(yù)期功能。在此階段出現(xiàn)的問(wèn)題可以采取在出現(xiàn)問(wèn)題的前后點(diǎn)亮LED燈的方式,來(lái)確定是哪局部出現(xiàn)的問(wèn)題。結(jié)論本設(shè)計(jì)實(shí)現(xiàn)了多功能智能小車系統(tǒng)的功能。當(dāng)按鍵輸入設(shè)定好的模式時(shí),進(jìn)行語(yǔ)音提示文字顯示同步發(fā)出,然后經(jīng)過(guò)無(wú)線傳輸把模式字碼發(fā)送給車載控制器端,然后車載控制器根據(jù)接收到的模式字碼,控制小車,實(shí)現(xiàn)循跡、無(wú)線遙控功能。如果沒(méi)有收到無(wú)線信號(hào)或者收到的無(wú)線信號(hào)是停止模式字碼,那么車載控制器控制小車處于停止等待狀態(tài),智能小車系統(tǒng)主要應(yīng)用與環(huán)境監(jiān)控和檢測(cè)、車體環(huán)境的檢查、軍用上的排爆排雷等。是一個(gè)涉及多領(lǐng)域、多學(xué)科的工程。本系統(tǒng)的特點(diǎn)是,采用無(wú)線傳輸?shù)哪J?,通過(guò)控制端控制車載控制器,繼而通過(guò)車載控制器控制小車,防止了人和車體的直接接觸,增加了控制的靈活性,突破了空間的限制。但本系統(tǒng)也有局限性,由于采用的是無(wú)線傳輸?shù)姆绞?,任何無(wú)線設(shè)備,其穩(wěn)定性和傳輸距離上都有一定的限制,本無(wú)線設(shè)備有效傳輸距離在空曠地帶為100米左右,此外,隨著距離的增加,在系統(tǒng)的實(shí)時(shí)性控制方面,也會(huì)有一定程度的緩慢現(xiàn)象出現(xiàn)。在畢業(yè)設(shè)計(jì)過(guò)程中,穩(wěn)固了在大學(xué)4年內(nèi)學(xué)過(guò)的知識(shí),尤其是單片機(jī)和模擬電子方面的知識(shí),同時(shí)通過(guò)這次畢設(shè)提高了單片機(jī)編程的能力,尤其是獲得的軟件調(diào)試經(jīng)驗(yàn),同時(shí)加強(qiáng)了我的實(shí)際編程能力,同時(shí)也讓自己更加的知道了自己知識(shí)領(lǐng)域里的缺乏和缺陷。由于時(shí)間太倉(cāng)促,經(jīng)驗(yàn)缺乏,理論方面也相應(yīng)的存在缺乏,加上條件有限,仍存在著一些設(shè)計(jì)方面的問(wèn)題,個(gè)人技能也有待提高。理論知識(shí)還要穩(wěn)固加強(qiáng)。致謝本課題在選題及研究過(guò)程中得到馮老師的悉心指導(dǎo)。馮老師屢次詢問(wèn)研究進(jìn)程,并為我指點(diǎn)迷津,幫助我開(kāi)拓研究思路,精心點(diǎn)撥、熱忱鼓勵(lì)。馮老師一絲不茍的作風(fēng),嚴(yán)謹(jǐn)求實(shí)的態(tài)度,踏踏實(shí)實(shí)的精神,不僅授我以文,而且教我做人,雖歷時(shí)半年,卻給以終生受益無(wú)窮之道。對(duì)馮老師的感謝之情是無(wú)法用言語(yǔ)表達(dá)的。在論文即將完成之際,我的心情無(wú)法平靜,從開(kāi)始進(jìn)入課題到論文的順利完成,有多少可敬的師長(zhǎng)、同學(xué)、朋友給了我無(wú)言的幫助,在這里請(qǐng)接受我誠(chéng)摯的謝意!參考文獻(xiàn)[1]張毅剛,彭喜元,姜守達(dá),喬立巖編著《新編MCS-51單片機(jī)應(yīng)用設(shè)計(jì)〔第3版〕》,哈爾濱大業(yè)大學(xué)出版社,2009.8[2]康華光,陳大欽,張林編著《電子技術(shù)根底》——模擬局部(第五版),2005[3]黃開(kāi)勝,卓晴,邵貝貝編著《學(xué)做智能車挑戰(zhàn)飛思卡爾杯》,北京:北京航空航天大學(xué)出版社,2007[4]董濤,劉進(jìn)英,蔣蘇編著《基于單片機(jī)的智能小車的設(shè)計(jì)與制作》,2009,17(2)[5]陳迎,韓麗娜編著《智能小車系統(tǒng)的設(shè)計(jì)》,2011,30(9)[6]李磊,曹生煒編著《智能小車避障技術(shù)的實(shí)現(xiàn)》,2011,44(6)[7]朱向慶,陳志雄編著《一種語(yǔ)音控制的自主尋跡和避障智能小車設(shè)計(jì)》,2011,19(7)[8]董宗祥,石紅瑞,楊杰編著《嵌入式智能小車測(cè)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)》,2010,18(2)[9]謝自美.《電子線路設(shè)計(jì)、實(shí)驗(yàn)、測(cè)試〔第三版〕》,武漢:華中科技大學(xué),2006[10]謝維成,楊加國(guó).《單片機(jī)原理與應(yīng)用及C51程序設(shè)計(jì)》,清華大學(xué)出版社,2006[11]譚浩強(qiáng).《C程序設(shè)計(jì)〔第三版〕》.北京:清華大學(xué)出版社,2005[12]S.L.Loyka.ASimpleFormulafortheGroundResistanceCalculation.IEEETrans.OnElectromagneticCompatibility,1999,41(2):152-154.[13]Jullian,E,Electromagneticradiation.RBM-RevueEuropeennedetechnologieBiomedicale,Vol.20NO.4.June,1998.12-23[14]MocrochipTechnologyInc..Microchip2006ProductSelectorGuide.2006.(40)[15]W.HaroldParady,J.HowardTurnered.ElectricMotors.Georgia:theamericanassociationForvocationalinstructionalmaterials,1978.附錄一附錄二電機(jī)驅(qū)動(dòng)頭文件和C文件代碼#ifndef_motor_h_#define_motor_h_#defineM_Forward0//前#defineM_Back1//后#defineM_Left2//左#defineM_Right3//右#defineM_Stop4//停#definePWM_TOP4000//1KHZ#definePWMA_LEFTPORTB.5#definePWMB_RIGHTPORTB.6#defineMotor_Left_1PORTD.4#defineMotor_Left_2PORTD.5#defineMotor_Right_1PORTD.6#defineMotor_Right_2PORTD.7externvoidMotor_Init();//電機(jī)初始化externvoidMotor(unsignedcharfx,unsignedintpwm_left,unsignedintpwm_right,unsignedinttime);//電機(jī)控制函數(shù)#endif#include<mega128.h>#include<delay.h>#include"motor.h"http://包含電機(jī)頭文件voidMotor_Init()//電機(jī)初始化{DDRD|=0XF0;//電機(jī)接口PD4567PORTD|=0XF0;//設(shè)置為輸出方向DDRB|=0X60;//通道1B,1A翻開(kāi),端口PB5,PB6設(shè)置:輸出PORTB|=0X60;//PWM的頻率為400HzTCCR1A|=0XA0;//通道1A,1B翻開(kāi),升序計(jì)數(shù)清零,降序計(jì)數(shù)置位,TCCR1B|=0X11;//8M晶振,無(wú)分頻,ICR1H=PWM_TOP>>8;//ICR1L=PWM_TOP;//4000}voidMotor(unsignedcharfx,unsignedintpwm_left,unsignedintpwm_right,unsignedinttime){OCR1BH=(PWM_TOP/100*pwm_left)>>8;;OCR1BL=(PWM_TOP/100*pwm_left);OCR1AH=(PWM_TOP/100*pwm_right)>>8;OCR1AL=(PWM_TOP/100*pwm_right);switch(fx){caseM_Forward:Motor_Left_1=1;//左輪正轉(zhuǎn)Motor_Left_2=0;Motor_Right_1=1;Motor_Right_2=0;//
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 設(shè)施大棚冬季管理制度
- 設(shè)計(jì)公司營(yíng)銷管理制度
- 評(píng)審單位項(xiàng)目管理制度
- 診所健康教育管理制度
- 診所肺炎疫情管理制度
- 試劑運(yùn)輸溫度管理制度
- 財(cái)務(wù)經(jīng)費(fèi)資金管理制度
- 財(cái)政捐款資金管理制度
- 貨幣資金支付管理制度
- 貨站取貨日常管理制度
- 《 大學(xué)生軍事理論教程》全套教學(xué)課件
- 藥物相互作用
- 無(wú)線電裝接工考試:初級(jí)無(wú)線電裝接工考試題庫(kù)(題庫(kù)版)
- 2024年高考真題和模擬題物理分類匯編專題08 電場(chǎng)(原卷版)
- 人教版PEP五年級(jí)下冊(cè)英語(yǔ)作文
- 石家莊市國(guó)企招聘考試真題題庫(kù)2024版
- 肉鴨養(yǎng)殖合同
- 探索神奇的植物世界智慧樹(shù)知到期末考試答案章節(jié)答案2024年成都師范學(xué)院
- 清華強(qiáng)基化學(xué)試題
- 2024-2030年中國(guó)機(jī)器人關(guān)節(jié)模組行業(yè)市場(chǎng)競(jìng)爭(zhēng)態(tài)勢(shì)及前景戰(zhàn)略研判報(bào)告
- 水平四(七年級(jí))體育《足球》大單元教學(xué)計(jì)劃(18課時(shí))
評(píng)論
0/150
提交評(píng)論