《智能循跡小車》由會員分享,可在線閱讀,更多相關(guān)《智能循跡小車(7頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、
簡單電子系統(tǒng)設(shè)計報告
---------智能循跡小車
學號 *************
年級 **
學院 *****
專業(yè) ***********
姓名 ******
指導教師 ******
一、設(shè)計目的
通過設(shè)計進一步掌握51單片機的應(yīng)用,特別是在嵌入式系統(tǒng)中的應(yīng)用。進一步學
2、習51單片機在系統(tǒng)中的控制功能,能夠合理設(shè)計單片機的外圍電路,并使之與單片機構(gòu)成整個系統(tǒng)。熟悉并掌握一些基本的電子元器件的工作特性等。
二.設(shè)計要求
以 AT89S52 單片機為系統(tǒng)控制處理器;采用紅外傳感獲取賽道的信息,來對小車的方向和速度進行控制。此外,對整個控制軟件進行設(shè)計和程序的編制以及程序的調(diào)試,并最終完成軟件和硬件的融合,實現(xiàn)小車的預(yù)期功能。
三、軟硬件設(shè)計
硬件電路的設(shè)計
1、最小系統(tǒng):
整個系統(tǒng)主要由光電檢測模塊、單片機系統(tǒng)、左右直流電機驅(qū)動電路模塊和直流電機等組成,系統(tǒng)框圖如圖1所示。光電檢測模塊實時檢測路況信息;單片機系統(tǒng)負責處理光電檢測模塊傳來的信息,并將處理
3、后的信號作用于左右直流電機驅(qū)動電路,控制直流電機的轉(zhuǎn)動。
顯示模塊
光電檢測模塊
單
片
機
系
統(tǒng)
右直流電機驅(qū)動電路
圖1 智能尋跡小車系統(tǒng)框圖
直流電機
左直流電機驅(qū)動電路
直流電機
小車中的直流電機驅(qū)動電路的設(shè)計
穩(wěn)壓電源
主控芯片
AT89S52
H橋驅(qū)動電路
直流電機
LM324
光電對管組
圖2 小車整體的運行框圖
小車采用atmel公司的AT89C52單片機作為控制芯片,圖1是其最小系統(tǒng)電路。主要包括:時鐘電路、電源電路、復位電路。其中各個部分的功能如下:
1、時鐘電路:給單片機提供一個外接的16MHz的石英晶振。
4、
2、電源電路:給單片機提供5V電源。
3、復位電路:在電壓達到正常值時給單片機一個復位信號。
圖3 單片機最小系統(tǒng)原理圖
2、電源電路設(shè)計:
模型車通過自身系統(tǒng),采集賽道信息,獲取自身速度信息,加以處理,由芯片給出指令控制其前進轉(zhuǎn)向等動作,各部分都需要由電路支持,電源管理尤為重要。在本設(shè)計中,51單片機使用5V電源,電機及舵機使用6V電源??紤]到電源為充電電池組,額定電壓為7.2V,實際充滿電后電壓則為6.5-6.8V,所以單片機及傳感器模塊采用7805穩(wěn)壓后的5V電源供電,舵機及電機直接由電池供電。
3、傳感器電路:
光電尋線方案一般由多對紅外收發(fā)管組成,
5、通過檢測接收到的反射光強,判斷黑白線。原理圖由紅外對管和電壓比較器兩部分組成,紅外對管輸出的模擬電壓通過電壓比較器轉(zhuǎn)換成數(shù)字電平輸出到單片機。
圖5 賽道檢測原理圖:
4、電機驅(qū)動電路:
電機驅(qū)動芯片L298N是SGS公司的產(chǎn)品,內(nèi)部包含4通道邏輯驅(qū)動電路。是一種二相和四相電機的專用驅(qū)動器,即內(nèi)含二個H橋的高電壓大電流雙全橋式驅(qū)動器,接收標準TTL邏輯電平信號,可驅(qū)動46V、2A以下的電機。其引腳排列如圖1中U4所示,1腳和15腳可單獨引出連接電流采樣電阻器,形成電流傳感信號。L298可驅(qū)動2個電機,OUT1、OUT2和OUT3、OUT4之間分別接2個電動機。5、7、
6、10、12腳接輸入控制電平,控制電機的正反轉(zhuǎn),ENA,ENB接控制使能端,控制電機的停轉(zhuǎn)。也利用單片機產(chǎn)生PWM信號接到ENA,ENB端子,對電機的轉(zhuǎn)速進行調(diào)節(jié)。
L298N電路原理圖:
由于一片L298N可以直接驅(qū)動兩個電機,但是為了加大驅(qū)動力,我們采用兩路并聯(lián)的方式來驅(qū)動電機。
圖6 L298N電路圖
軟件系統(tǒng)的實現(xiàn)
小車循跡規(guī)則:
若小車偏左的時候,車輪將向右偏轉(zhuǎn);若小車偏右,車輪將向左偏轉(zhuǎn);若沒有偏移,小車將繼續(xù)向前;若小車完全偏離黑色軌跡,小車后退以尋找黑色軌跡。
小車程序:
#include
#define uchar unsi
7、gned char
#define uint unsigned int
?sbit ss1=P1^1;
?sbit ss2=P1^2;
?
void qianjin()
???{??P3=0x0A;
???}
void zuozhuan()
???{??P3=0x08;
????}
?void youzhuan()
?{??P3=0x02;
????}
?void xunji()
?{ uchar flag;
???if((ss1==1)&&(ss2==1))
??????????{??flag=0;???????????
????????????????}
8、
????????????????if((ss1==1)&&(ss2==0))
????????????????{ flag=1;
????????????????}
????????????????if((ss1==0)&&(ss2==1))
????????????????{flag=2;
????????????????}
????????????????switch (flag)
?????{??case?0:qianjin();
??????????????break;
?????
????????case?1:youzhuan();
????????????
9、??break;?
??????
????????case?2:zuozhuan();
??????????????break;?
??????
??????}
???}
void main()
{
?????????while(1)
?????{??xunji();?
?????}
???}
四、智能車調(diào)試
將小車組裝完畢,編好程序后,拷入單片機,給小車供電,進行調(diào)試:
1.小車只單側(cè)的傳感器有反應(yīng),僅一側(cè)能檢測到黑線,紅外檢測輸出改線后,小車達到要求可以正常沿著黑線循跡行走。
小車調(diào)試完畢。
五、心得體會
根據(jù)本次設(shè)計要求,我們小組系統(tǒng)地閱讀了大量的資料
10、,并認真分析了設(shè)計課題的需求,還系統(tǒng)學習了51系列單片機的工作原理及其使用方法,并獨自設(shè)計智能小車的整個項目。
雖然條件艱苦,但經(jīng)過不懈鉆研和努力,系統(tǒng)的進行了多項試驗,最終做出了整個小車的硬件系統(tǒng),然后結(jié)合課題任務(wù)和小車硬件進行了程序的編制,本系統(tǒng)能夠基本滿足設(shè)計要求,能夠較快較平穩(wěn)的是小車沿引導線行駛,但由于經(jīng)驗?zāi)芰τ邢?,該系統(tǒng)還存在著許多不盡人意的地方有待于進一步的完善與改進。
通過本次課題設(shè)計,不僅是對我們課本所學知識的考查,更是對我的自學能力和收集資料能力以及動手能力的考驗。本次畢業(yè)設(shè)計使我們意識到了實驗的重要性,在硬件制作和軟件調(diào)試的過程中,出現(xiàn)了很多問題,最終都是通過實驗的方法來解決的。還有以前對程序只是一個很模糊的概念,通過這次的課題設(shè)計使我對程序完全有了一個新的認識,并能使用C熟練的進行編程了。通過本次課題設(shè)計,極大的鍛煉了我們的思考和分析問題的能力,并對單片機有了一個更深的認識。
總之,在課題設(shè)計的過程中,無論是對于學習方法還是理論知識,我們都有了新的認識,受益匪淺,這將激勵我們在今后再接再厲,不斷完善自己的理論知識,提高實踐運作能力。