久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 9355|回復(fù): 1
收起左側(cè)

單片機(jī)循跡尋光滅火小車設(shè)計(jì)原理圖PCB+程序

[復(fù)制鏈接]
ID:444484 發(fā)表于 2018-12-11 21:51 | 顯示全部樓層 |閱讀模式
0.png



一、選題的背景與意義

最近幾十年中,大量的高層、地下建筑與大型的石化企業(yè)不斷涌現(xiàn)。由于這些建筑的特殊性,發(fā)生火災(zāi)時(shí),不能快速高效的滅火。為了解決這一問題,盡快救助火災(zāi)中的受害者,最大限度的保證消防人員的安全,消防機(jī)器人研究被提到了議事日程。而機(jī)器人技術(shù)的發(fā)展也為這一要求的實(shí)現(xiàn)提供了技術(shù)上的保證,使得消防機(jī)器人應(yīng)運(yùn)而生。
從二十世紀(jì)八十年代開始,世界許多國(guó)家都進(jìn)行了消防機(jī)器人的研究。美國(guó)和蘇聯(lián)最早進(jìn)行消防機(jī)器人的研究,而后日本、英國(guó)、法國(guó)等國(guó)家都紛紛開展了消防機(jī)器人的研究,目前已有多種不同類型的消防機(jī)器人用于各種火災(zāi)場(chǎng)合。
從功能上劃分,目前的消防機(jī)器人有下列幾類:滅火機(jī)器人、偵察機(jī)器人、攀登營(yíng)救機(jī)器人和救護(hù)機(jī)器人。從控制方式來分,消防機(jī)器人可分為遙控消防機(jī)器人和自主消防機(jī)器人。
我國(guó)從八十年代末期開始消防機(jī)器人的研究,公安部上海消防研究所等單位在消防機(jī)器人的研究中取得了大量的成果,"自行式消防炮"已經(jīng)投入市場(chǎng),"履帶輪式消防滅火偵察機(jī)器人"也于2000年6月通過了國(guó)家驗(yàn)收。但是,我國(guó)消防機(jī)器人的研究還處在初級(jí)階段,還有許多有待研究的問題。比如,高層建筑發(fā)生火災(zāi)時(shí),消防人員不可能在短時(shí)間內(nèi)到達(dá)高處的火災(zāi)發(fā)生地點(diǎn),在地下建筑中,由于環(huán)境比較潮濕,煙氣不易擴(kuò)散,消防人員不容易快速的判定火源位置;而在石化企業(yè)發(fā)生火災(zāi)時(shí),將產(chǎn)生大量的毒氣,消防人員在滅火時(shí)極易中毒。研制能夠用于這些場(chǎng)合的偵察滅火機(jī)器人,協(xié)助消防人員進(jìn)行火災(zāi)的定位和滅火,將有極大的社會(huì)意義。

  • 研究?jī)?nèi)容與擬解決的主要問

