小車的功能簡介_第1頁
小車的功能簡介_第2頁
小車的功能簡介_第3頁
小車的功能簡介_第4頁
小車的功能簡介_第5頁
已閱讀5頁,還剩33頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

小車的功能簡介:1) 小車以聲音來啟動,即小車上的駐極體接受到一定的聲音信號,再通過對信號的放大處理,將信號傳給單片機,使小車啟動(開始尋線);2) 小車可以尋跡黑線,能夠沿白線的走向而自動完成小車的轉向等動作,在尋線的過程中還要對黑線下的鐵片進行檢測,當檢測到第5塊鐵片后,小車退出尋線程序,開是避障;3) 在小車的避障階段,小車能夠通過自己前方的紅外發射接收模塊,檢測前行方向的障礙物,并自動避開障礙物,繼續前行(避障的結束是以小車上的光敏傳感器檢測到200W燈泡的光為標志);4) 當在發現障礙物時,小車會發出報警信號:小車上的蜂鳴器會響起,并且報警燈(LED)會亮起;5) 尋線和避障結束后(即光敏電阻檢測到光信號),小車能夠在200可的燈泡的光線指引下,完成小車的入庫動作;6) 利用小車底座上的霍爾元件檢測行駛途中的鐵片,并且在檢測到鐵片時,小車回暫停1秒,并且指示燈LED會亮起,在1秒后小車繼續開始尋線,檢測到鐵片的信息會傳到單片機進行記錄;7) 小車的一系列動作完成后,液晶顯示屏上還將顯示小車的行駛時間,以及檢測到的鐵片數目。尋跡檢測方案的選擇探測路面黑線的基本原理:光線照射到路面并反射,由于黑線和白紙對光的反射系數不同,可以根據接收到的反射光強弱來判斷是否是黑線。利用這個原理,可以控制小車行走的路跡。下面幾種可行的方案是根據本原理設計的:方案一:采用集成的紅外發射接收對管(型號:)的信號檢測方案,如圖1-1所示。其工作原理:利用電位器的分壓作用,從比較器的正輸入端5輸入一個某一定幅值的電壓。當無光照時,光敏電阻呈現高阻狀態,輸入比較器的負輸入端6輸入一個高電平(大于端口5的電壓值),則此時比較器輸出低電平;反之,當有光照的時候,光敏電阻接收到反射的光,其阻值下降,則負輸入端6輸入的是低電平(小于端口5的電壓值),則此時比較器輸出高電平。本方案能達到基本的控制要求,但是它的缺點在于容易受到外界光線的干擾,不易于控制小車的行跡,損壞了信號采集的效果。解決辦法:調整傳感器的安裝位置,盡量避免外界光線的干擾。

