




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于RGB 颜色传感器TCS230的颜色检测重庆理工大学光电信息学院(熊文涛 叶长军刘海)摘要:本方案的关键在于如何测量出RGB的值,从三原色原理可知,不同的颜色都是由R、G、B按照不同的比例值组成,即便是相似的颜色,例如粉红色和红色,只要测出各自的R、G、B的值,就能辨别是哪种颜色。文章通过对TCS230的结构、工作原理及其颜色识别的过程,以及介绍了白平衡的原理及进行调整的方法。利用单片机并给出了关键程序段及相应的软件流程图。从而定量测出其RGB值,按其比例最终可确定是什么样的颜色,可取得了良好的效果。关键词:三原色 、TCS230、颜色传感器 、滤波器、颜色识别Abstract:In th
2、is paper , based on the Three Colour theory , choose the TCS230 senior , let the light through the R、G、B a wave filter separately ,as a result we can get the R、G、B value . And then we can contrast the normal colour-map before we know the colour which we check .Key word: Three Colour theory 、TCS230Co
3、lour senior 、Wave filter、Distinct colour 0.引言随着现代工业生产向高速化、自动化方向的发展,生过程中长期以来由人眼起主导作用的颜色识别工作将来越多地被相应的颜色传感器所替代。因而设计一种能够提高颜色色度检测能力的方法,在实际生产应用中将会起到重要作用。本文基于RGB颜色传感器TCS230的介绍及其相应的识别电路,然后通过和单片机等器件的联合应用,从而实现颜色的精确检测。1.三原色原理的概述 三原色的感应原理通常指所看到的物体颜色,实际上是物体表面吸收了照射到它上面的白光(日光)中的一部分有色成分,而反射出的另一部分有色光在人眼中的反应。白色是由各种频率
4、的可见光混合在一起构成的,也就是说白光中包含着各种颜色的色光(如红 R、黄 Y、绿 G、青 V、蓝B、紫 P) 。根据德国物理学家赫姆霍兹( Helinholtz) 的三原色理论可知,各种颜色是由不同比例的三原色(红、绿、蓝)混合而成的。2.RGB颜色传感器RGB颜色传感器对相似颜色和色调的检测可靠性较高。它是通过测量构成物体颜色的三基色的反射比率现颜色检测的。由于这种颜色检测法精密度极高,所以RGB传感器能准确区别极其相似的颜色,甚至相同颜色的不同色调。一般RGB传感器都有红绿蓝三种光源,如图1所示。三种光源通过同一透镜反射后被目标物体反射。光被反射或吸收的量值取决与物体颜色。2.1.RGB
5、 颜色传感器的两种测量模式RGB 传感器有两种测量模式:一种是分析红、绿、蓝光的比例。因为检测距离无论怎样变化,只能引起光强的变化,而三种颜色光的比例不会变,因此,即使在目标有机械振动的场合也可以检测。第二种模式是利用红绿蓝三基色的反射光强度实现检测目的。利用这种模式可实现微小颜色判别的检测 但传感器会受目标机械位置的影响。 图1.RGB传感器用三种光源且通常包括导向功能3.TCS230 颜色传感器的结构及识别原理TCS230是一款带有数字兼容接口的RGB彩色光/频率转换器,它内部集成了可配置的硅光电二极管阵列和一个电流/频率转换器,同时在单一芯片上集成了RGB三种滤波器,此外,TCS230内
6、部每个颜色通道有10位的数字转换精度,大大提高了颜色的获取精度。图2为TCS230引脚和功能图。图2.TCS230的引脚和功能图 从图2可知,当入射光投射到TCS230上时,通过光电二极管控制引脚S2,S3的不同组合,可以选择不同滤波器;经过电流频率转换器后输出不同频率的方波,不同颜色和光强对应不同频率的方波;通过控制输出定标控制引脚S0,S1,选择不同的输出比例因子,对输出频率范围进行调整。下表1为S0,S1,S2,S3的组合选项: 从而得到TCS230识别颜色的原理是:当选定红色滤波器时,它只允许入射光中的红色可以通过,蓝色和绿色都被阻止,这样就可以得到红色光的光强;同理,选择其他的滤波器
7、,就可以得到蓝色光和绿色光的光强。因此,把光束分别通过红色、绿色、蓝色滤波器,可得出三个值,进一步分析后可以得出RGB的值,从而得出是什么颜色。4.白平衡参数的调整及其方法 在实际中白光的三原色不完全相等,因此在测试前必须进行白平衡调整,使得TCS230 对所检测的“白色”中的三原色是相等的。进行白平衡调整是为后续的颜色识别作准备。 在本装置中,白平衡调整的具体步骤和方法如下:将空的试管放置在传感器的上方,试管的上方放置一个白色的光源,使入射光能够穿过试管照射到TCS230 上,根据前面所介绍的方法,依次选通红色、绿色和蓝色滤波器,分别测得红色、绿色和蓝色的值,然后就可计算出需要的三个调整参数
8、。 4.1两种计算调整参数的方法:待测光束依次通过三种颜色的滤波器,然后对TCS230的输出脉冲依次进行计数。当计数到255时停止计数,分别计算每个通道所用的时间。这些时间对应于实际测试时TCS230每种滤波器所采用的时间基准,在这段时间内所测得的脉冲数就是所对应的R、G和B的值。设置定时器为一固定时间(例如10ms),然后使待测光束依次通过三种颜色的滤波器,计算这段时间内TCS230的输出脉冲数,计算出一个比例因子,通过这个比例因子可以把这些脉冲数变为255。在实际测试时,使用同样的时间进行计数,把测得的脉冲数再乘以求得的比例因子,然后就可以得到所对应的R、G和B的值。5.TCS230 的应
9、用颜色识别电路基于上述分析,采用89C51 和 TCS230 可设计一个颜色识别装置。该装置具有结构简单、识别精度和效的特点,并且能够和上位机通信,以将识别的结果实送给上位机。在此仅说明 TCS230 的使用情况,故只给出其颜色识别接口电路。上面只是将光束分开为R、G、B,把光信号转换成了点信号,接下来还需要对电信号进行处理,最终可以得到其相应的R、G、B的值。图3为TCS230颜色识别接口电路:图3同时利用单片机89C51作为平台编写处理电信号的程序,图4为软件流程图。图4 在程序流程中:系统初始化负责设置89C51 的定时器/计数器的工作方式,选择 TCS230 的输出比例因子,使能输出引
10、脚以及通信参数的设置。初始化完成后,检测是否需要进行白平衡调整。如有,调整白平衡子程序;否则,转到下一步,检测是否需要进行颜色识别。如不需要颜色识别,返回;如需要颜色识别,调用颜色识别子程序,直到颜色识别完毕。89C51的P1口的几个引脚来控制TCS230 的各个控制引脚,而TCS230 的输出引脚连接到 89C51的定时器/计数器 1 的输入端( P35) 。设置 89C51 定时器/计数器为相应的工作方式, 初始化89C51 定时器为一个定值,再选择TCS230 的输出比例因子,并使能输出引脚。实际使用中,通过读取89C51 计数器的值,就可以分别算出 TCS230 的3种输出频率,进而确
11、定 R、G、B 值及颜色。下面我们用89C51单片机驱动TCS230芯片的程序。通过串口调试工具控制和查看返回值。给它发送0x00则返回红光强度的参考值,0x01-绿光,0x02-白光,0x03-蓝光。返回250个周期的时长。具体连线,参照引脚定义。关键的相关程序段如下:#includeunsigned char tmp;/*/*定义颜色识别模块引脚*/*/sbit clr_S0=P30;sbit clr_S1=P31;sbit clr_OE=P32;sbit clr_OUT=P35;sbit clr_S2=P34;sbit clr_S3=P33;/*/*串口初始化*/*/void init_
12、ser() /*初始化串口*/TMOD=0x20;TH1=0xfd;TL1=0 xfd;SCON=0x50;PCON&=0xef;TR1=1;lE=0x00;void ser_sendchar(unsigned char a)/* 串口发送一个字节*/ SBUF=a; while(!Tl); Tl=0;/*/*颜色识别模块配置*/void init_clr()clr_OE=1;unsigned int clr_get(unsigned char a) unsigned int time; TMOD=0x61; /*设置定时器0工作方式为16位*/ TH0=TL0=0x00;/*设置定时器0从0
13、计时*/TH1=TL1=0x00;clr_S0=1;clr_S1=1;clr_S2=a&0x02;clr_S3=a&0x01;clr_OE=0;TR1=TR0=1;while(TLl250);TR1=TR0=0;clr_OE=1;time=TH0*256+TL0;return(time);/*/*/*/void main() unsigned int a; init_ser(); init_clr(); while(1) if(Rl) Rl=0; tmp=SBUF; a=clr_get(tmp); init_ser(); ser_sendchar(a&0x00ff); ser_sendchar
14、(a/256);6.应用中需要注意的问题.颜色识别时要避免外界光线的干扰,否则会影响颜色识别的结果。最好把传感器、光源等放置在一个密闭、无反射的箱子中进行测试。.对光源没有特殊的要求,但是光源发出的光要尽量集中,否则会造成传感器之间的相互干扰。.当第1次使用 TCS230 时,或 TCS230 识别模块重启、更换光源等情况时,都需要进行白平衡调整。7.结束语文章选用RGB颜色传感器TCS230作为基础,让光束分别通过R、G、B滤波器,利用单片机及相关电路从而测出各自的R、G、B的值,通过与标准色谱值的比较从而定量并且较为精确的实现颜色检测。这样的系统可广泛应用于以颜色为特征的产品分拣和过程监控领域。 8.参考文献:1 韩兵.光电控制系统技术与应用.电子工业出版社, 2009。2 李秀荣.颜色测量中应注意的几点问题.广东印刷期刊,2010。3 如何选择_颜色传感器 闫军译 长春大学电子工程学院20014FrancGr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农村板车出售合同范例
- 公司注销业务合同范本
- 中医诊所招聘合同范本
- 单位出售土地合同范本
- 公司车定维修合同范本
- 共享出租场地合同范本
- 劳务联营合同范例
- 加油站出租合同范本
- 企业赋能合同范本
- 二手房房东出租合同范例
- (2024年)中国传统文化介绍课件
- 糖尿病患者饮食指导课件
- 人工智能数据标注百亿产业详细介绍
- 2023年高考真题-地理(天津卷) 含答案
- 2024年10月自考02160流体力学试题及答案含评分参考
- 2025年公务员考试《行测》模拟题及答案(详细解析)
- 2024年黑龙江省牡丹江市中考历史试卷
- 沪科版八年级物理知识点总结
- 孙权劝学(原卷版)-2024年中考语文之文言文对比阅读
- 高速公路日常清扫与养护方案
- 风电epc合同模板
评论
0/150
提交评论