<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于FPGA的智能小車(chē)設計方案

基于FPGA的智能小車(chē)設計方案

作者: 時(shí)間:2017-10-21 來(lái)源:網(wǎng)絡(luò ) 收藏

  智能監控是近年來(lái)應用工程中一項前沿性的題目,智能化探測小車(chē)是智能行走的一種。智能監控機器小車(chē)就是針對上述情況,在參考了目前大多數智能機器人的基礎上,以降低成本為原則設計的。小車(chē)具備溫濕度和環(huán)境監測、無(wú)線(xiàn)通信、躲避障礙物以及無(wú)線(xiàn)遙控等功能。此智能監控機器小車(chē)與目前已有的同類(lèi)設計相比,有性?xún)r(jià)比高、操作方便、可靠性好、功耗小等優(yōu)點(diǎn)。

本文引用地址:http://dyxdggzs.com/article/201710/366939.htm

  1 系統結構及硬件設計

  整個(gè)系統由發(fā)送端(智能小車(chē)部分)和接收端(控制臺:控制和顯示部分)組成,如圖1所示。系統由傳感器系統、動(dòng)力及轉向系統、CCD圖像傳感器模塊、LCD顯示、溫度和濕度測量電路和供電系統等組成,整個(gè)系統的控制核心以2片Altera公司的EP2C20F484為核心,在A(yíng)ltera公司的QuartusⅡ和SoPC Builder開(kāi)發(fā)環(huán)境中完成。根據系統硬件結構添加所需要的外圍模塊并生成NiosⅡCPU。

  

  1.1 供電系統

  小車(chē)安裝了兩塊充電電池,分別為開(kāi)發(fā)板(控制電路)和小車(chē)運動(dòng)提供能量,電池置于車(chē)身底部。

  1.2 傳感器系統

  系統采用了6個(gè)紅外對射傳感器,通過(guò)配置的NiosⅡCPU來(lái)檢測傳感器信號實(shí)現小車(chē)躲避障礙物的功能。漫反射型紅外對射傳感器也稱(chēng)光電開(kāi)關(guān),是一種集發(fā)射器和接收器于一體的傳感器,多用于檢測障礙物。原理是由光電開(kāi)關(guān)輻射出來(lái)的調制紅外光束被檢測物體反射回來(lái),紅外線(xiàn)經(jīng)同步選通接收,由電子開(kāi)關(guān)線(xiàn)路驅動(dòng)回路,從而來(lái)檢測物體的有或無(wú)。當被檢測物體的表面光亮或其反光率極高時(shí),漫反射式的光電開(kāi)關(guān)是首選的檢測模式。這種電路模塊體積小,信號容易轉化為標準電平。

  1.3 動(dòng)力及轉向系統

  本小車(chē)有左右輪兩個(gè)電機及龜機驅動(dòng)。驅動(dòng)電路采用了CT Microelecttonics公司的大功率直流電機驅動(dòng)芯片L298,最高支持50 V電壓,最大電流為5 A,滿(mǎn)足大功率電動(dòng)機的要求,外圍電路簡(jiǎn)單,同時(shí),由于該芯片為雙路結構,分別控制左右電動(dòng)機,增加了電路的可靠性,減少了復雜性。電機控制采用PWM脈沖寬度調制方式來(lái)控制汽車(chē)的前進(jìn)速度。由NiosⅡCPU寫(xiě)入控制字,可得到不同占空比的PWM驅動(dòng)信號,此PWM信號送入電機驅動(dòng)芯片的控制端來(lái)調節速度。

  1.4 小車(chē)自動(dòng)避障系統

  小車(chē)自動(dòng)避障系統采用Verilog HDL語(yǔ)言編寫(xiě)驅動(dòng)電路。該模塊(見(jiàn)圖2中的MOTOR)和一個(gè)數據選擇器(見(jiàn)圖2中的select_2)相連來(lái)實(shí)現自動(dòng)避障與人工遙控之間的切換。當小車(chē)上NiosⅡCPU的SEL管腳輸出低電平時(shí),數據選擇器將把該模塊的輸出作為電機的控制指令。這樣設計的好處在于設計具有響應迅速,不需要NiosⅡ CPU參與,提高了CPU處理濕度、溫度數據并控制無(wú)線(xiàn)模塊收發(fā)數據的效率。該邏輯電路的工作原理是根據紅外傳感器發(fā)回來(lái)的數據,經(jīng)過(guò)邏輯判斷來(lái)控制電機的工作狀態(tài)。

  

  1.5 小車(chē)的人工控制

  小車(chē)的人工控制和自動(dòng)避障之間的轉換由一個(gè)數據選擇器控制,當小車(chē)上NiosⅡCPU的SEL管腳輸出高電平時(shí),數據選擇器將把無(wú)線(xiàn)模塊所發(fā)送過(guò)來(lái)的指令作為電機的控制指令,實(shí)現了對小車(chē)的無(wú)線(xiàn)控制。

  1.6 溫度和濕度測量

  在溫度測量系統中,采用抗干擾能力強的新型數字溫度傳感器DS18B20,該系統設計中將DS18B20的1,3引腳分別接于FPGA板的GND 和+3.3 V管腳,2引腳接FPGA的I/O腳,傳輸控制及數據信號。DS18B20最高可用12位表示溫度值,最高5位為符號位。

  采用HS1101濕度傳感器,具有響應速度快,工作溫區寬(-40~+100℃),測量范圍大(0%~100%RH),可靠性高,穩定性好,功耗低,外圍電路簡(jiǎn)單等優(yōu)點(diǎn)。

  工作原理為:用HS1101傳感器與TLC555構成多諧振蕩器,HS1101傳感器內部電容會(huì )隨濕度的變化而變化,從而使輸出頻率發(fā)生變化。編寫(xiě)VHDL程序在FPGA設計一個(gè)頻率計可精確的測出頻率值,通過(guò)輸出頻率與濕度的關(guān)系便可得到濕度值。

  1.7 無(wú)線(xiàn)收發(fā)系統

  系統采用PTR4000無(wú)線(xiàn)嵌入式模塊,工作頻率為2.4 GHz,最高工作速率可達1 Mb/s,高效GMSK調制,且有CRC檢錯功能。具有低功耗,抗干擾能力強,體積小等優(yōu)點(diǎn)。主要有三種工作模式,分別為:配置模式、 ShockBurst發(fā)送模式和ShockBurst接收模式。

  2 軟件設計和調試

  采用NiosⅡ進(jìn)行C語(yǔ)言編程。NiosⅡ集成開(kāi)發(fā)環(huán)境(IDE)是NlosⅡ系列嵌入式處理器的基本軟件開(kāi)發(fā)工具。所有軟件開(kāi)發(fā)任務(wù)都可以在Nios ⅡIDE下完成,包括編輯、編譯和調試程序。NiosⅡIDE是基于開(kāi)放式的、可擴展Eclipse IDE project工程以及EclipseC/C++開(kāi)發(fā)工具(CDT)工程,NiosⅡIDE為GCC編譯器提供了一個(gè)圖形化用戶(hù)界面,可以支持標準C。 NiosⅡIDE編譯環(huán)境自動(dòng)地生成一個(gè)基于用戶(hù)特定系統配置(SoPC Builder生成的SoPC文件)的makefile,有利于程序的開(kāi)發(fā)。

  NiosⅡIDE包含一個(gè)強大的、在GNU調試器基礎之上的軟件調試器——GDB。完成軟件代碼的編寫(xiě)后,可以對代碼進(jìn)行仿真和調試。Nios-Ⅱ IDE提供了一個(gè)方便的閃存編程方法。任何連接到FPGA的兼容通用閃存接口(CFI)的閃存器件都可以通過(guò)NiosⅡIDE閃存編程器來(lái)燒結。針對本設計及應用,編寫(xiě)了系統控制程序和LCD顯示程序。流程圖如圖3所示。

  

  3 系統調試

  小車(chē)系統需要測試能否準確接收控制臺發(fā)送的指令并控制小車(chē)運動(dòng)或停止,以及向前、后、左、右轉向。還要測試主控機能否準確接收小車(chē)采集到的溫度以及濕度信息,能否正確顯示。經(jīng)過(guò)多次測試,發(fā)現由于系統程序是采用收發(fā)循環(huán)轉換的模式,為了讓兩個(gè)系統能夠收到對方發(fā)的信息,對小車(chē)的遙控與自動(dòng)部分進(jìn)行簡(jiǎn)單的分化。自動(dòng)情況下,控制臺為主要接收端,小車(chē)為主要發(fā)送端,一般情況下小車(chē)發(fā)送數據到控制臺,需要自動(dòng)到遙控的轉換時(shí),通過(guò)在延時(shí)時(shí)間內進(jìn)行中斷來(lái)實(shí)行從自動(dòng)到遙控的轉換;在遙控狀態(tài)下,控制臺為主要發(fā)射端,小車(chē)為接收端,一般情況下控制臺發(fā)送小車(chē)行進(jìn)指令到小車(chē),需要采集數據時(shí),通過(guò)溫度、濕度采集按鍵來(lái)對小車(chē)進(jìn)行收發(fā)轉換,同時(shí)小車(chē)發(fā)出采集數據指令,之后再次轉為接收模式。這樣做之后使小車(chē)與控制臺的軟件部分清晰明了,小車(chē)的行進(jìn)以及采集顯示數據能夠實(shí)時(shí)的進(jìn)行。

  濕度測量系統需要測試是否能夠精準輸出頻率值。采用芯片LM555手冊上推薦的電路,由于元件的誤差,使輸出的頻率并不精確,經(jīng)過(guò)與標準的濕度儀進(jìn)行比對,通過(guò)參數調整,用直線(xiàn)做近似,最后得到的頻率值誤差在幾赫茲(頻率范圍是6 008~7 314Hz),經(jīng)過(guò)預算得到很準確的濕度值。開(kāi)始求濕度值時(shí)用的是解一元三次方程的方法,由于計算量大,對小車(chē)的行進(jìn)會(huì )有很大影響,后來(lái)在小車(chē)端只是把小車(chē)采集到的頻率值通過(guò)紅外天線(xiàn)傳輸到主控端,并將原先的小車(chē)自動(dòng)避障由NiosⅡCPU控制改為由Verilog編寫(xiě)的硬件模塊控制,最后在控制臺做濕度值的計算。這樣的更改既減少了小車(chē)NiosⅡCPU的工作量,同時(shí)由于小車(chē)的自動(dòng)避障改為由獨立的Verilog模塊控制,運行起來(lái)很流暢。

  對于無(wú)線(xiàn)收發(fā)系統,要測試其可靠性以及發(fā)送或接收的信息的準確性。測試方法是單獨設計了一個(gè)軟核下載到SoPC中,并編寫(xiě)一段程序用于測試是否正確寫(xiě)入配置控制字,是否能夠進(jìn)行ShockBurst模式的接收或發(fā)送。問(wèn)題是對天線(xiàn)各模式時(shí)序的把握,一開(kāi)始寫(xiě)的程序總是不能正確寫(xiě)入配置字,反復調試,并用數字示波器觀(guān)察寫(xiě)入配置字的瞬間過(guò)程以及各延時(shí)的時(shí)間,最后測試成功,并把發(fā)送或接收的狀態(tài)用LED顯示出來(lái),每發(fā)送或接收到一個(gè)數據包就讓LED閃一下。

  4 結語(yǔ)

  本設計以FPGA嵌入NiosⅡ軟核處理器為核心,輔以必要的外圍電路,構成了高度集成化的片上系統。另外,SoPC系統的柔性配置,使得可以基于此系統擴展片外存儲器和多路輸出。設計的小車(chē)具有較強的避障能力,且能通過(guò)接收端對其進(jìn)行方便的控制,溫度和濕度采集均達了較高的精度,并且能實(shí)現動(dòng)態(tài)顯示,無(wú)線(xiàn)收發(fā)模塊的有效范圍最遠可達300 m,可應用于較為惡劣的環(huán)境,可代替人進(jìn)行溫度和濕度的實(shí)地檢測。



關(guān)鍵詞: FPGA 機器人

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>