TCS230颜色传感器使用手册
TCS230的功能

颜色识别是模式识别领域的一个重要研究方向,利用颜色识别技术能使传统依靠人眼进行颜色判别的方法发生根本变革。
这种新型技术采用颜色传感器获取外界的颜色信息,进而通过基于计算机的信号处理技术实现颜色的精确识别。
颜色识别技术经历了传统模拟识别方法和现代数字化识别两个阶段。
传统的颜色识别方法采用模拟颜色探测器件来进行外界颜色获取,这种探测器件通常是在独立的光电二极管上覆盖经过修正的红、绿、蓝滤光片,经过光电转换产生对应的模拟信号;如果用微控制器对这些模拟信号进行处理,就必须采用额外的AD转换电路才能实现和微控制器的接口,而AD转换电路的引入增加了信号的处理时间,对整个系统的速度有很大的影响;此外,由于一般的AD转换存在量化误差,系统的精度受到很大的限制,这些使得传统的颜色识别方法逐渐被现在的数字式化的颜色识别技术所替代。
随着半导体技术的发展,数字式的颜色传感器逐步取代了传统的光电二极管传感器,这种技术把颜色传感器所需的光学、机械、电子等信号处理集成在很小的芯片上极大地缩小了颜色传感器的体积。
由于这种传感器输出的是数字量,因此可以通过数字处理技术来提高探测速度并保持检测器输出信号的精度。
例如采用改进的动态检测方法来提高颜色探测的速度,采用数字电路来处理颜色数据等。
虽然数字传感器已经取得了一些成功,但其应用于市场的技术还不够成熟,随着美国TAOS(Texas Advanced Optoelectronic Solutions)公司最新推出的颜色传感器TCS230的面世,数字传感器才真正被工程师们采用。
这种颜色传感器具有分辨率高、可编程的颜色选择、数字输出等特点。
本文采用TCS230来作为系统的探测部分,基于该器件设计的颜色识别系统可以应用于军事领域,也可以应用于电致变色材料的变色研究以便获得材料的变色参数。
1 TCS230简介1.1 主要特性TCS230是美国TAOS公司推出的可编程光到频率的转换器。
它把可配置的硅光电二极管与电流频率转换器集成在一个单一的CMOS(Comple-mentary Metal Oxide Semiconductor)电路上,同时在单一芯片上还集成了红、绿、蓝(RGB)3种滤光器,是业界第一个有数字兼容接口的RGB颜色传感器。
tcs230颜色传感器文档

TCS230D SOP8 颜色传感器1概述TCS230是TAOS公司最新推出的业界首款带数字兼容接口的RGB彩色光/频率转换器,它内部集成了可配置的硅光电二极管阵列和一个电流/频率转换器,其结构框图如图1所示。
TCS230输出为占空比50%的方波,且输出频率与光强度成线性关系。
该转换器对光响应范围为250 000~1,典型输出频率范围为2Hz~500kHz,用户可通过两个可编程引脚来选择100%、20%或2%的输出比例因子。
TCS230的输入输出引脚可直接与微处理器或其他逻辑电路连接。
通过输出使能端OE将输出置于高阻状态可使多个器件共享一条微处理器输入线。
TCS230可编程彩色光/频率转换器将红、绿和蓝滤波器集成在单芯片上,因此无需ADC就可实现每彩色信道10位以上的分辨率。
芯片内含一个交叉连接的8×8光电二极管阵列,其中每16个二极管提供一种色彩类型,共有红、蓝、绿和清除全部光信息四种类型,可最大限度地降低入射光幅射的不均匀性。
所有同颜色的16个光电二极管都是并联连接,工作时通过可编程的引脚来动态选择色彩,以此来增加精确度和简化光学电路。
该芯片采用8引脚SOIC表面贴封装,适用于色度计的测量应用。
TCS230的主要特点如下:●可完成高分辨率的光照度/频率转换;●色彩和满度输出频率可编程调整;●可直接与微处理器通讯;●单电源工作,工作电压范围:2.7V~5.5V;●具备掉电恢复功能;●50kHz时非线性误差的典型值为0.2%;●稳定的200ppm/℃的温度系数。
2TCS230的引脚功能TCS230的引脚排列如图2所示,各管脚的功能描述见表1所列。
表1TCS230管脚功能引脚号符号类型功能说明1S0I输出频率分频系数选择输入端2S1I3OE I输入频率使能端。
低电平有效4GND电源地5VDD电源电压6OUT O输出频率(fo)7S2I光电二极管类型选择输入端8S3I3TCS230的主要参数3.1电学特性参数TCS230在TA=25℃ VDD=5V条件下的电学特性如表2所列。
Arduino 颜色传感器

白平衡就是告诉系统什么是白色。从理论上讲,白色是由等量的红色、绿色和蓝色混合而成的;但实际上,白色中的三原色并不完全相等,并且对于TCS230的光传感器来说,它对这三种基本色的敏感性是不相同的,导致TCS230的RGB输出并不相等,因此在测试前必须进行白平衡调整,使得TCS230对所检测的“白色”中的三原色是相等的。进行白平衡调整是为后续的颜色识别作准备。在本装置中,白平衡调整的具体步骤和方法如下:将空的试管放置在传感器的上方,试管的上方放置一个白色的光源,使入射光能够穿过试管照射到TCS230上;根据前面所介绍的方法,依次选通红色、绿色和蓝色滤波器,分别测得红色、绿色和蓝色的值,然后就可计算出需要的三个调整参数。
g_SF[1] = 255.0/ g_array[1] ; //G Scale factor
g_SF[2] = 255.0/ g_array[2] ; //B Scale factor
Serial.println(g_SF[0]);
Serial.println(g_SF[1]);
Serial.println(g_SF[2]);
{
if(Level01 != 0)
Level01 = HIGH;
if(Level02 != 0)
Level02 = HIGH;
digitalWrite(S2, Level01);
digitalWrite(S3, Level02);
}
void TSC_Count()
{
g_count ++ ;
}
void TSC_Callback()
#define S0 6 // Please notice the Pin's define
TCS230颜色传感器的中英文翻译

