單片機課程設計-自動循跡小車_第1頁
已閱讀1頁,還剩19頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  單片機原理及應用課程設計</p><p><b>  自動尋跡小車的設計</b></p><p>  學 院 名 稱 : 機 電 工 程 學 院 </p><p>  專 業(yè) 名 稱: 電氣工程及其自動化 </p><p>  學 生 姓 名:

2、 </p><p>  學 生 學 號: </p><p>  指 導 教 師: </p><p><b>  摘要</b></p><p>  本設計是一種基于單片機控制的簡易自動尋跡小車系統(tǒng),包括小車系統(tǒng)構成軟硬件設計方法。小

3、車以AT89C52為控制核心, 用單片機產生PWM波,控制小車速度。利用紅外光電傳感器對路面黑色軌跡進行檢測,并將路面檢測信號反饋給單片機。單片機對采集到的信號予以分析判斷,及時控制驅動電機以調整小車轉向,從而使小車能夠沿著黑色軌跡自動行駛,實現(xiàn)小車自動尋跡的目的。</p><p>  關鍵詞:單片機AT89C51  光電傳感器  直流電機  

4、自動循跡小車</p><p><b>  1任務要求</b></p><p><b>  總體流程:</b></p><p>  設計一個基于直流電機的自動尋跡小車,車能夠自動檢測地面黑色軌跡,并沿著黑色車軌跡行駛。系統(tǒng)方案方框圖如圖1所示。</p><p>  圖 1系統(tǒng)方案方框圖</p&

5、gt;<p>  (2)控制系統(tǒng)總體設計:</p><p>  自動循跡小車控制系統(tǒng)由主控制電路模塊、穩(wěn)壓電源模塊、紅外檢測模塊、電機及驅動模塊等部分組成,控制系統(tǒng)的結構框圖如圖2 所示。</p><p>  圖 2控制系統(tǒng)的結構框圖</p><p><b>  2系統(tǒng)工作原理</b></p><p&

6、gt;  這里的循跡是指小車在白色地板上循黑線行走,由于黑線和白色地板對光線的反射系數(shù)不同,可以根據(jù)接收到的反射光的強弱來判斷“道路”。通常采取的方法是紅外探測法。 </p><p>  紅外探測法,即利用紅外線在不同顏色的物體表面具有不同的反射性質的特點,在小車行駛過程中不斷地向地面發(fā)射紅外光,當紅外光遇到白色紙質地板時發(fā)生漫反射,反射光被裝在小車上的接收管接收;如果遇到黑線則紅外光被吸收,小車上的接

7、收管接收不到紅外光。單片機就是否收到反射回來的紅外光為依據(jù)來確定黑線的位置和小車的行走路線。</p><p>  2.1主控制電路模塊:用AT89C52單片機、復位電路,時鐘電路 </p><p>  整個系統(tǒng)主要由主控中心(單片機)、復位電路、時鐘電路、按鍵控制電路、數(shù)碼管顯示電路及LED模仿交通信號燈電路等功能模塊組成。遇到特殊情況時可以通過按鍵電路控制實時交通實際情況,系統(tǒng)

8、框圖如圖3所示。</p><p>  圖 3主控制電路模塊圖</p><p>  2.2紅外檢測模塊:光電傳感器ST188,比較器LM324</p><p>  紅外線光電傳感器【1】(簡稱光電傳感器,又稱光電開關)是通過把光強度的變化轉換成電信號的變化來實現(xiàn)控制的。光電開關是傳感器大家族中的成員,它把發(fā)射端和接收端之間光的強弱變化轉化為電流的變化以達到探測的目的。

9、由于光電開關輸出回路和輸入回路是電隔離的(即電緣絕),所以它可以在許多場合得到應用。</p><p>  2.3電機及驅動模塊:電機驅動芯片L298N、兩個直流電機 </p><p>  L298N是SGS公司的產品,內部包含4通道邏輯驅動電路。是一種二相和四相電機的專用驅動器,即【2】內含二個H橋的高電壓大電流雙全橋式驅動器,接收標準TTL邏輯電平信號,可驅動46V、2A以下的

