基于51單片機的智能小車
《基于51單片機的智能小車》由會員分享,可在線閱讀,更多相關《基于51單片機的智能小車(21頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 唐山師范學院本科畢業(yè)論文 題 目 基于單片機的智能小車的設計 學 生 **** 指導教師 ***講師 年 級 2008級 專 業(yè) 電子信息科學與技術(shù) 系 別 物理系 唐山師范學院物理系 2012年5月 鄭重聲明 本人的畢業(yè)論文是在老師的指導下獨立撰寫完成的。如有剽竊、抄襲、造假等違反學術(shù)道德、學術(shù)規(guī)范和侵權(quán)的行為,本人愿意承擔由此產(chǎn)生的各種后果,直至法律責任,并愿意通過網(wǎng)絡接受公眾的監(jiān)督。特此鄭重聲明。 畢業(yè)論文作者(簽名): 年
2、 月 日 目錄 摘要 3 第一章 引言 3 第二章 方案說明 3 2.1、方案論證 3 2.2、總體設計方案概述 4 第三章 硬件電路設計 5 3.1、主控電路 5 3.1.1、L7805穩(wěn)壓器 5 3.1.2、MAX232芯片簡介 6 3.2、八路紅外傳感器模塊 6 3.2.1、LM324簡介 6 3.2.2、74HC14D簡介 6 3.3、L298N電機驅(qū)動模塊 7 3.3.1、L298N簡介 8 3.4、機械部分 9 第四章 軟件系統(tǒng)設計 9 4.1、程序流程圖 9 4.2、程序設計方案 9 參考文獻 12
3、第五章 結(jié)束語 12 致謝 12 附錄1 13 附錄2 13 外文頁 20 基于單片機的智能小車的設計 摘要 本文介紹了基于STC89C52單片機的智能小車的設計與實現(xiàn)。小車主要能夠識別黑線并檢測障礙物從而實現(xiàn)在固定跑道內(nèi)行駛并且可自動避障。小車以STC89C52單片機控制器;采用八路紅外傳感器及其處理模塊實現(xiàn)對黑線及障礙物的檢測;通過單片機產(chǎn)生PWM波并通過L298N來對小車的方向和速度進行控制。 關鍵字 STC89C52 單片機 紅外傳感器 PWM L298N 第一章 引言 社會的發(fā)展,科技的進步,使得人們對生活中的很多事物都提出了更高的要求,就
4、像人們自己走累了便想到了坐車,所以馬車出現(xiàn)了;而馬車已經(jīng)滿足不了人們對速度的追求的時候,便又發(fā)明了汽車,所以科技創(chuàng)新是基于人們的需要而出現(xiàn)的;那么到了現(xiàn)在這個普通汽車已經(jīng)很普遍的掌控在人們手中的時候,一個新的概念便被提了出來,它就是智能車。 其實,智能車研究最早都是在一些科技發(fā)達的國家進行的,所以比較早接觸智能車領域的一些國家已經(jīng)對智能車輛進入了深入、系統(tǒng)、大規(guī)模的研究階段[1]。 我國智能車的研究起步較晚,所以很多還集中在某個單項技術(shù)的研究上,不過對于智能車技術(shù)的探索卻如雨后春筍;各種智能車大賽層出不窮,各高校及研究機構(gòu)也紛紛加入智能車的研究行列[2]。本設計就是根據(jù)前人在智能小車的
5、設計的基礎上對其進行的又一次全新的探索。 本車的設計充分考慮了成本與性能綜合,它以STC89C52單片機為核心,采用了大扭力的四驅(qū)小車底盤,使小車具有充足的動力;除此外小車安裝了八路紅外傳感器用來檢測黑線和障礙物,所以小車具有較好的反應速度與檢測精度。 第二章 方案說明 2.1、方案論證 (1)控制系統(tǒng) 方案一:采用MC9S12DG128單片機,該單片機以運算速度很快的CPU12內(nèi)核為核心的單片機,經(jīng)過鎖相環(huán)后,時鐘頻率可達到40MHz,內(nèi)部Flash高至128KB,擁有2組各8路10位A/D、16路I/O口,有功能強大的8位PWM輸出共8路,以及8路16位增強型定時器(ECT),相
6、比STC89C52單片機它編程更加簡單,反應速度快;但是成本較高且短時間內(nèi)不易掌握。 方案二:采用STC89C52單片機,該單片機是一種低功耗、高性能CMOS8位微控制器,具有 8K 在系統(tǒng)可編程Flash 存儲器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應用系統(tǒng)提供高靈活、有效的解決方案。 具有以下標準功能: 8k字節(jié)Flash,512字節(jié)RAM, 32 位I/O 口線,看門狗定時器,內(nèi)置4KB EEPROM,MAX810復位電路,三個16 位 定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口 [3] 。其完全可以滿足本設計對小
7、車功能的要求,并且價格便宜;所以本設計最終選用STC89C52單片機作為其控制芯片。 (2)避障與尋線傳感器 方案一:采用US-100超聲波測距模塊,該模塊可實現(xiàn)2cm~4.5m的非接觸測距功能,擁有2.4~5.5V的寬電壓輸入范圍,靜態(tài)工作電流2mA,自帶溫度傳感器對測距結(jié)果進行校正,同時具有GPIO,串口等多種通信方式,內(nèi)帶看門狗,工作穩(wěn)定可靠且方向性好但其近距離反射時干擾較大。 方案二:采用八路紅外對管及處理模塊,該模塊可工作在3.3到5V電壓下檢測距離在1-6厘米,采用多圈式電阻調(diào)節(jié)檢測距離,且尺寸較小可方便的搭載在小車上,同時其平均價格要比US-100要低;其八路的傳感器
8、可分別用作測距與檢測黑線;綜合上述考慮,本設計采用八路紅外對管作為其避障與尋線傳感器。 2.2、總體設計方案概述 八路紅外傳感器 STC89C52單片機系統(tǒng) L298N電機控制模塊 電機 圖1 總體設計框圖 本設計以STC89C52單片機系統(tǒng)為控制中心,通過八路紅外傳感器模塊中的兩路傳感器檢測障礙物,四路傳感器檢測黑線,檢測障礙物的兩路傳感器分別分布在車頭的兩端,使其能夠檢測車前較大范圍內(nèi)的障礙物,盡量減小檢測盲區(qū);檢測黑線的四路傳感器分別分布在小車的四角,從而能夠保證小車在跑道內(nèi)行駛。傳感器在接通電源后會不斷的發(fā)送和接收紅外線,接收到的信號經(jīng)過LM3
9、24進行放大然后由74HC14D施密特觸發(fā)器轉(zhuǎn)換成數(shù)字信號輸出,而當單片機檢測到需要轉(zhuǎn)向的傳感器信號時,單片機通過改變PWM波的占空比來調(diào)整小車兩側(cè)的電機轉(zhuǎn)速,從而使其兩側(cè)輪產(chǎn)生速度差,以實現(xiàn)小車的轉(zhuǎn)向。 避障:在小車行駛過程中,若左側(cè)傳感器檢測到障礙物而右側(cè)傳感器未檢測到,則小車首先后退之后向右轉(zhuǎn);同理,若右側(cè)檢測到而左側(cè)未檢測到,小車先后退之后左轉(zhuǎn);如果左右均檢測到默認小車先后退之后右轉(zhuǎn)。 檢測黑線:安裝在小車四角的紅外傳感器負責檢測黑線,由于小車是向前行駛所以最先駛出黑線的應該是小車的前端,當左前端傳感器檢測到黑線時,向單片機發(fā)送信號,小車右轉(zhuǎn);當右前端傳感器檢測到黑線時,小車左轉(zhuǎn);
10、當左后端檢測到黑線而左前端未檢測到時小車先右轉(zhuǎn)再左轉(zhuǎn),當右后端檢測到黑線而左前端未檢測到時先左轉(zhuǎn)后右轉(zhuǎn),當前端兩傳感器同時檢測到黑線時小車先后退之后左轉(zhuǎn)??刂七壿嬕?表1 表 1 檢測 檢測物 檢測到 未檢測到 障礙物 0 1 黑線 1 0 PWM:脈沖寬度調(diào)制(PWM),簡稱脈寬調(diào)制,是利用微處理器的數(shù)字輸出來對模擬電路進行控制的一種非常有效的技術(shù),此處我們主要通過單片機輸出PWM波同時通過調(diào)節(jié)其占空比來實現(xiàn)對小車的控制。 第三章 硬件電路設計 3.1、主控電路 本模塊主要是采集信號并進行分析,同時輸出PWM波控制電機速度,從而控制小車前進轉(zhuǎn)彎等動
11、作。其中,此處采用STC89C52單片機作為主控芯片,由9—12V直流電通過78M05穩(wěn)壓芯片后進行供電;單片機讀寫口連接了MAX232芯片,并焊接了串口接口,使其能夠直接使用USB轉(zhuǎn)串口線下載程序;除此之外,單片機引腳全部通過排針引出,使得此電路連接其他模塊更加方便。復位及時鐘電路分別見圖2和圖3,單片機引腳電路見附錄1 圖3 時鐘電路 圖2 復位電路 3.1.1、L7805穩(wěn)壓器 L7805是我們最常用到的穩(wěn)壓芯片,本設計中采用7節(jié)5號干電池進行供電,電容C2、C3對輸入到L7805前的直流電進行濾波,之后輸入到L7805,經(jīng)其穩(wěn)壓后輸出5V直流電,給單片機供
12、電。如圖4 圖4穩(wěn)壓電路 3.1.2、MAX232芯片簡介 MAX232芯片是美信(MAXIM)公司專門為RS-232標準串口設計的單電源電平轉(zhuǎn)換芯片,使用+5v單電源供電;TTL/CMOS數(shù)據(jù)從T1IN、T2IN輸入,轉(zhuǎn)換成RS-232數(shù)據(jù)后從T1OUT、T2OUT送到電腦DB9插頭;DB9插頭的RS-232數(shù)據(jù)從R1IN、R2IN輸入轉(zhuǎn)換成TTL/CMOS數(shù)據(jù)后從R1OUT、R2OUT輸入到單片機的RXD、TXD口;此處MAX232主要在下載程序時對由串口發(fā)出來的信號進行轉(zhuǎn)換。其電路如圖5 3.2、八路紅外傳感器模塊 紅外線在不同顏色的物體表面具有不同的反射性質(zhì),所以我們可以
13、利用紅外對管對黑線及障礙物進行檢測;此模塊擁有兩個LM324放大器和兩個74HC14D,當紅外線在不同顏色物體上的反射光被接收管接收到時會產(chǎn)生不同幅度的電壓,經(jīng)由模塊的LM324芯片進行信號放大,之后輸入到74HC14D進行高低電平的轉(zhuǎn)換。小車在行駛過程中紅外管不斷地向外發(fā)射紅外線,當紅外光遇到白色地面時發(fā)生漫發(fā)射,反射光被接收管接收,模塊輸出低電平;如果遇到黑線則紅外線被吸收,接收管接收不到信號,此時模塊輸出高電平;單片機通過程序控制不斷檢測模塊輸出引腳的高低電平從而實現(xiàn)信號的檢測。小車的避障原理與此類似,當紅外管不斷發(fā)出紅外線,而在距小車前方6cm無障礙物時,紅外線不發(fā)生反射,此時接收管接
14、收不到反射光,模塊輸出低電平;當小車前方6cm內(nèi)有障礙物時,紅外管發(fā)出的紅外線將會被反射回來,接收管接受到反射光,模塊輸出高電平。 3.2.1、LM324簡介 LM324內(nèi)部包括有兩個獨立的、高增益、內(nèi)部頻率補償?shù)倪\算放大器,適合于電源電壓范圍很寬的單電源使用, 也適用于雙電源工作模式,在推薦的工作條件下,電源電流與電源電壓無關。它的使用范圍包括傳感放大器、直流增益模塊和其他所有可用單電源供電的使用運算放大器的場合。 3.2.2、74HC14D簡介 74HC14D是6路施密特觸發(fā)器件,內(nèi)含6個獨立的出發(fā)倒相器,在正邏輯中它們執(zhí)行波形整形和倒相功能;它也是5V電源供電且不需要外圍元件。
15、 圖5 TTL轉(zhuǎn)換電路 3.3、L298N電機驅(qū)動模塊 圖6 電機控制電路[7] 該模塊采用了L298N雙H橋直流電機驅(qū)動芯片,驅(qū)動電機部分VIN采用+9V直流電源供電,同時模塊上安裝了L78M05穩(wěn)壓器對vin的輸入進行穩(wěn)壓,邏輯部分VCC采用+5V供電,小車運行時通過單片機向該模塊1、2、3、4腳輸入控制信息來控制小車電機的轉(zhuǎn)速。其電路如圖6 、7、8 圖8 接口電路 圖7 穩(wěn)壓電路 3.3.1 、L298N簡介 L298N內(nèi)部包含4通道邏輯驅(qū)動電路??梢苑奖愕尿?qū)動兩個直流電機,或一個兩相步進電機。輸出電壓最高可達50V,可以直接通過電源來調(diào)節(jié)輸出電壓
16、;用單片機的IO口提供信號;而且電路簡單,使用比較方便。L298N可接受標準TTL邏輯電平信號VSS,VSS可接4.5~7 V電壓。4腳VS接電源電壓,VS電壓范圍VIH為+2.5~46 V。輸出電流可達2 A,可驅(qū)動電感性負載。1腳和15腳下管的發(fā)射極分別單獨引出以便接入電流采樣電阻,形成電流傳感信號。L298可驅(qū)動2個電動機,OUT1,OUT2和OUT3,OUT4之間可分別接電動機??刂七壿嬕姳?[8] 電機 旋轉(zhuǎn)方式 控制端IN1 控制端IN2 控制端IN3 控制端IN4 輸入PWM信號改變脈寬可調(diào)速 調(diào)速端A 調(diào)速端B M1 正轉(zhuǎn) 1 0 / / 1
17、/ 反轉(zhuǎn) 0 1 / / 1 / 停止 0 0 / / 1 / M2 正轉(zhuǎn) / / 1 0 / 1 反轉(zhuǎn) / / 0 1 / 1 停止 0 0 / / / 1 3.4、機械部分 小車采用了四個直流電機為其提供動力,這使其具有較大動力,可以在較大的坡道上行駛;同時,小車的四輪底盤設計,使得小車的直線行駛性能較強,不會出現(xiàn)方向跑偏的現(xiàn)象,同時轉(zhuǎn)向時的方向感較好;小車的電路部分均用銅柱及螺絲固定在底盤上,使其具有很好的穩(wěn)定性;除此之外,在接線方面,各模塊之間均采用杜邦線進行連接,主控板上焊接了單片機插座,這些為小車提供了
18、充足的再開發(fā)空間。 第四章 軟件系統(tǒng)設計 開始 4.1、程序流程圖如圖9 設置初始值 啟動電機 Y 避障 檢測到障礙物? N N 檢測到黑線? Y 避線 停止 圖9 程序流程圖 4.2、程序設計方案 本系統(tǒng)編程部分采用C語言編寫完成,應用模塊化的設計方法,各子程序做為實現(xiàn)各部分功能和過程,通過主程序不斷對子程序的調(diào)用完成PWM脈寬控制、延時以及電機轉(zhuǎn)動方向控制等部分的設計。 單片機資源分配如下表3: 表3 P1.0 EN1 P1.2 左下方傳感器 P2.0 左電機端口2 P2.2 右電機端口
19、2 P2.6 右前方傳感器 P1.1 EN2 P1.4 右下方傳感器 P2.1 左電機端口1 P2.3 右電機端口1 P2.7 左前方傳感器 ①PWM脈寬控制:本設計中采用定時器0產(chǎn)生定時中斷來控制P1.0與P1.1的輸出從而生成PWM波。中斷程序如下: void time0(void)interrupt 1 { i++; j++; if(i<=pro_right) {en1=1;} else en1=0; if(i==40) {en1=~en1;i=0;} if(j<=pro_left) {en2=1;} else en2=0; i
20、f(j==40) {en2=~en2;j=0;} TH0=(65536-100)/256; TL0=(65536-100)%256; } ②左右轉(zhuǎn)向子程序:通過改變左右PWM波的占空比,來實現(xiàn)電機的速度控制;當小車需要左轉(zhuǎn)彎時,將控制左側(cè)電機的PWM波占空比設置為0,右側(cè)設置為20;當小車需要右轉(zhuǎn)時則相反。 左轉(zhuǎn)彎子程序: void turn_left(){ pro_right=0; pro_left=20; left1=1; left2=0; right1=1; right2=0; } 右轉(zhuǎn)彎子程序: void turn_right() { pro_rig
21、ht=40; pro_left=0; left1=1; left2=0; right1=1; right2=0; } ③小車在遇到障礙物時將首先運行后退程序,之后轉(zhuǎn)向;后退子程序是通過改變電機正反轉(zhuǎn)控制位而實現(xiàn)的。程序如下: void turn_back() { left1=0; left2=1; right1=0; right2=1; pro_right=20; pro_left=20; } 第五章 結(jié)束語 本系統(tǒng)采用MSC-51系列單片機STC89C52、L298N電機控制芯片和紅外傳感器來設計智能小車,實現(xiàn)了小車的自動避障與檢測黑線。系統(tǒng)不足之處為避
22、障的檢測距離較短。這是由于所選紅外傳感器的檢測距離所限,若要進行提高需更換檢測距離更遠的傳感器即可;除此之外,可見光對于本系統(tǒng)也有影響,不過一般影響不大,但是若要精確的采集數(shù)據(jù),可以利用濾波器將紅外光之外的其他頻率的光線濾除。 參考文獻: [1] 徐友春,王榮本,世界智能車輛近況綜述, 汽車工程[J], Vol.23, No.5, 2001.10 [2] 國防科大研制出第四代無人駕駛汽車,計算機自動測量與控制[J]第8卷,p22 [3] 郭天祥.新概念51單片機C語言教程——入門、提高、開發(fā)、拓展全攻略[M].北京:電子工業(yè)出版社,2009 [4] 蔡美琴 MCS-51系列單片機系
23、統(tǒng)及其應用[M].北京:高等教育出版社,2002 [5] 馮建華,趙亮 單片機應用系統(tǒng)設計與產(chǎn)品開發(fā)[M].北京:人民郵電出版社 2004 [6] 胡漢才,單片機原理及接口技術(shù)[M].北京:清華大學出版社,1996 [7] 童詩白,華成,模擬電子技術(shù)基礎(第四版)[M].高等教育出版社,2006.5 [8] 閻石.數(shù)字電子技術(shù)基礎(第五版)[M].北京:高等教育出版社,2005 [9] 致 謝 歷時三個月的畢業(yè)設計已經(jīng)告一段落。經(jīng)過自己不斷的搜索努力以及老師的耐心指導和熱情幫助,本設計已經(jīng)基本完成。在這個過程中老師以及曾做過此類設計的同學給予了我很大的幫助,給我提供了大量的硬
24、件和軟件資料,也給我的設計提出了寶貴的意見和建議。在此,對大家表示衷心的感謝! 這次設計不僅是對我們大學四年專業(yè)知識的一次集中地檢驗,同時也為我們提供了一個進入職場前的實戰(zhàn)機會;通過這次在老師指導下做設計的機會,我對于技術(shù)實踐方面有了更深刻的認識,也進一步夯實了所學的專業(yè)知識。雖然在設計中對于知識的運用和銜接還不夠熟練。但是我將在以后的工作和學習中繼續(xù)努力、不斷完善。這三個月的設計是對過去所學知識的系統(tǒng)提高和擴充的過程,為今后的發(fā)展打下了良好的基礎。 由于自身水平有限,設計中一定存在很多不足之處,敬請各位老師批評指正。 最后,再次向給予我指導和幫助的老師和各位同學表示最誠摯的謝意!
25、
附錄1:
附錄2:
#include
26、 sbit en2=P1^1; //循跡口 三個紅外傳感器 sbit left_red=P1^2; //白線位置 sbit right_red=P1^4; //白線位置 void delay(uint z) { uchar i; while(z--) {for(i=0;i<121;i++);} } void init() { left_red=0; //白線位置 right_red=0; TMOD=0X01; TH0=(65536-100)/256; TL0=(65536-100)%256; EA=1; ET0=1;
27、 TR0=1; en1=1; en2=1; } void time0(void)interrupt 1 { i++; j++; if(i<=pro_right) {en1=1;} else en1=0; if(i==40) {en1=~en1;i=0;} if(j<=pro_left) {en2=1;} else en2=0; if(j==40) {en2=~en2;j=0;} TH0=(65536-100)/256; TL0=(65536-100)%256; } void straight() //走直線函數(shù) { pro_right=20;
28、 pro_left=20; left1=1; left2=0; right1=1; right2=0; } void turn_left() //左轉(zhuǎn)彎函數(shù) { pro_right=0; pro_left=20; left1=1; left2=0; right1=1; right2=0; } void turn_right() //右轉(zhuǎn)彎函數(shù) { pro_right=40; pro_left=0; left1=1; left2=0; right1=1; right2=0; } void turn_back() //后退(反轉(zhuǎn))函數(shù) { l
29、eft1=0; left2=1; right1=0; right2=1; pro_right=20; pro_left=20; } void infrared() //循跡和避障 { uchar flag; if((pright==1)||(pleft==1)) { if((left_red==1)&(right_red==0)) {flag=1;} else if((right_red==1)&(left_red==0)) {flag=2;} else if((left_red==0)&(right_red==0)
30、) {flag=3;} else {flag=0;} } else if((pright==0)&(pleft==1)) {flag=4;} else if((pright==1)&(pleft==0)) {flag=5;} else if((pright==0)&(pleft==0)) {flag=6;} else {flag=0;} switch (flag) { case 0:straight(); break; case 1:turn_right(); delay(1000
31、); break; case 2:turn_left(); delay(1000); break; case 3:straight(); delay(1000); break; case 4:turn_back(); delay(1000); turn_left(); delay(1000); break; case 5:turn_back(); delay(1000); turn_right(); dela
32、y(1000); break; case 6:turn_back(); delay(1000); turn_left(); delay(1000); break; default: break; } } main () { init(); delay(1); while(1) { infrared(); } }
33、 The design of smart car designed based on the STC89C52 xialongwei Directed By JiangLifei Abstract This article introduced a smart car designed based on the STC89C52. The car is capable of identifying black and obstacle, so it can run in a fixed area a
34、nd automatic obstacle avoidance. The car take STC89C52 as it’s controller; the six infrared sensors and their processing modules make it can identify the black line and obstacle; The car can change it’s direction and speed by the single-chip generated PWM wave and L298N. Keywords STC89C52 Single chip microcomputer Infrared sensor PWM L298N. 20
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。