基于TAOS公司的TCS230的颜色感应TAOS公司的TCS230是一个小的、高度集成、8引脚、SOIC封装的色彩传感装置。
它以模拟频率的方式输出短波(蓝色)、中波(绿色)、长波(红色)、宽带(白)光功率的事件数量。
它可用于各种色彩感应应用领域。
该设备的详细资料中可以找到它的数据表。
我们将使用一个光学刺激方案的ColorChecker图表工作,通过检测的色彩数值例子。
下图,在图1所示,是由GretagMacbeth生产和分配。
图表长约13英寸,9英寸(330毫米×230毫米),它包含了64阵列安排24色斑。
到5背面图2显示了在图表的每一行四个补丁的光谱反射-即入射光被反射的那部分(相对于一个理想的漫反射)作为波长从350功能,纳米到750纳米。
图1 ColorChecker色补丁包含18个和6步灰色系列图2 ColorChecker谱,第一行图3 ColorChecker谱,第二排图4 ColorChecker光谱,第三行图5 ColorChecker谱,底排(中性系列)图6锥锥光感受器敏感性所示。
短波敏感的感光细胞远远低于其他两种类型的敏感。
中波和长波的感光细胞的反应有很大的重叠。
视觉是不敏感,准确的刺激波长:什么是光功率下atters每个响应曲线综合。
1. 色觉简介所谓感光细胞在视网膜视锥细胞是人类色彩视觉负责。
内有电磁频谱三种类型的视锥细胞,敏感的长波,中波,短波辐射及约400纳米之间和700纳米。
由于锥敏感性在频谱的部分出现红色,绿色和蓝色的很粗糙,色彩科学家记为ρ,γ,以及希腊字母为R,G细胞的类型,和b (为了表示对传感器的R,G,和B将错误建议更密切的对应关系。
)的圆锥体的谱反应的估计是在上面绘制图6。
在物理世界的光,其特征是光谱功率分布(结构化产品说明)。
彩色对象,其特征是反射光谱曲线,如在的ColorChecker的。
然而,视觉不敏感,对刺激精确波长:根据现代色彩科学理论,最重要的事情是在每个响应曲线光功率积分。
颜色传感器TCS230程序

#include <reg52.h>#include <intrins.h>typedef unsigned char uchar;typedef unsigned int uint;typedef bit BOOL ;sbit oe=P1^0;sbit s0=P1^1;sbit s1=P1^2;sbit s2=P1^3;sbit s3=P1^4;sbit led=P1^5;sbit key=P1^6;sbit pwm=P3^6;sbit rw = P2^6;sbit rs= P2^5;sbit ep = P2^7;uchar code play[]={"about r/min"};uchar dis[8]={2,2,4,4,6,6,8,8};uchar num,irtime,fi,bi, te;uchar r=0,g=0,b=0;/***********************延时函数**************************/ void delay(uint ms){ // 延时子程序uchar i;while(ms--){for(i = 0; i< 250; i++){_nop_();_nop_();_nop_();_nop_();}}}/********************LCD初始化*************************/ BOOL lcd_bz(){ // 测试LCD忙碌状态BOOL result;rs = 0;rw = 1;ep = 1;_nop_();_nop_();_nop_();_nop_();result = (BOOL)(P0 & 0x80);ep = 0;return result;}lcd_wcmd(uchar cmd){ // 写入指令数据到LCD while(lcd_bz());rs = 0;rw = 0;ep = 0;_nop_();_nop_();P0 = cmd;_nop_();_nop_();_nop_();_nop_();ep = 1;_nop_();_nop_();_nop_();_nop_();ep = 0;}lcd_pos(uchar pos){ //设定显示位置lcd_wcmd(pos | 0x80);}lcd_wdat(uchar dat){ //写入字符显示数据到LCD while(lcd_bz());rs = 1;rw = 0;ep = 0;P0 = dat;_nop_();_nop_();_nop_();_nop_();ep = 1;_nop_();_nop_();_nop_();_nop_();ep = 0;}lcd_init(){ //LCD初始化设定lcd_wcmd(0x38); //delay(1);lcd_wcmd(0x0c); //delay(1);lcd_wcmd(0x06); //delay(1);lcd_wcmd(0x01); //清除LCD的显示内容delay(1);}/******************定时器初始化*************************/ void init(){TMOD=0X01;TH0=0XD8;TL0=0XF0;EA=1;ET0=1;ET1=1;}void init1(){TMOD=0X61;TH1=255;TL1=255;}void init_1(){TMOD=0X20;TH1=0X9C;TL1=0X9C;TR1=1;}/*****************求脉冲波*****************************/uchar pulse(uchar bu,uchar bi){uchar i;s2=bu,s3=bi;irtime=0;TR0=1;TR1=1;oe=0;while(TR0);oe=1;TR1=0;i=irtime;irtime=0;return i;}/******************白平衡********************************/ void white(){r=255/pulse(0,0);b=255/pulse(0,1);g=255/pulse(1,1);}/*******************测色***********************************/ void color(){uchar j,k,l;j=r*pulse(0,0);k=b*pulse(0,1);l=g*pulse(1,1);if(100>=k) num=num|0x04;if(100>=l) num=num|0x02;if(100>=j) num=num|0x01;fi=1;}/***********************等待白平衡结束********/void whiteover(){uchar i;while(!te)if(key==0){delay(15);if(key==0){i=1;delay(50);}}if(i==1){white();if(r==0) te=0;else {te=1;led=!led;}}}}/*******************************************************************/ void display(){uchar i;lcd_pos(0x42);while(play[ i ] != '\0'){ //显示字符"WLCOME TO"lcd_wdat(play[ i ]);i++;}switch(dis[num]){case 2: lcd_pos(0x48);lcd_wdat(0x31);lcd_wdat(0x35);break;case 4: lcd_pos(0x48);lcd_wdat(0x34);lcd_wdat(0x32);break;case 6: lcd_pos(0x48);lcd_wdat(0x37);lcd_wdat(0x30);break;case 8: lcd_pos(0x48);lcd_wdat(0x39);lcd_wdat(0x38);break;}}/************************主程序*************************/void main(){key=1,led=0;pwm=0;s0=1;s1=1;oe=1;IP=0X02;init();lcd_init();{init1();whiteover();color();display();if(fi==1){init_1();delay(500);TR1=0;num=0;pwm=0;fi=0;}}}/*************************中断程序****************************/ void time0() interrupt 1{TH0=0XD8;TL0=0XF0;TR0=0;}void time1() interrupt 3{irtime++;if(1==fi){if(dis[num]>irtime)pwm=1;else{if(irtime<=8){pwm=0;if(irtime==8) irtime=0;}}}}。
TCS230CN 颜色传感器中文手册

