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

下載本文檔

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

文檔簡介

1、<p>  超聲波避障小車的設(shè)計書</p><p><b>  立項目的</b></p><p> ?。?)設(shè)計一輛利用超聲波傳感器來實現(xiàn)避障功能的小車,使小車對其運動方向受到的阻礙作出各種躲避障礙的動作。</p><p> ?。?)進一步學(xué)習(xí)單片機原理及其應(yīng)用,了解超聲波傳感器的工作原理。</p><p>&

2、lt;b>  立項意義</b></p><p>  在科學(xué)探索及緊急搶險中經(jīng)常要對一些危險或人類不能直接到達的地域進行探測,這就需要用機器人來完成。而機器人在復(fù)雜地形行進時自動避障是一項必不可少也是最基本的功能。因此,自動避障系統(tǒng)的研發(fā)也就應(yīng)運而生。</p><p>  自動避障小車就是基于這一系統(tǒng)開發(fā)而成的。隨著科技的發(fā)展,對于未知空間和人類所不能直接到達的地域的探索逐

3、步成為熱門,這就使機器人自動避障功能的研發(fā)有了重大意義。</p><p>  通過對自動避障小車的設(shè)計,我們可以將其運用于自動避障小車,以作為地域探索機器人和緊急搶險機器人的運動系統(tǒng),讓機器人在行進中自動避過障礙物。</p><p><b>  設(shè)計要求</b></p><p> ?。?)在車前方?jīng)]有障礙物時,小車沿直線向前走。</p&g

4、t;<p> ?。?)在車前方有障礙物時,小車能避開障礙物,避障方法如下:</p><p> ?、傧认蜃筮呣D(zhuǎn)90度,如果前面沒有障礙物,再沿直線向前走;</p><p>  ②如果前面仍有障礙物,則向右轉(zhuǎn)180度,如果前面沒有障礙物,則直線行走;</p><p>  ③如果前面仍有障礙物,則向右90度,然后直線行走</p><p&g

5、t;<b>  課題設(shè)計</b></p><p><b>  設(shè)計原理</b></p><p>  該智能車系統(tǒng)可分為四個主要模塊:傳感器避障模塊,單片機主控核心模塊,電機驅(qū)動模塊,USB下載模塊。鑒于電機驅(qū)動模塊、USB下載模塊已經(jīng)由實驗室直接提供了,我們對于傳感器避障模塊和單片機主控核心模塊進行了討論。</p><p>

6、; ?。?)傳感器避障模塊。智能車避障系統(tǒng)中的傳感器一般分為接觸型和非接觸型兩種,接觸型相對比較簡單。這里我們使用了超聲波傳感器進行測量,也即非接觸型傳感器。</p><p>  超聲波是一種振動頻率高于聲波的機械波,由換能晶片在電壓的激勵下發(fā)生震動產(chǎn)生的,在碰到雜質(zhì)獲分界面會產(chǎn)生顯著反射從而形成反射回波,超聲波傳感器就是根據(jù)超聲波在障礙物界面上的反射來判斷檢測物體的存在以及距離的。超聲波頻率高,波長短,繞射現(xiàn)象

7、小,方向性好,再加上信息處理簡單且價格低廉,所以這里我們使用28015-PING-v1.6超聲波傳感器對小車行進前方路況進行探測以及判斷,它能實現(xiàn)從3cm到1.8m距離的測量,從而識別出范圍內(nèi)的障礙物。我們將其作為傳感器避障模塊,利用其返回的數(shù)據(jù),從而實現(xiàn)小車避障的功能。</p><p>  圖2.1.1超聲波傳感器</p><p> ?。?)單片機主控核心模塊。在這次設(shè)計中我們選用已經(jīng)學(xué)

