登錄    |    注冊
您好,歡迎來到五六電子!        客服電話:   023-58556299    |    023-58722688
登錄    |    注冊
    |    我的訂單    |    購物車
  • 熱搜:

基于C51單片機的智能循跡小車設計與實現
作者: admin    文章來源: 五六電子    點擊:7914    更新時間:2015-01-25

0 .引言
      智能小車作為輪式機器人的一個重要分支,隨著機器人研究的深入受到越來越多人的關注。國內很多高校和研究院所在機器人小車項目上都取得了成績,也有多家公司在開發和研制教學及比賽用機器人小車。本設計以AT89S52單片機作為系統微控制器,循跡模塊采用4組QTI紅外傳感器對路面黑色軌跡進行檢測。單片機通過傳感器檢測到的不同信號,調用循跡程序,控制小車左右兩個伺服舵機的轉速和方向,從而改變小車的速度和方向,最終自助完成循跡功能。實踐證明,此方案可行并且可靠。

l.系統總體設計
       小車車體結構俯視圖如圖1所示。循跡小車主要由控制電路板、電機、傳感器模塊、底盤部件等結構組成。

     

       系統總系統總體框圖如圖2所示。總體設計方案如下:
       (1)控制電路板以AT89S52為控制核心,外接紅外循線傳感器和控制電機信號;

       (2)電機采用伺服舵機驅動小車實現基本巡航動作(前進、后退、左轉、右轉、停止、掉頭);

       (3)傳感器選擇QTI紅外傳感器探測黑白線,使用4個QTI傳感器從左至右依次安裝在小車車體下方,傳感器信號依次連接至單片機4個引腳,單片機根據傳感器檢測信號控制小車沿黑色軌跡線行駛;

       (4)小車底盤部件包括了底盤本體、電池盒、左右輪子和尾輪等部件。選用三輪結構車體,車體前方兩側為驅動輪,后方中心裝有尾輪,起支撐作用,這樣可以保證小車能夠靈活循跡。

2.系統硬件設計
   21伺服電機模塊
       采用可以按照指令連續控制位置或速度的3600伺服舵機。外觀如圖3所示。舵機的輸入線共有3條,紅線是電源線,黑線是地線,自線是控制信號線。舵機的控制信號為周期是20ms的脈寬調制(PWM)信號。舵機內部有1個基準電路,產生周期20ms、寬度1.5ms的基準信號;有1個比較器,將外加信號與基準信號相比較,判斷出方向和大小,從而產生電機的轉動信號。

 

       圖4所示是高電平持續1.5ms、低電平持續20ms,不斷重復的控制脈沖序列。該脈沖序列發給經過零點標定后的伺服電機,伺服電機不會旋轉。如果此時電機旋轉,表明電機需要標定。由圖4~圖6可知,控制電機運動轉速的是高電平持續的時間:當高電平持續時間為1.3ms時,電機順時針全速旋轉;當高電平持續時間

1.7m/s時,電機逆時針全速旋轉。

 

       選擇P1.0專門控制右輪伺服電機,P1.1專門控制左輪伺服電機。電機與單片機的接口連接如圖7所示。

 