10、電機。</p><p>  2.4電源模塊:雙路開關電源</p><p>  模塊電源是可以直接貼裝在印刷電路板上的電源供應器,其特點是可為專用集成電路(ASIC)、數(shù)字信號處理器 (DSP)、微處理器、存儲器、現(xiàn)場可編程門陣列 (FPGA) 及其他數(shù)字或模擬負載提供供電。一般來說,這類模塊稱為負載點 (POL) 電源供應系統(tǒng)或使用點電源供

11、應系統(tǒng) (PUPS)。由于模塊式結構的優(yōu)點甚多,因此模塊電源廣泛用于交換設備、接入設備、移動通訊、微波通訊以及光傳輸、路由器等通信領域和汽車電子、航空航天等。 </p><p><b>  3系統(tǒng)硬件設計</b></p><p>  3.1尋跡傳感器模塊</p><p>  ST系列反射式光電傳感器是經常使用的傳感器。這個系

12、列的傳感器種類齊全、價格便宜、體積小、使用方便、質量可靠、用途廣泛。 </p><p>  我們采用ST188作為紅外檢測傳感器。  </p><p>  在黑線檢測的測試中,若檢測到白色區(qū)域,發(fā)射管發(fā)射的紅外線沒有反射到接收管,測量接收管的電壓為4.8V,若檢測到黑色區(qū)域,接收管接受到發(fā)射管發(fā)射的紅外線,電阻發(fā)生變化,所分得的電壓也就隨之發(fā)生變化,測的接收管

13、的電壓為0.5V,測試基本滿足要求。 </p><p>  判斷有無黑線我們用的一塊比較器LM324,比較基準電壓由30K的變阻器調節(jié),各個接收管的參數(shù)都不一致,每個傳感器的比較基準電壓也不盡相同,我們?yōu)槊總€傳感器配備了一個變阻器。</p><p><b>  3.2傳感器電路</b></p><p>  通過ST188檢測黑線,輸出

14、接收到的信號給LM324 ,接收電壓與比較電壓比較后,輸出信號變?yōu)楦叩碗娖?,再輸入到單片機中,用以判定是否檢測到黑線。如4所示。</p><p>  圖 4傳感器模塊電路圖</p><p><b>  3.3傳感器安裝</b></p><p>  在小車具體的循跡行走過程中,為了能精確測定黑線位置并確定小車行走的方向,需要同時在底盤裝

15、設4個紅外探測頭,進行兩級方向糾正控制,提高其循跡的可靠性。這4個紅外探頭的具體位置如圖5所示。圖中循跡傳感器全部在一條直線上。其中X1與Y1為第一級方向控制傳感器,X2與Y2為第二級方向控制傳感器,并且黑線同一邊的兩個傳感器之間的寬度不得大于黑線的寬度。小車前進時,始終保持(如圖3-6中所示的行走軌跡黑線)在X1和Y1這兩個第一級傳感器之間,當小車偏離黑線時,第一級傳感器就能檢測到黑線,【3】把檢測的信號送給小車的處理、控制系統(tǒng),控制

16、系統(tǒng)發(fā)出信號對小車軌跡予以糾正。若小車回到了軌道上,即4個探測器都只檢測到白紙,則小車會繼續(xù)行走;若小車由于慣性過大依舊偏離軌道,越出了第一級兩個探測器的探測范圍,這時第二級探測器動作,再次對小車的運動進行糾正,使之回到正確軌道上去??梢钥闯?,第二級方向探測器實際是第一級的后備保護,從而提高了小車循跡的可靠性。</p><p><b>  圖 5傳感器安裝圖</b></p>&

17、lt;p><b>  3.4控制器模塊</b></p><p>  采用Atmel 公司的AT89C51 單片機作為主控制器。它是一個低功耗,高性能的8 位單片機,片內含32k 空間的可反復擦寫100,000 次Flash 只讀存儲器,具有4K 的隨機存取數(shù)據(jù)存儲器(RAM),32 個I/O口,2個8位可編

18、程定時計數(shù)器,且可在線編程、調試,方便地實現(xiàn)程序的下載與整機的調試。如圖6所示。</p><p><b>  3.5電源模塊</b></p><p>  電源采用雙路開關電源。明偉牌D-30W雙路開關電源。輸出(5V、12V)。該開關電源尺寸為129X98X38mm,交流輸入轉換由開關選擇,具有過流短路保護功能,能自冷散熱。低價位、高可靠。輸入電壓范圍----85~1