8、過的MCS-51單片機為核心作為控制模塊。MCS-51系列單片機是美國Intel公司于1980年推出的產(chǎn)品,MCS-51系列單片機的影響及其深遠(yuǎn),許多公司都推出了兼容系列單片機,使MCS-51內(nèi)核成為一個8位單片機的標(biāo)準(zhǔn),其典型產(chǎn)品有8031、8051、8751等等。</p><p>  (3)電機驅(qū)動模塊。電機驅(qū)動模塊是由兩個伺服電機組成,伺服電機控制原理如下所示:控制電機運動轉(zhuǎn)速的是高電平持續(xù)的時間,當(dāng)高電平

9、持續(xù)時間為1.3ms時,電機順時針全速旋轉(zhuǎn),當(dāng)高電平持續(xù)時間1.7ms時,電機逆時針?biāo)傩D(zhuǎn)。</p><p>  圖2.1.2伺服電機控制時序圖</p><p><b>  2.2設(shè)計內(nèi)容</b></p><p>  系統(tǒng)主要原理是:通過超聲波避障模塊(即感測模塊)實時監(jiān)測路面情況并及時傳輸給單片機。由單片機主控核心模塊根據(jù)感測模塊給予的信息控

10、制小車兩電機轉(zhuǎn)動工作狀態(tài)。電機驅(qū)動模塊驅(qū)動兩電機轉(zhuǎn)動,實現(xiàn)前進或者左、右轉(zhuǎn)。</p><p>  小車的避障流程如下:</p><p>  (1)在車前方?jīng)]有障礙物時,小車沿直線向前走。</p><p> ?。?)在車前方有障礙物時,小車能避開障礙物,避障方法如下:</p><p> ?、傧认蜃筮呣D(zhuǎn)90度,如果前面沒有障礙物,再沿直線向前走;

11、</p><p> ?、谌绻懊嫒杂姓系K物,則向右轉(zhuǎn)180度,如果前面沒有障礙物,則沿直線向前行走;</p><p>  ③如果前面仍有障礙物,則向右90度,然后直線行走</p><p>  根據(jù)小車的避障流程畫出小車避障程序的程序流程圖如下:</p><p>  根據(jù)程序流程圖編寫單片機控制程序(見附錄)</p><p&

12、gt;<b>  2.3設(shè)計結(jié)果</b></p><p>  組裝出來的避障小車圖2.3.1所示。將編寫好的C語言程序轉(zhuǎn)換成.hex文件,將.hex文件“燒入”單片機中,接通電源,小車向前沿直線行走,把手放在傳感器前,小車立即向左旋轉(zhuǎn)90度;放開手,小車又沿直線向前走。把手一直放在傳感器前面,小車會先向左轉(zhuǎn)90度,再右旋轉(zhuǎn)180度,再接著向右旋轉(zhuǎn)90度,再向左旋轉(zhuǎn)90度,然后一直循環(huán)……通過

13、不同的測試發(fā)現(xiàn)下車完全滿足設(shè)計要求。</p><p><b>  圖2.3.1</b></p><p><b>  結(jié)題報告</b></p><p>  1、課題完成情況介紹</p><p>  將編寫好的C語言程序轉(zhuǎn)換成.hex文件,將.hex文件“燒入”單片機中,接通電源,小車向前沿直線行走,把

14、手放在傳感器前,小車立即向左旋轉(zhuǎn)90度;放開手,小車又沿直線向前走。把手一直放在傳感器前面,小車會先向左轉(zhuǎn)90度,再右旋轉(zhuǎn)180度,再接著向右旋轉(zhuǎn)90度,再向左旋轉(zhuǎn)90度,然后一直循環(huán)……通過不同的測試發(fā)現(xiàn)下車完全滿足設(shè)計要求。</p><p>  2、設(shè)計中發(fā)現(xiàn)的問題及相應(yīng)的解決情況</p><p><b>  2.1、發(fā)現(xiàn)的問題</b></p>&l

