紅外感應原理知識普及
紅外感應原理基礎知識包括:紅外感應開關原理、去除環(huán)境光的干擾、解決感應波動問題、增大感應距離、提升抗干擾能力。本文主圍繞著紅外線發(fā)光二極管,光敏二極管展開解說:
所謂的紅外感應開關,只是利用了人眼看不到的紅外線來感應物體的,感應開關的核心元器件就是紅外反射傳感器了。紅外反射傳感器包括一個紅外線發(fā)光二極管和一個紅外線光敏二極管,它們兩個都朝著一個方向,被封裝在一個塑料外殼里。使用的時候,紅外線發(fā)光二極管點亮,發(fā)出一道人眼看不見的紅外光。如果傳感器的前方沒有物體,那么這道紅外光就以每秒299792458 米的速度(光速)消散在宇宙空間。但如果傳感器前方有不透明的物體時,紅外光就會被反射回來,照在自己也照在旁邊的紅外線光敏二極管身上。紅外線光敏二極管收到紅外光時,其輸出引腳的電阻值就會產生變化。判斷紅外線光敏二極管的阻值變化,就可以感應前方物體,控制電器開關了。
下圖主要原理把紅外線發(fā)光二極管以某一頻率進行調制,即讓它以一定的頻率閃爍。在紅外線光敏二極管一端則設計一個電路,讓接收端可以篩選出這一頻率的紅外光源。因為環(huán)境里的紅外光要么是沒有頻率的,要么就是有著自己固定的頻率。像收音機一樣,傳感器只要以自己的頻率發(fā)射,再以自己的頻率接收就可以過濾其他頻率光源的干擾了,而且由于接收管膠體也對可見光的波段光源進行過濾,所以在室內使用的情況下是沒有問題的。
不過,當強光照進室內,感應開關受強光的影響而處在不穩(wěn)定的狀態(tài),自行的開關,或是對反射物體沒有反應。家里常用的電視機紅外線遙控器也會讓感應開關失靈。即使把它放在陰暗的角落也會出現(xiàn)一個討厭的問題,當反射物體處在某一個臨界距離時,感應開關就會不斷的開關,繼電器的吸合很快,好像一臺電報機。這是因為反射物體正好處在了感應區(qū)的臨界點上,也就是“感應到”和“感應不到”的分界線上,物體微微靠近或離開就會產生開關狀態(tài)的改變。所以一般現(xiàn)都會通過單片機對光干擾進行軟件上的處理,而且電路比用硬件來做簡單得多。具體電路如下所示:
對于設計中存在的一些問題:
1. 如何去除環(huán)境光的干擾?
與之前的硬件調制解調的方式不同,在使用ADC 功能之后,另一種解決方案會讓測試更有效率。那就是使用雙重檢測的方法,前提條件是單片機可以控制紅外發(fā)光二極管的開關。首先大家要制作ADC 功能可以讀出接在ADC 接口上電壓的模擬量,數值從0 到255(十進制)。紅外光敏二極管接收的紅外光線強時,ADC讀出的數值就大,反之就小。我們要做的就是控制紅外發(fā)光二極管在發(fā)光時讀一次ADC的數值,然后再讓紅外發(fā)光二極管熄滅,再讀一次ADC 的數值。我們先假設沒有其他紅外光源的干擾,當紅外發(fā)光二極管熄滅時,紅外光敏二極管應該檢測不到光源,ADC讀出的數值也應該為0;當紅外發(fā)光二極管點亮,且沒有反射物理時,ADC讀出的值也應該很小,接近于為0;當有反射物理時,紅外光敏二極管檢測到光源,ADC 讀出的數值會變大。如果存在其他光源的干擾,那么當紅外發(fā)光二極管熄滅時也會讀到較大的數值,雙重檢測讀出的數值的差距越大,表示干擾光源越弱,反之則越強。我們通過這種雙重檢測就可以判斷接收到的紅外光是不是發(fā)射端發(fā)出來的了,兩次檢測的數值之差就是我們需要的最終數值。最終數值將參與下面的算法處理,也是我們判斷、處理的關鍵數據。單片機需要控制紅外發(fā)光二極管高速開關,以便更快的采集數據。
最終數值 = 紅外發(fā)光二極管點亮時ADC讀出的數值 - 紅外發(fā)光二極管熄滅時ADC讀出的數值
2. 如何解決臨界點的感應波動問題?
微微向前一點就觸發(fā),微微向后一點就關斷,這是臨界點問題的困擾。問題的根源在于觸發(fā)的臨界點和
留出較大的活動區(qū)域。如果是做自動尋跡小車的傳感器,則可以用較小的活動區(qū)域,甚至改用單臨界點
3. 如何增加感應的成功率和可靠性?
“最終數值”處理和雙臨界點設計都可以增加系統(tǒng)的穩(wěn)定性,可以如果檢測出錯、或者出現(xiàn)誤差,在多
次數據采集中出現(xiàn)幾次失敗和誤差是很正常的事情,但如果這些誤差左右了開關的狀態(tài),給采集到的數據把關。一旦出現(xiàn)錯誤就放棄當前的數據,重新采集,這種設計就是一種冗余。所以設計了一段循環(huán)檢測語句,連續(xù)20 次檢測和判斷采集到的數據,如果20 次中有1次誤差就馬上放棄當前的所有數據,重新檢測。連續(xù)20 次檢測已經算是很穩(wěn)定的了,當然你也可以為了更穩(wěn)定而改用連續(xù)50 次、100 次的檢測,但是系統(tǒng)的反應速度會慢,靈敏度下降。靈敏度和穩(wěn)定度之間的矛盾是剛性的,在實際測試中找到適合目標系統(tǒng)的檢測次數就可以了。“最終數值”、雙臨界點和20 次連續(xù)檢測聽上去好像是很復雜的事情,可是在程序里面卻是很簡單的幾條語句。設計的重點不在于程序的復雜性,而是整個系統(tǒng)的設計思路。下面列出一段關鍵程序部分與大家分享,這個簡單的程序包含了以上講到的3種抗干擾設計。
RAM_H = Read_ADC; //讀出LED亮時ADC端口的值
RAM_L = Read_ADC; //讀出LED 滅時ADC端口的值
RAM_H = RAM_H - RAM_L; //取2次檢測值之差,避開環(huán)境光干擾
if(RAM_H > 0x06)
{ //開啟時的距離(應該小于關閉時的距離)
CON++; //計數加1
CON2 = 0;
if(CON > 20)
{ //連續(xù)20 次檢測,以避開干擾
CON = 0;
LED_Y = 0; //LED 指示燈點亮
}
}
if(RAM_H < 0x03)
{ //關閉時的距離
CON2++;
CON = 0;
if(CON2 > 20)
{
CON2 = 0;
LED_Y = 1; //LED 指示燈熄滅
}
}
“最終數值”、雙臨界點和20次連續(xù)檢測的程序部分
4. 如何增大感應距離?
基于單片機的紅外傳感器的感應距離和單片機的ADC 精度、雙臨界點數值、紅外發(fā)光二極管的功率、紅外光敏二極管的靈敏度和反射物理的反光效果有關,一般的感應距離不會超過20CM。不過對于開關感應開關的設計已經是足夠了。要想增加感應距離可以改進以下幾方面。不過更遠的感應距離反而會讓系統(tǒng)產生許多不確定因素,效果反而不佳。具體的一些設計要求如下:
1、 提高ADC精度,例如將8位ADC換成10 位或12 位ADC。
2、 將雙臨界點的數值設置得更小。
3、 用LED驅動電路提高紅外發(fā)光二極管的功率(即提高亮度),或是多個紅外發(fā)射管來增加功率。
4、 為紅外光敏二極管一端加裝信號放大電路,或是增加透鏡來增加感光面積來提高靈敏度。
5、 盡量使用反光效果好的反射物體(如白紙、鏡面)
5. 如何進一步提升搞干擾能力?
最后一個問題是同頻環(huán)境光的干擾,所謂的同頻干擾,就是假設紅外感應開關的周圍正好存在這么一個紅外光源,它也按一定的頻率點亮和熄滅,而已這一頻率正好和紅外感應開關中紅外發(fā)光二極管的亮、滅頻率一致,且周期相同。這種巧合并不只是彩票頭獎的幸運觀眾才能遇見的,當多個紅外感應開關在較近的距離內同時使用,問題就自然會出現(xiàn)。如果它們之間的距離不能改變,那就只有用跳頻的方法來解決了。跳頻技術在移動電話和無繩電話機上已經成為必備的功能,為了防止竊聽或當某一頻道被占用時,電話機會自動切換到別的頻道,讓通信更穩(wěn)定、可靠。對于紅外感應開關來說,跳頻并沒有那么復雜,只要在程序中不斷改變紅外發(fā)光二極管的亮、滅時間,用不同的頻率去檢測,其他干擾光源也以相同頻率跳變的機會就少之又少了,再加上前面介紹的20 次連續(xù)檢測功能,再遇見干擾的可能性幾乎為0了。
關于“紅外發(fā)光二極管 光敏二極管 ”的相關資訊
我要評論: | |
---|---|
內 容: | |
驗證碼: | (內容最多500個漢字,1000個字符) 看不清?! |
請注意: |
|
1.尊重網上道德,遵守中華人民共和國的各項有關法律法規(guī),不發(fā)表攻擊性言論。 2.承擔一切因您的行為而直接或間接導致的民事或刑事法律責任。 3.新聞留言板管理人員有權保留或刪除其管轄留言中的任意內容。 |
共有-條評論【我要評論】