新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 用單片機控制紅外編碼探測障礙物

用單片機控制紅外編碼探測障礙物

作者:謝洪 柳州運輸職業(yè)技術(shù)學(xué)院 時間:2008-05-13 來源:中國電子在線 收藏

  1  探測障礙的原理

本文引用地址:http://m.butianyuan.cn/article/82480.htm

  在室內(nèi)自動感知障礙的設(shè)備中,常使用探測障礙物的存在與否。探測的基本原理是:在測量的范圍內(nèi),主動向探測方向發(fā)射紅外信號,如果存在障礙物,就會把發(fā)射的信號反射回發(fā)送端。在發(fā)送端,如果收到反射的信號,就確認障礙物的存在。

  但是在實際應(yīng)用中,紅外干擾源較多;而且在有反射光的情況下,由于光線的干擾,很容易判斷失誤,出現(xiàn)虛警。因此,有些設(shè)備在發(fā)射信號時,改進為 發(fā)送一串連續(xù)的紅外脈沖,然后接收反射的信號。如果接收到的紅外脈沖數(shù)量超過某一門限值時,就判斷障礙存在。這種方法盡管在一定程度上可以降低虛警率,但 實驗表明,在較強的反射光和使用電子鎮(zhèn)流器方式的日光燈起輝時,仍很容易出現(xiàn)干擾現(xiàn)象。

  本文提出解決干擾的方案是:由控制發(fā)射有一定意義的脈沖串,同時,接收該脈沖串。如果接收到的信號和發(fā)射的信號基本一致,才判斷為有障礙物的存在。

  探測障礙的原理框圖如圖1所示。

       

                        圖1  探測障礙原理框圖

  2  電路設(shè)計

  在實測電路中,使用臺灣義隆公司的EM78P156E,紅外發(fā)射管為MIE552A2,紅外接收頭為寧波甬晶微電子有限公司的NB0038,電路如圖2所示。

       

                              圖2  探測障礙電路

  當需要探測障礙物時,單片機U1首先讓U2紅外接收頭 NB0038接通電源。在發(fā)射電路中,D2為紅外發(fā)射管,U1的P51引腳輸出編碼脈沖,通過Q2控制D2發(fā)射紅外信號。當有紅外信號進入接收頭時,U2的輸出端出現(xiàn)高電位,并送到U1的P67引腳。

  NB0038是用于紅外接收的一體化接收頭,采用環(huán)氧樹脂封裝,把獨立的PIN二極管同前置放大器集成在同一封裝上。其內(nèi)部結(jié)構(gòu)框圖如圖3所示。接收的載波中心頻率為38.0 kHz。

        

                             圖3  NB0038內(nèi)部結(jié)構(gòu)框圖

  3  編碼脈沖的產(chǎn)生和接收

  在實際使用中,由于EM78P156E單片機的工作頻率是4 MHz,載波脈沖采用26 μs,其中高電位是10 μs,低電位是16 μs,占空比是38.5%。在產(chǎn)生載波時,要檢測是否有反射信號。反射信號的檢測是單片機利用低電位的16 μs時間內(nèi)判斷接收引腳是否存在相應(yīng)的發(fā)射信號。

  為了確定需要編碼的調(diào)制信號脈沖寬度,在1 000個NB0038的接收頭中,隨意選擇 30個作實驗。在約20 cm的距離內(nèi)出現(xiàn)表面不光滑的障礙物,從單片機通過紅外發(fā)射管發(fā)射信號到NB0038接收信號,檢測出現(xiàn)在接收引腳為高電平時的載波脈沖量如表1所列。

        表1  載波脈沖數(shù)統(tǒng)計

        

  因此,選擇調(diào)制信號脈沖為24個載波脈沖寬度為:

       

  發(fā)射信號的格式如圖4所示。

       

                            圖4  發(fā)射信號的格式

  3.1  編碼“1”脈沖產(chǎn)生和接收

  (1)  產(chǎn)生一個占空比為38.5%的載波脈沖

  首先,使紅外發(fā)射控制P51=1,發(fā)射紅外信號,保持時間是10 μs。然后,重新使P51=0,停止發(fā)射紅外信號,保持時間是16 μs。

  (2)  判斷是否存在反射信號“1”

  在發(fā)射到第17、19、21和23個載波脈沖時,在停止發(fā)射紅外信號的16 μs內(nèi),檢測接收引腳P52。如果P52=1,則表明存在反射信號;如果P52=0,則認為無反射信號。

  在這4次判斷過程中,如果有3次以上判斷為存在反射信號,則確認接收到反射的“1”。

  實現(xiàn)的軟件流程如圖5所示。

       

              圖5  發(fā)送編碼“1”流程

  3.2  編碼“0”脈沖產(chǎn)生和接收

  當發(fā)射“0”脈沖時,停止發(fā)送任何紅外信號。

  在相當于第17、19、21和23個載波脈沖時間的時候,檢測接收引腳P52。如果P52=1,則表明存在干擾的紅外信號;如果P52=0,則表明沒有其他紅外信號的干擾。

  在這4次判斷過程中,如果有3次以上判斷為沒有其他紅外信號的干擾,則確認正確地接收到“0”。

  實現(xiàn)的軟件流程如圖6所示。

       

              圖6  發(fā)送編碼“0”流程

  4  抗干擾能力分析

  在應(yīng)用中,發(fā)現(xiàn)發(fā)送和接收低于6位的編碼脈沖,仍然有一定的受干擾現(xiàn)象發(fā)生;但發(fā)送和接收高于10位的編碼脈沖,已經(jīng)具有較強的抗干擾能力。實 際上,在發(fā)送編碼為“0”時,是沒有紅外信號存在的。對于隨機而頻繁的干擾信號,這時很容易檢測到干擾的存在。

  發(fā)送編碼的實質(zhì)是:

 ?、?nbsp; 當編碼位為“1”時,檢測是否存在障礙物。這時如果有信號的反射,則表明在測量的范圍內(nèi)有障礙物。如果接收不到反射的信號,說明沒有障礙物,或者是障礙物超出測量的范圍。

 ?、?nbsp; 當編碼位為“0”時,檢測是否存在干擾。這時如果有干擾信號,則表明發(fā)射“1”測到的障礙物,有可能是由于有干擾信號而導(dǎo)致的錯誤判斷。

  5  編碼的方案

  應(yīng)用中,發(fā)送編碼的方案有3種:

  ①  發(fā)送較短的編碼串(10~16位),判斷時間約6~10 ms。在接收過程中,不能有一位的誤碼,否則認為是干擾,要等待下一次的障礙檢測。這種方案在檢測過程中,不能存在干擾。

 ?、?nbsp; 發(fā)送大于16位的編碼串(16~32位),判斷時間約10~20 ms。對接收“0”和“1”的編碼誤碼統(tǒng)計,其中可以根據(jù)應(yīng)用場合的需要,存在 1~2位“0”的誤碼和 1~3位“1”的誤碼,這樣能有效提高抗干擾能力。

  ③  發(fā)送大于32位編碼串,判斷時間 >20 ms。根據(jù)實際情況來分析接收的編碼,以判斷障礙的存在。

  實際應(yīng)用中,采用24位編碼,分3次發(fā)出。3次發(fā)射的編碼如表2所列。

        表2  發(fā)射的脈沖編碼表

       

  當不多于2位“0”的誤碼和2位“1”的誤碼時,確認障礙物的存在。

電子鎮(zhèn)流器相關(guān)文章:電子鎮(zhèn)流器工作原理


電子鎮(zhèn)流器相關(guān)文章:




評論


相關(guān)推薦

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

關(guān)閉