機(jī)器人控制器是一個(gè)多任務(wù)并行執(zhí)行的實(shí)時(shí)控制器。在軟件實(shí)現(xiàn)上,滅火機(jī)器人除了要協(xié)調(diào)控制各個(gè)不同功用的電機(jī),還需要對(duì)紅外、光敏等多種傳感器接收的數(shù)據(jù)進(jìn)行傳輸、處理等。采用c語(yǔ)言可以方便快捷的編寫程序。這里對(duì)滅火機(jī)器人的每種功能進(jìn)行模塊化處理。總體的思路是:在地面上貼一條隨意的黑線(可用黑膠布),機(jī)器人(小車)可以沿著這條黑線行走,不會(huì)到處亂跑,在機(jī)器人行走的途中放置火源(發(fā)光的燈泡),機(jī)器人在行走到火源附近能夠發(fā)現(xiàn)火源并能夠行走到火源附近進(jìn)行滅火(小車上的風(fēng)扇開始轉(zhuǎn)動(dòng)),滅火后(風(fēng)扇停止轉(zhuǎn)動(dòng))機(jī)器人還能回到原本設(shè)定的路線繼續(xù)往下行走。。。實(shí)現(xiàn)起來最基本的就是使機(jī)器人能夠順利沿著設(shè)定的路線進(jìn)行直線行走和拐彎,這一模塊稱為尋跡(直行時(shí)四個(gè)輪子同時(shí)轉(zhuǎn)動(dòng),左轉(zhuǎn)時(shí),左前左后輪子停止轉(zhuǎn)動(dòng),右前右后輪子轉(zhuǎn)動(dòng)。右轉(zhuǎn)時(shí),右前右后輪子停止轉(zhuǎn)動(dòng),左前左后輪子轉(zhuǎn)動(dòng)。來實(shí)行各種轉(zhuǎn)彎)具體為:

  (1)若正前距離很大,同時(shí)右前的距離稍小時(shí),右邊的紅外傳感器快離開檢測(cè)范圍,執(zhí)行左轉(zhuǎn)微調(diào);

  (2)若正前距離很大,同時(shí)右前的距離稍大時(shí),右邊的紅外傳感器快離開檢測(cè)范圍,執(zhí)行右轉(zhuǎn)微調(diào);

  (3)若正前距離很大,右前距離適中,就直行;

  (4)若正前距離比較小,右前距離也比較小時(shí),機(jī)器人左轉(zhuǎn);

  (5)右前距離很大時(shí),機(jī)器人執(zhí)行右轉(zhuǎn)彎。

  其中:(1)~(3)保證了在走直線時(shí)可以走直,通過不斷調(diào)整,使機(jī)器人始終運(yùn)行在黑線上面(4)~(5)保證了機(jī)器人順利拐彎。具體的參數(shù)必須在不斷試驗(yàn)中反復(fù)調(diào)節(jié)。知道這個(gè)機(jī)器人可以順利的完成所指定的動(dòng)作。

  • 技術(shù)路線、研究方案與可行性分析

     3.1技術(shù)路線

制造一個(gè)自主控制的機(jī)器人,它可以按照你給定的路線行走,找到光源并盡快的行走到光源附近,啟動(dòng)風(fēng)扇(相當(dāng)于滅火),滅火后還可以按照以前的路線繼續(xù)前進(jìn)。這個(gè)工作受地面摩擦、機(jī)器人慣性、機(jī)器人電機(jī)的轉(zhuǎn)數(shù)差、電壓變化等多個(gè)因素影響,它模擬了現(xiàn)實(shí)機(jī)器人處理火警的過程,燈泡代表燃起的火源,機(jī)器人必須找到并熄滅它。下面為機(jī)器人滅火的一般特性以及系統(tǒng)的構(gòu)成:

                 被控對(duì)象特性


3.2研究方案

本方案具有以下七個(gè)模塊組成:控制模塊、驅(qū)動(dòng)模塊、傳感器模塊、滅火模塊、電源模塊、循線模塊、尋光模塊。

  • 控制模塊

采用STC89C52RC單片機(jī)作為本系統(tǒng)的核心控制芯片。能對(duì)其進(jìn)行一系列處理,根據(jù)處理結(jié)果,驅(qū)動(dòng)電機(jī)做相應(yīng)的運(yùn)動(dòng),并能控制風(fēng)扇轉(zhuǎn)動(dòng)進(jìn)行滅火操作。

  • 驅(qū)動(dòng)模塊

驅(qū)動(dòng)模塊采用L298芯片與兩個(gè)直流電機(jī),該芯片能夠接收單片機(jī)發(fā)出的控制信號(hào),同時(shí)驅(qū)動(dòng)兩個(gè)直流電機(jī)運(yùn)動(dòng)。

3.  傳感器模塊

傳感器模塊采用紅外傳感器(st188)和光敏電阻(光敏二級(jí)管)傳感器兩種傳感器,紅外傳感器探測(cè)行進(jìn)路面,光敏電阻傳感器探測(cè)前方的光源(火焰),并將探測(cè)到的數(shù)據(jù)傳到STC89C52RC進(jìn)行模數(shù)轉(zhuǎn)換。

  •   滅火模塊