VCC1-1發光二極管及光敏電阻組成的發射接收方案方案二:脈沖調制的反射式紅外發射接收器。由于采用該有交流分量的調制信號,側可大幅度減少外界干擾;另外紅外發射接收管的最大工作電流取決于平均電流。如果采用占空比小的調制信號,再平均電流不變的情況下,瞬時電流很大(50?100mA),則大大提高了信噪比。并且其反應靈敏,外圍電路也很簡單。如圖1-2所示。它的優點是消除了外界光線的干擾提高了靈敏度,制作比較簡單。1-2脈沖調制的反射式紅外發射接收方案由以上兩種方案比較可知。方案二要比方案一優勢大,但是方案一的電路簡單,工作性能還算比較穩定,能夠基本滿足項目的需求。從而避免了電路的復雜性,因此我先用方案一作為小車的線路監測系統。電動機的選擇市場上用很多種類的小電壓直流電動機,購買也很方便。主要有普通電動機、和步進電動機。方案一:采用步進電機,步進電動機的一個顯著的特點就是具有快速啟動和停止能力,而且最重要的還是它能夠準確地行使我們所要求的路程,能夠達到我們所要求的標準。對于步進電機而言當,當負荷不超過其所能提供的動態轉矩值時,步進電機就能夠立即啟動或反轉。其轉換靈敏度比較高。正轉、反轉控制靈活。但是步進電機的價格比較昂貴,且編程也相對復雜些,占用過多的IO口,對于單片機的資源是種浪費。因此性價比較低。方案二:采用普通的直流電機。直流電機具有優良的調速特性,調速平滑、方便。調整范圍廣;過載能力強,能承受頻繁的沖擊負載,可實現頻繁的無極快速啟動、制動和反轉。能滿足各種不容的特殊運行要求,最重要的是它使用容易且價格便宜。由于普通直流電機價格適宜,更易于購買,并且電路相對簡單,因此建議采用直流電機作為動力源。電動機驅動方案的選擇方案一:采用電路網絡或數字電位器調整電動機的分壓,從而達到調整速度目的。但是組織網絡只能是先有極調速,而數字電阻的元器件價格比較昂貴,且可能存在于干擾。更主要的問題在于一般電動機的電阻比較小但電流很大,分壓不僅會降低效率,而且實現很困難。方案二:采用繼電器對電動機的開關控制,通過控制開關的切換速度實現對小車的速度進行調整。這個電路的優點是電路較為簡單,缺點是繼電器的響應時間長,易于損壞,壽命較短、可靠性小。方案三:采用四個大功率晶體管組成H橋式電路,四個大功率晶體管分為兩組,交替導通和截止,用單片機控制使之工作在開關狀態,進而控制電機的運行。該控制電路由于四個大功率晶體管只工作在飽和與截止狀態下,效率非常高,并且大功率晶體管開關的速度很快,穩定性也極強,是一種廣泛采用的電路,可以選擇了四個大功率晶體管組成H橋式電路的293集成。^CC1VCC21-3L293集成芯片由于本項目所選用的電機所須用的電流較小,并沒有超過了293所能承受的范圍,因此,我們L293進行驅動。障礙物探測方案的選擇方案一:采用光電開關,因為其反應靈敏,外圍電路也很簡單。它的優點是消除了外界光線的干擾提高了靈敏度。方案二:采用超聲波傳感器,如果傳感器接收到反射的超聲波,則通知單片機前方有障礙物,如則通知單片機可以向前行駛。市場上很多紅外光電探頭也都是基于這個原理。這樣不但能準確完成測量,而且能避免電路的復雜性。但是由于光電開關的輸出電壓較高,因此在電路的設計當中我們還采用了電位器進行分壓,使其產生適合于單片機接受的電平。我們在這里采用的是第一種方案如圖1-4所示。因為第二種方案超聲波傳感器價格比較昂貴。

JP_O2RO2Res21K9VGNDJP_O2RO2Res21K9VGND在這里接 插光電開關Header3Obs220KP23圖1-4光電開關使用電路圖尋找光源的方案方案一:采用光敏電阻為傳感器件,將光敏電阻置于黑盒子里面,黑盒子開有一條細逢,而光敏電阻就被安置在盒子中一定的位置上,然后在將盒子安置在車子的恰當位置上,這樣:當光線照射于兩光敏電阻之間時,小車就執行前進的動作;當光線照射在左邊的光敏電阻時,小車就執行右轉的動作;而當右邊的光敏電阻感受到光照時,小車則左轉;在小頂部的光敏電阻受到光照時,表明已成功抵達目的地,任務完成。電路原理如圖1-5:光敏的m圖光敏的m圖1-56.聲音傳感啟動的方案話筒的原理:話筒中的震動片根據聲波的變化情況進行震動,從而導致話筒的電阻值的變化,因此,在這里我們采用了和尋找光源相同的電路原理,如圖1-6所示,及當駐集體感受到一定強度的聲波時,駐集體的電阻值會變小,從而分壓值也會隨著變化,因此當電壓值的變化超過比較值時,比較器的輸出值也會變化,從而向單片機發出啟動的指令。