19、32VAC/175~264VAC。</p><p><b>  圖 6時鐘電路</b></p><p><b>  3.6電機模塊</b></p><p>  電機采用直流減速電機,直流減速電機轉動力矩大,體積小,重量輕,裝</p><p>  配簡單,使用方便?!?】由于其內部由高速電動機提供原始

20、動力,帶動變速(減速)齒輪組,可以產生較大扭力。 </p><p>  可選用減速比為1:74的直流電機,減速后電機的轉速為100r/min。若車輪直徑為6cm,則小車的最大速度可以達到V=2πr*v=2*3.14*0.03*100/60=0.31 4m/s。能夠較好的滿足系統(tǒng)的要求。</p><p><b>  3.7驅動模塊</b></p>

21、<p>  驅動模塊采用專用芯片L298N 作為電機驅動芯片,L298N 是一個具有高電壓大電流的全橋驅動芯片,其響應頻率高,一片L298N可以分別控制兩個直流電機。以下圖7為L298N的引腳圖和輸入輸出關系表1。</p><p>  驅動電路的設計如圖8所示:</p><p>  L298N 的5、7、10、12 四個引腳接到單片機上,

22、通過對單片機的編程就可實現(xiàn)兩個直流電機的PWM調速控制。</p><p>  圖 7 L298N外部引腳</p><p>  表格 1 L298N輸入輸出關系</p><p>  圖 8 L298N電機驅動電路</p><p>  3.8自動小車總體電路圖</p><p>  如圖9所示,當光電傳感器開始接受信號,通過

23、比較器將信號傳如單片機中。小車進入尋跡模式,即開始不停地掃描與探測器連接的單片I/O口,一旦檢測到某個I/O口有信號變化,就執(zhí)行相應的判斷程序,把相應的信號發(fā)送給電動機從而糾正小車的狀態(tài)。單片機采用T0定時計數(shù)器,通過來產生PWM波,控制電機轉速。</p><p><b>  圖 9總體電路圖</b></p><p><b>  4系統(tǒng)硬件設計</b&

24、gt;</p><p><b>  4.1PWM控制</b></p><p>  本系統(tǒng)采用PWM來調節(jié)直流電機的速度?!?】PWM是通過控制固定電壓的直流電源開關頻率,從而改變負載兩端的電壓,進而達到控制要求的一種電壓調整方法。PWM可以應用在許多方面,如電機調速、溫度控制、壓力控制等。 </p><p>  在PWM驅動控制的調整

25、系統(tǒng)中,按一個固定的頻率來接通和斷開電源,并根據(jù)需要改變一個周期內“接通”和“斷開”時間的長短。通過改變直流電機電樞上電壓的“占空比”來改變平均電壓的大小,從而控制電動機的轉速。因此,PWM又被稱為“開關驅動裝置”。 </p><p>  在脈沖作用下,當電機通電時,速度增加;電機斷電時,速度逐漸減少。只要按一定規(guī)律,改變通、斷電的時間,即可讓電機轉速得到控制。</p><p>

26、  4.2總體軟件流程圖</p><p>  小車進入尋跡模式后,即開始不停地掃描與探測器連接的單片I/O口,一旦檢測到某個I/O口有信號變化,就執(zhí)行相應的判斷程序,把相應的信號發(fā)送給電動機從而糾正小車的狀態(tài)。軟件的主程序流程圖如圖10。</p><p><b>  Y</b></p><p><b>  N</b><

27、;/p><p><b>  N</b></p><p>  圖 10主程序流程圖</p><p>  4.3小車循跡流程圖</p><p>  小車進入循跡模式后,即開始不停地掃描與探測器連接的單片機I/O口,一旦檢測到某個I/O口有信號,即進入判斷處理程序,先確定4個探測器中的哪一個探測到了黑線,如果左面【6】第一級傳感器

28、或者左面第二級傳感器探測到黑線,即小車左半部分壓到黑線,車身向右偏出,此時應使小車向左轉;如果是右面第一級傳感器或右面第二級傳感器探測到了黑線,即車身右半部壓住黑線,小車向左偏出了軌跡,則應使小車向右轉。在經過了方向調整后,小車再繼續(xù)向前行走,并繼續(xù)探測黑線重復上述動作。循跡流程圖如圖11所示。</p><p><b>  N</b></p><p><b>