Dawmoon整理1 2 3 4 5 6 7 8 9 10 11 12 下一页rrTCS230可编程彩色L I G H T -T O -F R E Q U E N C Y 变换器TAOS046Q − JULY 2008D 高分辨率光转换D D D D D D D强度,频率可编程颜色和满量程输出频率直接与微控制器单电源供电(2.7 V 到5.5 V )掉电功能非线性误差通常在0.2%千赫50温度系数稳定200 p p m /°C 低调铅(P b )免费R o H S符合表面贴装包装包装 D 8-LEAD SOIC(顶视图)S0 1S1 2OE 3GND 48 S37 S26输出5 V DD说明该T C S 230可编程颜色l i g h t -t o -f r e q u e n c y 转换器可配置的硅光电二极管和结合上一个单片集成电路c u r r e n t -t o -f r e q u e n c y C M O S 转换器.输出为方波(50%占空比)与频率成正比的光强度(辐射).满量程输出频率可通过三种规模预设值通过两个控制输入p i n s .数字输入和数字输出允许直接连接到微控制器或其它逻辑电路.输出使能(O E )地方在输出高阻抗状态的多单元的微控制器输入行共享.该l i g h t -t o -f r e q u e n c y 转换器读取8 x 光电二极管8阵列.十六个光电二极管有蓝过滤器,16光电二极管是绿色过滤器,过滤器有红色16光电二极管,光电二极管和16过滤器是没有明确.这四种类型的光电二极管(颜色)叉,以尽量减少非均匀性对入射辐射.同一颜色的所有16光电二极管并联连接,哪些类型的光电二极管设备运行过程中u s e s 是引脚可选.光电二极管120μm x 120μm 在大小和144-μm 是中心.功能框图输出光光电二极管阵列Current-to-Frequency转换器S2S3S0S1OE该LUMENOLOGYr 公司得克萨斯高级光电解决方案I n c .1001克莱恩路S 套房300S 普莱诺,T X 75074S (972) 673-0759r1rCopyrightE 2008, TAOS Inc.TCS230可编程彩色L I G H T-T O-F R E Q U E N C Y变换器TAOS046Q − JULY 2008终端功能终端名称GND OE输出S0, S1 S2, S3 V DD 没有.4361, 27, 85IOIII / O描述电源地.所有电压都参考G N D.启用f o(低电平有效).输出频率(f o).选择输入输出频率调整.光电二极管类型选择输入.电源电压可选择的选项表1.S0LLHHS1LHLH输出频率调节(f o)掉电2%20%100%S2LLHHS3LHLH光电二极管型红蓝清除(不过滤)绿可用选项装置TCS230T A−40°C到85°C包装 −引线SOIC−8包装指示符D订购号TCS230D绝对最大额定值(除非另有说明)在操作自由空气的温度范围†电源电压,V DD(见注1)............................................输入电压范围,所有投入,V I.........................................DD+ 0.3 V 经营自由空气的温度范围内,T A(见注2).................................存储温度范围(见注2) (40)在最高温度与J E D E C J−S T D−020A,按照焊锡条件(见注3)...260°C†超越“绝对最大额定值”,就可能造成永久性损坏设备.这些压力额定值只,该设备的功能操作下,在这些或超出“推荐工作条件”所标明的任何其它条件不暗示.暴露于a b s o l u t e-m a x i m u m-r a t e d长时间条件下可能影响器件的可靠性.注:1.所有电压值与尊重是G N D.2.长期储存或以上70°C操作可能导致包装泛黄,这将降低灵敏度波长<500n m.3.装置可能是手工焊接提供的热量是只适用于没有接触焊焊垫和尖端之间所作焊锡铁和设备领先.热的最长时间应适用于该设备是5秒.推荐工作条件最小电源电压,V DD高电平输入电压,V IH低电平输入电压,V IL经营自由空气的温度范围内,T A V DD=2.7V到5.5VV DD=2.7V到5.5V2.72−40NOM5最大5.5V DD0.870单位VVV°CCopyright E2008, TAOS Inc.rr该LUMENOLOGY r公司上一页 1 2 3 4 5 6 7 8 9 10 11 12 下一页TCS230可编程彩色L I G H T-T O-F R E Q U E N C Y变换器TAOS046Q − JULY 2008在T电气特性A= 25°C, V DD=5V(除非另有说明)参数V OH V OL I IH I ILI DD 高电平输出电压低电平输出电压高电平输入电流低电平输入电流上电模式电源电流掉电模式S0 = H, S1 = H 满量程满量程频率(见注4)温度响应系数k SVS供电电压灵敏度S0 = H, S1 = LS0 = L, S1 = Hλ ≤600 nm, −25°C≤TA≤70°CV DD= 5 V±10%500100102760012012±200±0.5测试条件I OH= − 4 mAI OL= 4 mH最小4TYP4.50.250.4055315最大单位VVμAμAmAμA千赫千赫千赫ppm/°C%/ V注4:满量程频率是未饱和的设备的最大工作频率.该LUMENOLOGY r公司rr Copyright E2008, TAOS Inc.3上一页 1 2 3 4 5 6 7 8 9 10 11 12 下一页TCS230可编程彩色L I G H T-T O-F R E Q U E N C Y变换器TAOS046Q − JULY 2008在V工作特性DD= 5 V, T A= 25°C,S0=H,S1=H(除非另有说明)(见注5,6,7,8,和9).参数试验条件E e= 47.2μW/cm2,λp= 470 nmf O 输出频率q yE e= 40.4μW/cm2,λp= 524 nmE e= 34.6μW/cm2,λp= 640 nmf D 黑暗频率E e= 0λp= 470 nmR e 发光λp= 524 nm 响应λp= 565 nm (注10)λp= 640 nmλp= 470 nm 饱和辐照(注11)λp= 524 nmλp= 565 nmλp= 640 nmλp= 470 nmR v 照度λp= 524 nm响应λp= 565 nm(注12)λp= 640 nmf O=0到5千赫非线性f=0到50千赫O(注13)f O=0到500千赫恢复从电源向下响应时间到了,将启用(OE)清除光电二极管S2 = H, S3 = L最小161616TYP202020242449553257814101210113010405659589373±0.1%±0.2%±0.5%10046431620±0.1%±0.2%±0.5%100108655219±0.1%±0.2%±0.5%100最大2424241223481633731172017801940109035715355±0.1%±0.2%±0.5%100% F.S.% F.S.% F.S.μsHz/lxμW/cm2122813373092912蓝光电二极管S2 = L, S3 = H最小11.2TYP16.4最大21.6813.619.214192263591550Hz/(μW/( W/cm2)2412绿色光电二极管S2 = H, S3 = H最小TYP最大红光电二极管S2 = L, S3 = L最小TYP最大千赫千赫千赫Hz单位100100100100ns注:5.光学测量是使用一个发光二极管(L E D)光源小角度入射辐射.6.的470n m输入辐照基本上是由供应氮化铟镓发光二极管具有以下特点:峰值波长λp=470n m,光谱半宽度Δλ½=35n m,和发光效率=75l m/W7.的524n m输入辐照基本上是由供应氮化铟镓发光二极管具有以下特点:峰值波长λp=524n m,光谱半宽度Δλ½=47n m,和发光效率=520l m/W8.的565n m输入辐照是由一个具有以下特征的磷化镓发光二极管:峰值波长λp=565n m,光谱半宽度Δλ½=28n m,和发光效率=595l m/W9.的640n m输入辐照是由一个具有以下特征的A l I n G a P发光二极管:峰值波长λp=640n m,光谱半宽度Δλ½=17n m,和发光效率=155l m/W10.辐照响应R e特点是在由0到5千赫.11.饱和光照=(满量程频率)/(辐照响应).12.照度响应R v从辐照响应计算采用了L E D发光效率值列账于附注6,7,8,和9,和使用1l x=1l m/米2.13.非线性是指在f偏差O从零和满量程之间的直线,作为全面百分比来表示.Copyright E2008, TAOS Inc.rr该LUMENOLOGY r公司上一页 1 2 3 4 5 6 7 8 9 10 11 12 下一页上一页 1 2 3 4 5 6 7 8 9 10 11 12 下一页TCS230可编程彩色L I G H T -T O -F R E Q U E N C Y 变换器TAOS046Q − JULY 2008典型特征光电二极管的光谱响应10.90.8RedClear光电二极管的光谱响应与外部红外过滤器阻塞†1归清除@ 540 nm T A = 25°CBlueGreen归清除@ 715 nmT A = 25°C相对响应度0.9Clear0.80.70.60.50.4Red相对响应度0.7Green0.6Blue0.50.40.30.20.10300Blue0.30.2Green0.10300500700900λ−波长 −n m1100500700900λ−波长 −n m1100†典型的例子包括IR 过滤肖特B G 18,和肖特B G 39,Hoya CM500.图1归一化输出频率对比角位移1fO—输出频率—归图2光电二极管的响应度温度系数对比光波长入射11k 10k温度系数— p p m /d e g C900.8光轴9k 8k7k6k 5k4k 3k2k1k060065070075080085090095010000.60.40.2角位移是这两方面的平等0−90−60−303060Q −角位移−°λ−光波长入射 −n m图3图4该LUMENOLOGYr 公司rrCopyrightE 2008, TAOS Inc.5TCS230可编程彩色L I G H T-T O-F R E Q U E N C Y变换器TAOS046Q − JULY 2008应用信息供电思考电源线必须由0.01-μF分离到0.1-μF短引线电容式接近设备包装.输入接口低阻抗的器件引脚和O E引脚电气连接设备G N D需要提高抗干扰能力.输出接口该装置的输出设计在短距离驱动标准T T L或C M O S逻辑输入.如果线条大于12英寸是在输出,缓冲或行驱动器使用的建议.对产出启用高状态(O E)置于高阻抗状态多单位共享的输出微控制器的输入行.断电传感器使用S0/S1(午/L)的将导致在一个较低的状态进行输出.因为输出为低,传感器不能断电在一个有公共输出引脚多单元配置.光电二极管型(彩色)的选择类型的光电二极管(蓝色,绿色,红色,或清除)设备使用是由两个逻辑输入,S2和控制S3(见表1).输出频率调节输出频率调整是由两个逻辑输入,S0和S1.内部l i g h t-t o-f r e q u e n c y转换器生成一个固定脉宽脉冲序列.缩放是通过内部连接脉冲串输出一频器系列变频器.除以输出方波周期50%-d u t y相对对100%,20%,和2%.频率值,因为输出的分频是通过计数主体内部频率脉冲,最终输出的时期是一个多时期的平均这一原则的频率.输出缩放计数器寄存器清零后,下一个脉冲的主频率在任何转型期S0,S1,S2,S3,和O E线.输出g o e s在下次随后的脉冲式高主频率,开始了新的有效的时期.这最大限度地减小了对输入之间的时间延迟变化由此产生的新线和输出周期.响应时间的输入编程改变或一个发光阶跃变化是一种新的频率加1期μs.缩放的输出变化都满量程频率与被选中的比例因子黑暗的频率.频率缩放功能允许输出范围为各种优化的测量技术.在规模较小的输出可以用在一个较低的频率计数器只可用,如低成本的微控制器,或周期测量技术的使用.该LUMENOLOGY r公司Copyright E2008, TAOS Inc.rr上一页 1 2 3 4 5 6 7 8 9 10 11 12 下一页TCS230可编程彩色L I G H T-T O-F R E Q U E N C Y变换器TAOS046Q − JULY 2008应用信息测量频率该接口和测量技术的选择取决于期望分解和数据采集率.为了获得最大的数据采集速率,周期测量技术的使用.输出数据可在输出频率的两倍或一个点收集的数据速率为每微秒满量程输出.周期测量需要一个快速参考时钟直接使用与现有分解相关的参考时钟频率.输出比例可用于提高给定的时钟速率分解或最大限度地随着光线的变化分解输入.周期测量用于测量快变轻水平或做一个恒定光源非常快的测量.最大分解和准确性可能获得使用频率测量,脉冲积累,或集成技术.频率测量提供了额外的好处的平均随机或高频率的变化(抖动)从光信号噪音.分解是有限的,主要受可用计数寄存器和允许测量时间.频率测量是非常适合于慢变或常亮水平和读数在很短的时间周期平均光水平.整合(即在积累了很长一段时间的脉冲),可用于测量曝光,光量目前在一个地区在给定的时间段.P C B焊垫布局建议P C B焊垫的D包装布局准则如图5.4.65 6.901.270.502.25注:是A.所有的线性尺寸以毫米为单位.B.本图如有变更,恕不另行通知.图5.建议D包装 P C B布局该LUMENOLOGY r公司rr Copyright E2008, TAOS Inc.7上一页 1 2 3 4 5 6 7 8 9 10 11 12 下一页TCS230可编程彩色L I G H T-T O-F R E Q U E N C Y变换器TAOS046Q − JULY 2008机械信息T h i s S O I C包装由安装在一个封装用引线框架和一个电动的集成电路不导电的透明塑料复合.该T C S230有8×8光电二极管阵列和一个总规模的1.15m m 由1.15m m.光电二极管是120μm×120μm在大小和位置上144μm中心.包装 D注B2.12 +0.2503.00+0.250塑料小外形顶视图底视图PIN 1PIN 16y1.278y0.5100.330侧视图j 2.8 TYP清除窗口终结时0.500.255.004.805.3最大4550.88T Y P顶部传感器电路小片A1.751.354.003.806.205.80一个细节0.250.19 Pb注:A.B.C.D.1.270.410.250.10所有的线性尺寸以毫米为单位.The center of the 1.15-mm by 1.15-mm photo-active area is referenced to the upper left corner tip of the lead frame (Pin 1).包装是塑造具有不导电的透明塑料有一对1.55.折射率化合物这幅画如有变更,恕不另行通知.图6.包装 D—塑料小包装配置外形 I CCopyright E2008, TAOS Inc.rr该LUMENOLOGY r公司上一页 1 2 3 4 5 6 7 8 9 10 11 12 下一页TCS230可编程彩色L I G H T-T O-F R E Q U E N C Y变换器TAOS046Q − JULY 2008机械信息侧视图K o 2.11+0.10 [0.083+0.004]0.292+0.013[0.0115+0.0005]顶视图j 1.508+0.1[0.315+0.004]4+0.1[0.157+0.004]2+0.05[0.079+0.002]1.75+0.10[0.069+0.004]终结时B5.50+0.05[0.217+0.002]12 + 0.3 − 0.1[0.472 + 0.12 − 0.004]A AB一个细节详细BA o注:A.B.C.D.E.F.6.45+0.10[0.254+0.004]B o5.13+0.10[0.202+0.004]所有的线性尺寸以毫米[英寸].在此画的尺寸仅供参考.一个实际载波尺寸可能稍有不同.画上的符号o, B o,和K o定义在A N S I E I A标准481−B2001.每卷的直径178毫米,包含1000部分.T A O S包装带和卷轴符合E I A标准481−B.的要求这幅画如有变更,恕不另行通知.图7.包装 D载波胶带该LUMENOLOGY r公司rr Copyright E2008, TAOS Inc.9上一页 1 2 3 4 5 6 7 8 9 10 11 12 下一页TCS230可编程彩色L I G H T-T O-F R E Q U E N C Y变换器TAOS046Q − JULY 2008制造业信息化这种塑料小外形 I C包装 (D)已经过测试,并显示了有能力将回流焊到P C B基板.焊料回流曲线描述了在焊接元件预计最高热暴露回流焊温度对一P C B.产品过程是根据构件的顶部.该组件应被限制在这三个经过焊接回流温度曲线的最大值.表2.T C S230回流焊简介参数预热的平均温度梯度浸泡时间时间超过217°C时间超过230°C时间超过T peak−10°C 峰值回流温度冷却温度梯度t soakt1t2t3T peak参考TCS2302.5°C/sec2到3分钟最大 60秒最大 50秒最大 10秒260° C (−0°C/+5°C)最大 -5°C/s e cT峰值不按比例仅作参考—T3T2T1温度(5C)时间(秒)t浸泡图8.T C S230回流焊曲线图t3 t2 t1Copyright E2008, TAOS Inc.rr该LUMENOLOGY r公司上一页 1 2 3 4 5 6 7 8 9 10 11 12 下一页TCS230可编程彩色L I G H T-T O-F R E Q U E N C Y变换器TAOS046Q − JULY 2008潮湿敏感度其光学特性,可产生不利影响的释放和在焊接过程中水分蒸发以前已吸收到包装成型化合物.为了防止这些不利的条件下,载波磁带出货的所有设备已被预焙并装入密封运防潮袋.没有进一步的行动是必要的,如果这些设备都是通过回流焊内处理小时的密封24被打破的防潮袋.不过,在管或如果在防潮袋密封出货的所有设备已被打破的24小时或更长的时间,我们建议使用下列程序,以确保包装塑封料含有水分的吸收量可能最小.对于运管设备:1.删除管设备2.烘烤装置4小时,90°C3.冷却后成管,负载设备回4.小时内执行24回流焊后烘烤只有数量,可以通过在24小时回流焊接加工设备.设备可以再烤4小时90°C,如需12小时(3烤的4小时累计在90°C).对于载波磁带运设备:1.烘烤装置4小时,在磁带90°C2.小时内执行24回流焊后烘烤只有数量,可以通过在24小时回流焊接加工设备.设备可以r e−b a k e d在磁带4小时90°C,如需12小时累计总(3小时4烧烤在90°C).该LUMENOLOGY r公司rr Copyright E2008, TAOS Inc.11上一页 1 2 3 4 5 6 7 8 9 10 11 12 下一页TCS230可编程彩色L I G H T-T O-F R E Q U E N C Y变换器TAOS046Q − JULY 2008生产数据—本文件的信息,出版日期电流.产品符合按照规格与得克萨斯高级光电解决方案,I n c.标准的条款保修.生产加工不一定包括所有参数测试.无铅(P b-F R E E)及绿色声明Pb-Free (RoHS)T A O S'条款无铅或Pb-Free半导体产品,与当前的兼容R o H S要求所有6物质,包括要求领导不得超过重量均匀0.1%材料.凡设计为在高温焊接,T A O S P b-F r e e产品是适合使用在指定无铅工艺.绿色(R o H S和N O S b/B r)T A O S定义绿指P b-F r e e(R o H S兼容),溴(B r)和自由锑(S b)系阻燃剂(B r或S b不超过在均质材料重量0.1%).重要信息和免责声明The information provided in this statement represents TAOS' knowledge and 作为信仰的日期,这是规定.T A O S基地由第三方提供的信息的知识和信念,并不会就这些资料的准确性作出任何陈述或保证.目前正在努力,以更好地整合信息来自第三方.T A O S已经采取并将继续采取合理的步骤,以提供有代表性的而准确的信息,但可能没有进行无损检测和来料或化学分析化学品.T A O S和T A O S供应商认为某些信息是专有的,因此C A S数字和其他有限的信息可能不发布.公告得克萨斯高级光电解决方案,I n c.(T A O S)保留权利,在这一变化中包含的产品文件,以提高性能或用于任何其他目的,或终止,恕不另行通知他们.建议客户联系T A O S在下订单前取得,或设计成系统T A O S产品的最新产品信息.T A O S不承担任何责任的产品或电路使用本文档或客户的产品描述设计,传达没有牌照,任何专利或其他权利任何明示或暗示,并没有表示该电路是免费的专利侵权.T A O S更使得以它的产品适合没有任何特别要求目的,也不承担任何法律责任T A O S所产生的任何产品或电路使用了,并明确否认任何和所有责任,包括但不限于间接或附带损失.得克萨斯高级光电解决方案,I N C.产品是没有设计或设计用于在关键应用中使用,其中故障或T A O S产品故障可能造成人身伤害或死亡.广泛运用寿命支持系统的产品是明确T A O S未经授权,任何由客户此种使用是完全可根据客户的风险.L U M E N O L O G Y,T A O S,的T A O S标志和得克萨斯高级光电解决方案的注册商标得克萨斯高级光电解决方案公司.该LUMENOLOGY r公司Copyright E2008, TAOS Inc.rr上一页 1 2 3 4 5 6 7 8 9 10 11 12。
TCS230颜色识别—原理—程序

/********************************************/
void main(void)
{
port_init();
int2_init();
timer1_init();
Init_12864();
LcmClearTXT(); //文本区清RAM函数
Display_x_y_data(0,0,"颜色识别:");
Display_x_y_data(1,0,"红色成分:");
Display_x_y_data(2,0,"蓝色成分:");
Display_x_y_data(3,0,"绿色成分:");
S2=0;//先检测红色(S2,S3=0,0)
S3=0;
SEI();
void timer1_init()
{
TCCR1B = 0X02;//设置分频数为8
TCNT1H = 0x63;//设置计数初值,定时20ms
TCNT1L = 0xC0;
}
/*******************************************
*函数名称: port_init()
*函数功能:端口初始化Fra bibliotekEIMSK |= BIT(2); //打开外部中断
TIMSK |= BIT(2);//打开溢出中断
while(1);
}
/*******************************************
*函数名称: interrupt_int2()
*函数功能:
*入口参数:无
*出口参数:无
TCS230颜色识别产品使用手册

#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar duan[10]={0xc0,0Xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//所需的段的位码
uchar wei[5]={0Xf7,0XEf,0XDf,0XBf,0X7f}; //位的控制端
uint z,x,c,v,b,n,date;//定义数据类型
uint dispcount=0;//中断计数
uint lck=0;//定时器计数
uint disp=0;//频率值
/******************************************************************
void main(void)
{
IT0=1; //INT0下降沿中断
EX0=1; //允许INT1中断
initTimer(); //装入初值
TR0=1;
ET0=1;
EA=1;
while(1)
{
date=disp;
xianshi();
}
}
/*************************************************************************
数码管动态扫描
*********************************************************************/
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
颜色传感器【简要说明】一、尺寸:长34mmX宽26mmX高10mm二、主要芯片:TCS230三、工作电压:直流5V四、输出频率电压0~5V五、特点:1、所有的引脚全部引出2、输出占空比50%3、采用高亮白色LED灯反射光4、可直接和单片机连接5、静态检测被测物颜色6、检测距离10mm最佳【通电展示】【工作电压和电流】(直流5V0.04A)【输出波形】【板子背面】【详细说明】随着现代工业生产向高速化、自动化方向的发展,生产过程中长期以来由人眼起主导作用的颜色识别工作将越来越多地被相应的颜色传感器所替代。
例如:图书馆使用颜色区分对文献进行分类,能够极大地提高排架管理和统计等工作;在包装行业,产生包装利用不同的颜色和装潢来表示其不同的性质或用途。
目前的颜色传感器通常是在独立的光电二极管上覆盖经过修正的红、绿、蓝滤波片,然后对输出信号进行相应的处理,才能将颜色信号识别出来;有的将两者集合起来,但是输出模拟信号,需要一个A/D电路进行采集,对该信号进一步处理,才能进行识别,增加了电路的复杂性,并且存在较大的识别误差,影响了识别的效果。
TAOS(Texas Advanced Optoelectronic Solutions)公司最新推出的颜色传感器TCS230,不仅能够实现颜色的识别与检测,与以前的颜色传感器相比,还具有许多优良的新特性。
1 .TCS230芯片的结构框图与特点:TCS230是TAOS公司推出的可编程彩色光到频率的转换器,它把可配置的硅光电二极管与电流频率转换器集成在一个单一的CMOS电路上,同时在单一芯片上集成了红绿蓝(RGB)三种滤光器,是业界第一个有数字兼容接口的RGB 彩色传感器,TCS230的输出信号是数字量,可以驱动标准的TTL或CMOS逻辑输入,因此可直接与微处理器或其他逻辑电路相连接,由于输出的是数字量,并且能够实现每个彩色信道10位以上的转换精度,因而不再需要A/D转换电路,使电路变得更简单,图1是TCS230的引脚和功能框图。
图1中,TCS230采用8引脚的SOIC表面贴装式封装,在单一芯片上集成有64个光电二极管,这些二极管分为四种类型,其16个光电二极管带有红色滤波器;16个光电二极管带有绿色滤波器;16个光电二极管带有蓝色滤波器,其余16个不带有任何滤波器,可以透过全部的光信息,这些光电二极管在芯片内是交叉排列的,能够最大限度地减少入射光辐射的不均匀性,从而增加颜色识别的精确度;另一方面,相同颜色的16个光电二极管是并联连接的,均匀分布在二极管阵列中,可以消除颜色的位置误差。
工作时,通过两个可编程的引脚来动态选择所需要的滤波器,该传感器的典型输出频率范围从2Hz-500kHz,用户还可以通过两个可编程引脚来选择100%、20%或2%的输出比例因子,或电源关断模式。
输出比例因子使传感器的输出能够适应不同的测量范围,提高了它的适应能力。
例如,当使用低速的频率计数器时,就可以选择小的定标值,使TCS230的输出频率和计数器相匹配。
从图1可知:当入射光投射到TCS230上时,通过光电二极管控制引脚S2、S3的不同组合,可以选择不同的滤波器;经过电流到频率转换器后输出不同频率的方波(占空比是50%),不同的颜色和光强对应不同频率的方波;还可以通过输出定标控制引脚S0、S1,选择不同的输出比例因子,对输出频率范围进行调整,以适应不同的需求。
下面简要介绍TCS230芯片各个引脚的功能及它的一些组合选项。
S0、S1用于选择输出比例因子或电源关断模式;S2、S3用于选择滤波器的类型;OE反是频率输出使能引脚,可以控制输出的状态,当有多个芯片引脚共用微处理器的输出引脚时,也可以作为片选信号,OUT是频率输出引脚,GND是芯片的接地引脚,VCC为芯片提供工作电压,表1是S0、S1及S2、S3的可用组合。
2 .TCS230识别颜色的原理由上面的介绍可知,这种可编程的彩色光到频率转换器适合于色度计测量应用领域,如彩色打印、医疗诊断、计算机彩色监视器校准以及油漆、纺织品、化妆品和印刷材料的过程控制和色彩配合。
下面以TCS230在液体颜色识别中的应用为例,介绍它的具体使用。
首先了解一些光与颜色的知识。
(1)三原色的感应原理通常所看到的物体颜色,实际上是物体表面吸收了照射到它上面的白光(日光)中的一部分有色成分,而反射出的另一部分有色光在人眼中的反应。
白色是由各种频率的可见光混合在一起构成的,也就是说白光中包含着各种颜色的色光(如红R、黄Y、绿G、青V、蓝B、紫P)。
根据德国物理学家赫姆霍兹(Helinholtz)的三原色理论可知,各种颜色是由不同比例的三原色(红、绿、蓝)混合而成的。
(2)TCS230识别颜色的原理由三原色感应原理可知,如果知道构成各种颜色的三原色的值,就能够知道所测试物体的颜色。
对于TCS230来说,当选定一个颜色滤波器时,它只允许某种特定的原色通过,阻止其他原色的通过。
例如:当选择红色滤波器时,入射光中只有红色可以通过,蓝色和绿色都被阻止,这样就可以得到红色光的光强;同时,选择其他的滤波器,就可以得到蓝色光和绿色光的光强。
通过这三个值,就可以分析投射到TCS230传感器上的光的颜色。
(3)白平衡和颜色识别原理白平衡就是告诉系统什么是白色。
从理论上讲,白色是由等量的红色、绿色和蓝色混合而成的;但实际上,白色中的三原色并不完全相等,并且对于TCS230的光传感器来说,它对这三种基本色的敏感性是不相同的,导致TCS230的RGB输出并不相等,因此在测试前必须进行白平衡调整,使得TCS230对所检测的"白色"中的三原色是相等的。
进行白平衡调整是为后续的颜色识别作准备。
在本装置中,白平衡调整的具体步骤和方法如下:将空的试管放置在传感器的上方,试管的上方放置一个白色的光源,使入射光能够穿过试管照射到TCS230上;根据前面所介绍的方法,依次选通红色、绿色和蓝色滤波器,分别测得红色、绿色和蓝色的值,然后就可计算出需要的3个调整参数。
当TCS230识别颜色时,就用这3个参数对所测颜色的R、G和B进行调整。
这里有两种方法来计算调整参数:1、依次选通三颜色的滤波器,然后对TCS230的输出脉冲依次进行计数。
当计数到255时停止计数,分别计算每个通道所用的时间,这些时间对应于实际测试时TCS230每种滤波器所采用的时间基准,在这段时间内所测得的脉冲数就是所对应的R、G和B的值。
2、设置定时器为一固定时间(例如10ms),然后选通三种颜色的滤波器,计算这段时间内TCS230的输出脉冲数,计算出一个比例因子,通过这个比例因子可以把这些脉冲数变为255。
在实际测试时,室外同样的时间进行计数,把测得的脉冲数再乘以求得的比例因子,然后就可以得到所对应的R、G和B的值。
3 应用中需要注意的问题1、颜色识别时要避免外界光线的干扰,否则会影响颜色识别的结果,最好把传感器、光源等放置在一个密闭、无反射的箱子中进行测试。
2、对光源没有特殊的要求,但是光源发出的光要尽量集中,否则会造成传感器之间的相互干扰。
3、当第1次使用TCS230时,或TCS230识别模块重启、更换光源等情况时,都需要进行白平衡调整。
【参考例程】[C语言源程序]/********************************************************************汇诚科技实现功能:对颜色传感器输出的频率进行测量使用芯片:AT89S52 或者STC89C52晶振:11.0592MHZ编译环境:Keil作者:zhangxinchunleo网站:淘宝店:汇诚科技【声明】此程序仅用于学习与参考,引用请注明版权和作者信息!*********************************************************************/#include <reg52.h>#define uchar unsigned char#define uint unsigned intuchar duan[10]={0xc0,0Xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //所需的段的位码uchar wei[5]={0Xf7,0XEf,0XDf,0XBf,0X7f}; //位的控制端uint z,x,c,v,b,n,date; //定义数据类型uint dispcount=0; //中断计数uint lck=0; //定时器计数uint disp=0; //频率值/******************************************************************延时函数******************************************************************/ void delay(uchar t){uchar i,j;for(i=0;i<t;i++){for(j=13;j>0;j--);{ ;}}}/********************************************************************** 数码管动态扫描*********************************************************************/ void xianshi(){/*****************数据转换*****************************/z=date/10000; //求万位x=date%10000/1000; //求千位c=date%1000/100; //求百位v=date%100/10; //求十位b=date%10; //求个位P2=wei[0];P0=duan[z];delay(50);P2=wei[1];P0=duan[x];delay(50);P2=wei[2];P0=duan[c];delay(50);P2=wei[3];P0=duan[v];delay(50);P2=wei[4];P0=duan[b];delay(50);}/*************************************************************************定时器初值1ms**************************************************************************/ void initTimer(void){TMOD=0x0;TH0=0xe3;TL0=0xc;}/*************************************************************************定时器函数**************************************************************************/ void timer0(void) interrupt 1{TH0=0xe3;TL0=0xc;lck++;if(lck==1000){disp=dispcount;lck=0;dispcount=0;}}/*************************************************************************中断函数**************************************************************************/ void int0(void) interrupt 0{dispcount++; //每一次中断,计数加一}/*************************************************************************主函数**************************************************************************/ void main(void){IT0=1; //INT0下降沿中断EX0=1; //允许INT1中断initTimer(); //装入初值TR0=1;ET0=1;EA=1;while(1){date=disp;xianshi();}}/*************************************************************************结束**************************************************************************/。