滅火模塊采用12V直流風(fēng)扇,用5V電磁繼電器作為控制開關(guān)控制風(fēng)扇的停轉(zhuǎn)。

5.    電源模塊

2200毫安的鋰電池,使機(jī)器人動(dòng)作的正常運(yùn)行。

  •    循線模塊

它是指小車在白色地板上循黑線行走,通常采取的方法是紅外探測(cè)法。紅外探測(cè)法,即利用紅外線在不同顏色的物體表面具有不同的反射性質(zhì)的特點(diǎn),在小車行駛過程中不斷地向地面發(fā)射紅外光,當(dāng)紅外光遇到白色紙質(zhì)地板時(shí)發(fā)生漫反射,反射光被裝在小車上的接收管接收;如果遇到黑線則紅外光被吸收,小車上的接收管接收不到紅外光。單片機(jī)就是否收到反射回來的紅外光為依據(jù)來確定黑線的位置和小車的行走路線。

7.尋光模塊
尋光模塊是根據(jù)電阻阻值的大小變化引起電壓的變化,與給定值作比較,發(fā)送給單片機(jī),當(dāng)大于給定值則為1(高),當(dāng)小于給定值則為0(低)。然后由單片機(jī)來控制機(jī)器人的各種動(dòng)作。

3.3可行性分析:

     本設(shè)計(jì)的控制芯片是采用STC89C52RC,另外還采用了L298芯片,以及紅外傳感器(例如ST188)和光敏二級(jí)管(或者光敏三級(jí)管)。滅火模塊采用的是12V的直流風(fēng)扇。

    智能滅火機(jī)器人是以STC89C52RC單片機(jī)為核心的,STC89C52RC是一個(gè)低電壓,高性能CMOS 8位單片機(jī),片內(nèi)含8k bytes的可反復(fù)擦寫的Flash只讀程序存儲(chǔ)器和256 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM)。采用L298芯片的驅(qū)動(dòng)模塊可以控制電機(jī)的正反轉(zhuǎn),初始方案中使用玩具四驅(qū)車上附帶的電機(jī)。利用L298 及其外部輔助電路構(gòu)成驅(qū)動(dòng)電路。其優(yōu)點(diǎn)是可實(shí)現(xiàn)控制電路和驅(qū)動(dòng)電路雙電源供電, 可提高系統(tǒng)的穩(wěn)定性。缺點(diǎn)是電機(jī)驅(qū)動(dòng)模塊中獨(dú)立電源的增加將會(huì)使車體變重,從而影響小車運(yùn)行效果。最終方案決定采用雙直流減速電機(jī)。直流減速電機(jī)轉(zhuǎn)動(dòng)力矩大, 體積小,重量輕, 裝配簡(jiǎn)單,使用方便, 價(jià)格比步進(jìn)電機(jī)要便宜。。而紅外傳感器則是內(nèi)部發(fā)射特殊紅外線光波,相當(dāng)數(shù)據(jù)流,也就是數(shù)字信號(hào)轉(zhuǎn)成紅外信號(hào)---紅外信號(hào)轉(zhuǎn)成數(shù)字信號(hào)(達(dá)到控制,信號(hào)傳輸?shù)男Ч簿褪窃诎咨牡孛嫔腺N上的黑膠布,紅外傳感器對(duì)于白色和黑色是具有一定的分辨能力來控制小車應(yīng)該往哪走的。光敏二級(jí)管則是用于探測(cè)我們給定的光源的(也就相當(dāng)于火源),光敏二級(jí)管在無光照時(shí),有很小的飽和反向漏電流,即暗電流,此時(shí)光敏二極管截止。當(dāng)受到光照時(shí),飽和反向漏電流大大增加,形成光電流,它隨入射光強(qiáng)度的變化而變化。因此可以利用光照強(qiáng)弱來改變電路中的電流。因此,該系統(tǒng)設(shè)計(jì)方案可行。

     當(dāng)然,還存在很多不可預(yù)測(cè)的問題,例如環(huán)境的因素,數(shù)據(jù)的調(diào)試,光照強(qiáng)度的因素等等。但是,在具體設(shè)計(jì)過程中遇到問題后通過分析最后將問題解決或者獲得實(shí)踐的經(jīng)驗(yàn)也都是有益的。



