版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 目錄</b></p><p> 前言 ……………………………………………………2</p><p> 1.1課程設(shè)計(jì)要求 ………………………………………………2</p><p> 1.2課題研究的背景和意義 ……………………………………2</p><p> 方案設(shè)計(jì)與論證 ……
2、…………………………………2</p><p> 2.1控制器模塊選取 …………………………………………2</p><p> 2.2電機(jī)模塊選取……………………………………………3</p><p> 2.3電機(jī)驅(qū)動器模塊選取 ……………………………………3</p><p> 2.4電源模塊選取 ……………………………………………3<
3、;/p><p> 硬件設(shè)計(jì) ………………………………………………3</p><p> 3.1主控系統(tǒng) ……………………………………………………4</p><p> 3.2電機(jī)模塊 ………………………………………………………5</p><p> 3.3電機(jī)驅(qū)動模塊 …………………………………………………5</p><
4、p> 3.4電源模塊 ………………………………………………………7</p><p> 3.5按鍵模塊 ………………………………………………………7</p><p> 3.6顯示模塊設(shè)計(jì) …………………………………………………8</p><p> 軟件設(shè)計(jì) ………………………………………………8</p><p> 4.1直行設(shè)計(jì)
5、 ………………………………………………8</p><p> 4.2小車運(yùn)行設(shè)計(jì) …………………………………………………9</p><p> 4.3小車調(diào)速設(shè)計(jì) …………………………………………………9</p><p> 調(diào)試中存在的問題 …………………………………12</p><p> 參考文獻(xiàn)………………………………………………
6、12</p><p><b> 一、前言</b></p><p><b> 1.1課程設(shè)計(jì)要求</b></p><p> 1.查閱有智能小車控制方案,設(shè)計(jì)智能小車軟硬件;</p><p> 2.按鍵控制加速,減速,剎停,左轉(zhuǎn)和右轉(zhuǎn);</p><p> 3.驅(qū)動最大電
7、壓12V;最大驅(qū)動電流2A;</p><p> 4.實(shí)時顯示:運(yùn)行狀態(tài);</p><p> 1.2課題研究的背景和意義</p><p> 隨著汽車工業(yè)的迅速發(fā)展,關(guān)于汽車的研究也就越來越受人關(guān)注。全國電子大賽和省內(nèi)電子大賽幾乎每次都有智能小車這方面的題目,全國各高校也都很重視該題目的研究。可見其研究意義很大。本設(shè)計(jì)就是在這樣的背景下提出的,指導(dǎo)教師已經(jīng)有充分的
8、準(zhǔn)備。本題目是結(jié)合科研項(xiàng)目而確定的設(shè)計(jì)類課題。我們設(shè)計(jì)的智能電動小車具有加速、減速、剎停、左轉(zhuǎn)和右轉(zhuǎn)運(yùn)行的功能。</p><p> 根據(jù)題目的要求,確定如下方案:在現(xiàn)有玩具電動車的基礎(chǔ)上,加了四個按鍵,實(shí)現(xiàn)對電動車的運(yùn)行軌跡的啟動,并將按鍵的狀態(tài)傳送至單片機(jī)進(jìn)行處理,然后由單片機(jī)根據(jù)所檢測的各種按鍵狀態(tài)實(shí)現(xiàn)對電動車的智能控制。</p><p> 這種方案能實(shí)現(xiàn)對電動車的運(yùn)動狀態(tài)進(jìn)行實(shí)時
9、控制,控制靈活、可靠,精度高,可滿足對系統(tǒng)的各項(xiàng)要求。本設(shè)計(jì)采用AT89C51單片機(jī)。以AT89C51為控制核心,利用按鍵的動作,控制電動小汽車的狀態(tài)。</p><p><b> 二、方案設(shè)計(jì)與論證</b></p><p> 2.1控制器模塊選取</p><p> 我們采用AT89C51單片機(jī)作為主控制器,AT89C51是一種帶4K字節(jié)閃
10、爍可編程可擦除只讀存儲器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機(jī)。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。從
11、方便使用的角度考慮,我們選擇了此方案</p><p><b> 2.2電機(jī)模塊選取</b></p><p> 采用普通直流電機(jī)。直流電機(jī)運(yùn)轉(zhuǎn)平穩(wěn),精度有一定的保證。直流電機(jī)控制的精度雖然沒有步進(jìn)電機(jī)那樣高,但完全可以滿足本題目的要求。通過單片機(jī)的PWM輸出同樣可以控制直流電機(jī)的旋轉(zhuǎn)速度,實(shí)現(xiàn)電動車的速度控制。并且直流電機(jī)相對于步進(jìn)電機(jī)價(jià)格經(jīng)濟(jì)。</p>
12、<p> 2.3電機(jī)驅(qū)動器模塊選取</p><p> 采用電機(jī)驅(qū)動芯片L298N。L298N為單塊集成電路,高電壓,高電流,四通道驅(qū)動,可直接的對電機(jī)進(jìn)行控制,無須隔離電路。通過單片機(jī)的I/O輸入改變芯片控制端的電平,即可以對電機(jī)進(jìn)行正反轉(zhuǎn),停止的操作,非常方便,亦能滿足直流減速電機(jī)的大電流要求。調(diào)試時在依照芯片手冊,用程序輸入對應(yīng)的碼值,能夠?qū)崿F(xiàn)對應(yīng)的動作。</p><p&
13、gt;<b> 2.4電源模塊選取</b></p><p> 在本系統(tǒng)中,需要用到的電源有單片機(jī)的5V,L298N芯片的電源5V和電機(jī)的電源12V。所以需要對電源的提供必須正確和穩(wěn)定可靠。用9V的鋰電池串聯(lián)2節(jié)5號普通電池給前、后輪電機(jī)供電,然后使用7805穩(wěn)壓管來把高電壓穩(wěn)成5V分別給單片機(jī)和電機(jī)驅(qū)動芯片供電。因此為了方便,這里我們采用12V電源給電機(jī)供電,再用7805轉(zhuǎn)換成5V電源給
14、單片機(jī)使用。</p><p><b> 三、硬件設(shè)計(jì)</b></p><p> 小車采用四輪驅(qū)動,一側(cè)的前后兩個車輪共用一個電機(jī)驅(qū)動,另外兩個前后輪共用一個驅(qū)動,調(diào)節(jié)左右車輪轉(zhuǎn)速從而達(dá)到控制轉(zhuǎn)向的目的。</p><p><b> 圖3.1</b></p><p><b> 3.1控
15、制模塊設(shè)計(jì)</b></p><p> 根據(jù)設(shè)計(jì)的小車性能,使用控制系統(tǒng)來控制電機(jī)的狀態(tài),按鍵來操作,從而使小車可以進(jìn)行加速、減速、剎停、左轉(zhuǎn)和右轉(zhuǎn)的運(yùn)行。設(shè)計(jì)的控制模塊電路圖圖3.2</p><p><b> 圖3.2</b></p><p> AT89C51單片機(jī)的P0通過控制總線來連接鎖存器74LS373以及計(jì)數(shù)器8253
16、,以此來控制L298N驅(qū)動芯片的工作方式,PWM1和PWM2來控制電機(jī)的工作狀態(tài)。AT89C51的P2口通過控制總線與顯示器連接。</p><p><b> 3.2電機(jī)模塊設(shè)計(jì)</b></p><p> 因?yàn)樵O(shè)計(jì)的小車運(yùn)行比較簡單,沒有避障等復(fù)雜的功能,所以我們選擇普通直流減速電機(jī),通過到商店里和到網(wǎng)上等途徑進(jìn)行購買,電機(jī)模塊采用2塊電機(jī)同時驅(qū)動,這里將同一側(cè)電機(jī)
17、短接接到L298N的一個輸出端。</p><p> 3.3電機(jī)驅(qū)動模塊設(shè)計(jì)</p><p> 采用電機(jī)驅(qū)動芯片L298N。L298N是SGS公司的產(chǎn)品,為單塊集成電路,高電壓,高電流,四通道驅(qū)動,可直接的對電機(jī)進(jìn)行控制,無須隔離電路。通過單片機(jī)的I/O輸入改變芯片控制端的電平,即可以對電機(jī)進(jìn)行正反轉(zhuǎn),停止的操作,非常方便,亦能滿足直流減速電機(jī)的大電流要求。調(diào)試時在依照芯片手冊,用程序輸
18、入對應(yīng)的碼值,能夠?qū)崿F(xiàn)對應(yīng)的動作。</p><p><b> 圖3.3</b></p><p> 如圖3.2所示 ,1腳和15腳可單獨(dú)引出連接電流采樣電阻器,形成電流信號,,還可驅(qū)動2個電機(jī),OUT1,OUT 2,OUT3,OUT4之間分別連接2個電動機(jī)。5、7、10、12腳接控制電平,控制電機(jī)的正反轉(zhuǎn),ENA,ENB接控制使能端,控制電機(jī)的停轉(zhuǎn)。</p&g
19、t;<p> 同時輸出兩組PWM波,每一組PWM用來控制一個,電機(jī)的速度。另外,二個I/O口可以控制電機(jī)的正反轉(zhuǎn),P10,P11控制第一個電機(jī)的方向,,輸入的:PWM1控制第一個電機(jī)的速度;P12.P13控制第二個電機(jī)的方向,輸出的PWM2控制第二個電機(jī)地說速度。</p><p> 由于電機(jī)的正常的工作時對電源的干撓很大,只用一組電源時,會影響單片機(jī)的正常工作,所以選用雙電源供電。d1,Q1是一
20、對紅外發(fā)射接收對管,與LM324構(gòu)成光右轉(zhuǎn)電傳感的檢測電路??蓪?shí)現(xiàn)對小車的加速,減速,剎停,并可通過兩個電機(jī)的不同轉(zhuǎn)速實(shí)現(xiàn)左轉(zhuǎn)和。</p><p><b> 可以用表表示為:</b></p><p><b> 3.4、電源模塊</b></p><p> 采用兩片7805電壓穩(wěn)壓5V后給單片機(jī)系統(tǒng)和其他芯片供電供電,但
21、缺點(diǎn)是壓降過大,消耗的功率過大,發(fā)熱量過大。</p><p><b> 圖3.4</b></p><p><b> 結(jié)構(gòu)圖如下:</b></p><p><b> 圖3.5</b></p><p><b> 3.5按鍵模塊</b></p>
22、;<p> 本系統(tǒng)添加4個按鍵,用來選擇控制小車。并接于P2口。</p><p><b> 圖3.6</b></p><p><b> 3.6顯示模塊設(shè)計(jì)</b></p><p> 根據(jù)按鍵來控制小車從而在顯示屏上顯示小車的狀態(tài),設(shè)計(jì)的顯示電路圖圖3.7。</p><p>&l
23、t;b> 圖3.7</b></p><p><b> 四、軟件設(shè)計(jì)</b></p><p><b> 4.1流程圖設(shè)計(jì)</b></p><p> 4.2、小車運(yùn)行設(shè)計(jì):</p><p> 若要求小車直走,這需要給4個電機(jī)正轉(zhuǎn)命令。根據(jù)L298N芯片手冊</p>
24、<p> 這里將P1=0xfa。</p><p> 4.3、小車調(diào)速設(shè)計(jì):</p><p> 若要求車調(diào)速,只需用PWM來控制L298N的ENA和ENB就可以對小車進(jìn)行調(diào)速。這里我使用定時器T0的工作模式2自動重裝。并賦初值TH0=0xf6;TL0=0xf6;</p><p><b> 產(chǎn)生高頻脈沖。</b></p
25、><p><b> C語言源代碼實(shí)現(xiàn)</b></p><p> #include<reg51.h></p><p> #define uchar unsigned char</p><p> #define uint unsigned int</p><p> unsigned
26、char zkb1=0 ; //**左邊電機(jī)的占空比**//</p><p> unsigned char zkb2=0 ; //**右邊電機(jī)的占空比**//</p><p> unsigned char t=0; //**定時器中斷計(jì)數(shù)器**//</p><p> sbit RSEN1=P1^0;</p><p&
27、gt; sbit RSEN2=P1^1;</p><p> sbit LSEN1=P1^2;</p><p> sbit LSEN2=P1^3;</p><p> sbit IN1=P0^0;</p><p> sbit IN2=P0^1;</p><p> sbit IN3=P0^2;</p>
28、<p> sbit IN4=P0^3;</p><p> sbit ENA=P0^4;</p><p> sbit ENB=P0^5;</p><p> //****************延時函數(shù)****************//</p><p> void delay(int z) </p>&
29、lt;p> { while (z--); }</p><p> //**********初始化定時器,中斷***********//</p><p> void init()</p><p> { TMOD=0x01;</p><p> TH0=(65536-100)/256;</p><p>
30、 TL0=(65536-100)%256;</p><p><b> EA=1;</b></p><p><b> ET0=1;</b></p><p><b> TR0=1;</b></p><p><b> }</b></p>
31、<p> //***********中斷函數(shù)+脈寬調(diào)制***********//</p><p> void timer0() interrupt 1</p><p> { if(t<zkb1)</p><p><b> ENA=1;</b></p><p><b> else <
32、;/b></p><p><b> ENA=0;</b></p><p> if(t<zkb2)</p><p><b> ENB=1;</b></p><p><b> else </b></p><p><b> EN
33、B=0;</b></p><p><b> t++;</b></p><p> if(t>=100)</p><p><b> {t=0;}</b></p><p><b> }</b></p><p> //********
34、**********直行******************//</p><p> void qianjin()</p><p> { zkb1=30;</p><p><b> zkb2=30;</b></p><p><b> }</b></p><p> /
35、/***************左轉(zhuǎn)函數(shù)1***************//</p><p> void turn_left1()</p><p> { zkb1=0;</p><p><b> zkb2=50;</b></p><p><b> }</b></p><
36、p> //***************左轉(zhuǎn)函數(shù)2***************//</p><p> void turn_left2()</p><p> { zkb1=0;</p><p><b> zkb2=60;</b></p><p><b> }</b></p&g
37、t;<p> //***************右轉(zhuǎn)函數(shù)1***************//</p><p> void turn_right1()</p><p> { zkb1=50;</p><p><b> zkb2=0;</b></p><p><b> }</b>
38、;</p><p> //***************右轉(zhuǎn)函數(shù)2***************//</p><p> void turn_right2()</p><p> { zkb1=60;</p><p><b> zkb2=0;</b></p><p><b> }
39、</b></p><p> //***************循跡函數(shù)*****************//</p><p> void xunji() </p><p> { uchar flag;</p><p> if((RSEN1==1)&&(RSEN2==1)&&(LSEN1==1
40、)&&(LSEN2==1))</p><p> { flag=0; }//*******直行*******//</p><p> else if((RSEN1==0)&&(RSEN2==1)&&(LSEN1==1)&&(LSEN2==1))</p><p> { flag=1;} //***左偏
41、1,右轉(zhuǎn)1***//</p><p> else if((RSEN1==0)&&(RSEN2==0)&&(LSEN1==1)&&(LSEN2==1))</p><p> { flag=2;} //***左偏2,右轉(zhuǎn)2***//</p><p> else if((RSEN1==1)&&(RSEN
42、2==1)&&(LSEN1==0)&&(LSEN2==1))</p><p> { flag=3; }//***右偏1,左轉(zhuǎn)1***//</p><p> else if((RSEN1==1)&&(RSEN2==1)&&(LSEN1==0)&&(LSEN2==0))</p><p>
43、 { flag=4; }//***右偏2,左轉(zhuǎn)2***//</p><p> switch (flag)</p><p> { case 0:qianjin();</p><p><b> break;</b></p><p> case 1:turn_right1();</p><p&g
44、t;<b> break; </b></p><p> case 2:turn_right2();</p><p><b> break; </b></p><p> case 3:turn_left1();</p><p><b> break; </b></
45、p><p> case 4:turn_left2();</p><p><b> break; </b></p><p> default: break;</p><p><b> }</b></p><p><b> }</b></p&g
46、t;<p> //****************主程序****************//</p><p> void main()</p><p><b> { init();</b></p><p><b> zkb1=30;</b></p><p><b>
47、 zkb2=30;</b></p><p><b> while(1)</b></p><p> { IN1=1; //******給電機(jī)加電啟動******//</p><p><b> IN2=0;</b></p><p><b> IN3=1;</b>
48、;</p><p><b> IN4=0;</b></p><p><b> ENA=1;</b></p><p><b> ENB=1;</b></p><p><b> while(1)</b></p><p> {
49、 xunji(); //*********尋跡**********//</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> 五、調(diào)試中存在的問題</p><p>
50、轉(zhuǎn)向時間需要慢慢調(diào),時間長,旋轉(zhuǎn)弧度大;時間短,旋轉(zhuǎn)弧度小。</p><p> 2.直行時,由于每個電機(jī)的性能不一樣,導(dǎo)致兩側(cè)占空比一樣時,小車會存在轉(zhuǎn)彎,這樣需要微調(diào)占空</p><p><b> 六、參考文獻(xiàn)</b></p><p> [1] 樓然苗,李光飛. 51系列單片機(jī)設(shè)計(jì)實(shí)例.北京航空航天大學(xué)出版社</p>
51、<p> [2] 何希才. 常用集成電路應(yīng)用實(shí)例.電子工業(yè)出版社</p><p> [3] 王靜霞 單片機(jī)應(yīng)用技術(shù)(C語言版) 電子工業(yè)出版社 </p><p> [4] 陳梓城 實(shí)用電子電路設(shè)計(jì)與調(diào)試</p><p> [5] 高吉祥 全國大學(xué)生電子設(shè)計(jì)大賽培
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 智能小車控制系統(tǒng)課程設(shè)計(jì)說明書
- 小車避障課程設(shè)計(jì)說明書
- 智能化課程設(shè)計(jì)說明書
- 智能清障小車設(shè)計(jì)說明書.doc
- 遙控智能小車設(shè)計(jì)說明書.doc
- plc小車運(yùn)行方向控制課程設(shè)計(jì)說明書end
- 智能小車畢業(yè)設(shè)計(jì)說明書
- 智能清障小車設(shè)計(jì)說明書.doc
- 智能清障小車設(shè)計(jì)說明書.doc
- 智能清障小車設(shè)計(jì)說明書.doc
- 遙控智能小車設(shè)計(jì)說明書.doc
- 遙控智能小車設(shè)計(jì)說明書.doc
- 遙控智能小車設(shè)計(jì)說明書.doc
- 智能清障小車設(shè)計(jì)說明書.doc
- 智能電動小車畢業(yè)設(shè)計(jì)說明書
- 課程設(shè)計(jì)說明書
- 課程設(shè)計(jì)說明書
- 智能清障小車設(shè)計(jì)說明書[帶圖紙]
- 智能加濕器單片機(jī)課程設(shè)計(jì)說明書
- 前門課程設(shè)計(jì)說明書
評論
0/150
提交評論