29、;  Y</b></p><p><b>  圖 11循跡流程圖</b></p><p>  4.4中斷程序流程圖</p><p>  這里利用的是51單片機的T0定時計數(shù)器,從而讓單片機P0口的P0.4和P0.5引腳輸出占空比不同的方波, 然后經驅動芯片放大后控制直流電機。定時計數(shù)器若干時間(比如0.1ms)比如中斷一次

30、, 就使P0.4或P0.5產生一個高電平或低電平。中斷程序流程圖如圖12。</p><p>  Y N</p><p>  圖 12中斷程序流程圖</p><p><b>  5結論</b></p><p>  本次設計采用各個模塊分開設

31、計的方法,大大降低了設計的難度。主要基于STC89C52的最小系統(tǒng),進行外圍設備的擴展。信號采集模塊進行調試的時候,最重要的是電位器的調節(jié),通過電位器的調節(jié)來控制信號采集的靈敏度。光線的不同會帶來不同的效果,所以,對于適應環(huán)境,找到一個合適的狀態(tài),電位器的調節(jié)就顯得尤為重要了。還有,調節(jié)電機轉速的占空比也很重要,因為,盡管電機的型號完全一樣,在使用時,左右兩輪的電機還是會有差異。所以,必須經過調試確定兩機轉速相同的占空比。如果兩機轉速不

32、同,在行駛的過程中會出現(xiàn)搖擺的狀況。這兩條是我在制作的過程中遇到的容易被忽略的問題。</p><p><b>  6參考文獻</b></p><p>  【1】宋健,姜軍生,趙文亮.基于單片機的直流電動機PWM調速系統(tǒng)[J].農機化研究,2006,(1):102-103. </p><p>  【2】邊春元 李文濤 

33、;江杰 杜平等;C51單片機典型模塊設計與應用;機械工業(yè)出版社;2008.4 </p><p>  【3】李華. MCS- 51 系列單片機實用接口技術[M].北京:航空航天大學出版社, 2003 </p><p>  【4】樓然苗.51 單片機設計實例[M].北京:航空航天大學出版社,2005.8</p

34、><p>  【5】王晶,翁顯耀,梁業(yè)宗 自動尋跡小車的傳感器模塊設計.武漢理工大學自動化學院 湖北武漢</p><p>  【6】劉迎春. 傳感器原理設計與應用[M] . 長沙:國防科技大學出版社,1992. </p><p><b>  附錄一:</b></p><

35、p><b>  圖13總電路圖</b></p><p><b>  附錄二:</b></p><p><b>  圖14實物圖</b></p><p><b>  附錄三:總程序</b></p><p>  #include<reg51.h&g

36、t;</p><p>  #define uchar unsigned char</p><p>  #define uint unsigned int</p><p>  unsigned char zkb1=0; //左邊電機的占空比//</p><p>  unsigned char zkb2=0; //右邊點機的占空比/

37、/</p><p>  unsigned char t=0; //定時器中斷計數(shù)器//</p><p>  sbit RSEN1=P0^0;</p><p>  sbit RSEN2=P0^1;</p><p>  sbit LSEN1=P0^2;</p><p>  sbit LSEN2=P0^3;<

38、;/p><p>  sbit B1=P2^0;</p><p>  sbit B2=P2^1;</p><p>  sbit B3=P2^2;</p><p>  sbit B4=P2^3;</p><p>  sbit ENA=P2^4;</p><p>  sbit ENB=P2^5;</

39、p><p>  sbit START1=P2^6;</p><p>  sbit ERROR1=P2^7;</p><p>  //**********延時函數(shù)**********//</p><p>  void delay_1ms(uint d)</p><p>  { uint i;</p><

40、;p>  while(d--)</p><p>  for(i=0;i<75;i++);</p><p><b>  }</b></p><p>  //*******初始化定時器,中斷********//</p><p>  void init()</p><p>  {TMOD=

41、0x01;</p><p>  TH0=(65536-100)/256;</p><p>  TH0=(65536-100)%256;</p><p><b>  EA=1;</b></p><p><b>  ET0=1;</b></p><p><b>  TR

