2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、<p><b>  課程設(shè)計說明書</b></p><p>  設(shè)計題目: 教育機(jī)器人避障 </p><p>  院 系: 自動化測試與控制系 </p><p>  班 級: </p><p>  設(shè) 計 者: &l

2、t;/p><p>  學(xué) 號: </p><p>  指導(dǎo)教師: </p><p>  設(shè)計時間: 2012.09 </p><p><b>  課程設(shè)計任務(wù)書</b></p><p>  *注:此任務(wù)書由課程設(shè)計指導(dǎo)教師填

3、寫</p><p><b>  課程設(shè)計開題報告</b></p><p>  題 目:教育機(jī)器人避障</p><p>  院 (系) 自動化測試與控制系 </p><p>  專 業(yè) </p><p>  學(xué) 生 </p>

4、<p>  學(xué) 號 </p><p>  班 號 </p><p>  指導(dǎo)教師 </p><p>  開題報告日期 2012.08.28 </p><p><b>  2005年9月</b></p><

5、p>  課題研究目的及意義:</p><p>  隨著近些年來智能小車的流行,很多人都通過自己動手模仿制作一款智能小車來培養(yǎng)自己對單片機(jī)研究的興趣。伴隨而來的就是帶有不同功能不同硬件組裝而成的智能小車的誕生。通過對本課題---避障小車的研究開發(fā),我們可以了解單片機(jī)開發(fā)過程,掌握單片機(jī)的各部分組成及功能。同時有利于程序編寫能力的提高。通過設(shè)計程序流程圖,建立編寫程序的基本思想。最后我們也可以提高個人遇到問題、

6、分析問題、解決問題的能力。</p><p>  本次課程設(shè)計欲在動手實踐過程中提高自己編寫程序的能力,進(jìn)一步鞏固上學(xué)期對單片機(jī)課本內(nèi)容的理論學(xué)習(xí),從課本走向日常生活。由于單片機(jī)具有顯著的優(yōu)點,它已成為科技領(lǐng)域的有力工具,人類生活的得力助手。它的應(yīng)用遍及各個領(lǐng)域,主要表現(xiàn)在以下幾個方面: 單片機(jī)在智能儀表中的應(yīng)用:單片機(jī)廣泛地用于各種儀器儀表,使儀器儀表智能化。單片機(jī)在機(jī)電一體化中的應(yīng)用:微機(jī)控制的車床、鉆床等。單

7、片機(jī)在實時控制中的應(yīng)用:在工業(yè)測控、航空航天、尖端武器、機(jī)器人等各種實時控制系統(tǒng)中,都可以用單片機(jī)作為控制器。單片機(jī)在分布式多機(jī)系統(tǒng)中的應(yīng)用:在比較復(fù)雜的系統(tǒng)中,常采用分布式多機(jī)系統(tǒng)。多機(jī)系統(tǒng)一般由若干臺功能各異的單片機(jī)組成,各自完成特定的任務(wù),它們通過串行通信相互聯(lián)系、協(xié)調(diào)工作。單片機(jī)在人類生活中的應(yīng)用:洗衣機(jī)、電冰箱、電子玩具、收錄機(jī)等家用電器。目前,單片機(jī)正朝著高性能和多品種方向發(fā)展趨勢將是進(jìn)一步向著CMOS化、低功耗、小體積、大

8、容量、高性能、低價格和外圍電路內(nèi)裝化等幾個方面發(fā)展。</p><p>  通過本次課程設(shè)計,大家會帶著更多的熱情關(guān)注單片機(jī)產(chǎn)品的發(fā)展過程,甚至投入到產(chǎn)品的開發(fā)中來。</p><p><b>  研究內(nèi)容:</b></p><p>  功能:能夠?qū)ξ矬w運動方向受到的阻礙作出各種躲避障礙的動作。 </p><p>  超聲波

9、模塊原理:超聲模塊通過發(fā)射器向四面八方發(fā)射出去,發(fā)射出的超聲波在空氣中沿直線傳播,遇到障礙物后發(fā)生反射反應(yīng)。超聲波接收器收到被障礙物反射回的超聲波以后,經(jīng)由內(nèi)部計算得到障礙物的距離信號。 </p><p>  圖(1) 避障小車</p><p>  圖(2) 超聲波模塊</p><p>  1.教育機(jī)器人簡介:</p><p><b