單片機(jī)源程序如下:
  1. #include<reg52.h>
  2. #include <intrins.h>

  3. /********IO引腳定義***********************************************************/
  4. sbit SPK=P3^7;                        //蜂鳴器驅(qū)動(dòng)引腳

  5. sbit LED1=P0^0;                        //LED
  6. sbit LED2=P0^1;                        //

  7. sbit gy=P1^2;                        //光敏電阻 右
  8. sbit g0=P1^3;                        //         中
  9. sbit gz=P1^4;                        //         左

  10. sbit d1=P1^0;                        //對(duì)管 右  黑線高電平(==1)
  11. sbit d2=P1^1;                        //     左

  12. sbit a1=P2^0;                        //電機(jī)驅(qū)動(dòng)
  13. sbit a2=P2^1;
  14. sbit b1=P2^2;
  15. sbit b2=P2^3;

  16. sbit f1=P2^4;                        //風(fēng)扇驅(qū)動(dòng)
  17. sbit f2=P2^5;                        //

  18. /************************************************
  19.              延時(shí)函數(shù)
  20. ************************************************/
  21. void DelayMs(unsigned int timer)   //參數(shù) 整型timer 大小范圍 0-65536,決定延時(shí)時(shí)間長(zhǎng)短
  22. {
  23.         int x,y;
  24.         for(x=timer;x>0;x--)
  25.                 for(y=120;y>0;y--);
  26. }

  27. /************************************************
  28. 電機(jī)轉(zhuǎn)動(dòng)函數(shù)定義
  29. ************************************************/

  30. /*** 前進(jìn) ***/
  31. void QianJin()
  32. {
  33.          a1=0;
  34.          a2=1;
  35.          b1=0;
  36.          b2=1;
  37. }
  38. /*** 后退***/
  39. void HaoDu()
  40. {
  41.          a1=1;
  42.          a2=0;
  43.          b1=1;
  44.          b2=0;
  45. }
  46. /*** 左轉(zhuǎn) ***/
  47. void ZuoZhuan()
  48. {         
  49.          a1=1;
  50.          a2=0;
  51.          b1=0;
  52.          b2=1;
  53. }
  54. /*** 右轉(zhuǎn) ***/  
  55. void YouZhuan()
  56. {
  57.         a1=0;
  58.         a2=1;
  59.         b1=1;
  60.         b2=0;  
  61. }
  62. /*** 停止 ***/
  63. void Stop()
  64. {  
  65.          a1=1;
  66.          a2=1;
  67.          b1=1;
  68.          b2=1;
  69. }

  70. /************************************************
  71.             風(fēng)扇函數(shù)定義
  72. ************************************************/
  73. void Feng()
  74. {
  75.         f1=1;f2=0;
  76.         DelayMs(3000);//風(fēng)扇轉(zhuǎn)3秒
  77.         f1=1;f2=1;
  78.         SPK=0;
  79.         DelayMs(1000);
  80.         SPK=1;
  81. }
  82. /************************************************
  83.            循跡子程序
  84. ************************************************/
  85. void xunjin()
  86. {
  87.                  Stop();
  88.                   LED1=1;LED2=1;
  89.                         while(d1==0&&d2==0)
  90.                         {
  91.                                         LED1=1;LED2=1;
  92.                                   QianJin();
  93.                         }
  94.                        
  95.                   while(d1==1&&d2==0)
  96.                         {   LED1=0;
  97.                                         YouZhuan();DelayMs(200);
  98.                         }
  99.                        
  100.                         while(d1==0&&d2==1)
  101.                         {   LED2=0;
  102.                                         ZuoZhuan();DelayMs(200);
  103.                         }       
  104.                        
  105.                         while(d1==1&&d2==1)
  106.                         {
  107.                                         Stop();LED1=1;LED2=1;
  108.                         }       
  109. }

  110. /*
  111. ******************************************************************************************
  112. ** 函數(shù)名稱: main
  113. ** 函數(shù)功能: 主函數(shù)
  114. ** 入口參數(shù): 無
  115. ** 出口參數(shù): 無
  116. ******************************************************************************************
  117. */
  118. void main()
  119. {       

  120.   while(1)
  121.         {  
  122.                
  123.                   Stop();
  124.                   LED1=1;LED2=1;
  125.                         while(d1==0&&d2==0)//兩個(gè)對(duì)管檢測(cè)到白紙前進(jìn)
  126.                         {
  127.                                         LED1=1;LED2=1;
  128.                                   QianJin();
  129.                                  
  130.                                          /*如果右邊光敏檢測(cè)到光源右轉(zhuǎn)對(duì)準(zhǔn)光源則前往光源執(zhí)行滅火程序 */                                 
  131.                                         if(gy==0){
  132.                                                                                         while(g0==1)YouZhuan();DelayMs(50);
  133.                                                                                         QianJin();DelayMs(2000);//前進(jìn)距離
  134.                                                                                         Stop();
  135.                                                           Feng();//如果滅燈模擬滅火則用while(g0==0){f1=1;f2=0;}f1=1;f2=1;SPK=0;DelayMs(1000);SPK=1;
  136.                                                                                         while(d1==0&&d2==0)HaoDu();
  137.                                                                                         QianJin();DelayMs(500);
  138.                                                                                         while(d1==0)ZuoZhuan();
  139.                                                                 while(1)xunjin();
  140.                                                                                  }
  141.                                          /*如果左邊光敏檢測(cè)到光源右轉(zhuǎn)對(duì)準(zhǔn)光源則前往光源執(zhí)行滅火程序 */                                 
  142.                                         if(gz==0){
  143.                                                                                         while(g0==1)ZuoZhuan();DelayMs(50);
  144.                                                                                         QianJin();DelayMs(2000);//前進(jìn)距離
  145.                                                                                         Stop();
  146.                                                           Feng();//如果滅燈模擬滅火則用while(g0==0){f1=1;f2=0;}f1=1;f2=1;SPK=0;DelayMs(1000);SPK=1;
  147.                                                                                         while(d1==0&&d2==0)HaoDu();
  148.                                                                                         QianJin();DelayMs(500);
  149.                                                                                         while(d2==0)YouZhuan();
  150.                                                                 while(1)xunjin();
  151.                                                                                  }                                         
  152.                                                
  153.                                                                                                          
  154.                         }
  155. ……………………

  156. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
循跡尋光滅火小車.rar (218.66 KB, 下載次數(shù): 246)


回復(fù)

使用道具 舉報(bào)

ID:296551 發(fā)表于 2019-5-3 17:45 來自觸屏版 | 顯示全部樓層
你好!請(qǐng)問可以幫忙畫一下總的電路圖嗎?
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 久久久久亚洲 | 一区二区三区欧美 | 国产精品一区免费 | 色一阁| 久久国产成人 | 国产精品久久久久久久久免费相片 | 久久大陆| 日韩精品久久 | 欧美日韩亚洲在线 | 成人小视频在线观看 | 98成人网 | 亚洲国产成人精品女人久久久 | 少妇特黄a一区二区三区88av | 久久91av| 成人在线视频免费播放 | 国产日韩欧美在线播放 | 亚洲视频在线观看一区二区三区 | 国产精品一区二区三区在线 | 日韩精品视频在线观看一区二区三区 | 欧美男人天堂 | 久久精品中文字幕 | 一区二区三区国产视频 | 台湾佬成人网 | 中文字幕在线人 | 在线欧美| 国产精品毛片一区二区三区 | 成人综合视频在线观看 | 欧美日韩毛片 | 美女毛片 | 乱码av午夜噜噜噜噜动漫 | 九色91视频 | 成人在线亚洲 | 亚洲精品免费视频 | 久草色播 | 久久亚洲一区 | 久久精品国产免费一区二区三区 | 欧美激情综合 | 亚洲午夜精品在线观看 | 一区二区三区在线观看视频 | 久久国产成人 | 国产电影一区二区 |