42、0=1;</b></p><p><b>  }</b></p><p>  void timer0()interrupt 1</p><p>  {if(t<zkb1)</p><p><b>  B1=1;</b></p><p><b>  

43、else</b></p><p><b>  B1=0;</b></p><p>  if(t<zkb2)</p><p><b>  B2=1;</b></p><p><b>  else</b></p><p><b>

44、  B2=0;</b></p><p><b>  t++;</b></p><p>  if(t>=100)</p><p><b>  {t=0;}</b></p><p>  TH0=(65536-100)/256;</p><p>  TL0=(65

45、536-100)%256;</p><p><b>  }</b></p><p>  //*********中斷函數(shù)+脈沖調制******//</p><p>  //**********直行*******//</p><p>  void qianjin()</p><p>  { zkb1

46、=30;</p><p><b>  zkb2=30;</b></p><p><b>  }</b></p><p>  //*********左轉函數(shù)1*********//</p><p>  void turn_left1()</p><p>  { zkb1=5;

47、</p><p><b>  zkb2=50;</b></p><p><b>  }</b></p><p>  //********左轉函數(shù)2********//</p><p>  void turn_left2()</p><p>  { zkb1=5;</

48、p><p><b>  zkb2=60;</b></p><p><b>  }</b></p><p>  //*********右轉函數(shù)1*****//</p><p>  void turn_right1()</p><p>  { zkb1=50;</p>

49、<p><b>  zkb2=5;</b></p><p><b>  }</b></p><p>  //*********右轉函數(shù)2*****//</p><p>  void turn_right2()</p><p>  { zkb1=60;</p><p&

50、gt;<b>  zkb2=5;</b></p><p><b>  }</b></p><p>  //*******出錯*******//</p><p>  void turn_error()</p><p><b>  {</b></p><p>

51、;<b>  EA=0;</b></p><p><b>  ET0=0;</b></p><p><b>  TR0=0;</b></p><p><b>  zkb1=0;</b></p><p><b>  zkb2=0;</b>

52、;</p><p><b>  while(1)</b></p><p><b>  {</b></p><p><b>  START1=1;</b></p><p><b>  ERROR1=0;</b></p><p><

53、;b>  B1=0;</b></p><p><b>  B2=0;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  //*********循跡函數(shù)********//</p><

54、;p>  void xunji()</p><p>  { uchar flag;</p><p>  if((RSEN1==1)&&(RSEN2==1)&&(LSEN1==1)&&(LSEN2=1))</p><p>  {flag=0;}//*******直行*******//</p><

55、p>  else if((RSEN1==0)&&(RSEN2==1)&&(LSEN1==1)&&(LSEN2=1))</p><p>  {flag=1;}//*****左偏1,右轉1***//</p><p>  else if((RSEN1==0)&&(RSEN2==0)&&(LSEN1==1)&

56、amp;&(LSEN2=1))</p><p>  {flag=2;}//*****左偏2,右轉2***//</p><p>  else if((RSEN1==1)&&(RSEN2==1)&&(LSEN1==0)&&(LSEN2=1))</p><p>  {flag=3;}//*****右偏2,左轉2**

57、*//</p><p>  else if((RSEN1==1)&&(RSEN2==1)&&(LSEN1==0)&&(LSEN2=0))</p><p>  {flag=4;}//*****右偏2,左轉2***//</p><p><b>  else</b></p><p&

58、gt;<b>  {flag=5;}</b></p><p>  switch(flag)</p><p>  { case 0:qianjin();</p><p><b>  break;</b></p><p>  case 1:turn_right1();</p><p&

59、gt;<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></p&

60、gt;<p>  case 4:turn_left2();</p><p><b>  break;</b></p><p>  case 5:turn_error();</p><p><b>  break;</b></p><p>  default:break;</p&g

61、t;<p><b>  }</b></p><p><b>  }</b></p><p>  //********主程序********//</p><p>  void main()</p><p><b>  {init();</b></p>

62、<p><b>  zkb1=30;</b></p><p><b>  zkb2=30;</b></p><p><b>  ERROR1=1;</b></p><p><b>  START1=0;</b></p><p><b>

63、  while(1)</b></p><p>  { B1=1;//***給電機加電啟動*****//</p><p><b>  B2=1;</b></p><p><b>  B3=1;</b></p><p><b>  B4=1;</b></p>

64、<p><b>  ENA=1;</b></p><p><b>  ENB=1;</b></p><p><b>  while(1)</b></p><p>  { xunji();//******循跡********8// </p><p><b>

溫馨提示

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

評論

0/150

提交評論