簡 介: 為了能夠使得下一屆的智能車競賽中的節(jié)能信標(biāo)組擺脫磁鐵的干擾,可以進(jìn)行對抗比賽。在現(xiàn)有的節(jié)能信標(biāo)燈的基礎(chǔ)上,增加光電反射檢測單元。該電路采用了反射式光電檢測管,利用單片機(jī)的定時(shí)ADC
轉(zhuǎn)換,可以在降低環(huán)境光線影響的基礎(chǔ)上,提高檢測的可靠性。
關(guān)鍵詞
: 光電管,ITR8307,ESP8266,智能車競賽,節(jié)能型表
01 測試背景
一、為什么需要反射式光電檢測?
1、節(jié)能信標(biāo)組
??在
第十六屆智能車競賽競速比賽[1] 中有一組節(jié)能信標(biāo)組。車模有參賽隊(duì)伍自行設(shè)計(jì)制作,其中需要車模本身帶有強(qiáng)磁鐵來觸發(fā)信標(biāo)的切換。??如果兩個(gè)信標(biāo)燈進(jìn)行對抗比賽的話,他們就極易由于磁鐵的吸引而相互纏繞在一起。比如下面是中國計(jì)量大學(xué)賽博隊(duì)之間的相互對抗比賽,可以看到最終他們的車模由于磁鐵吸引在 一起了。
▲ 圖1.0 ?中國計(jì)量大學(xué)賽博隊(duì)之間進(jìn)行信標(biāo)組對抗比賽??因此需要改變現(xiàn)在的信標(biāo)燈使其能夠通過其它的方式來檢測是否車模停留在其上,或者經(jīng)過信標(biāo)燈。因此,一種方案就是使用反射式光電檢測電路來測試是否有車模路經(jīng)過信標(biāo)燈的正上方。
2、反射式光電檢測
??為了能夠與原來霍爾器件相兼容,制作的反射式光電檢測電路可以獨(dú)自安裝在白色燈盤下面。它的體積很小,位于燈罩的正中央。當(dāng)車模途徑燈罩時(shí),可以反射光電管發(fā)射的紅外光,從而觸發(fā)檢測電路。??在前面博文
反射式紅外光電管 ITR8307[2] 對于小型反射式紅外光電管
ITR8307
的特性進(jìn)行了測量,通常情況下,這款微型光電管檢測反射物體距離只有幾毫米。這個(gè)距離不能夠滿足節(jié)能信標(biāo)組內(nèi)檢測車模經(jīng)過的需求。??在信標(biāo)燈檢測中,對于光電檢測性能要求:
- 可靠的檢測距離應(yīng)該大于
5
厘米; - 能夠?qū)τ诃h(huán)境光線不敏感;
??在
反射式紅外光電管 ITR8307[3]中,可以看到,可以通??過一下幾種方式來增加
ITR8307
的檢測距離:
- 增加
ITR8307
發(fā)光二極管電流; - 增加
ITR8307
光敏三極管負(fù)載電阻的阻值;
??為了達(dá)到不受環(huán)境光線的影響,則需要對于
ITR8307
的發(fā)送與檢測通過信號調(diào)制發(fā)送與解調(diào)接收。
二、利用ADC進(jìn)行信號檢測
1、基本原理
??利用單片機(jī)的
IO
口控制
ITR8307
的發(fā)光二極管的導(dǎo)通與截止,然后利用單片機(jī)的
ADC
來檢測
ITR8307
光電三極管集電極輸出電壓的變化。由于這個(gè)變化是與發(fā)送二極管的導(dǎo)通截止是同步的,而且可以做到高速切換,所以這可以與環(huán)境光線的緩慢變化相區(qū)分。??如果單片機(jī)
IO
口輸出的調(diào)制頻率做到
50Hz
的整數(shù)倍數(shù),同樣這也可以將照片燈光中
50Hz
及其諧波分量進(jìn)行濾除。
2、利用ESP8266做實(shí)驗(yàn)
??為了驗(yàn)證上面方式的可行性以及檢測效果,使用
ESP-12F模塊轉(zhuǎn)接板模塊[3] 進(jìn)行實(shí)驗(yàn)。在
測試三相無刷電機(jī)驅(qū)動(dòng)器 XXD2212 電調(diào)[4] 中對于
ESP8266
的
ADC
轉(zhuǎn)換時(shí)間進(jìn)行了測量,它需要
240
。??根據(jù)
ESP8266 MicroPython ADC[5] 文檔可以知道,它的電壓轉(zhuǎn)換范圍是
0 ~ 1.0V
,
ADC
數(shù)值為
10bit
。??下圖給出了利用
DH1766
可編程直流電源輸出直流電壓到
ESP8266
的
ADC
,它的
ADC
轉(zhuǎn)換結(jié)果與輸入電壓之間的關(guān)系。
▲ 圖1.1 ?ESP8266 ADC測試結(jié)果02 測試實(shí)驗(yàn)
一、測試電路
??下圖給出了測試電路。其中
T1
用于驅(qū)動(dòng)
ITR8307
的發(fā)光二極管;
U2
是將
ITR8307
的集電極的電壓進(jìn)行阻抗轉(zhuǎn)換,然后又
R4
,
R5
分壓后送入
ESP8266
的
ADC
。
▲ 圖2.1 測試電路▲ 圖2.2 在面包板上搭建的實(shí)驗(yàn)電路二、測量結(jié)果
1、初步測試
??使用
PIn5
產(chǎn)生
100Hz
的
50%
占空比的
PWM
波形,驅(qū)動(dòng)
T1
(
9018
)。將
ITR8307
至于反射白紙上面
5
厘米。測試
ITR8307
的光電管集電極的電壓波形。
▲ 圖2.3 將ITR8307置于白紙上方5厘米??下面是測量ITR8307的光電管輸出電壓波形。
▲ 圖2.4 測量ITR8307的光電管輸出電壓波形2、測試交替ADC數(shù)值
??采集相繼調(diào)制后的ADC數(shù)值。
(1) 上面沒有任何遮擋物
??下面顯示了光電管上面沒有任何遮擋物讀出的數(shù)值。
▲ 圖2.2.2 ?直接對射天空讀取數(shù)值(2) 手從光電管上方經(jīng)過
??下圖顯示了手從光電管上方5厘米經(jīng)過引起讀數(shù)的波動(dòng)。
▲ 圖2.2.3 ?手在光電管上面5厘米經(jīng)過對應(yīng)的波形??從上面對比實(shí)驗(yàn)來看,這種方式光電管可以很靈敏檢測到經(jīng)過物體。
三、環(huán)境光濾波
1、環(huán)境光線干擾
??下圖顯示了,室內(nèi)電燈引起光電管的輸出電壓波??梢钥吹剿?00Hz的波動(dòng)。根據(jù)
電燈泡內(nèi)通有交流電,為什么看不到燈泡在閃爍?[6] 可以知道這是由于室內(nèi)電燈的閃爍引起光電管的輸出信號。
▲ 圖2.3.1 環(huán)境光引起輸出光線波動(dòng)2、控制采樣時(shí)間間隔
??如果前后兩次讀取的ADC值時(shí)間恰好是10ms的整數(shù)倍數(shù),這種波動(dòng)反映在兩次ADC數(shù)值上變化很小。在前面的實(shí)驗(yàn)中,前后兩次讀取數(shù)值時(shí)間間隔為20ms,所以電壓波動(dòng)比較小。??如果將前后兩次ADC的轉(zhuǎn)換時(shí)間改為5ms,此時(shí)對應(yīng)的數(shù)值波動(dòng)就會(huì)大大增加了。下圖顯示了這種情況下采集到的數(shù)值波動(dòng)。
▲ 圖2.3.2 ?兩次ADC轉(zhuǎn)換時(shí)間間隔為5ms時(shí)對應(yīng)的ADC波動(dòng)值3、在中斷中采樣
??在前面實(shí)驗(yàn)中是在程序循環(huán)中進(jìn)行ADC采樣。由于ADC采樣也會(huì)產(chǎn)生一定的時(shí)間,所以循環(huán)對應(yīng)的時(shí)間間隔不一定是10ms準(zhǔn)確的倍數(shù)。??通過在定時(shí)中斷中進(jìn)行ADC轉(zhuǎn)換,可以進(jìn)一步提高兩次采樣時(shí)間的精度。通過對比可以看到,在定時(shí)器中斷中采樣ADC的確降低了環(huán)境光線對于ADC數(shù)值波動(dòng)的影響。
▲ 圖2.4.1 ?在中斷中采樣ADC的波動(dòng)四、增加靈敏度
??為了使得車模經(jīng)過信標(biāo)燈罩更容易被檢測到,可以在車模底盤粘貼白色,或者紅色的紙張,這樣可以進(jìn)一步增加反射信號的強(qiáng)度,從而使得
光電檢測更加靈敏。
▲ 圖2.4.2 ?使用紅色反射布經(jīng)過光電管上方引起數(shù)值輸出03 測試結(jié)論
??通過ESP8266的ADC讀取反射式光電管的輸出電壓,可以比較方便進(jìn)行光電信號的同步解調(diào)。只要相鄰兩次的ADC轉(zhuǎn)換時(shí)間為10ms的整數(shù)倍數(shù),就可以抑制由于環(huán)境光線對于光電管輸出信號的影響。??下面,就需要使用普通的單片機(jī)來實(shí)現(xiàn)上述檢測方案。制作成功能小板,可以在現(xiàn)有的節(jié)能燈電路上直接進(jìn)行焊接,替代原來的霍爾傳感器。
一、現(xiàn)在方案存在的問題
??最后需要說明一下,實(shí)際上本文的方案在考慮的時(shí)候是沒有考察發(fā)光盤本身發(fā)送的紅光以及紅外線的影響。相關(guān)這部分的問題以及如何應(yīng)用需要進(jìn)行進(jìn)一步的測試與研究。
▲ 圖3.4 ?測試發(fā)射部分參考資料
[1]第十六屆智能車競賽競速比賽: https://zhuoqing.blog.csdn.net/article/details/110253008[2]反射式紅外光電管 ITR8307: https://zhuoqing.blog.csdn.net/article/details/120116131[3]ESP-12F模塊轉(zhuǎn)接板模塊: https://zhuoqing.blog.csdn.net/article/details/115419385[4]測試三相無刷電機(jī)驅(qū)動(dòng)器 XXD2212 電調(diào): https://zhuoqing.blog.csdn.net/article/details/120143733[5]ESP8266 MicroPython ADC: https://docs.micropython.org/en/latest/esp8266/quickref.html#adc-analog-to-digital-conversion[6]電燈泡內(nèi)通有交流電,為什么看不到燈泡在閃爍?: https://zhuoqing.blog.csdn.net/article/details/108519603