15、t;p> ?。?)通電之后,小車不停地旋轉(zhuǎn),旋轉(zhuǎn)次序與設(shè)計的避障旋轉(zhuǎn)次序一致,說明子函數(shù)“getx()”返回的Dis 的值一直小于10.</p><p> ?。?)小車通電之后,小車在避障功能上完全滿足要求,但是前進時,小車卻每行進兩三厘米就停頓一下,然后再行進兩三厘米就停頓。</p><p><b>  2.2、解決情況</b></p><

16、p>  (1)出現(xiàn)這個結(jié)果的問題是子函數(shù)“getx()”里面的子函數(shù)delay_nus(1),因為delay_nus(1)的實現(xiàn)的延時時間實際上不是1us,因為delay_nus()函數(shù)里面有這樣的語句“i=i/10”,這樣實際上i就等于0;為了解決這個問題我們重新編寫了一個延時函數(shù)delay_nus1(1),結(jié)果小車正常運行。</p><p> ?。?)出現(xiàn)這個問題的原因是程序每循環(huán)一次時都應(yīng)該初始化Si

17、g口,我們在程序中加上了“delay_nus(20000);Sig=0;” 結(jié)果小車正常運行。</p><p>  3、課程設(shè)計的心得體會</p><p>  通過這次課程設(shè)計,我對單片機的原理和應(yīng)用有了更深的理解。在這次課程設(shè)計中,我重新學(xué)習(xí)了一遍張毅剛老師編寫的教材《單片機原理及應(yīng)用》,將以前學(xué)習(xí)的知識重新看了一遍,加深了我對單片機知識的印象。最重要的是,我知道如何在實際設(shè)計中使用單片

18、機,這個是在課本上學(xué)不來的。</p><p>  在這次課程設(shè)計中我們遇到了很多問題,尤其是在調(diào)試程序的時候,雖然我們嚴(yán)格的按照程序流程圖的邏輯來編寫程序,編譯也沒有出錯,但是把程序“燒入”單片機運行時小車總是不能按照預(yù)想的情況運行,經(jīng)過我們耐心的調(diào)試和修改,以及在胡瑞強老師的耐心指導(dǎo)下,我們最終還是成功了。</p><p><b>  4、參考文獻</b></

19、p><p>  【1】張毅剛.《單片機原理及應(yīng)用》.高等教育出版社。</p><p><b>  附錄</b></p><p>  #include <reg51.h></p><p>  int dis,ltime,htime,time;//dis代表距離,time代表時間</p><p

20、>  sbit SIG=P3^4;//P3^4控制和讀取傳感器IO口狀態(tài)</p><p>  sbit left=P1^0;//左輪</p><p>  sbit right=P1^1;//右輪</p><p><b>  //延時程序</b></p><p>  void delay

21、(int i)//用于延時i微秒</p><p><b>  {</b></p><p>  i=i/10-14;//這里減去14因為通過debug得到精確時間</p><p>  while(i--);</p><p><b>  }</b></p><p

22、>  void delay1(int i)//用于產(chǎn)生脈沖,激發(fā)超聲波</p><p><b>  {</b></p><p>  while(i--);</p><p><b>  }</b></p><p><b>  //初始化</b></p>

