<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于51單片機的紅外避障自動車的實現(xiàn)

          基于51單片機的紅外避障自動車的實現(xiàn)

          作者: 時間:2012-09-18 來源:網(wǎng)絡(luò) 收藏
          最近學(xué)校放假三天,于是有了大段的時間,參考了自己學(xué)過的單片機,模電等知識,決定開始第一個正式電子制作——《基于的實現(xiàn)》。最終獲得了成功,整車調(diào)試達(dá)到了理想效果,實現(xiàn)了紅外避障功能。視頻以上傳到優(yōu)酷網(wǎng),視頻地址http://v.youku.com/v_show/id_XMTYzNDc4MjA4.html歡迎大家觀看,探討,提出意見和建議。

          下面是一些基本資料:

          —————————————————————小車參數(shù)——————————————————————————

          障礙檢測方式:(探測模塊功耗7mA)

          車模幾何尺寸:149 x 102 x 59 (mm)

          車 模 輪 距:120 (mm)

          測 障 精 度:75 cm

          電 源 系 統(tǒng):4 x 1.5 v 干電池/4 x 1.2 v 充電電池及其穩(wěn)壓輸出

          電機:直流減速電機,1~12V工作電壓,傳動比:71.2:1

          主 控 芯 片:STC89C52MCU

          其 他 芯 片:LM7806 LM7805 STC11F01等

          —————————————————————小組資料——————————————————————————

          小組成員:

          王太杰:0804211班,擅長于硬件,焊接技術(shù)強,硬件知識充足,在本次制作中負(fù)責(zé)電機驅(qū)動部分建與調(diào)試。

          孫學(xué)軍:0904211班,擅長于編程,C語言功底扎實,思路開闊,在本次制作中負(fù)責(zé)程序驅(qū)動部分程序調(diào)試。

          李相華:0804211班,在本次制作中負(fù)責(zé)電源部分。

          小組優(yōu)勢:

          硬件與程序搭配協(xié)調(diào),每人負(fù)責(zé)各自模塊,只提供最終模塊接口,使隊友不必關(guān)注對方模塊內(nèi)部結(jié)構(gòu),只需將接口連接完成即可,大大減少了每人負(fù)責(zé)的內(nèi)容,提高了效率。

          —————————————————————制作流程與時間———————————————————————

          2010年4月3日(周六):

          小組成員對各模塊電路進行了選擇、優(yōu)化,并進行了電路搭建、焊接,各模塊調(diào)試,確定模塊交互接口;主控程序思路成型,并編寫了測試程序,對軟硬件進行了測試。最后各模塊交互,整體調(diào)試,主程序確定及細(xì)節(jié)敲定。

          2010年4月4日(周日):

          模塊交互,整體調(diào)試,主控程序細(xì)節(jié)修改;經(jīng)布局后各硬件模塊轉(zhuǎn)移至車體,最終焊接,整車成型。主控程序下載,調(diào)試,最終成功。

          —————————————技術(shù)資料———————————————————

          設(shè)計思路:

          為便節(jié)省電機數(shù)量和電路復(fù)雜程度,紅外避障小車(以下簡稱小車)采用前輪主動,后輪從動原理。前輪采用雙電機驅(qū)動,利用差速法實現(xiàn)車身轉(zhuǎn)向。

          檢測部分利用紅外發(fā)射管發(fā)射紅外光,遇障礙物后經(jīng)反射被紅外接受管接收,產(chǎn)生電平轉(zhuǎn)換,利用單片機I/O口檢測紅外檢測模塊電平輸出,以此判斷前方障礙物有無,檢測到障礙物后,經(jīng)單片機I/O口控制電機驅(qū)動電路,經(jīng)由電機驅(qū)動電路輸出不同電壓,產(chǎn)生差速,實現(xiàn)轉(zhuǎn)向,最終以達(dá)到避障的目標(biāo)。

          電源模塊:

          考慮到小車行駛的靈活性,我們拋棄了采用交流電的方案。在制作調(diào)試過程中,我們采取了4節(jié)1.5V5號南孚電池,經(jīng)電池盒串聯(lián)后可獲得5.9~6.5V穩(wěn)定電壓輸出,直接給電機驅(qū)動電路供電。但考慮到工作電壓為4.5V~5.5V,且其對工作電壓要求比較嚴(yán)格。對此,我們設(shè)想采取基于LM7805穩(wěn)壓芯片的穩(wěn)壓芯片輸出5V恒定電壓。電源電路圖見附件,由于在制作中手頭只有一片LM7806,于是我們在輸出端串聯(lián)了一個IN4007二極管,產(chǎn)生0.7V壓降,最終獲得5.2V~5.3V穩(wěn)定電壓輸出,給單片機供電。以提高系統(tǒng)穩(wěn)定性。

          在最終整車成型時我們采用了5V穩(wěn)壓二極管穩(wěn)定電壓,原因有二:一是降低了電源電路功耗,二是降低了制作成本??紤]到一次性干電池的不可利用性,我們在整車成型時采用了4節(jié)可充電電池經(jīng)電池盒串聯(lián)的方案,以降低后續(xù)制作成本??紤]到電壓輸出端的單一性,我們考慮采用10V穩(wěn)壓管另做一路電源輸出,為電機提供工作電壓,在一定程度上可提高電機功率,提高整車運行速度。

          電機驅(qū)動模塊:

          考慮到電機驅(qū)動集成芯片的價格比較高(18~30元/片),我們舍棄了采用電機驅(qū)動芯片驅(qū)動的方案,轉(zhuǎn)而尋求分立元件模擬電路驅(qū)動,經(jīng)最終選擇我們采取了利用雙三極管控制開關(guān)電路,利用三極管的反應(yīng)靈敏性,并將其一端接在MCU的I/O口上,可以通過控制I/O口輸出0、1脈沖數(shù)量比來控制三極管開關(guān),以達(dá)到控制輸出電壓的目的。驅(qū)動電路圖見附件。

          主控程序:

          為了降低程序復(fù)雜性,我們使用了3個I/O口,一個I/O口用來接收紅外部分電平轉(zhuǎn)換,檢測障礙物,另外兩個I/O口端接電機驅(qū)動電路,用程序使其產(chǎn)生0、1脈沖數(shù)量比來控制驅(qū)動電路開關(guān)。最終實現(xiàn)速度差以實現(xiàn)轉(zhuǎn)向避障。

          主控程序如下:
          /* *****************************
          程序開發(fā)環(huán)境Keil uVision3
          語言:C
          編寫者:孫學(xué)軍
          時間:2010/04/04
          ***************************** */



          /* *****************************
          主程序及注釋如下:

          ***************************** */
          #includereg52.h> //添加函數(shù)庫
          #define uint unsigned int //宏定義
          #define uchar unsigned char //宏定義
          sbit s=P3^5;      //定義紅外避障檢測端口
          sbit m1=P3^4;     //定義電機M1電平輸出端口
          sbit m2=P3^6;     //定義電機M2電平輸出端口
          void delay_ms(uint z); //聲明延時函數(shù)


          main()         //主函數(shù)
          {
          uint i=0;       //初始值設(shè)定
          m1=1;
          m2=1;
          while(1)        //無限循環(huán)
          {
          if(s==0)      //S=0表示前方有障礙物 進行轉(zhuǎn)向
          {
          for(i=0;i5;i++)
          {
          m1=0;
          m2=1;
          delay_ms(15);    //狀態(tài)保持15ms
          m1=1;
          m2=1;
          delay_ms(5);    //狀態(tài)保持5ms
          }
          }
          if(s==1)     //S=1表示前方無障礙物 直線行駛
          {
          m1=1;
          m2=1;
          delay_ms(10);    //狀態(tài)保持10ms
          }
          }
          }



          void delay_ms(uint z) //延時函數(shù) 循環(huán)嵌套原理
          {
          uint x,y;
          for(x=z;x>0;x--)
          for(y=110;y>0;y--);
          }

          /* *****************************

          程序結(jié)束,經(jīng)測試程序符合硬件,功能達(dá)到預(yù)期目標(biāo)。

          ***************************** */


          ————————————————————功能擴展——————————————————————————

          1:本車人機交互性不強,車體速度無顯示、障礙物有無顯示不明顯,無轉(zhuǎn)向燈提示
          預(yù)期可以增加速度測量以及液晶或數(shù)碼管顯示模塊,顯示模塊可以附在車體本身,也可以單獨成模塊,利用無線傳輸將數(shù)據(jù)從車體發(fā)送到終端顯示。

          2:增加自動循跡功能

          3:增加自動剎車功能

          4:遙控功能

          ————————————————————完畢————————————————————————————

          歡迎探討,大家共同學(xué)習(xí)進步,歡迎高手指點!

          燃?xì)鈭缶飨嚓P(guān)文章:燃?xì)鈭缶髟?/a>


          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();