10、>  教育機(jī)器人組成:</b></p><p>  機(jī)器人的核心芯片為Atmel公司生產(chǎn)的8位AT89S52單片機(jī),是一種高性能CMOS、低功耗的8位單片機(jī),片內(nèi)含8k Bytes Flash,運用ISP(in-system programmable)的可反復(fù)擦寫1000次;只讀程序存儲器器件采用ATMEL公司的高密度、非易失性存儲技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及其引腳結(jié)構(gòu)。在實際工程應(yīng)

11、用中,功能強(qiáng)大的AT89S52已成為許多提供高性價比嵌入式控制應(yīng)用系統(tǒng)的解決方案。</p><p>  教育機(jī)器人由一塊教學(xué)底板和車體部分組成,機(jī)器人的動作由伺服電機(jī)控制。伺服電機(jī)與單片機(jī)接口的連接,通過P1_0引腳的控制輸出用來控制右的伺服電機(jī),而P1_1則用來控制左邊的伺服電機(jī)。</p><p>  如圖所示為電機(jī)連接原理圖和實際接線圖</p><p>  圖(

12、3)電機(jī)連接原理圖和實際接線圖</p><p>  機(jī)器人伺服電機(jī)控制原理 :</p><p>  控制電機(jī)運動轉(zhuǎn)速的是高電平持續(xù)的時間,當(dāng)高電平持續(xù)時間為1.3ms時,電機(jī)順時針全速旋轉(zhuǎn),當(dāng)高電平持續(xù)時間1.7ms時,電機(jī)逆時針?biāo)傩D(zhuǎn)。 </p><p>  圖(4)標(biāo)定后,電機(jī)靜止的脈沖序列</p><p>  圖(5) 電機(jī)順時針轉(zhuǎn)動的

13、脈沖序列</p><p>  圖(6)電機(jī)逆時針轉(zhuǎn)動的脈沖序列</p><p>  機(jī)器人伺服電機(jī)如何調(diào)零: </p><p>  零速度點(1.5ms脈寬序列),一個順時針最大速度點(1.7ms脈寬序列),和一個逆時針的最大速度點(1.3ms脈寬序列),其中越靠近零速度點,速度越小,遠(yuǎn)離零點越大速度越大。 </p><p>  通過發(fā)送一個

14、校準(zhǔn)信號到伺服電機(jī),連續(xù)旋轉(zhuǎn)伺服電機(jī)的零位信號為1.5ms。如果電機(jī)還沒有進(jìn)行零點標(biāo)定,如圖所示,用螺絲刀輕輕調(diào)節(jié)馬達(dá)上的電位器,直到馬達(dá)停止轉(zhuǎn)動。</p><p><b>  圖(7)調(diào)零</b></p><p>  2.程序設(shè)計流程圖:</p><p>  三.關(guān)鍵問題及解決辦法:</p><p><b>

15、  關(guān)鍵問題:</b></p><p>  1.通過單片機(jī)驅(qū)動小車前進(jìn)、后退、加速、減速、正轉(zhuǎn)、反轉(zhuǎn)等的基本程序模塊;</p><p>  2.分析怎樣控制輪子的旋轉(zhuǎn)可以實現(xiàn)基本功能;</p><p>  3.了解超聲波模塊的測距原理;</p><p>  4.編寫超聲波測距子程序;</p><p>  5

16、.調(diào)試,根據(jù)小車運行情況適當(dāng)改寫程序;</p><p><b>  解決辦法:</b></p><p>  1.仔細(xì)閱讀課程設(shè)計指導(dǎo)書,了解單片機(jī)如何控制伺服電機(jī)運轉(zhuǎn);</p><p>  2.具體分析小車模型,找到與小車運動方式相對應(yīng)的電機(jī)的旋轉(zhuǎn)方式;</p><p>  3.查找小車所用超聲波模塊型號,去網(wǎng)上搜索單片

