隨著現(xiàn)代工業(yè)生產(chǎn)向高速化、自動(dòng)化方向的發(fā)展,生產(chǎn)過(guò)程中長(zhǎng)期以來(lái)由人眼起主導(dǎo)作用的顏色識(shí)別工作將越來(lái)越多地被相應(yīng)的顏色傳感器所替代。例如:圖書(shū)館使用顏色區(qū)分對(duì)文獻(xiàn)進(jìn)行分類,能夠極大地提高排架管理和統(tǒng)計(jì)等工作;在包裝行業(yè),產(chǎn)品包裝利用不同的顏色或裝磺來(lái)表示其不同的性質(zhì)或用途。目前的顏色傳感器通常是在獨(dú)立的光電二極管上覆蓋經(jīng)過(guò)修正的紅、綠、籃濾光片,然后對(duì)輸出信號(hào)進(jìn)行相應(yīng)的處理,才能將顏色信號(hào)識(shí)別出來(lái);有的將兩者集合起來(lái),但是輸出模擬信號(hào),需要一個(gè)A/D電路進(jìn)行采樣,對(duì)該信號(hào)進(jìn)一步處理,才能進(jìn)行識(shí)別,增加了電路的復(fù)雜性,并且存在較大的識(shí)別誤差,影響了識(shí)別的效果。本文介紹美國(guó)TAOS公司最新推出的顏色傳感器TCS230。它不僅能夠?qū)崿F(xiàn)顏色識(shí)別">顏色的識(shí)別與檢測(cè),與以前的顏色傳感器相比,還具有許多優(yōu)良的新特性。
1 TCS230芯片的結(jié)構(gòu)框圖與特點(diǎn)
TCS230是TAOS(Texas Advanced Optoelectronic Solutions)公司推出的可編程彩色光到頻率的轉(zhuǎn)換器。它把可配置的硅光電二極管與電流頻率轉(zhuǎn)換器集成在一個(gè)單一的CMOS電路上,同時(shí)在單一芯片上還集成了紅綠藍(lán)(RGB)三種濾光器,是業(yè)界第一個(gè)有數(shù)字兼容接口的RGB彩色傳感器。TCS230的輸出信號(hào)是數(shù)字量,可以驅(qū)動(dòng)標(biāo)準(zhǔn)的TTL或CMOS邏輯輸入,因此可直接與微處理器或其它邏輯電路相連接。由于輸出的是數(shù)字量,并且能夠?qū)崿F(xiàn)每個(gè)彩色信道10位以上的轉(zhuǎn)換精度,因而不再需要A/D轉(zhuǎn)換電路,使電路變得更簡(jiǎn)單。圖1是TCS230的引腳封裝和功能框圖。
圖1 TCS230的引腳封裝和功能框圖
圖1中,TCS230采用8引腳的SOIC表面貼裝式封裝,在單一芯片上集成有64個(gè)光電二極管。這些二極管共分為四種類型。其中16個(gè)光電二極管帶有紅色濾波器,16個(gè)光電二極管帶有綠色濾波器,16個(gè)光電二極管帶有藍(lán)色濾波器,其余16個(gè)不帶有任何濾波器,可以透過(guò)全部的光信息。這些光電二極管在芯片內(nèi)是交叉排列的,能夠最大限度地減少入射光幅射的不均勻性,從而增加顏色識(shí)別的精確度;另一方面,相同顏色的16個(gè)光電二極管是并聯(lián)連接的,均勻分布在二極管陣列中,可以消除顏色的位置誤差。工作時(shí),通過(guò)兩個(gè)可編程的引腳來(lái)動(dòng)態(tài)選擇所需要的濾波器。該傳感器的典型輸出頻率范圍從2Hz~500kHz,用戶還可以通過(guò)兩個(gè)可編程引腳來(lái)選擇100%、20%或2%的輸出比例因子,或電源關(guān)斷模式。輸出比例因子使傳感器的輸出能夠適應(yīng)不同的測(cè)量范圍,提高了它的適應(yīng)能力。例如,當(dāng)使用低速的頻率計(jì)數(shù)器時(shí),就可以選擇小的定標(biāo)值,使TCS230的輸出頻率和計(jì)數(shù)器相匹配。
從功能框圖可知:當(dāng)入射光投射到TCS230上時(shí),通過(guò)光電二極管控制引腳S2、S3的不同組合,可以選擇不同的濾波器;經(jīng)過(guò)電流到頻率轉(zhuǎn)換器后輸出不同頻率的方波(占空比是50%),不同的顏色和光強(qiáng)對(duì)應(yīng)不同頻率的方波;還可以通過(guò)輸出定標(biāo)控制引腳S0、S1選擇不同的輸出比例因子,對(duì)輸出頻率范圍進(jìn)行調(diào)整,以適應(yīng)不同的需求。
下面簡(jiǎn)要介紹TCS230芯片各個(gè)引腳的功能及它的一些組合選項(xiàng)。
S0、S1用于選擇輸出比例因子或電源關(guān)斷模式;S2、S3用于選擇濾波器的類型;OE是頻率輸出使能引腳,可以控制輸出的狀態(tài),當(dāng)有多個(gè)芯片引腳共用微處理器的輸入引腳時(shí),也可以作為片選信號(hào);OUT是頻率輸出引腳,GND是芯片的接地引腳,VCC為芯片提供工作電壓。圖2是S0、S1及S2、S3的可用組合。
圖2 S0、S1及S2、S3的組合選項(xiàng)
2 TCS230識(shí)別顏色的原理
由上面的介紹可知,這種可編程的彩色光到頻率轉(zhuǎn)換器適合于色度計(jì)測(cè)量應(yīng)用領(lǐng)域,如彩色打印、醫(yī)療診斷、計(jì)算機(jī)彩色監(jiān)視器校準(zhǔn)以及油漆、紡織品、化妝品和印刷材料的過(guò)程控制和色彩配合。本文以TCS230在液體顏色識(shí)別中的應(yīng)用為例,介紹它的具體使用。在開(kāi)始介紹TCS230的顏色識(shí)別前,先來(lái)了解一些光與顏色的知識(shí)。
2.1 三原色的感應(yīng)原理
通常所看到的物體的顏色,實(shí)際上是物體表面吸收了照射到它上面的白光(日光)中的一部分有色成分,而反射出的另一部分有色光在人眼中的反應(yīng)。白色是由各種頻率的可見(jiàn)光混合在一起構(gòu)成的,也就是說(shuō)白光中包含著各種顏色的色光(如紅R、黃Y、綠G、青V、藍(lán)B、紫P)。根據(jù)德國(guó)物理學(xué)家赫姆霍茲(Helinholtz)的三原色理論可知,各種顏色是由不同比例的三原色(紅、綠、藍(lán))混合而成的。
2.2 TCS230識(shí)別顏色的原理
由上面的三原色感應(yīng)原理可知,如果知道構(gòu)成各種顏色的三原色的值,就能夠知道所測(cè)試物體的顏色。對(duì)于TCS230來(lái)說(shuō),當(dāng)選定一個(gè)顏色濾波器時(shí),它只允許某種特定的原色通過(guò),阻止其它原色的通過(guò)。例如:當(dāng)選擇紅色濾波器時(shí),入射光中只有紅色可以通過(guò),藍(lán)色和綠色都被阻止,這樣就可以得到紅色光的光強(qiáng);同理,選擇其它的濾波器,就可以得到藍(lán)色光和綠色光的光強(qiáng)。通過(guò)這三個(gè)值,就可以分析投射到TCS230傳感器上的光的顏色。
2.3 白平衡和顏色識(shí)別原理
白平衡就是告訴系統(tǒng)什么是白色。從理論上講,白色是由等量的紅色、綠色和藍(lán)色混合而成的;但實(shí)際上,白色中的三原色并不完全相等,并且對(duì)于TCS230的光傳感器來(lái)說(shuō),它對(duì)這三種基本色的敏感性是不相同的,導(dǎo)致TCS230的RGB輸出并不相等,因此在測(cè)試前必須進(jìn)行白平衡調(diào)整,使得TCS230對(duì)所檢測(cè)的“白色”中的三原色是相等的。進(jìn)行白平衡調(diào)整是為后續(xù)的顏色識(shí)別作準(zhǔn)備。在本裝置中,白平衡調(diào)整的具體步驟和方法如下:將空的試管放置在傳感器的上方,試管的上方放置一個(gè)白色的光源,使入射光能夠穿過(guò)試管照射到TCS230上;根據(jù)前面所介紹的方法,依次選通紅色、綠色和藍(lán)色濾波器,分別測(cè)得紅色、綠色和藍(lán)色的值,然后就可計(jì)算出需要的三個(gè)調(diào)整參數(shù)。
當(dāng)用TCS230識(shí)別顏色時(shí),就用這三個(gè)參數(shù)對(duì)所測(cè)顏色的R、G和B進(jìn)行調(diào)整。這里有兩種方法來(lái)計(jì)算調(diào)整參數(shù):①依次選通三種顏色的濾波器,然后對(duì)TCS230的輸出脈沖依次進(jìn)行計(jì)數(shù)。當(dāng)計(jì)數(shù)到255時(shí)停止計(jì)數(shù),分別計(jì)算每個(gè)通道所用的時(shí)間。這些時(shí)間對(duì)應(yīng)于實(shí)際測(cè)試時(shí)TCS230每種濾波器所采用的時(shí)間基準(zhǔn),在這段時(shí)間內(nèi)所測(cè)得的脈沖數(shù)就是所對(duì)應(yīng)的R、G和B的值。②設(shè)置定時(shí)器為一固定時(shí)間(例如10ms),然后選通三種顏色的濾波器,計(jì)算這段時(shí)間內(nèi)TCS230的輸出脈沖數(shù),計(jì)算出一個(gè)比例因子,通過(guò)這個(gè)比例因子可以把這些脈沖數(shù)變?yōu)?55。在實(shí)際測(cè)試時(shí),使用同樣的時(shí)間進(jìn)行計(jì)數(shù),把測(cè)得的脈沖數(shù)再乘以求得的比例因子,然后就可以得到所對(duì)應(yīng)的R、G和B的值。
3 TCS230的應(yīng)用
3.1 顏色識(shí)別電路
基于上述分析,采用89C51和TCS230設(shè)計(jì)了一個(gè)醫(yī)用液體顏色識(shí)別裝置。該裝置具有結(jié)構(gòu)簡(jiǎn)單、識(shí)別精度和效率高的特點(diǎn),并且能夠和上位機(jī)通信,以將識(shí)別的結(jié)果實(shí)時(shí)傳送給上位機(jī)。由于是說(shuō)明TCS230的使用情況,下面僅給出其中的TCS230識(shí)別電路,如圖3所示。圖3中用89C51的P1口的幾個(gè)引腳來(lái)控制TCS230的各個(gè)控制引腳,而TCS230的輸出引腳被連接到89C51的定時(shí)器/計(jì)數(shù)器1的輸入端(P3.5)。設(shè)置89C51定時(shí)器/計(jì)數(shù)器為相應(yīng)的工作方式,初始化89C51定時(shí)器為一個(gè)定值,再選擇TCS230的輸出比例因子,并使能輸出引腳。實(shí)際使用中通過(guò)讀取89C51計(jì)數(shù)器的值,就可以分別計(jì)算出TCS230的三種輸出頻率,進(jìn)而確定R、G、B值及顏色。
現(xiàn)結(jié)合上述分析給出相應(yīng)的軟件流程,如圖4所示。
圖4 軟件流程
在程序流程中:系統(tǒng)初始化負(fù)責(zé)設(shè)置89C51的定時(shí)器/計(jì)數(shù)器的工作方式,選擇TCS230的輸出比例因子,使能輸出引腳以及通信參數(shù)的設(shè)置。初始化完成后,檢測(cè)是否需要進(jìn)行白平衡調(diào)整。如有,調(diào)用白平衡子程序;否則,轉(zhuǎn)到下一步,檢測(cè)是否需要進(jìn)行顏色識(shí)別。如沒(méi)有,返回;如需要顏色識(shí)別,調(diào)用顏色識(shí)別子程序,直到顏色識(shí)別完畢。
4 應(yīng)用中需要注意的問(wèn)題
?、?nbsp; 顏色識(shí)別時(shí)要避免外界光線的干擾,否則會(huì)影響顏色識(shí)別的結(jié)果,最好把傳感器、光源等放置在一個(gè)密閉、無(wú)反射的箱子中進(jìn)行測(cè)試;
② 對(duì)光源沒(méi)有特殊的要求,但是光源發(fā)出的光要盡量集中,否則會(huì)造成傳感器之間的相互干擾;
?、?nbsp; 當(dāng)?shù)谝淮问褂肨CS230時(shí),或TCS230識(shí)別模塊重啟、更換光源等情況時(shí),都需要進(jìn)行白平衡調(diào)整。
結(jié)語(yǔ)
文章從TCS230的結(jié)構(gòu)特點(diǎn)出發(fā),介紹了色光理論和顏色識(shí)別的知識(shí),還介紹了白平衡的原理和進(jìn)行調(diào)整的方法。結(jié)合一個(gè)具體的應(yīng)用,給出了相應(yīng)的硬件設(shè)計(jì)電路和軟件流程圖。該傳感器和文中介紹的方法對(duì)進(jìn)行其它的顏色識(shí)別,也有很大的幫助。
圖3 TCS230顏色識(shí)別接口電路