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