22循跡傳感器模塊
       (1)傳感器的選擇QTI(quick track infrared)傳感器是一種紅外傳感器,它利用光電接收管探測其所面對的表面反射光強度。當QTI傳感器面對很暗的表面時,反射光強度很低;面對很亮的表面時,反射光的強度很高。因此不同強度的反射光導致傳感器輸出不同,即探測到不同顏色的物體輸出不同的電平信號。QIT傳感器原理圖及接線圖如圖8和圖9所示。


       接線圖中w是白色線表示VCC引腳;R是紅色線表示信號SIG引腳,接單片機I/O引腳;B是黑色線表示GND引腳。QTI通過1個發光二極管與1個光敏三極管耦合得到1個相當于光敏電阻的器件來控制信號燈的電平。當QTI傳感器經過黑色表面,反射率較低,光敏三極管未導通,這時由電容與三極管組成的RC電路時間常數較大,充放電時間較長,以至于大部分電壓降在三極管兩端,R端輸出高電平1。當QTI傳感器經過亮的表面,反射率較高,光敏三極管導通,這時由電容與三極管組成的RC電路時間常數較小,充放電時間較短,以至于大部分電壓降在電容兩端,R端輸出低電平0。

       (2)小車循跡策略將4組QTI傳感器的SIG信號線連接至小車平臺的相應I/O口,我們選定的是P2口中的P2.1,P2.2,P2.3,P2.4位。在連接相應的GND(黑色線)、VCC(白色線)、SIG(紅色線)信號線時分別使用了與其顏色相同的跳線,這使得在排查錯誤時更簡單、更方便。傳感器與單片機接口設計如圖10所示,傳感器安裝位置如圖11所示。

 

       圖11中循跡傳感器全部在1條直線上。其中P2.2與P2.3引腳信號為第一級方向控制傳感器信號,P2.1與P2.4引腳信號為第二級方向控制傳感器信號。小車前進時,黑線始終保持在第一級傳感器正下方。當小車偏離黑線時,第一級傳感器就能檢測到黑線,從而對小車軌跡予以糾正。第二級方向探測器實際是第一級的后備保護,它的存在是考慮到小車由于慣性過大會依舊偏離軌道,可再次對小車的運動進行糾正,從而提高小車循跡的可靠性。
      (3)電源模塊采用2節3.7V可充電式鋰電池串聯共7.4v電源,經三端穩壓器7805后經甌、q濾波,在電源電路里起到抑制紋波電壓、濾除高頻干擾的作用。7.4V電壓經7805的電壓變換后輸出穩定的5V直流電壓給伺服舵機、單片機芯片以及傳感器供電。電源系統的電路圖如圖12所示。

   

 3.系統軟件設計
  31機器人基本動作實現
       小車向前走時,從小車的左邊看,它的輪子是逆時針旋轉的;從右邊看另一個輪子則是順時針旋轉的。同理,小車其他動作時左右輪子的運動方向也可以分析出來。結合圖4~圖6電機控制時序圖,可分析出小車運行方向和速度控制情況。如表1所示。

 

       在表1中,參數值越接近1500us,小車速度越低。因此,可通過改變參數大小實現小車的加減速控制。發給單片機控制引腳的高電平持續時間決定了伺服電機旋轉的速度和方向。由于小車由兩個輪子驅動,實際上兩個輪子的不同速度組合控制著機器人的運動速度和方向,因此在C語言程序設計中,可以直接用兩個車輪的速
度作為形式參數,定義left為左輪參數,定義right為右輪參數,這樣可以將小車所有運動用1個函數(move)來實現。for循環的參數counter控制了發送給電機的脈沖數量。由于每個脈沖的時間是相同的,因而for循環的參數也控制了伺服電機運行的時間。函數體如下:

 void move(int left,int right,int counter)
 {
      int i;
       for(i_1;i<=counter;i++)
        {
           p1-1=l;
           delay—nus(1eft);
           pl一1=0;
           pl-o=l;
          delay—nu8(right);
          pl_o=0;
          delay—nms(20);
         }
 }。
  32循跡功能的實現

      13所示是4組QTI傳感器自主尋跡的流程圖,該流程圖與表2所給出的循跡策略表相同。可以在表2給出的測試QTI傳感器程序的基礎上,調用move函數完成基于QTI傳感器的自主尋跡程序。小車循跡路線和運動情況可在此程序思路基礎上進行修改即可擴展小車不同循跡功能,如沿黑線走N個脈沖、走到白線區域停止、由一條黑線跨線至另一條黑線等功能。

 

4.結束語
       實際測試證明,該系統控制下的小車具有很好的識別能力,且運行靈活、穩定、可靠。

       (1)傳感器高度對機器人有影響:當傳感器裝得過高時,可能會導致無法巡線;過低時,會導致機器人太過敏感,抖動厲害。經過多次測試,確定傳感器離地面最佳距離為5mm。

       (2)小車全速行駛突然停下時,小車會有翻車或向前沖的可能,導致后續動作出現偏差。這個問題的解決有兩個方法:①加大尾輪質量;②停止程序后執行1個停頓脈沖和200ms的延時。這樣就增加了機器人的穩定性,使上述問題出現的概率幾乎為零。
       (3)用來做軌跡引導小車的線必須足夠黑,以便能吸收傳感器發出的紅外光。建議使用黑色電工膠布。

 

 

上一篇:如何上好電子技能訓練課
下一篇:精選電子制作項目,全面提高學生的綜合能力
熱點推薦
  • 制作LED搖字光棒

    [2015-07-30]

  • 三極管知識簡介

    [2015-03-25]

  • 開關知識簡介

    [2015-03-23]

  • 電位器知識簡介

    [2015-03-21]

  • 在線客服
    在線咨詢
    023-58556299
    技術支持
    023-58722688
    返回頂部"
    北京pkapp破解版