基于TCS230傳感器的顏色識(shí)別系統(tǒng)設(shè)計(jì)?
李靜梁鵬超
(西安工業(yè)大學(xué)電子信息工程學(xué)院西安710032)
為了方便對(duì)光色成分進(jìn)行檢測(cè)和分析,設(shè)計(jì)了一種以STC89C52單片機(jī)和TCS230傳感器為核心的顏色檢測(cè)系統(tǒng)。給出了該檢測(cè)系統(tǒng)的硬件設(shè)計(jì)電路以及檢測(cè)過(guò)程的程序流程。用TCS230傳感器直接將顏色分量轉(zhuǎn)化為不同頻率的脈沖波,通過(guò)單片機(jī)的I/O口直接獲取某一顏色的RGB亮度值,并將結(jié)果顯示到三位數(shù)碼管上,以驗(yàn)證該系統(tǒng)對(duì)顏色識(shí)別的準(zhǔn)確性。實(shí)驗(yàn)表明:該系統(tǒng)具有準(zhǔn)確的顏色識(shí)別性能和良好的穩(wěn)定性。
TCS230傳感器;顏色檢測(cè);單片機(jī)
Class NumberTP212
隨著現(xiàn)代工業(yè)生產(chǎn)向高速化、自動(dòng)化方向發(fā)展,生產(chǎn)過(guò)程中長(zhǎng)期以來(lái)由人眼起主導(dǎo)作用的顏色識(shí)別工作將越來(lái)越多地被相應(yīng)的顏色傳感器所替代。目前的顏色傳感器通常是在獨(dú)立的光電二極管上覆蓋經(jīng)過(guò)修正的紅、綠、藍(lán)濾光片,然后對(duì)輸出信號(hào)進(jìn)行相應(yīng)的處理,才能將顏色信號(hào)識(shí)別出來(lái),但其輸出是模擬信號(hào),需要一個(gè)A/D電路進(jìn)行采樣,才能進(jìn)行識(shí)別,這樣不僅增加了電路的復(fù)雜性,而且精度不高。在遇到同時(shí)需要對(duì)多種顏色光強(qiáng)進(jìn)行測(cè)量的場(chǎng)合,誤差會(huì)更大,嚴(yán)重影響了識(shí)別的效果。TAOS公司最新推出可編程彩色光到頻率轉(zhuǎn)換的顏色傳感器TCS230,它將硅光電二極管與電流頻率轉(zhuǎn)化器集成在一個(gè)單一的CMOS電路上,同時(shí)在單一芯片上還集成了紅綠藍(lán)(RGB)三種濾光器,是業(yè)界第一個(gè)有數(shù)字兼容接口的RGB彩色傳感器[1]。它不僅能夠?qū)崿F(xiàn)顏色識(shí)別與檢測(cè),與以前的顏色傳感器相比,還具有許多優(yōu)良的新特性。TCS230的反應(yīng)速度快,輸出為數(shù)字信號(hào),使用方便,有較強(qiáng)的抗干擾能力。本文將單片機(jī)與TCS230傳感器相結(jié)合設(shè)計(jì)一種顏色檢測(cè)系統(tǒng),并給出該系統(tǒng)的硬件設(shè)計(jì)電路與測(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傳感器的光的顏色。TCS230的內(nèi)部電路圖如圖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ù)器相匹配。圖1為T(mén)CS230的引腳封裝和功能框圖。
圖1 TCS230的引腳封裝和功能框圖
TCS230GY-31芯片引腳S0、S1用于選擇輸出比例因子或電源關(guān)斷模式;S2、S3用于選擇濾波器的類型;LED用于測(cè)試時(shí)的光源控制,OUT是頻率輸出引腳,GND是芯片的接地引腳,VCC為芯片提供工作電壓。表1是S0、S1及S2、S3的可用組合。
TCS230輸出為占空比5O%的方波,且輸出頻率與光強(qiáng)度成線性關(guān)系。工作時(shí),通過(guò)程序控制S2、S3來(lái)動(dòng)態(tài)選擇所需要的濾波器,通過(guò)控制SO和S1來(lái)選擇電源關(guān)斷模式或輸出比例因子(100%、20%或2%)。輸出比例因子使傳感器的輸出能夠適應(yīng)不同的測(cè)量范圍,提高了它的適應(yīng)能力。
表1 S0、S1及S2、S3組合功能
理論上講,白色是由等量的紅色、綠色和藍(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)整和顏色識(shí)別的步驟和具體方法有兩種:1)依次選擇三種顏色的濾波器,然后對(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的值,一般用于測(cè)量靜態(tài)物體顏色。2)設(shè)置定時(shí)器為一固定時(shí)間(例如10 ms),然后選通三種顏色的濾波器,計(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的值。該方法適用于超低速動(dòng)態(tài)顏色測(cè)量。
系統(tǒng)硬件設(shè)計(jì)主要包括三部分:?jiǎn)纹瑱C(jī)為核心的控制部分,實(shí)現(xiàn)對(duì)顏色信號(hào)輸出頻率的獲取;數(shù)據(jù)采集系統(tǒng),主要是TCS230使用時(shí)的外界條件設(shè)置和光源的選擇;控制面板模塊,主要包括數(shù)碼管、LED顯示以及按鍵控制。
3.1以單片機(jī)為核心的控制部分
以STC89C51單片機(jī)為核心的控制電路主要包括顏色識(shí)別電路和數(shù)碼管顯示電路[2~4]。在顏色識(shí)別電路中,用STC89C51單片機(jī)的P3.1~P3.4控制TCS230的S0,S1,S2,S3四個(gè)控制引腳,TCS230輸出頻率引腳接至單片機(jī)P3.5引腳。STC89C51單片機(jī)依次選通紅、綠、藍(lán)濾波器時(shí),傳感器輸出相應(yīng)的頻率脈沖信號(hào)[5]。并將獲取的RGB值顯示到數(shù)碼管上。
3.2數(shù)據(jù)采集系統(tǒng)
數(shù)據(jù)采集系統(tǒng)對(duì)光源的要求十分嚴(yán)格,其照明光源必須明亮、發(fā)出的光盡量集中、體積小且發(fā)熱量低等要求。為了排除外界環(huán)境的干擾,顏色傳感器光室內(nèi)部均勻染黑并密閉以保證其光密性,并最大程度避免了內(nèi)部的光線反射,使光線最大程度照射在顏色傳感器上。TCS230傳感器雖說(shuō)有諸多優(yōu)點(diǎn),但也存在一些缺點(diǎn),主要是其檢測(cè)距離較短,最大檢測(cè)距離為1cm[6]。為了解決這個(gè)問(wèn)題,我們對(duì)該系統(tǒng)的照明光源提出要求。采用了色差高、體積小、聚焦性高的氙燈光源以及與其配合的平行光反射鏡[7]。在此過(guò)程中出現(xiàn)的鏡面反射,采用多角度照明使得發(fā)射光入射到TCS230顏色傳感器中[8]。顏色傳感器獲取光信號(hào),將光信號(hào)轉(zhuǎn)換為脈沖數(shù),再輸出傳給單片機(jī)。
3.3光學(xué)系統(tǒng)設(shè)計(jì)
圖2為T(mén)CS230顏色傳感器顏色采集系統(tǒng)的光學(xué)結(jié)構(gòu)示意圖[9]。在顏色采集系統(tǒng)的光學(xué)系統(tǒng)內(nèi)部,點(diǎn)光源(氙燈)發(fā)射出的光線通過(guò)拋物面反射鏡后形成一束平行光,平行光又穿過(guò)透明的聚乙烯塑料后,使光線變得柔和均勻。當(dāng)光線照在樣品時(shí)發(fā)生漫反射進(jìn)入傳感器,為保證光均勻照在TCS230顏色傳感器上,可以安裝IR濾鏡。
圖2 TCS230顏色采集系統(tǒng)的光學(xué)結(jié)構(gòu)圖
3.4控制面板模塊
控制面板模塊主要包括數(shù)碼管、LED顯示以及按鍵控制。數(shù)碼管顯示部分通過(guò)單片機(jī)的P0和P2口分別控制數(shù)碼管顯示的段選和位選,來(lái)實(shí)現(xiàn)數(shù)碼管的動(dòng)態(tài)顯示,用來(lái)顯示最終的RGB值。LED顯示,該部分實(shí)現(xiàn)的功能是在STC89C52單片機(jī)的I/O口中接上紅、綠、藍(lán)三盞LED燈來(lái)分別測(cè)試RGB的值。按鍵控制通過(guò)兩個(gè)按鍵的設(shè)計(jì),分別來(lái)實(shí)現(xiàn):1)系統(tǒng)復(fù)位;在進(jìn)行白平衡調(diào)節(jié)時(shí),使顏色傳感器對(duì)著白紙,接通電源,按復(fù)位鍵檢查RGB值是否都顯示為255,是則可進(jìn)行下一步的顏色檢測(cè),若小于245,則應(yīng)再進(jìn)行調(diào)節(jié),使之較接近之后再做下一步測(cè)試。2)切換顯示RGB的值。在數(shù)據(jù)采集完成后,通過(guò)按鍵分別顯示RGB的值。當(dāng)按下按鍵,紅色LED燈亮,則說(shuō)明當(dāng)前顯示的是R值,同理可得到G值和B值。傳感器電路控制模塊的電路連接如圖3所示。
圖3 TCS230的顏色識(shí)別控制電路
顏色檢測(cè)系統(tǒng)包括白平衡校正子程序和顏色比較子程序[10]。其中白平衡校正子程序用于顏色標(biāo)定,顏色比較子程序用于顏色檢測(cè)。白平衡就是告訴系統(tǒng)什么是白色,理論上是由等量的紅色、綠色、藍(lán)色混合而成的[11]。但由于傳感器對(duì)RGB的敏感性有差異,因此必須進(jìn)行白平衡調(diào)整。通過(guò)白平衡得到R、G和B的三個(gè)調(diào)整參數(shù),當(dāng)傳感器進(jìn)行顏色識(shí)別時(shí),就用這三個(gè)參數(shù)來(lái)調(diào)整采樣的三原色分量RGB[12]。然后通過(guò)顏色比較子程序獲得被測(cè)物體的RGB值。程序流程圖如圖4所示。
圖4 系統(tǒng)軟件流程圖
將TCS230在密封條件下用白色LED燈調(diào)節(jié)白平衡后,該系統(tǒng)能較為準(zhǔn)確地識(shí)別顏色信息,可滿足預(yù)期實(shí)際應(yīng)用要求。通過(guò)識(shí)別不同顏色的LED燈顏色,以驗(yàn)證該檢測(cè)色系統(tǒng)的準(zhǔn)確性。實(shí)驗(yàn)結(jié)果顯示測(cè)試值與實(shí)際值的相對(duì)偏差不超過(guò)4%,符合實(shí)際的應(yīng)用要求。為了減少測(cè)試誤差,通過(guò)多次采樣取平均值的方法對(duì)數(shù)據(jù)進(jìn)行簡(jiǎn)單處理。本文的特點(diǎn)是用TCS230與單片機(jī)STC89C52搭建顏色識(shí)別系統(tǒng),電路較為簡(jiǎn)單,簡(jiǎn)化了整個(gè)顏色識(shí)別系統(tǒng),并且確保了檢測(cè)顏色的準(zhǔn)確性和精度。
[1]張松燦,肖本賢.高分辨率顏色傳感器TCS230的原理和應(yīng)用[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2005,3:44-46.
ZHANG Songcan,XIAO Gao.The principle and applica?tion of high resolution color sensor TCS230[J].Single chip microcomputer and embedded system application,2005,3:44-46.
[2]郭天祥.郭天祥新概念單片機(jī)語(yǔ)言教程[M].北京:電子工業(yè)出版社,2009:236-298.
GUO Tianxiang.A new concept of the new concept of the microcontroller Guo Tianxiang[M].Beijing:Publishing House of electronics industry,2009:236-298.
[3]袁東.袁東單片機(jī)應(yīng)用開(kāi)發(fā)實(shí)戰(zhàn)手冊(cè)[M].北京:電子工業(yè)出版社,2011:154-201.
YUAN Dong.Application and development of the single chip microcomputer manual[M].Beijing:Publishing House of electronics industry,2011:154-201.
[4]徐愛(ài)均.彭秀華單片機(jī)高級(jí)語(yǔ)言編程與應(yīng)用實(shí)踐[M].北京:電子工業(yè)出版社,2007:54-67.
XU Aijun,PENG Xiuhua.microcontroller advanced lan?guage programming and application practice[M].Beijing:Publishing House of electronics industry,2007:54-67.
[5]劉篤仁,韓保君.傳感器原理及應(yīng)用技術(shù)[M].西安:西安電子科技大學(xué)出版社,2003:67-89.
LIU Duren,HAN Baojun.Principle and application of sen?sor[M].Xi'an:Xi'an Electronic and Science University press,67-89.2003.
[6]何希才.傳感器及其應(yīng)用[M].北京:國(guó)防工業(yè)出版社,2001:108-119.
HE Xicai.Sensor and its application[M].Beijing:Nation?al Defence Industry Press,2001:108-119.
[7]潘海鷗,陳琳,黃炳瓊,等.基于TCS230傳感器的高精度顏色識(shí)別系統(tǒng)設(shè)計(jì)[J].傳感器與儀器,2009:159-161.
PAN Haiou,CHEN Lin,HUANG Bingqiong,et al.Design of high precision color recognition system based on TCS230 sensor[J].sensor and instrument,2009:159-161.
[8]陸徐平,徐耀良,李渝曾,等.基于TCS230的新型雙路顏色傳感器的研制[J].電子技術(shù)應(yīng)用,2007,33(8):89-91.
LU Xuping,XU Yaoliang,LI Yuzeng,et al.Development of a new type of dual color sensor based on[J].TCS230 electronic technology application,2007,33(8):89-91.
[9]陳家勝,羅小彬,葛學(xué)峰,等.一種新型顏色傳感器設(shè)計(jì)[J].傳感技術(shù)學(xué)報(bào),2003,16(4):467-470.
CHEN Jiasheng,LUO Xiaobin,GE Xuefeng,et al.A new color sensor design[J].Journal of sensing technology,2003,16(4):467-470.
[10]楊朋千,李湘寧,胡明凱,等.一種新型線掃描顏色傳感器的研制[J].光學(xué)儀器,2008,30(1):70-73.
YANG Pengqian,LI Xiangning,HU Mingkai,et al.Re?search and development of a new line scan color sensor[J].optical instrument,2008,30(1):70-73.
[11]杜春玲.顏色測(cè)量?jī)x器及其發(fā)展[J].現(xiàn)代儀器2005,11(3):56-57.
DU Chunling.Color measuring instrument and its devel?opment[J].modern instrument,2005,11(3):56-57.
[12]Berlien J.Color Classification with the TCS230 Identify?ing and Sorting Colors by Hue[J].2001:34-56.
Design of Color Recognition System Based on TCS230 Sensor
LI JingLIANG Pengchao
(School of Electronic Information Engineering,Xi'an Technological University,Xi'an710032)
In order to facilitate detection and analysis of the light color components,a STC89C52 MCU and TCS230 sensor as the core of the color detection system is designed.The hardware design circuit of the detection system and the program flow of the test results are given.The color component is converted into a pulse wave of different frequency by using the TCS230 sensor.The I/O port of the microcontroller directly obtains the RGB brightness value of a color and the result is displayed on the three bit digital tube to verify the accuracy of the system.Experiments show that the system has accurate color recognition performance and good stability.
TCS230 sensor,color test,microcontroller
TP212
10.3969/j.issn.1672-9722.2017.05.041
2016年11月10日,
2016年12月22日
李靜,女,博士,教授,研究方向:測(cè)控技術(shù)與智能控制。梁鵬超,男,碩士研究生,研究方向:通信與測(cè)試。