17、機(jī)控制此超聲波的驅(qū)動程序,也可參考指導(dǎo)書相應(yīng)程序;</p><p>  4.認(rèn)真觀察小車運行狀態(tài),將錯誤的運行現(xiàn)象當(dāng)做正確的運行現(xiàn)象去分析,因為現(xiàn)象并沒有“對錯”,找到小車這樣運行的可能原因,然后修改調(diào)試。</p><p><b>  課題完成情況:</b></p><p>  經(jīng)過十天的努力,本次課程設(shè)計如期的完成了規(guī)定的任務(wù):</p&

18、gt;<p>  1)2012.8.27——2012.8.28:通過閱讀課程設(shè)計指導(dǎo)書,去網(wǎng)站查找單片機(jī)方面的資料,基本了解了小車避障的原理,本次課設(shè)采用的是超聲波模塊進(jìn)行距離測量,因為超聲波模塊可以提供無接觸的測量,從3cm到1.8m距離測量,可以用來辨別障礙物,同時可以非常容易的連接到微控制器上。通過此模塊,可以獲得在聲納范圍內(nèi)的確切的障礙物的距離,機(jī)器人就可以像蝙蝠一樣通過聲納來感知周圍的環(huán)境,同時根據(jù)障礙物的距離精

19、確地控制電機(jī)運行,從而讓機(jī)器人可以輕松地避開障礙物;</p><p>  2)2012.8.29——2012.8.30:通過前兩天對基本知識的了解,繪制程序流程圖,并編寫簡單的小車運行程序,包括小車前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)、加速、減速的程序;</p><p>  3)2012.8.31——2012.9.3:研究算法,設(shè)計避障小車總體程序;</p><p>  4)20

20、12.9.4——2012.9.5:調(diào)試小車;</p><p>  5)2012.9.6——2012.9.7:撰寫避障小車說明書,并驗收。</p><p>  附錄:小車避障程序:</p><p>  /***************************************************************</p><p>

21、;  程序名:小車避障程序</p><p>  硬件支持:AT89S52</p><p>  接口說明:P1_0控制右側(cè)伺服電機(jī),P1_1控制左側(cè)伺服電機(jī),P1_5接sin</p><p>  **************************************************************/</p><p>  #

22、include<reg51.h>//通用89C51頭文件</p><p>  sbit sin=P1^5;</p><p>  sbit p1=P1^0;</p><p>  sbit p2=P1^1; //按位定義SFR中的存儲器名</p><p&g

23、t;  unsigned int dis=0;</p><p>  unsigned int Ltime,Htime,Time; //定義全局變量</p><p>  /**************************************************************</p><p>  函數(shù)名:納秒級CP

24、U延時函數(shù)</p><p>  調(diào)用:delay(1)</p><p>  參數(shù):1~65535</p><p><b>  返回值:無</b></p><p>  結(jié)果:占用CPU方式延時與參數(shù)相等的納秒時間</p><p>  *********************************

25、*****************************/</p><p>  void delay(unsigned int i)</p><p><b>  {</b></p><p><b>  i=i/10;</b></p><p>  while(--i);</p><

26、;p><b>  } </b></p><p>  /**************************************************************</p><p>  函數(shù)名:CPU延時函數(shù) </p><p>  調(diào)用:delay1(1)</p><p>  參數(shù):1~65535

27、</p><p><b>  返回值:無</b></p><p>  結(jié)果:占用CPU方式延時與參數(shù)相等的時間</p><p>  **************************************************************/</p><p>  void delay1(unsigned

28、int i)</p><p><b>  {</b></p><p>  while(--i);</p><p><b>  }</b></p><p>  /**************************************************************</p&g

29、t;<p>  函數(shù)名:超聲波測距程序</p><p>  調(diào)用:getx(1)</p><p><b>  參數(shù):1~255</b></p><p><b>  返回值:無</b></p><p>  結(jié)果:測量與障礙物之間的距離</p><p>  ****

30、*********************************************************/</p><p>  void getx(unsigned char a)</p><p><b>  {</b></p><p><b>  TH0=0;</b></p><p>&

31、lt;b>  TL0=0;</b></p><p><b>  if(a)</b></p><p><b>  {</b></p><p><b>  sin=0;</b></p><p><b>  sin=1;</b></p&g

32、t;<p>  delay1(1);</p><p><b>  sin=0;</b></p><p><b>  }</b></p><p>  while(sin);</p><p>  while(!sin);</p><p><b>  TR0

33、=1;</b></p><p>  while(sin);</p><p><b>  TR0=0;</b></p><p>  Ltime=TL0;</p><p>  Htime=TH0;</p><p>  Time=Htime*256+Ltime;</p><

34、;p>  dis=Time/(2*29);</p><p><b>  } </b></p><p>  /**************************************************************</p><p>  函數(shù)名:小車左轉(zhuǎn)程序</p><p><b>

35、;  調(diào)用:left()</b></p><p><b>  參數(shù):無</b></p><p><b>  返回值:無</b></p><p><b>  結(jié)果:小車左轉(zhuǎn)</b></p><p>  *********************************

36、*****************************/ </p><p>  void left()</p><p>  { unsigned char y;</p><p>  for(y=0;y<18;y++)</p><p><b>

37、;  {</b></p><p><b>  p1 =1;</b></p><p>  delay(1300);</p><p><b>  p1 =0;</b></p><p>  delay(20000);</p><p><b>  p2 =1;&

38、lt;/b></p><p>  delay(1300);</p><p><b>  p2 =0;</b></p><p>  delay(20000);</p><p><b>  }</b></p><p><b>  }</b></

