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