VCCU2CLM324NP2_0VCCU2CLM324NP2_0圖1-6聲音的功放電路我們采用了TDA2822運放芯片,在J_Speak處連接喇叭,那么從?_37輸入的電信號就會經過功放電路從喇叭輸出VCCU4P37|R-Spk110K213"IFVsInput+(1)NCNCNCNCNCInput-(1)Input+(2)Input-(2)16100uFU4P37|R-Spk110K213"IFVsInput+(1)NCNCNCNCNCInput-(1)Input+(2)Input-(2)16100uF14C-Spk2T10uFI'4.7KI、1000uF*0.1uF1'21'2JHeader2GNDGNDOutput(1)GNDOutput(2)GNDTDA2822鐵片檢測的方案考慮到鐵片的性質,因此我們主要想利用霍爾元件來實現對鐵片的檢測。方案一:打算自己設計霍爾檢測電路。這樣可以降低成本。但是,它不易安裝,使

用的性能無法保證。方案二:采用市場上現有的霍爾開關,其特點是使用簡單,穩定性好,對于本項目來說,安裝也相當的方便。其設計設計電路,如圖1-8所示(與光電開關的使用一樣):JPI1JPI1圖1-8(霍爾開關的使用電路)路程的檢測:方案一:采用光電編碼器。光電編碼器能夠對路程進行精確的檢測,具有十分良好的性能,現在對光電編碼器的使用也很普遍。方案二:利用在履帶上黏結鐵皮,通過記錄檢測到鐵皮的次數N,再測量出履帶的長度L,于是利用行使路程S=N*L。由于是對鐵片的檢測,因此檢測電路采用了跟前面鐵片檢測相同的電路,如圖1-9JPI2安插霍爾開關2Iron2.20K P35―I1'圖1-9(霍爾開關的使用電路)供電方案的選擇方案一:采用兩個電源供電,將電動機驅動電源與電片機以及其周邊電路電源完全隔離,利用光電耦合器傳輸信號。這樣可以使電動機驅動所造成的十擾徹底消除,提高了系統的穩定性,但是多一組電池,增加了小車的重量,同時也增加了小車的慣性,消弱因為電動機的控制性能,降低了靈敏度,而且從成本上來講也增加了不少。方案二:采用單一電源供電。電源直接給電動機供電,因電動機起動瞬間電流較大,會造成電源電壓波動,因而控制與檢測部分電路通過集成穩壓塊供電,將電壓穩定在一定數值范圍內,以免有波動電壓造成電路的損毀,其供電也比方案一簡單。我們在選用的時候,我們選用第二種方案供電,如圖1-5所示。因為,這樣可以減小在電源方面的開銷,使電動機驅動所造成的干擾比較小,能夠保證系統的穩定性,可以達到比賽所追求的目標。圖1-6電路供電方案圖8.控制核心CPU的選擇方案一:市場上流通很多種類的單片機,在一般性能上都可以達到要求,例如AT89C51、羚羊系列等都可以用于控制小車,缺點在于:要么是不能夠電反復擦寫,要么就是下載器的價格太高,且羚羊的單片機價錢比較貴。不利于小資本實驗。方案=:AT89S52系列單片機價錢容易接受,可以在線下載,下載器也比較容易購買到,方便攜帶應用。例如,AT89S52擁有足夠的內存來存儲程序及數據,它也擁有足夠多的IO端口和中斷響應端口,方便我們對小車的控制。因此,我選擇了第二種方案,采用AT89S52作為控制核心,利用從傳感信號對小車進行控制。如圖1-5所示。

迫農通PD.Q'ADD38]37]P0.2W皿36]叩.*占。335]=,D.^.AD4倒11姑U0533]叩.臥3532]PD.7/AD731|zA.''.'pp3D]ALE29)JL!LN弋.了以虧27]吒.曲匕32.SA-3片引腳圖)24]弋123]久.泌c22]如70弋二拓第二部分:軟件的設計程序的流程圖:本項目完整的程序:#include<reg52.h>#include<math.h>#defineuintunsignedint#defineucharunsignedcharucharR=2;//對鐵片數量進行全局變量的設定ucharcom;uchardat;uchartdata;uchari;uintshe;// 有關液晶的函數聲明voiddsp(); //顯示voiddelay(uintshijin); 〃延時voidwritedata(uchar com); //寫數據voidwritecode(uchar cmd); //寫命令// 各種數據的定義uintjourney=0;//路程ucharjourney1=0;ucharjourney2=0;ucharjourney3=0;ucharjourney4=0;uinttime=1; 〃時間uinttime_1=1;uinttime1=0;uinttime2=0;uinttime3=0;uintspeed=0;

