李志剛,張嘉倍,胡會(huì)超,董海波
(1.鄭州華力信息技術(shù)有限公司,河南 鄭州 450006;2.東北大學(xué),遼寧 沈陽 110819)
我們知道人眼看到物體顏色通常是物體本身所反射光的顏色。比如我們看到紅色物體,通常是日光中的其他顏色光被該物體吸收,而只有紅色光被物體反射出來,我們會(huì)稱這個(gè)物體是紅顏色的。光學(xué)實(shí)驗(yàn)告訴我們,日光通過棱鏡后會(huì)被分離出七種顏色的光,也就是我們通常說的赤橙黃綠青藍(lán)紫。根據(jù)德國物理學(xué)家赫姆霍茲(Helinholtz)的三基色理論,所有的光顏色均由三種基本的顏色根據(jù)的不同比率紅、綠、藍(lán)混合而成。這三種顏色才是所有顏色中最基礎(chǔ)的顏色。而其他顏色只不過是他們的混合體,這三種顏色之間并不可以互相產(chǎn)生。換句話說我們?cè)谛枰滥硞€(gè)物體顏色的時(shí)候,只需要知道三基色的各自所占比率就相當(dāng)于得知了該物體的顏色。
為了檢測物體的顏色,我們采用了TCS230,它是美國TAOS 公司推出的可編程彩色光/頻率轉(zhuǎn)換器。它把可配置的硅光電二極管與電流頻率轉(zhuǎn)換器集成在一個(gè)單一的CMOS 電路上,同時(shí)在單一芯片上集成了紅綠藍(lán)(RGB)三種濾光器,是業(yè)界第一個(gè)有數(shù)字兼容接口的RGB 彩色傳感。
●高分辨率光強(qiáng)/頻率轉(zhuǎn)換
●可編程彩色滿量程頻率輸出
●接與MCU 通信
●單電源工作(2.7 V~5.5 V)
●具備掉電功能
●非線性誤差在50 kHz 時(shí)為0.2%
●穩(wěn)定的200 ppm/℃溫度系數(shù)
●表貼封裝。
TCS230 可編程光頻轉(zhuǎn)換器是由可配置的硅光二極管陣列和一個(gè)電流/頻率轉(zhuǎn)換器在一個(gè)單片CMOS 集成電路中組成。輸出是一個(gè)頻率正比于光照度的50%占空比的方波。滿量程輸出可通過2 個(gè)控制輸入腳來選擇3 種預(yù)置比率輸出。數(shù)字輸入口和數(shù)字輸出口允許直接與單片機(jī)和其他邏輯電路直接相連。在多外設(shè)共享單片機(jī)輸入口時(shí),輸出允許使芯片處于高阻態(tài)。
光頻轉(zhuǎn)換器有8 ×8 光電二極管陣列。16 個(gè)光電管具備藍(lán)色濾波器,16 個(gè)光電管具備綠色濾波器,16 個(gè)光電管具備紅色濾波器,16 個(gè)光電管無濾波器。4 類二極管陣列被集成到一起以減小入射光的不一致性。所有的16 個(gè)同樣顏色的光電二極管并聯(lián)在一起,設(shè)備在工作時(shí)使用哪種光電二極管可以通過輸入腳來選擇。
圖1 頂視圖
圖2 功能框圖
表1 管腳功能說明
表2 光電二極管類型選擇
表3 輸出頻率分頻比例選擇
1.8.1 供電
電源必須由0.1 μF 或者0.01 μF 電容進(jìn)行退耦,并且與芯片靠近安裝。
1.8.2 輸入接口
OE和GND 之間要求低阻連接,以提高對(duì)噪聲的抵抗。
1.8.3 輸出接口
芯片輸出在短距離范圍內(nèi)能驅(qū)動(dòng)TTL 或者CMOS 邏輯輸入。如果輸出距離超過12 英寸,推薦使用緩沖器或者線路驅(qū)動(dòng)器。
1.8.4 光電管類型選擇
光電管的類型(藍(lán),綠,紅,無色)由芯片的兩個(gè)邏輯輸入腳S2,S3 進(jìn)行控制。
1.8.5 輸出頻率分頻設(shè)定
輸出頻率分頻設(shè)定由2 個(gè)邏輯輸入控制腳S0,S1 控制。內(nèi)部光頻轉(zhuǎn)換器產(chǎn)生一個(gè)固定脈寬的脈沖串。分頻由轉(zhuǎn)換器內(nèi)部連接脈沖串的一系列分頻器完成。分頻輸出為100%,20%,2%的占空比為50%的方波。因?yàn)榉诸l輸出是對(duì)內(nèi)部主頻進(jìn)行計(jì)數(shù),所以最終的周期是主頻的多個(gè)周期的平均值。
分頻功能允許通過多種測量技術(shù)對(duì)輸出范圍進(jìn)行優(yōu)化。當(dāng)一個(gè)慢頻率計(jì)數(shù)器有效時(shí),下分頻可以使用。這時(shí)價(jià)格低廉的單片機(jī)或者周期測量技術(shù)均可使用。
1.8.6 測量頻率
接口和測量技術(shù)的選擇取決于所期望的分辨率和數(shù)據(jù)捕獲率,為了獲取最大的數(shù)據(jù)捕獲率,周期測量技術(shù)十分必要。
滿量程輸出時(shí),輸出的數(shù)據(jù)可以以輸出頻率的兩倍或者每ms 一個(gè)數(shù)據(jù)點(diǎn)進(jìn)行采集。周期測量技術(shù)要求使用快速參考時(shí)鐘以獲取與時(shí)鐘直接相關(guān)聯(lián)的可靠分辨率,輸出分頻對(duì)于給定的時(shí)鐘速率來說可以增加分辨率,或者當(dāng)光輸入變化可以使分辨率最大化。周期測量技術(shù)可以測量快速變化的光強(qiáng)或者對(duì)固定光源進(jìn)行快速測量。
最大的分辨率和精準(zhǔn)度可以使用周期測量,脈沖累計(jì)或者二者結(jié)合使用進(jìn)行獲取。頻率測量具備對(duì)來自光源的噪聲產(chǎn)生的隨機(jī)或者高頻變化進(jìn)行平均的優(yōu)勢(shì)。
分辨率主要受到使用的計(jì)數(shù)寄存器和允許測量時(shí)間的限制,頻率測量非常適合慢速變化或者固定光源和讀取短時(shí)間內(nèi)的平均光等級(jí)。長脈沖周期累加技術(shù)可用于曝光和給定時(shí)間內(nèi)的某地方光量。
我們使用STC12C5612 做為系統(tǒng)的單片機(jī),由單片機(jī)的P3.4,P3.5 與TCS230 的S0,S1 相接完成分頻,P1.7,P1.6 與TCS230 的S2,S3 相接完成光電管類型的選擇,P3.1 與TCS230 的相連完成輸出使能。對(duì)于頻率比較低的輸出我們直接將TCS230 的OUT 與單片的外中斷直接相連,對(duì)于頻率比較高的輸出要與單片機(jī)的計(jì)數(shù)口直接相連,并且盡量選擇頻率比較高的晶振。無論是單片機(jī)還是傳感器都要在電源處接去耦電容以提高抗干擾,這點(diǎn)不可或缺。布板時(shí)晶振要進(jìn)行“包地”處理。
圖3 原理圖
使用keil 公司的開發(fā)軟件進(jìn)行編程,由于單片機(jī)有2 個(gè)定時(shí)器/計(jì)數(shù)器,其中一個(gè)用做定時(shí)器使用。當(dāng)硬件采用外中斷計(jì)數(shù)脈沖時(shí),軟件上開放外中斷直接累加脈沖數(shù)。當(dāng)使用計(jì)數(shù)口接收脈沖時(shí),用另一個(gè)定時(shí)器/計(jì)數(shù)器把它設(shè)置成計(jì)數(shù)模式,對(duì)脈沖進(jìn)行計(jì)數(shù),這時(shí)也不涉及軟件的編寫,只需定時(shí)讀取計(jì)數(shù)寄存器值即可。
1)最好將傳感器,光源放置在一個(gè)相對(duì)封閉的空間里進(jìn)行測試,避開外界光源的干擾,以求對(duì)顏色測量的精準(zhǔn)度。2)光源發(fā)出的光要盡量集中,減少測量誤差。3)為了測量準(zhǔn)確,有時(shí)可以多測幾回。
TCS230 顏色傳感器相對(duì)簡單易用,比采用較早出現(xiàn)的光強(qiáng)A/D 轉(zhuǎn)換型芯片(例如OPT101)有著“天生”的優(yōu)勢(shì)。其一,A/D 轉(zhuǎn)換容易因?yàn)槭艿綔囟茸兓?,電源雜波,參壓源不準(zhǔn)確等因素的影響而使測量出現(xiàn)誤差。其二,A/D 芯片必須本地對(duì)模擬信號(hào)進(jìn)行轉(zhuǎn)換,不易遠(yuǎn)距離傳輸。而TSC230 輸出的頻率信號(hào)卻可以較遠(yuǎn)傳輸。其三,比TCS230 方案涉及外設(shè)器件比較多,成本也相對(duì)較高。另外與TI 的TSL230 相比,可以采取改變輸入端口電平的辦法來選擇不同的三種顏色濾波器進(jìn)行測量,而TI 的TSL230 不具備此功能,要依靠不斷更換單色光濾鏡來完成單色測量得到結(jié)果,沒有前者簡單易用,總體上也沒有前者成本低。由此看來選用TCS230對(duì)顏色進(jìn)行測量不失為良好選擇。