23、<p>  void init()</p><p><b>  {</b></p><p>  TMOD=0x01;//T0方式1</p><p>  TH0=0;TL0=0;//計時器清零</p><p>  ET0=1;//定時器0中斷允許</p><

24、;p>  EA=1;//總中斷允許</p><p>  TR0=0;//定時器0先不開始計時</p><p><b>  }</b></p><p><b>  //行車程序</b></p><p>  void xingjin(int l,int r)//方便

25、下面程序的編寫</p><p><b>  {</b></p><p>  left=1;//給左輪提供長度為l微秒的脈沖</p><p><b>  delay(l);</b></p><p><b>  left=0;</b></p><p&

26、gt;  right=1; //給右輪提供長度為r微秒的脈沖</p><p><b>  delay(r);</b></p><p><b>  right=0;</b></p><p>  delay(18000);</p><p><b>  }</b><

27、/p><p>  void left_90()//原地左轉(zhuǎn)90度,兩輪均為順時針</p><p><b>  {</b></p><p><b>  inti=30;</b></p><p><b>  while(i)</b></p><p>

28、<b>  {</b></p><p>  xingjin(1300,1300);</p><p><b>  i--;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  v

29、oid right_90()//原地右轉(zhuǎn)90度,兩輪均為逆時針</p><p><b>  {</b></p><p><b>  inti=30;</b></p><p><b>  while(i)</b></p><p><b>  {</b&

30、gt;</p><p>  xingjin(1700,1700);</p><p><b>  i--;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void right_180()

31、//原地右轉(zhuǎn)180度,兩輪均為逆時針</p><p><b>  {</b></p><p><b>  inti=60;</b></p><p><b>  while(i)</b></p><p><b>  {</b></p>&l

32、t;p>  xingjin(1700,1700);</p><p><b>  i--;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void forward()//前行,左輪逆時針,右輪順時針&l

33、t;/p><p><b>  {</b></p><p>  xingjin(1700,1300);</p><p><b>  }</b></p><p><b>  //測距子程序</b></p><p>  int getx(int a)</p&

34、gt;<p><b>  {</b></p><p>  TH0=TL0=0;</p><p>  if(a)//通過產(chǎn)生一個脈沖,使發(fā)出超聲波</p><p><b>  {</b></p><p><b>  SIG=0;</b></p&g

35、t;<p><b>  SIG=1;</b></p><p>  delay1(1); </p><p><b>  SIG=0;</b></p><p><b>  }</b></p><p>  while(SIG);//除噪</p&

36、gt;<p>  while(!SIG);//當(dāng)超聲波發(fā)出時低電平結(jié)束</p><p>  TR0=1;//定時器0開始計時</p><p>  while(SIG);//當(dāng)收到回波或超時時高電平結(jié)束</p><p>  TR0=0;//定時器0停止計時</p><p>  lti

37、me=TL0;//分別存儲定時器高低位的數(shù)據(jù)</p><p>  htime=TH0;//經(jīng)過debug可知每次計時約為1.085us</p><p>  time=htime*256+ltime;//將數(shù)據(jù)轉(zhuǎn)化為時間,單位為微秒</p><p>  dis=time/(2*29);//將時間轉(zhuǎn)化為距離,單位為厘米</p&g

38、t;<p><b>  }</b></p><p><b>  //主程序</b></p><p>  void main()</p><p><b>  {</b></p><p>  init();//對定時器進行初始化,為計時測距做準(zhǔn)備</

39、p><p>  while(1)//保證小車始終進行下面的判斷</p><p><b>  {</b></p><p>  getx(1);//獲得小車行進方向的障礙物信息</p><p>  if(dis>=10)//若距離大于10cm則繼續(xù)前行,結(jié)束本循環(huán)</p><

40、;p><b>  {</b></p><p>  forward();</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  left

41、_90();//否則左轉(zhuǎn)90度,并進行下一次判斷</p><p><b>  getx(1);</b></p><p>  if(dis>=10)//若距離大于10cm則繼續(xù)前行,結(jié)束本循環(huán)</p><p><b>  {</b></p><p>  forward();<

42、/p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  right_180();//否則右轉(zhuǎn)180度,并進行下一次判斷</p><p><b>  getx

43、(1);</b></p><p>  if(dis>=10)//若距離大于10cm則繼續(xù)前行,結(jié)束本循環(huán)</p><p><b>  {</b></p><p>  forward();</p><p><b>  }</b></p><p><b

44、>  else</b></p><p><b>  {</b></p><p>  right_90();//否則右轉(zhuǎn)90度,結(jié)束本循環(huán)</p><p><b>  }</b></p><p><b>  } </b></p><p>

45、;<b>  }</b></p><p>  delay(20000);//這里考慮到有時會出現(xiàn)運行出錯的現(xiàn)象</p><p>  SIG=0;//加入了一個延時與清零的過程</p><p><b>  } </b></p><p><b>  }</b>

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論