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

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

4、t;<p> ?。?)在車(chē)前方有障礙物時(shí),小車(chē)能避開(kāi)障礙物,避障方法如下:</p><p> ?、傧认蜃筮呣D(zhuǎn)90度,如果前面沒(méi)有障礙物,再沿直線(xiàn)向前走;</p><p> ?、谌绻懊嫒杂姓系K物,則向右轉(zhuǎn)180度,如果前面沒(méi)有障礙物,則直線(xiàn)行走;</p><p> ?、廴绻懊嫒杂姓系K物,則向右90度,然后直線(xiàn)行走</p><p&g

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

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

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

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

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

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

11、</p><p>  ②如果前面仍有障礙物,則向右轉(zhuǎn)180度,如果前面沒(méi)有障礙物,則沿直線(xiàn)向前行走;</p><p>  ③如果前面仍有障礙物,則向右90度,然后直線(xiàn)行走</p><p>  根據(jù)小車(chē)的避障流程畫(huà)出小車(chē)避障程序的程序流程圖如下:</p><p>  根據(jù)程序流程圖編寫(xiě)單片機(jī)控制程序(見(jiàn)附錄)</p><p&

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

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

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

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

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

17、g口,我們?cè)诔绦蛑屑由狭恕癲elay_nus(20000);Sig=0;” 結(jié)果小車(chē)正常運(yùn)行。</p><p>  3、課程設(shè)計(jì)的心得體會(huì)</p><p>  通過(guò)這次課程設(shè)計(jì),我對(duì)單片機(jī)的原理和應(yīng)用有了更深的理解。在這次課程設(shè)計(jì)中,我重新學(xué)習(xí)了一遍張毅剛老師編寫(xiě)的教材《單片機(jī)原理及應(yīng)用》,將以前學(xué)習(xí)的知識(shí)重新看了一遍,加深了我對(duì)單片機(jī)知識(shí)的印象。最重要的是,我知道如何在實(shí)際設(shè)計(jì)中使用單片

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

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

21、(int i)//用于延時(shí)i微秒</p><p><b>  {</b></p><p>  i=i/10-14;//這里減去14因?yàn)橥ㄟ^(guò)debug得到精確時(shí)間</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;//計(jì)時(shí)器清零</p><p>  ET0=1;//定時(shí)器0中斷允許</p><

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

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

26、gt;  right=1; //給右輪提供長(zhǎng)度為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度,兩輪均為順時(shí)針</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度,兩輪均為逆時(shí)針</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度,兩輪均為逆時(shí)針</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()//前行,左輪逆時(shí)針,右輪順時(shí)針&l

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

34、gt;<p><b>  {</b></p><p>  TH0=TL0=0;</p><p>  if(a)//通過(guò)產(chǎn)生一個(gè)脈沖,使發(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ā)出時(shí)低電平結(jié)束</p><p>  TR0=1;//定時(shí)器0開(kāi)始計(jì)時(shí)</p><p>  while(SIG);//當(dāng)收到回波或超時(shí)時(shí)高電平結(jié)束</p><p>  TR0=0;//定時(shí)器0停止計(jì)時(shí)</p><p>  lti

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

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

39、p><p>  while(1)//保證小車(chē)始終進(jìn)行下面的判斷</p><p><b>  {</b></p><p>  getx(1);//獲得小車(chē)行進(jìn)方向的障礙物信息</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度,并進(jìn)行下一次判斷</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度,并進(jìn)行下一次判斷</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);//這里考慮到有時(shí)會(huì)出現(xiàn)運(yùn)行出錯(cuò)的現(xiàn)象</p><p>  SIG=0;//加入了一個(gè)延時(shí)與清零的過(guò)程</p><p><b>  } </b></p><p><b>  }</b>

溫馨提示

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

評(píng)論

0/150

提交評(píng)論