39、p><p>  /**************************************************************</p><p>  函數(shù)名:小車右轉(zhuǎn)程序</p><p>  調(diào)用:right()</p><p><b>  參數(shù):無</b></p><p><b&

40、gt;  返回值:無</b></p><p><b>  結(jié)果:小車右轉(zhuǎn)</b></p><p>  **************************************************************/</p><p>  void right()</p><p>  {unsign

41、ed char y;</p><p>  for(y=0;y<18;y++)</p><p><b>  {</b></p><p><b>  p1 =1;</b></p><p>  delay(1700);</p><p><b>  p1 =0;<

42、;/b></p><p>  delay(20000);</p><p><b>  p2 =1;</b></p><p>  delay(1700);</p><p><b>  p2 =0;</b></p><p>  delay(20000);</p>

43、<p><b>  }</b></p><p><b>  }</b></p><p>  /**************************************************************</p><p>  函數(shù)名:小車前進(jìn)程序</p><p>  調(diào)用

44、:forward()</p><p><b>  參數(shù):無</b></p><p><b>  返回值:無</b></p><p><b>  結(jié)果:小車前進(jìn)</b></p><p>  *********************************************

45、*****************/</p><p>  void forward()</p><p><b>  {</b></p><p><b>  int i;</b></p><p>  for(i=0;i<5;i++)</p><p><b> 

46、 {p1 =1;</b></p><p>  delay(1300);</p><p><b>  p1 =0;</b></p><p>  delay(20000);</p><p><b>  p2 =1;</b></p><p>  delay(1700);

47、</p><p><b>  p2 =0;</b></p><p>  delay(20000);}</p><p><b>  }</b></p><p>  /****************************************************************<

48、;/p><p><b>  函數(shù)名:主函數(shù)</b></p><p><b>  調(diào)用:main()</b></p><p><b>  參數(shù):無</b></p><p><b>  返回值:無</b></p><p><b>

49、  結(jié)果:</b></p><p>  ****************************************************************/</p><p>  void main()</p><p><b>  {</b></p><p>  TMOD=0x01;</p&

50、gt;<p><b>  EA=1;</b></p><p>  ET0=1;TR0=1; //定時器T0初始化,T/C方式寄存器TMOD選擇工作方式為16位T/C,開啟T/C0,允許中斷</p><p>  forward();</p><p><b>

51、;  while(1)</b></p><p><b>  { </b></p><p><b>  getx(1); </b></p><p>  if(dis>10)</p><p><b>  {</b></p><p>  fo

52、rward();</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p><b>  left();</b></p><p><b> 

53、 getx(1);</b></p><p>  if(dis>10)</p><p><b>  {</b></p><p>  forward();</p><p><b>  }</b></p><p><b>  else</b>

54、</p><p><b>  {</b></p><p><b>  right();</b></p><p><b>  right();</b></p><p><b>  getx(1);</b></p><p>  if(d

55、is>10)</p><p><b>  {</b></p><p>  forward();</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b><

56、;/p><p><b>  right();</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b>&

57、lt;/p><p><b>  }</b></p><p><b>  問題與解決方案:</b></p><p><b>  問題:</b></p><p><b>  編程思路;</b></p><p>  小車“一頓一頓”前進(jìn)問題;

58、</p><p>  程序燒不進(jìn)單片機(jī)內(nèi);</p><p>  小車可能撞到障礙物然后才會拐彎;</p><p><b>  解決方案:</b></p><p>  設(shè)計任務(wù)拿到手中無從下手,我到圖書館中查找了一些書籍,大略將杜洋的《愛上單片機(jī)》一書翻閱了一遍,他提倡了一種“虛擬積木”的方法,積木里包含單片機(jī)C語言編程常

59、用的函數(shù)模塊與語句,編寫一般程序只要復(fù)制、黏貼,應(yīng)用程序即可搞定。</p><p><b>  第一步:畫流程圖;</b></p><p>  第二步:將流程圖中的區(qū)塊變成具體的程序語句;</p><p>  第三步:按照流程圖編寫主函數(shù);</p><p>  編程的盡頭有三件東西:應(yīng)用程序,驅(qū)動程序與算法。通過對這本書

60、的閱讀,我對本次課程設(shè)計有了基本的思路與著手點。</p><p>  首先將這種現(xiàn)象當(dāng)做一種正確現(xiàn)象去分析,我們通過再次分析所編寫的程序,發(fā)現(xiàn)小車只執(zhí)行一遍forward()函數(shù)就繼續(xù)前進(jìn)了,于是我們在forward()程序中加進(jìn)了一個for循環(huán),但事實證明用處并不大,小車仍然有“一頓一頓”的現(xiàn)象,只不過相隔兩次之間運行的距離稍遠(yuǎn)一些。靜下來繼續(xù)分析,我們會發(fā)現(xiàn),小車之所以會產(chǎn)生這種現(xiàn)象使由于小車在運行完forw

61、ard()程序之后,在進(jìn)行測距程序運行過程中所用時間過長,修改思路有兩種:一是重新編寫測距程序模塊,這也是我們最初只想到的方法,后來在老師的指導(dǎo)下,通過改變延時程序的時間,最終實現(xiàn)了理想結(jié)果。</p><p>  先取下超聲波測距模塊,帶程序燒進(jìn)去后再重新安上即可;</p><p>  小車的速度稍有些快,我們可以通過改變小車的速度來實現(xiàn),我想也可通過用PWM引腳進(jìn)行控制,通過改變占空比,

62、從而控制小車速度,但由于時間關(guān)系,并未嘗試。</p><p><b>  心得體會:</b></p><p>  通過本次課程設(shè)計,培養(yǎng)了我對單片機(jī)研究的濃厚興趣。之前一直停留于書本上的理論知識,稍顯枯燥乏味,但當(dāng)將其運用于實際生活中時,單片機(jī)顯得很好玩。而且通過自己的動手實踐,將理論與實踐相結(jié)合,才將之前一些死記硬背的知識點真正的記住了。</p>&l

63、t;p>  課程設(shè)計只是一個開始,課程設(shè)計期間我在網(wǎng)絡(luò)上找到了好多個關(guān)于單片機(jī)設(shè)計實物方面的網(wǎng)站,上面有大家自己手工制作的小創(chuàng)意,以后有機(jī)會可以不時地去研究一下,對自己也是大有裨益。</p><p>  通過與同學(xué)的討論研究,此次課程設(shè)計才得以順利完成,感謝同學(xué)們的幫助,也感謝老師的指點,愿未來道路上我們共同進(jìn)步。</p><p><b>  參考文獻(xiàn):</b>

64、</p><p>  杜洋 愛上單片機(jī).2版 北京·人民郵電出版社 2011年10月</p><p>  胡瑞強(qiáng) 李成偉 周慶東 于彤彥 單片機(jī)原理及應(yīng)用課程設(shè)計指導(dǎo)書 哈爾濱·測控技術(shù)與儀器實驗中心 2012年7月</p><p>  張毅剛 單片機(jī)原理及應(yīng)用 北京·高等教育出版社2012.01月</p>

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論