基于FPGA的智能小車設(shè)計(jì)方案_第1頁(yè)
基于FPGA的智能小車設(shè)計(jì)方案_第2頁(yè)
基于FPGA的智能小車設(shè)計(jì)方案_第3頁(yè)
基于FPGA的智能小車設(shè)計(jì)方案_第4頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

基于FPGA的智能小車設(shè)計(jì)方案智能監(jiān)控機(jī)器人是近年來(lái)機(jī)器人應(yīng)用工程中一項(xiàng)前沿性的題目,智能化探測(cè)小車是智能行走機(jī)器人的一種。智能監(jiān)控機(jī)器小車就是針對(duì)上述情況,在參考了目前大多數(shù)智能機(jī)器人的基礎(chǔ)上,以降低成本為原則設(shè)計(jì)的。小車具備溫濕度和環(huán)境監(jiān)測(cè)、無(wú)線通信、躲避障礙物以及無(wú)線遙控等功能。此智能監(jiān)控機(jī)器小車與目前已有的同類設(shè)計(jì)相比,有性價(jià)比高、操作方便、可靠性好、功耗小等優(yōu)點(diǎn)。1系統(tǒng)結(jié)構(gòu)及硬件設(shè)計(jì)整個(gè)系統(tǒng)由發(fā)送端(智能小車部分)和接收端(控制臺(tái):控制和顯示部分)組成,如圖1所示。系統(tǒng)由傳感器系統(tǒng)、動(dòng)力及轉(zhuǎn)向系統(tǒng)、CCD圖像傳感器模塊、LCD顯示、溫度和濕度測(cè)量電路和供電系統(tǒng)等組成,整個(gè)系統(tǒng)的控制核心以2片Altera公司的EP2C20F484為核心,在Altera公司的QuartusⅡ和SoPCBuilder開發(fā)環(huán)境中完成。根據(jù)系統(tǒng)硬件結(jié)構(gòu)添加所需要的外圍模塊并生成NiosⅡCPU。1.1供電系統(tǒng)小車安裝了兩塊充電電池,分別為FPGA開發(fā)板(FPGA控制電路)和小車運(yùn)動(dòng)提供能量,電池置于車身底部。1.2傳感器系統(tǒng)系統(tǒng)采用了6個(gè)紅外對(duì)射傳感器,通過(guò)FPGA配置的NiosⅡCPU來(lái)檢測(cè)傳感器信號(hào)實(shí)現(xiàn)小車躲避障礙物的功能。漫反射型紅外對(duì)射傳感器也稱光電開關(guān),是一種集發(fā)射器和接收器于一體的傳感器,多用于檢測(cè)障礙物。原理是由光電開關(guān)輻射出來(lái)的調(diào)制紅外光束被檢測(cè)物體反射回來(lái),紅外線經(jīng)同步選通接收,由電子開關(guān)線路驅(qū)動(dòng)回路,從而來(lái)檢測(cè)物體的有或無(wú)。當(dāng)被檢測(cè)物體的表面光亮或其反光率極高時(shí),漫反射式的光電開關(guān)是首選的檢測(cè)模式。這種電路模塊體積小,信號(hào)容易轉(zhuǎn)化為標(biāo)準(zhǔn)電平。1.3動(dòng)力及轉(zhuǎn)向系統(tǒng)本小車有左右輪兩個(gè)電機(jī)及龜機(jī)驅(qū)動(dòng)。驅(qū)動(dòng)電路采用了CTMicroelecttonics公司的大功率直流電機(jī)驅(qū)動(dòng)芯片L298,最高支持50V電壓,最大電流為5A,滿足大功率電動(dòng)機(jī)的要求,外圍電路簡(jiǎn)單,同時(shí),由于該芯片為雙路結(jié)構(gòu),分別控制左右電動(dòng)機(jī),增加了電路的可靠性,減少了復(fù)雜性。電機(jī)控制采用PWM脈沖寬度調(diào)制方式來(lái)控制汽車的前進(jìn)速度。由NiosⅡCPU寫入控制字,可得到不同占空比的PWM驅(qū)動(dòng)信號(hào),此PWM信號(hào)送入電機(jī)驅(qū)動(dòng)芯片的控制端來(lái)調(diào)節(jié)速度。1.4小車自動(dòng)避障系統(tǒng)小車自動(dòng)避障系統(tǒng)采用VerilogHDL語(yǔ)言編寫驅(qū)動(dòng)電路。該模塊(見圖2中的MOTOR)和一個(gè)數(shù)據(jù)選擇器(見圖2中的select_2)相連來(lái)實(shí)現(xiàn)自動(dòng)避障與人工遙控之間的切換。當(dāng)小車上NiosⅡCPU的SEL管腳輸出低電平時(shí),數(shù)據(jù)選擇器將把該模塊的輸出作為電機(jī)的控制指令。這樣設(shè)計(jì)的好處在于設(shè)計(jì)具有響應(yīng)迅速,不需要NiosⅡCPU參與,提高了CPU處理濕度、溫度數(shù)據(jù)并控制無(wú)線模塊收發(fā)數(shù)據(jù)的效率。該邏輯電路的工作原理是根據(jù)紅外傳感器發(fā)回來(lái)的數(shù)據(jù),經(jīng)過(guò)邏輯判斷來(lái)控制電機(jī)的工作狀態(tài)。1.5小車的人工控制小車的人工控制和自動(dòng)避障之間的轉(zhuǎn)換由一個(gè)數(shù)據(jù)選擇器控制,當(dāng)小車上NiosⅡCPU的SEL管腳輸出高電平時(shí),數(shù)據(jù)選擇器將把無(wú)線模塊所發(fā)送過(guò)來(lái)的指令作為電機(jī)的控制指令,實(shí)現(xiàn)了對(duì)小車的無(wú)線控制。1.6溫度和濕度測(cè)量在溫度測(cè)量系統(tǒng)中,采用抗干擾能力強(qiáng)的新型數(shù)字溫度傳感器DS18B20,該系統(tǒng)設(shè)計(jì)中將DS18B20的1,3引腳分別接于FPGA板的GND和+3.3V管腳,2引腳接FPGA的I/O腳,傳輸控制及數(shù)據(jù)信號(hào)。DS18B20最高可用12位表示溫度值,最高5位為符號(hào)位。采用HS1101濕度傳感器,具有響應(yīng)速度快,工作溫區(qū)寬(-40~+100℃),測(cè)量范圍大(0%~100%RH),可靠性高,穩(wěn)定性好,功耗低,外圍電路簡(jiǎn)單等優(yōu)點(diǎn)。工作原理為:用HS1101傳感器與TLC555構(gòu)成多諧振蕩器,HS1101傳感器內(nèi)部電容會(huì)隨濕度的變化而變化,從而使輸出頻率發(fā)生變化。編寫VHDL程序在FPGA設(shè)計(jì)一個(gè)頻率計(jì)可精確的測(cè)出頻率值,通過(guò)輸出頻率與濕度的關(guān)系便可得到濕度值。1.7無(wú)線收發(fā)系統(tǒng)系統(tǒng)采用PTR4000無(wú)線嵌入式模塊,工作頻率為2.4GHz,最高工作速率可達(dá)1Mb/s,高效GMSK調(diào)制,且有CRC檢錯(cuò)功能。具有低功耗,抗干擾能力強(qiáng),體積小等優(yōu)點(diǎn)。主要有三種工作模式,分別為:配置模式、ShockBurst發(fā)送模式和ShockBurst接收模式。2軟件設(shè)計(jì)和調(diào)試采用NiosⅡ進(jìn)行C語(yǔ)言編程。NiosⅡ集成開發(fā)環(huán)境(IDE)是NlosⅡ系列嵌入式處理器的基本軟件開發(fā)工具。所有軟件開發(fā)任務(wù)都可以在NiosⅡIDE下完成,包括編輯、編譯和調(diào)試程序。NiosⅡIDE是基于開放式的、可擴(kuò)展EclipseIDEproject工程以及EclipseC/C++開發(fā)工具(CDT)工程,NiosⅡIDE為GCC編譯器提供了一個(gè)圖形化用戶界面,可以支持標(biāo)準(zhǔn)C。NiosⅡIDE編譯環(huán)境自動(dòng)地生成一個(gè)基于用戶特定系統(tǒng)配置(SoPCBuilder生成的SoPC文件)的makefile,有利于程序的開發(fā)。NiosⅡIDE包含一個(gè)強(qiáng)大的、在GNU調(diào)試器基礎(chǔ)之上的軟件調(diào)試器——GDB。完成軟件代碼的編寫后,可以對(duì)代碼進(jìn)行仿真和調(diào)試。Nios-ⅡIDE提供了一個(gè)方便的閃存編程方法。任何連接到FPGA的兼容通用閃存接口(CFI)的閃存器件都可以通過(guò)NiosⅡIDE閃存編程器來(lái)燒結(jié)。針對(duì)本設(shè)計(jì)及應(yīng)用,編寫了系統(tǒng)控制程序和LCD顯示程序。流程圖如圖3所示。3系統(tǒng)調(diào)試小車系統(tǒng)需要測(cè)試能否準(zhǔn)確接收控制臺(tái)發(fā)送的指令并控制小車運(yùn)動(dòng)或停止,以及向前、后、左、右轉(zhuǎn)向。還要測(cè)試主控機(jī)能否準(zhǔn)確接收小車采集到的溫度以及濕度信息,能否正確顯示。經(jīng)過(guò)多次測(cè)試,發(fā)現(xiàn)由于系統(tǒng)程序是采用收發(fā)循環(huán)轉(zhuǎn)換的模式,為了讓兩個(gè)系統(tǒng)能夠收到對(duì)方發(fā)的信息,對(duì)小車的遙控與自動(dòng)部分進(jìn)行簡(jiǎn)單的分化。自動(dòng)情況下,控制臺(tái)為主要接收端,小車為主要發(fā)送端,一般情況下小車發(fā)送數(shù)據(jù)到控制臺(tái),需要自動(dòng)到遙控的轉(zhuǎn)換時(shí),通過(guò)在延時(shí)時(shí)間內(nèi)進(jìn)行中斷來(lái)實(shí)行從自動(dòng)到遙控的轉(zhuǎn)換;在遙控狀態(tài)下,控制臺(tái)為主要發(fā)射端,小車為接收端,一般情況下控制臺(tái)發(fā)送小車行進(jìn)指令到小車,需要采集數(shù)據(jù)時(shí),通過(guò)溫度、濕度采集按鍵來(lái)對(duì)小車進(jìn)行收發(fā)轉(zhuǎn)換,同時(shí)小車發(fā)出采集數(shù)據(jù)指令,之后再次轉(zhuǎn)為接收模式。這樣做之后使小車與控制臺(tái)的軟件部分清晰明了,小車的行進(jìn)以及采集顯示數(shù)據(jù)能夠?qū)崟r(shí)的進(jìn)行。濕度測(cè)量系統(tǒng)需要測(cè)試是否能夠精準(zhǔn)輸出頻率值。采用芯片LM555手冊(cè)上推薦的電路,由于元件的誤差,使輸出的頻率并不精確,經(jīng)過(guò)與標(biāo)準(zhǔn)的濕度儀進(jìn)行比對(duì),通過(guò)參數(shù)調(diào)整,用直線做近似,最后得到的頻率值誤差在幾赫茲(頻率范圍是6008~7314Hz),經(jīng)過(guò)預(yù)算得到很準(zhǔn)確的濕度值。開始求濕度值時(shí)用的是解一元三次方程的方法,由于計(jì)算量大,對(duì)小車的行進(jìn)會(huì)有很大影響,后來(lái)在小車端只是把小車采集到的頻率值通過(guò)紅外天線傳輸?shù)街骺囟耍⒃鹊男≤囎詣?dòng)避障由NiosⅡCPU控制改為由Verilog編寫的硬件模塊控制,最后在控制臺(tái)做濕度值的計(jì)算。這樣的更改既減少了小車NiosⅡCPU的工作量,同時(shí)由于小車的自動(dòng)避障改為由獨(dú)立的Verilog模塊控制,運(yùn)行起來(lái)很流暢。對(duì)于無(wú)線收發(fā)系統(tǒng),要測(cè)試其可靠性以及發(fā)送或接收的信息的準(zhǔn)確性。測(cè)試方法是單獨(dú)設(shè)計(jì)了一個(gè)軟核下載到SoPC中,并編寫一段程序用于測(cè)試是否正確寫入配置控制字,是否能夠進(jìn)行ShockBurst模式的接收或發(fā)送。問(wèn)題是對(duì)天線各模式時(shí)序的把握,一開始寫的程序總是不能正確寫入配置字,反復(fù)調(diào)試,并用數(shù)字示波器觀察寫入配置字的瞬間過(guò)程以及各延時(shí)的時(shí)間,最后測(cè)試成功,并把發(fā)送或接收的狀態(tài)用LED顯示出來(lái),每發(fā)送或接收到一個(gè)數(shù)據(jù)包就讓LED閃一下。4結(jié)語(yǔ)本設(shè)計(jì)以FPGA嵌入NiosⅡ軟核

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論