ucharspeed1=0;ucharspeed2=0;// 293對電機的控制信號的sbitEnable=P1"0;//左和右電機使能控制sbitL1=P1"1;sbitL2=P1”2;sbitR1=P1”3;sbitL1=P1"1;sbitL2=P1”2;sbitR1=P1”3;sbitR2=P1”4;// sbitLightL=P1"5;sbitLightR=P1"6;sbitLightM=P1"7;sbitVoice=P2”0;sbitLineL=P2”1;sbitLineR=P2”2;sbitObstacleL=P2”3;sbitObstacleR=P2”4;sbitRS=P2”6;sbitRW=P2”7;sbitE=P3”3;sbitIron=P3”2;〃左電機控制1〃左電機控制2〃右電機控制1〃右電機控制2傳感信號的獲取//左光源的檢測//右光源的檢測〃中間光源的檢測//聲音啟動信號//尋線左傳感器//尋線右傳感器〃左障礙物的檢測//右障礙物的檢測//液晶屏使能端//檢測到鐵片的外部中斷INT0voiddelay(uintshijin)//100us(uinti;ucharj;for(i=0;i<shijin;i++);for(j=0;j<120;j++);}voiddelay50us(unsignedcharn)//50us(unsignedchari,j;for(i=n;i>0;i--)for(j=50;j>0;j--);}// 液晶屏幕的寫數據函數和寫命令函數voidwritedata(ucharcom)// 寫數據函數(RS=0;RW=1;do(P0=0XFF;E=1;E=0;}while(tdata&0x80);(RS=1;RW=0;P0=com;E=1;delay(2);E=0;}}voidwritecode(ucharcmd)// 寫命令函數(RW=1;RS=0;do(P0=0xff;E=1;tdata=P0;E=0;}while(tdata&0x80);(RW=0;P0=cmd;E=1;delay(2);E=0;}}// 行使方式的定義voidHead(void) 〃前進(L1=1;L2=0;R1=1;R2=0;}voidTurn_right(void)〃右轉(L1=1;L2=0;R1=0;R2=0;}voidTurn_left(void)〃左轉(L1=0;L2=0;R1=1;R2=0;}voidStop(void) 〃停車(L1=0;L2=0;R1=0;R2=0;}voidBack(void)(L1=0;L2=1;R1=0;R2=1;}尋線子程序voidFollow_Line(void)(if(LineL==0&&LineR==0)Stop();elseif(LineL==0)Turn_right();elseif(LineR==0)Turn_left();elseHead();}// 尋找光源voidSearch_Light(void)(while(1)(if(LightL==0)(Turn_right();delay50us(1);}elseif(LightR==0)(Turn_left();delay50us(1);}elseif(LightM==0)(Head();delay50us(1);}else(Stop();}}}// 躲避障礙物的程序voidAvoid(void)if(ObstacleR==0&&ObstacleL==0)(Back();delay50us(5);Turn_right();delay50us(5);}elseif(ObstacleR==0&&ObstacleL!=0)(Turn_left();delay50us(5);}elseif(ObstacleR!=0&&ObstacleL==0)(Turn_right();delay50us(5);}else(Head();delay50us(5);}Iron_Disp(ucharn)(switch(n)// 檢測到鐵片時的顯示記錄函數(case1:writecode(0x01);writedata(0xcc);writedata(0xfa);writedata(0xc6);writedata(0xac);writedata(0xca);writedata(0xfd);writedata(0xa1);writedata(0xc3);writedata(0xa3);writedata(0xb1);break;//鐵片數:1case2:writecode(0x01);writedata(0xcc);writedata(0xfa);writedata(0xc6);writedata(0xac);writedata(0xca);writedata(0xfd);writedata(0xa1);writedata(0xc3);;writedata(0xa3);writedata(0xb2);break;case3:writecode(0x01);writedata(0xcc);writedata(0xfa);writedata(0xc6);writedata(0xac);writedata(0xca);writedata(0xfd);writedata(0xa1);writedata(0xc3);;writedata(0xa3);writedata(0xb3);break;case4:writecode(0x01);writedata(0xcc);writedata(0xfa);writedata(0xc6);writedata(0xac);writedata(0xca);writedata(0xfd);writedata(0xa1);writedata(0xc3);;writedata(0xa3);writedata(0xb4);break;case5:writecode(0x01);writedata(0xcc);writedata(0xfa);writedata(0xc6);writedata(0xac);writedata(0xca);writedata(0xfd);writedata(0xa1);writedata(0xc3);;writedata(0xa3);writedata(0xb5);break;}}Num_Disp(charn)(switch(n)(case0:writedata(0xa3);writedata(0xb0);break;case1:writedata(0xa3);writedata(0xb1);break;case2:writedata(0xa3);writedata(0xb2);break;case3:writedata(0xa3);writedata(0xb3);break;case4:writedata(0xa3);writedata(0xb4);break;case5:writedata(0xa3);writedata(0xb5);break;case6:writedata(0xa3);writedata(0xb6);break;case7:writedata(0xa3);writedata(0xb7);break;case8:writedata(0xa3);writedata(0xb8);break;case9:writedata(0xa3);writedata(0xb9);break;}}// 主函數voidmain(void)(writecode(0x01);//對液晶屏的初始化delay(200);writecode(0x30);writecode(0x0c);writedata(0xcb);writedata(0xc9);writedata(0xfa);writedata(0xd7);writedata(0xd5);writedata(0xb9);writedata(0xc5);writedata(0xcb);writedata(0xad);writedata(0xce);writedata(0xde);writedata(0xcb);writedata(0xc0);writedata(0xa1);writedata(0xa0);writedata(0xf4);writedata(0xc8);writedata(0xa1);writedata(0xb5);writedata(0xa5);writedata(0xd0);writedata(0xc5);writedata(0xd5);writedata(0xd6);writedata(0xba);writedata(0xb9);writedata(0xc7);writedata(0xe0);writedata(0xa1);writedata(0xa0);writedata(0xb4);writedata(0xd2);writedata(0xb4);writedata(0xd2);writedata(0xb5);writedata(0xc4);writedata(0xce);writedata(0xd2);writedata(0xc0);writedata(0xb4);writedata(0xc1);writedata(0xcb);while(Voice)();if(Voice==0)(TMOD=0xEA;〃用于T0計時,工作模式2;T1計數,工作模式2;TH0=0x06; //每250us中斷一次TL0=0x06;TH1=0X00;TL1=0X00;EA=1; //開中斷ET0=1; 〃允許TF0中斷EX0=0; 〃允許INT0EX1=1;TR0=1; 〃啟動關閉控制位TR1=1;while(1)(do(Search_Light();}while(LightL==0||LightR==0||LightM==0||ObstacleR==0||ObstacleL==0);do(Search_Light();}while(LightL==0||LightR==0||LightM==0);do(Avoid();}while(ObstacleR==0||ObstacleL==0);}}}// 中斷函數01,輸出pwm信號voidPwm1()interrupt1(unsignedintij;Enable=0;for(ij=4;ij>0;ij--);Enable=1;time_1++;if(time1==4000)(time++;time1=0;

//外部中斷//外部中斷INT0/*voidIroner()interrupt2(// 判斷是否檢測到鐵片intii;intjj;if(R<=5)(Stop();switch(R);delay50us(8000);R++;for(ii;ii<600;ii--)(for(jj;jj<600;jj--)(Follow_Line();}}}}*/

voidTimer()interrupt3(time_1++;if(time_1==4000)(time++;time_1=0;}}// 外部中斷INT0voidMission_End()interrupt0(Stop();journey=(TH1*16+TL1)*27;//路程journey1二journey/1000;journey2=(journey/100)%10;journey3=(journey/10)%10;journey4=journey%1000;time1=time/100;〃時間time2=(time/10)%10;time3=time%100;speed二journey/time;writecode(0x01);/*writedata(0xc8);//任wri

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論