智能小車設計 電子設計大賽報告
《智能小車設計 電子設計大賽報告》由會員分享,可在線閱讀,更多相關《智能小車設計 電子設計大賽報告(28頁珍藏版)》請在裝配圖網上搜索。
1、 全國大學生電子設 計大賽報告 智 能 小 車 設 計 摘要:智能小車的研究、開發(fā)和應用涉及傳感技術、電氣技術、電氣控制技術、智能控制等學科,智能控制技術是一門跨科學的綜合性技術,當代研究十分活躍,應用日益廣泛的領域。智能作為現代社會的新產物,是以后的發(fā)展方向,它可以按照預先設定的模塊在一個特定的環(huán)境里自動的運行,可運用于科學勘探等用途,無需人為的管理,便可以完成預期所要達到的或更高的目標。本設計采用C8051F410 單片機為控制核心,設計了一輛智能小車并對其功能進行測試,利用單片機
2、實現小車的啟停和轉彎;利用超聲波傳感器檢測道路上的障礙,實現了小車的避障功能、避免撞到障礙物、行車時間和壁障距離的數碼顯示三大功能。整個系統(tǒng)的電路結構簡單,可靠性能高,測試結果均能滿足個環(huán)境要求。 關鍵詞:L298N 循跡 避障 測距 測速 c8051f410 Abstract: the research, development and application of intelligent car involved in sensing technology, electrical technology, electrical control technology a
3、nd intelligent control discipline, intelligent control technology is a cross science comprehensive technology, the contemporary research is very active, are applied widely. Smart as a new product of modern society, is the future development direction, it can be in accordance with the pre-set module
4、automatically run in a specific environment, can be used in scientific exploration purposes, without human management, can accomplish expected to achieve goals or higher. This design USES C8051F410 the single chip processor as the core, to design a smart car and to test its functionality, using sing
5、le-chip microcomputer realize car stop and turn; Using ultrasonic sensors to detect road obstacles, the car of the ultrasonic control, to avoid hitting obstacles, driving time and mileage of the digital display the three functions. The circuit of the whole system has simple structure, reliable perfo
6、rmance is high, the test results Keywords:L298 tracking obstacle avoidance velocity measurement 目 錄 1 引言…………………………………………………………………………………………1 2 方案論證與分析……………………………………………………………………………1 2.1 車體方案論證與分析…………………………………………………………………1 2.2 微控制器的論證與分析…………………………
7、……………………………………1 2.3 電機驅動模塊論證與分析……………………………………………………………1 2.4 循跡模塊論證與分析…………………………………………………………………2 2.5 避障測距模塊論證與分析……………………………………………………………2 2.6 測速模塊論證與分析…………………………………………………………………3 2.7 顯示模塊論證與分析…………………………………………………………………3 3 系統(tǒng)設計……………………………………………………………………………………3 3.1 系統(tǒng)總體設計………………………………………
8、…………………………………3 3.2 車體部分設計…………………………………………………………………………4 3.3 微控制器模塊設計……………………………………………………………………4 3.4 電機驅動模塊設計……………………………………………………………………5 3.4.1 L298N介紹……………………………………………………………………5 3.4.2 電機驅動電路…………………………………………………………………6 3.4.3 L298N電機驅動芯片引腳說明………………………………………………6
9、 3.5循跡模塊模塊設計………………………………………………………………………7 3.6 避障測距模塊設計……………………………………………………………………7 3.7 測速模塊設計…………………………………………………………………………8 3.8 LCD顯示模塊設計……………………………………………………………………9 4 軟件設計……………………………………………………………………………………9 4.1 軟件調試平臺…………………………………………………………………………9 4.2 系統(tǒng)軟件設計…………………
10、……………………………………………………11 4.2.1 循跡程序流程圖……………………………………………………………11 4.2.2 避障程序流程圖……………………………………………………………12 5 系統(tǒng)調試…………………………………………………………………………………12 5.1系統(tǒng)的性能指標………………………………………………………………………12 5.1.1電機驅動參數…………………………………………………………………12 5.1.2 超聲波測距模塊………………………………………………………………13
11、 5.2測試工具…………………………………………………………………………14 5.3測試過程……………………………………………………………………………14 6 設計總結…………………………………………………………………………………15 7 參考文獻…………………………………………………………………………………15 8 附錄………………………………………………………………………………………15 8.1控制及顯示原理圖…………………………………………………………………15 8.2控制部分PCB圖…………………………………………………………………16 8.
12、3總程序…………………………………………………………………………………17 1 引言 近年代,隨著電子科技的迅猛發(fā)展, 人們對技術也提出了更高的要求。汽車的智能化在提高汽車的行駛安全性,操作性等方面都有巨大的優(yōu)勢,在一些特殊的場合下也能滿足一些特殊的需要。智能小車是一個集環(huán)境感知、規(guī)劃決策、自動行駛等功能于一體的綜合系統(tǒng), 它集中地運用了計算機、傳感、信息、通信、導航、人工智能及自動控制等技術,是典型的高新技術綜合體。本設計的智能小車實現了實時顯示速度和壁障距離,循跡控制,自動避障三大功能。 2 方案論證與分析 2.1車體方案論證與分析 方案一:
13、自己到電子市場買到所需小車組件,進行組裝,價格比較便宜但實用性較差,可能不能滿足制作小車的需要。需要自己制作花費精力,又不能保證在一定時間內做出,因為要考慮到要在短時間做出,所以排除此種方案。 方案二:網購小車車體,易于電路的安裝和調試,外形美觀,價格一般,也方便后邊整改電路,能滿足此次設計要求。 方案三:采用RP5履帶車底盤,其比較專業(yè),驅動能力強,扭矩大,造型美觀,擴展性強,但價格昂貴。 比較三種方案,考慮到時間、精力,價格方面,方案二能滿足此次制作要求。 2.2 微控制器的論證與分析 微控制器是系統(tǒng)控制的中心部件,負責控制與協(xié)調各種傳感器的監(jiān)測工作
14、??刂破鞯暮脡闹苯佑绊懙杰囎拥恼w性能,控制器的類型很多,主要有: 方案一:采用可編程邏輯器件CPLD。CPLD可以實現各種復雜的邏輯功能、規(guī)模大、密度高、體積小、穩(wěn)定性高、IO資源豐富、易于進行功能擴展且具有各種IP核可以調用。其采用并行的輸入輸出方式,提高了系統(tǒng)的處理速度,適合作為大規(guī)??刂葡到y(tǒng)的控制核心。但本系統(tǒng)不需要復雜的邏輯功能,對數據的處理速度的要求也不是非常高,且從使用及經濟的角度考慮,我們放棄了此方案。 方案二:采用MCS-51系列單片機。采用MCS-51系列單片機,經典的MCS-51單片機功能和速度有限;而高檔的MCS-51系列衍生產品價格昂貴、冗余資源較多、使用
15、范圍較窄,價格較貴。 方案三:采用單片機C8051F410。c8051f系列兼容了51指令,片內資源豐富,單片機運算功能強,軟件編程靈活,自由度大,可與常用51單片機兼容,可用軟件編程實現各種算法和邏輯控制,并且由于其功耗低,體積小,技術成熟和成本低等優(yōu)點,使其在各個領域應用廣泛??紤]到此次設計的難易程度、價格因素等單片機的要求就選擇c8051f410這種單片機作為小車的控制核心。 綜上述幾種方案論證,選擇方案三作為這次比賽的控制核心部件。 2.3 電機驅動模塊論證與分析 方案一:采用傳統(tǒng)的功率三極管搭建驅動橋作為功率放大器的輸出控制直流電機。線性型驅動的電路結構和原理
16、簡單,成本低,加速能力強,但功率損耗大,特別是低速大轉距運行時,通過電阻R的電流大,發(fā)熱厲害,損耗大,對環(huán)境要求較高,不能滿足制作要求。 方案二:采用繼電器對電動機的開或關進行控制,通過開關的切換對小車的速度進行調整.此方案的優(yōu)點是電路較為簡單,缺點是繼電器的響應時間慢,易損壞,壽命較短,價格貴,笨拙可靠性不高。 方案三:采用專用芯片L298N作為電機驅動芯片。L298N是一個具有高電壓大電流的全橋驅動芯片,它相應頻率高,一片L298N可以分別控制兩個直流電機,而且還帶有控制使能端。用該芯片作為電機驅動,操作方便,穩(wěn)定性好,性能優(yōu)良,容易買到。且由L298N結合單片機可實現對小
17、車速度的精確控制。這種調速方式有調速特性優(yōu)良、調整平滑、調速范圍廣、過載能力大,能承受頻繁的負載沖擊,還可以實現頻繁的無級快速啟動、制動和反轉等優(yōu)點。 綜合考慮,我們選用方案三作為此次設計的驅動部件。 2.4 循跡模塊論證與分析 巡跡是指小車在白色地板上檢測黑線,執(zhí)行相應的動作,通常采用的方案有: 方案1:利用光敏電阻組成光敏探測器。光敏電阻的阻值可以跟隨周圍環(huán)境光線的變化而變化。當光線照射到白線上面時,光線發(fā)射強烈,光線照射到黑線上面時,光線發(fā)射較弱。因此光敏電阻在白線和黑線上方時,阻值會發(fā)生明顯的變化。將阻值的變化值經過比較器就可以輸出高低電平。但是這種方案受光照影響
18、很大,不能夠穩(wěn)定的工作。 方案2:采用顏色傳感器。顏色傳感器對顏色具有較高分辨率,能較準確區(qū)分各種顏色,但它易受外界光的干擾并且價格昂貴,在此處只為區(qū)分黑白色,沒有必要使用。 方案3:采用紅外探測法實現。紅外探測法,即利用紅外線在不同顏色的物體表面具有不同的反射性質的特點。在小車行駛過程中不斷地向地面發(fā)射紅外光,當紅外光遇到白色紙質地板時發(fā)生漫反射,反射光被裝在電動小車上的接收管接收;如果遇到黑線則紅外光被吸收,電動小車上的接收管接收不到紅外光。單片機根據是否收到反射回來的紅外光來確定黑線的位置,從而控制小車的行走路線。采用紅外線發(fā)射,外面可見光對接收信號的影響較小,再用射極輸
19、出器對信號進行隔離。紅外探測法常采用的元件是反射式紅外線光電傳感器。它的特點是尺寸小、使用方便、工作狀態(tài)受溫度影響小。它的外圍電路簡單且工作可靠。 經過比較分析,從經濟性和可靠性選擇方案3作為巡跡檢測電路的方案。 2.5 避障測距模塊論證與分析 方案一:采用激光傳感器測距。能非常準確地測出小車與障礙物的距離,但是單個發(fā)射器的照射范圍不能太小,而且價格昂貴、速度快,因此不使用激光管作為測距模塊。 方案一:紅外反射式傳感器優(yōu)點是檢測周期短,能夠較實時的對小車進行控制;缺點是前瞻距離小,處理電路復雜,檢測精度低,功耗大。 方案二:采用超聲波傳感器。超
20、聲波是一種振動頻率高于聲波的機械波,由換能晶片在電壓的激勵下發(fā)生振動產生的,它具有頻率高、波長短、繞射現象小,特別是方向性好、能夠成為射線而定向傳播,而且抗干擾能力強,不受物體表面顏色的影響等特點。超聲波由發(fā)射和接受兩大部分組成,除了電路,主要器件是超聲換能器,其基本原理是基于壓電效應。發(fā)射與接受往往使用同一個探頭。超聲波測距是通過發(fā)射聲波,接受反射回波并計算回波時間從而得出與反射物體的距離。R=VT/2簡易機器人往往應用超聲波探測前方障礙物的距離,從而實現避障功能。超聲波不受被測物體的透明度、顏色、電導率的影響,但不適合測量海棉或棉織物等吸音材料。而且它不僅可用于測距,還可用于避障。
21、 考慮到經濟可靠,選用第三種方案。 2.6 測速模塊論證與分析 方案一:采用紅外傳感器進行測速。但無論是反射式紅外傳感器還是對射式紅外傳感器,他們對都對外圍環(huán)境要求較高,易受外部環(huán)境的影響,穩(wěn)定性不高,安裝困難且價格較為昂貴。 方案二:采用霍爾開關元器件A44E檢測輪子上的小磁鐵從而給單片機中斷脈沖,達到測量速度的作用。霍爾元件具有體積小,頻率響應寬度大,動態(tài)特性好,對外圍電路要求簡單,使用壽命長,價格低廉等特點,電源要求不高,安裝也較為方便。但是它的轉換率較低,溫度影響大,要求轉換精度高時,必須進行溫度補償。 方案三:采用光電傳感器。光電檢測方法具有精度高、反應快、非
22、接觸等優(yōu)點,而且可測參數多,傳感器的結構簡單,抗干擾性較強,形式靈活多樣,因此,光電式傳感器在檢測和控制中應用非常廣泛。光電傳感器是各種光電檢測系統(tǒng)中實現光電轉換的關鍵元件,它是把光信號(紅外、可見及紫外光輻射)轉變成為電信號的器件。它的優(yōu)點為:檢測距離長、對檢測物體的限制少、響應時間短、分辨率高、可實現非接觸的檢測、可實現顏色判別、便于調整。 綜上考慮,選用方案三,配合電機碼盤進行測速。 2.7 顯示電路論證與分析 方案一:LED數碼管顯示。優(yōu)點:亮度高、工作電壓低、小型化、壽命長、耐沖擊和性能穩(wěn)定、易于查看。缺點:數碼管的只能顯示簡單的數字,功耗大,其電路復雜,占用資
23、源較多,顯示信息少,不宜顯示信息量大的特點。 方案二:采用LCD1602液晶顯示器。可以顯示各種英文及數字,微功耗,尺寸小,超薄輕巧,顯示信息量大,字跡美觀,視覺舒適,而且容易用單片機進行控制。 經比較選擇LCD1602液晶顯示器作為顯示器件。 3 系統(tǒng)設計 3.1 系統(tǒng)總體設計 本組智能小車的硬件主要有以C8051F410作為核心的主控器部分、自動循跡部分、顯示部分、路程檢測部分、障礙物檢測部分、測速部分、電機驅動部分。小車硬件系統(tǒng)結構示意圖如下: 單 片 機 控 制 器 測速電路 循跡模塊 壁障模塊 測距模塊 顯示電路 驅動電路 測試模塊
24、 3.2 車體設計 智能小車采用前后輪驅動,四個輪子各用一個電機驅動,通過控制四個輪子的轉向來控制小車行進方向,采用四輪小車控制靈活,沒有甩頭也沒有推頭,能滿足各個環(huán)境的要求。 3.3 微控制器設計 經上述論證,我們采用C8051F410芯片作為主控芯片,其主要完成以下任務:電機的轉速及轉向控制、數碼管顯示控制等。 根據題目的要求,我們制作了C8051F410的最小系統(tǒng)板,這樣用起來方便、靈活可根據需求搭建任意電路,其主要包括:電源、ISP下載接口、晶振電路、復位電路。 C8051f410單片機主要有以下特征: ① 模擬外設:12位 ADC;兩個12位電流輸出DAC
25、;兩個比較器(可編程回差電壓和 響應時間、可配置為喚醒或復位源、上電復位/欠壓檢測器、電壓基準— 1.5V、2.2V(可編程)) ② 在片調試:片內調試電路提供全速、非侵入式的在系統(tǒng)調試(不需仿真器);支持斷點、單步、觀察/修改存儲器和寄存器;完全的開發(fā)套件 ③ 供電電壓 2.0V ~ 5.25V:內建LDO穩(wěn)壓器:2.1或2.5 V;高速8051微控制器內核;流水線指令結構;70%的指令的執(zhí)行時間為一個或兩個系統(tǒng)時鐘周期;速度可達50MIPS(時鐘頻率為50MHz時);擴展的中斷系統(tǒng) ④ 存儲器:2304字節(jié)內部數據RAM(256+2048);32/16KB FLASH;可
26、在系統(tǒng)編程,扇區(qū)大小為512字節(jié);64字節(jié)電池后備RAM(smaRTClock) ⑤ 數字外設:24個端口I/O;推挽或漏極開路,耐5.25 V電壓 ;可同時使用的硬件SMBus(I2C兼容)、SPI和UART串口;4個通用16位計數器/定時器;16位可編程計數器/定時器陣列(PCA),有6個捕捉/比較模塊和WDT;硬件實時時鐘(smaRTClock),工作電壓可低至1V,64字節(jié)電池后備RAM和后備穩(wěn)壓器 ⑥ 時鐘源;內部振蕩器:24.5MHz,2%精度,可支持UART操作;時鐘乘法器可達50MHz;外部振蕩器:晶體、RC、C、或外部時鐘;smaRTClock振蕩器:32KHz晶
27、體或諧振器;可在運行中切換時鐘源 ⑦ 32腳LQFP或28腳5x5 QFN封裝 溫度范圍:-40C - +85C 3.4 電機驅動模塊設計 3.4.1 L298N介紹 L298N是一種高電壓、大電流電機驅動芯片。該芯片采用15腳封裝。L298N的主要特點是:工作電壓高,最高工作電壓可達46V;輸出電流大,瞬間峰值電流可達3A,持續(xù)工作電流為2A;內含兩個H橋的高電壓大電流全橋式驅動器,可以用來驅動直流電動機和步進電動機、繼電器、線圈等感性負載;采用標準TTL邏輯電平信號控制;具有兩個使能控制端,在不受輸入信號影響的情況下允許或禁止器件工作;有一個邏輯電源輸入端
28、,使內部邏輯電路部分在低電壓下工作;可以外接檢測電阻,將變化量反饋給控制電路。內含兩個H橋的高電壓大電流全橋式驅動器,可以用來驅動直流電動機和步進電動機、繼電器線圈等感性負載;采用標準邏輯電平信號控制;具有兩個使能控制端,在不受輸入信號影響的情況下允許或禁止器件工作.L298內部的原理圖如圖1所示: 3.4.2 電機驅動電路 L298是SGS公司的產品,比較常見的是15腳Multiwatt封裝的L298N,內部同樣包含4通道邏輯驅動電路??梢苑奖愕尿寗觾蓚€直流電機,或一個兩相步進電機。 L298N芯片可以驅動兩個二相電機,也可以驅動一個四相電機,輸出電壓最高可達50
29、V,可以直接通過電源來調節(jié)輸出電壓;可以直接用單片機的IO口提供信號;而且電路簡單,使用比較方便。考慮到節(jié)省能耗和成本的高低,我們選用L298驅動兩相步進電機。原理圖如圖2所示: 圖2 3.4.3 L298N電機驅動芯片引腳說明 L298N可接受標準TTL邏輯電平信號,VSS可接4.5~7 V電壓。4腳VS接電源電壓,VS電壓范圍VIH為+2.5~46 V。輸出電流可達2.5 A,可驅動電感性負載。1腳和15腳下管的發(fā)射極分別單獨引出以便接入電流采樣電阻,形成電流傳感信號。L298可驅動2個電動機,OUT1,OUT2和OUT3,OUT4之間可分別接電
30、動機,5,7,10,12腳接輸入控制電平,控制電機的正反轉。EnA,EnB接控制使能端,控制電機的停轉。L298N邏輯功能控制表如圖3所示,外形及封裝如圖4所示: ENA IN1 IN2 運轉狀態(tài) 0 停止 1 1 0 正轉 1 0 1 反轉 1 1 1 剎停 1 1 0 停止 圖3 L298N功能 In3,In4的邏輯控制表與上表相同。由上表可知EnA為低電平時,輸入電平對電機控制不起作用,當EnA為高電平,輸入電平為一高一低,電機正或反轉。同為低電平電機停止,同為高
31、電平電機剎停。 圖3 L298N實物圖 3.5 循跡模塊設計 循跡是指小車在白色地板上循黑線行走通常采取的方法是紅外探測法,紅外探測法即利用紅外線在不同顏色的物體表面具有不同的反射性質的特點,在小車行駛過程中不斷地向地面發(fā)射紅外光,當紅外光遇到白色紙質地板時發(fā)生漫反射反射光被裝在小車上的接收管接收,如果遇到黑線則紅外光被吸收小車上的接收管接收不到紅外光 ,單片機就是否收到反射回來的紅外光為依據來確定黑線的位置和小車的行走路線 ,從而實現小車的循跡功能。紅外探測器探測距離有限一般最大不應超過3cm。循跡功能如圖所示: 3.6 避障測距模塊設
32、計 超聲波模塊是用來測距并且避障用的,當檢測到距離障礙物很近時,就給主程序一個信號,提示要轉彎了,而轉彎的角度則通過不斷的測距來實現,當距離穩(wěn)定后則不再偏轉。我們沒有選用現有的超聲波測距模塊,而是自己根據超聲波的原理,利用超聲波探頭和一些外圍電路而搭建起超聲波模塊。超聲波測距的原理如下: 首先超聲波傳感器向空氣中發(fā)射聲脈沖, 聲波遇到被測物體反射回來, 若可以測出第一個回波達到的時間與發(fā)射脈沖間的時間差t,利用,即可算得傳感器與反射點間的距離s , 測量距離,若s>>h 時,則d ≈ s。 系統(tǒng)中有三個超聲波模塊,其中每個都有接收探頭與發(fā)射探頭,這兩個模塊分別位于小車的左、右
33、處,來進行測距以達到避障的效果。 對于放射探頭,我們選用的是發(fā)射頻率為40KHz的一種,該類型現在應用較普遍,電路也比較簡單,只需給發(fā)射端40KHz的脈沖,發(fā)射探頭即不斷的往外發(fā)送超聲波。 對于接收探頭,因為接收的超聲波信號很微弱而且考慮到干擾的因素,接收端有放大電路與濾波電路。當接收到超聲波時,IO口即為高電平。若此IO支持外部中斷,則可在MCU中引發(fā)中斷。在我們的系統(tǒng)中,三個超聲波模塊接收端都有外部中斷功能的IO口來確定是否檢測到超聲波。因此通過計算測的距離障礙物的距離然后就可以判斷是否轉彎。 3.7測速模塊設計 測速模塊的功能是完成當前小車速度信息采集,并輸出標準脈沖信號,供
34、單片機處理,運算出小車實時速度。我們使用的是光電傳感器,光電式傳感器是以光電器件作為轉換元件的傳感器。光電式傳感器的工作原理是:首先將被測量的變化轉換成光信號的變化,然后通過光電器件轉換成電信號。光電式傳感器一般由輻射源、光學通路和光電器件三部分組成。被測量通過對輻射源或光學通路的影響,將被測信息調制到光波上,通常改變光波的強度、相位、空間分布和頻譜分布等,光電器件將光信號轉化為電信號。電信號經后續(xù)電路的解調分離出被測信息,從而實現對被測量的測量。 3.8 LCD顯示模塊設計 采用市面上容易購買1602LCD,由單片機的總線模式連接。為節(jié)約電源電量并且不影響LCD的功能,LCD的背光用
35、單片機進行控制,使LCD的背光在小車行駛的過程中不亮,因為我們不必看其顯示;在其它我們需要看顯示的內容的時候LCD背光亮。 4 軟件設計 4.1 軟件調試平臺 Keil for C51是美國Keil Software公司出品的C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用。Keil C51軟件提供豐富的庫函數和功能強大的集成開發(fā)調試工具,全Windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到Keil for C51生成的目標代碼效率非常之高,多數語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現
36、高級語言的優(yōu)勢。下面詳細介紹Keil for C51開發(fā)系統(tǒng)各部分功能和使用。 C51開發(fā)中除必要的硬件外,同樣離不開軟件,我們寫的源程序要變?yōu)镃51可以執(zhí)行的機器碼有兩種方法,一種是手工匯編,另一種是機器匯編,目前已極少使用手工匯編的方法了。隨著C51開發(fā)技術的不斷發(fā)展,從普遍使用匯編語言到逐漸使用高級語言開發(fā),單片機的開發(fā)軟件也在不斷發(fā)展,Keil軟件除了致力于單片機的編程開發(fā)平臺外,還針對目前最流行C51開發(fā)項目出品了Keil for 51軟件平臺以及支持在線調試的串口燒寫。 從近年來各仿真機廠商紛紛宣布全面支持Keil即可看出。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一
37、個功能強大的仿真調試器等在內的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(uVision2)將這些部份組合在一起。如圖4-1 所示 圖4-1 Keil for 51 開發(fā)平臺截圖 KEIL for C51 編譯平臺對51單片機的器件選型設置。如圖4-2所示。 圖4-2 MCU選型設置 4.2 系統(tǒng)軟件設計 4.2.1循跡程序流程圖 若小車偏左的時候,車輪將向右偏轉;若小車偏右,車輪將向左偏轉;為了識別大小
38、彎道我們用一個長的循跡模塊和一個短的循跡模塊配合使用,這樣更能避免小車沖出跑道,若沒有偏移,小車將繼續(xù)向前;若小車完全偏離黑色軌跡,小車后邊的循跡傳感器會自動讓它停車。后邊的循跡模塊主要完成終點線的檢測。 4.2.2 避障程序流程圖 我們的作品用2個傳感器實現蔽障,前后兩個用來判斷前方是否有障礙物。左右靠前的位置有兩個傳感器,探測距離比較近,防止左右碰壁。左邊車身中間位置有一個傳感器,此傳感器探測距離比較遠,用來判斷左邊是否是出口。上邊還加一個超聲波避障傳感器,來配合紅外避障。 軟件設計時當前面?zhèn)鞲衅鳈z測到障礙物,左邊車身中間的傳感器也檢測到障礙物時則向左轉,否則向右轉,當完成了4次
39、轉彎,即進入第三條直到,只需檢測左邊這個傳感器,當無障礙物時,向右轉,然后直走,直到前面兩個傳感器檢測到障礙物時,向右轉,然后進入正常檢測,最終完成蔽障。 5 系統(tǒng)調試 5.1 系統(tǒng)計算與分析 5.1.1 電機驅動參數計算與分析 ⑴ 電氣時間常數:電樞電流從零開始達到穩(wěn)定值的63.2%時所經歷的時間。測定電氣時間常數時,電動機應處于堵轉狀態(tài)并施加階躍性質的驅動電壓。電氣時間常數工程上常常利用電樞繞組的電阻Ra和電感La求出: Te=La/Ra ⑵ 機械時間常數:電動機從啟動到轉速達到空載轉速的63.2%時所經歷的時間。測定機 械時間常數時,電動機應處于空載運行狀態(tài)并施加階
40、躍性質的階躍電壓。機械時間常數工程上常常利用電動機轉子的轉動慣量J和電樞電阻Ra以及電動機反電動勢系數Ke、 轉矩系數Kt求出: Tm=J* Ra/Ke* Kt ⑶ 轉速:電動機旋轉的速度,工程單位為r/min,即轉每分,在國際單位制中為rad/s,即弧每秒。 ⑷ 工作電流:在單個電機正常工作或停止的工作電流 100MA,四個電機同時工作時總電流 570MA。 ⑸ 直流電機參數表: 5.1.2 超聲波測距模塊計算 ⑴ 參數: 使用電壓:DC5V 靜態(tài)電流:小于2mA 感應角度:不大于15度 探測距離:2
41、cm-450cm 距離計算公式:d=(s*0.034)/2 cm D為檢測距離 S為超聲波回來的時間 0.034為聲速,環(huán)境溫度不同聲速也不相同 ⑵ 使用方法: 控制口發(fā)一個10US以上的高電平,就可以在接收口等待高電平輸出.一有輸出就可以開定時器計時,當此口變?yōu)榈碗娖綍r就可以讀定時器的值,此時就為此次測距的時間, 可算出距離.如此不斷的周期測,就可以達到移動測量的效果。 5.1.3 測速模塊計算 用紅外對管傳感器進行測速,經實際測得輪子圓周為20.5cm,電機的碼盤為20個孔,在一定時間測得通過圓孔的
42、個數然后再乘以0.025就知道小車行駛的路程。 d=(C*0.025/500)*2 (cm/s) C為每500ms內的計數值 0.025是車輪的周長(20.5cm)和碼盤圓孔的個數(20個)的比值 5.2 測試工具: 儀器名稱 用途 電腦 調試及下載程序 數字萬用表 測量各種電路工作情況 直流穩(wěn)壓電源 提供系統(tǒng)工作電壓 5.3 測試過程 由于智能小車屬于移動性高精度實時控制領域,因此各模塊必須具有精度高、傳感器綜合控制、智能控制等性能要求,所以測試時將整個系統(tǒng)分為傳感器測試模塊,電機測試模塊,程序測試,總體測試。 傳感
43、器測試:作品采用了九對紅外對管用于信息檢測,三只用于檢測黑線,二只用于檢測障礙小車,測試過程中我們用白紙黑膠帶模擬測試,用其他物品模擬障礙物,調整程序來調整需要的測試范圍。 超聲波檢測參數: 工作電流 檢測角度 檢測距離 理論值 2ma <15度 2——450cm 實際值 2.85ma <13度 2——415cm 避障模塊檢測參數: 工作電流 檢測角度 檢測距離 理論值 2ma <35 2——30cm 實際值 2.9ma <30 2——26cm 循跡模塊的檢測距離測得為0—3cm PWM調速測試:通過單片機產生PWM波形來控制LN
44、298驅動模塊的使能端進行控制小車速度,中間用按鍵來控制小車的速度,調節(jié)到塞題要求。 測距測試:用超聲波來進行測量小車與障礙物的距離,聲速根據溫度、環(huán)境的不同而變化,在一般情況下聲速是340M/S。 電機模塊測試:我們通過程序,給電機下載不同的指令,觀察電機是否按照設定的方試轉動。 程序測試:通過與傳感器模塊,電機模塊一起協(xié)同測試。 整體測試:當所有的模塊測試沒有問題后,我們協(xié)力按照大賽要求制作了跑道,通過跑道進一步進行精確測試,認真編寫程序,通過分析、修改數據參數,根據環(huán)境溫度及光照的變化來調節(jié)傳感器靈敏度以實現設計要求。在軌道上也多次調節(jié)小車運動彎度,最終成
45、功完成題目要求。 6 設計總結 經過的奮戰(zhàn),智能小車終于能按照設計要求在預定軌道實現了全部功能。感覺小車設計的關鍵點不在控制程序的算法,而在于小車的環(huán)境溫度,小車最容易受到電壓波動、光照、贓物等東西的影響。只要給小車的工作環(huán)境能好,在調程序這樣設計起來受外界影響就小。在整個過程中,我們不僅在通力合作中體會到了團結的重要性。還將理論與實踐結合了起來,培養(yǎng)了一定的科研能力,拓寬了知識面。展望未來,智能車技術必將在更廣闊的領域廣泛應用。本智能小車系統(tǒng)最誘人的前景就是可用于未來的智能汽車上了。當駕駛員因疏忽或打瞌睡時這樣的智能汽車的設計就能體現出它的作用。在設計過程中,由于電機的反復運轉引起電壓不
46、穩(wěn)定,導致小車未按照規(guī)定的賽道奔跑,出現亂跑現象,經過穩(wěn)壓芯片從而使電壓恢復正常。 7 參考文獻 [1]郭惠,吳迅.單片機C語言程序設計完全自學手冊[M].電子工業(yè)出版社,2008.10:1-200. [2]王東鋒,王會良,董冠強. 單片機C語言應用100例[M]. 電子工業(yè)出版社,2009.3:145-300. [3]韓毅,楊天. 基于HCS12單片機的智能尋跡模型車的設計與實現[J].學術期 刊,2008,29(18):1535-1955. [4] 王曉明. 電動機的單片機控制[J]. 學術期刊,2002,13(15):1322-1755. [5]Yamato I , et
47、 al 1 New conversion system for UPS using high fre2 quency link[J ]1 IEEE PESC ,1988 :210-320. [6]Yamato I , et al 1 High frequency link DC/ AC converter for UPS with a new voltage clamper[J ]1IEEE PESC ,1990 :52-105. 8 附錄 8.1 控制及顯示原理圖 8.2 控制部分PCB圖 8.1 總程序 #include "C8051F410.h" #in
48、clude "410.h" #include "CH452.h" typedef unsigned char uchar; typedef unsigned int uint ; sfr16 TMR3RL=0X92; sfr16 TMR3 =0X94; sbit Left_0 =P2^0; //左輪電機 sbit Left_1 =P2^1; sbit Right_0=P2^2; //右輪電機 sbit Right_1=P2^3; sbit Track_Left=P1^0; //左邊循跡傳感器 sbit Track_Right=P1^1; //右邊循跡
49、傳感器 sbit Track_Middle=P1^2; //右邊循跡傳感器 sbit Trig = P0^1; //產生脈沖引腳 sbit Echo = P0^0; //回波引腳 uchar Count; uchar Jishu; uchar outcomeH,outcomeL; uint distance_data; uchar Leiji; uint Abc; bit Stop_flag_0=0; bit Stop_flag_1=0; bit Go=1; bit succeed_flag; void Deley_Ms(uint i) { u
50、nsigned int j; do{ for(j=0;j!=1000;j++) {;} }while(--i); } //延時20US void delay_us() { char a=50; while(a--); } //////////定時器0//////////////// void timeset(unsigned int adt) { unsigned long int tt; tt=65535-(12250000/12/1000)*adt; TMR3RL=tt; TMR3 =tt; }
51、/////////////前進////////////////// void Car_Forward() { Left_0=0; Left_1=1; Right_0=0; Right_1=1; } /////////////后退////////////////// void Car_Back() { Left_0=1; Left_1=0; Right_0=1; Right_1=0; } /////////////左轉////////////////// void Car_Left() { Le
52、ft_0=1; Left_1=0; Right_0=0; Right_1=1; } /////////////右轉////////////////// void Car_Right() { Left_0=0; Left_1=1; Right_0=1; Right_1=0; } /////////////停止////////////////// void Car_Stop() { Left_0=0; Left_1=0; Right_0=0; Right_1=0; } ///////
53、///////////////壁障程序////////////////// void Counterguard() { uint w; Trig=1; delayus(); Trig=0; //產生一個20us的脈沖,在Trig引腳 for(w=0;w<1000;w++) { if(Echo==1) goto aa; //等待Echo回波引腳變高電平 } goto bb; aa: succeed_flag=0; //清測量成功標志
54、 EX0=1; //打開外部中斷 TH1=0; //定時器1清零 TL1=0; //定時器1清零 TR1=1; //啟動定時器1 while(TH1 < 30);//等待測量的結果,周期65.535毫秒(可用中斷實現) bb: TR1=0; //關閉定時器1 EX0=0; //關閉外部中斷 if(succeed_flag==1) { distance_data
55、=outcomeH*0x100+outcomeL; //測量結果的高8位 distance_data=(uint)((float)distance_data*0.97*0.034)/2; //0.97定時器校準到us,0.34是聲速,結果是xx.x厘米 } } /******************************
56、***************/ void main() { uchar speed; Init_Device(); //器件初始化 CH452_Init(); //CH452初始化 timeset(50); //定時50毫秒 ,用來判斷終點 EA=1; EX1=1; ET0=1; TR0=1; IT1=1; Car_Stop(); Deley_Ms(100); while(1) { Countergua
57、rd(); if((distance_data>6)&&(distance_data<30)&&(Go==1)) //如果距離小于15壁障 { Deley_Ms(2);Counterguard(); if((distance_data>5)&&(distance_data<20)&&(Go==1)) {Car_Left(); PCA0CPH0=30;PCA0CPH1=30; //這里向左轉45度 Deley_Ms(300); PCA0C
58、PH0=55;PCA0CPH1=55; } } if((Track_Left==1)&&(Track_Right==1)&&(Go==1)) { Car_Forward(); } if((Track_Left==1)&&(Track_Right==0)&&(Go==1)) { TMR3CN=0x04;EIE1 = 0x80; Stop_flag_0=1; if(Stop_flag_0==1) { Car_Stop(); Go=0;
59、} else { Car_Right(); PCA0CPH0=30;PCA0CPH1=30; //這里轉45度 Deley_Ms(300); PCA0CPH0=55;PCA0CPH1=55; } } if((Track_Left==0)&&(Track_Right==1)&&(Go==1)) { TMR3CN=0x04; EIE1 = 0x80; Stop_flag_1=1; if(Stop_flag_0==1) { Car_St
60、op(); Go=0;} else { Car_Left(); PCA0CPH0=30;PCA0CPH1=30 ; //這里轉45度 Deley_Ms(300); PCA0CPH0=55;PCA0CPH1=55; } } if(Track_Middle==0) { Car_Stop(); Go=0; } if(Leiji>=10) { Abc/=10;
61、speed=(uchar)((float)Abc*0.41); Display_Left(speed); Display_Right((uchar)distance_data); Jishu=0; Leiji=0; EX1=1; TR0=1; } } } ///////////////定時器3中斷/////////////// void T3_ISR() interrupt 14 { TMR3CN&=0X7F; //清楚中斷標志
62、 Count++; if(Count>=40) { Count=0; EIE1 &= 0x7f; TMR3CN&=0xfb; Stop_flag_0=0; Stop_flag_1=0; } } //*************************************************************** //外部中斷0,用做判斷回波電平 void INTO_() interrupt 0 // 外部中斷是0號 { outcomeH =TH1;
63、 //取出定時器的值 outcomeL =TL1; //取出定時器的值 succeed_flag=1; //至成功測量的標志 EX0=0; //關閉外部中斷 } ////////////////這個定時器用來測速///////////////////////// void Timer_0() interrupt 1 //這里可以累技求平均 { TH0=0X9c; TL0=0X4f; Leiji++; if(Leiji<10) { Abc+=Jishu
64、; } else { EX1=0; TR0=0; } } //////////////這里用來測速,輪子周長20.5Cm。碼盤20個/////////////////////////// void waibu_1() interrupt 2 { Jishu++; } //**************************************************************** //定時器1中斷,用做超聲波測距計時 void timer1() interrupt 3 // 定時器0中斷是1號 { TH1=0; TL1=0; } 25
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。