智能颜色识别报警系统

更新时间:2024-05-13 19:25:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

智能颜色识别报警系统

智能颜色识别报警系统

摘要: 随着现代工业生产向高速化、自动化方向的发展,色彩识别广泛应用于各种工业检测和自动控制领域,而生产过程中长期以来由人眼起主导作用的颜色识别工作将越来越多地被相应的颜色传感器所替代。如:各种物体表面颜色识别(产品包装色标检测,产品外表特征颜色的检测,液体溶液颜色变化过程的检测与控制,等等)。而本文就是介绍如何通过使用TCS230颜色传感器来实现色彩识别的功能的。

首先,通过了解一定深度的光与颜色的知识以及深入学习研究TCS230识别颜色的原理,实现TCS230颜色传感器测量颜色的功能。其次,对所测得的数据进行处理,转换成RGB三种颜色光数值。最后,通过LCD将经过处理后的数据显示出来。 本设计具有体积小、成本低、功能强等特点。 关键词:单片机 颜色识别 TCS230 三原色 颜色传感器

The intelligent color recognition alarm system

Abstract : With the modern industrial production to speed the development of automated direction, color recognition is widely used in various industrial detection and automatic control field, and the production process has long played a leading role by the human eye color recognition will be more and moreare replaced by the corresponding color sensor. Such as: surface color identification (product packaging color detection, the product appearance characteristic color detection, detection of the liquid solution color change process and control, and so on). This article is to introduce TCS230 color sensor color recognition.

First of all, through the understanding of a certain depth of knowledge of light and color as well as in-depth study TCS230 identify the color of principle TCS230 color sensor to measure the color functionality. Next, the measured data is processed and converted to RGB three color light value. Finally, the processed data will pass through the LCD display. This design has the characteristics of small size, low cost, feature.

Keywords:SCM Color recognition TCS230 Trichromatic Color sensor

智能颜色识别报警系统

目 录

1 概述 ............................................................... 1

1.1 课题研究目的 ................................................. 1 1.2 颜色识别的发展现状 ........................................... 2

1.2.1 颜色传感器国外发展现状 .................................. 2 1.2.2 颜色传感器国内发展现状 .................................. 3 1.3 课题设计任务 ................................................. 4 2 设计总体方案 ....................................................... 4

2.1 课题设计背景 ................................................. 4 2.2 设计方案论证 ................................................. 5

2.2.1 主机选择 ................................................ 5 2.2.2 颜色模块方案选择 ........................................ 5 2.3 设计方案框图 ................................................. 7 3 硬件电路设计 ....................................................... 8

3.1 AT89S52简介 .................................................. 8 3.2显示电路设计 ................................................. 10

3.2.1液晶显示电路介绍 ....................................... 10 3.2.2 TG12864E液晶显示模块的基本特性 ........................ 11 3.2.3 字符显示 ............................................... 12 3.3颜色识别简介 ................................................. 13

3.3.1 色彩识别和其常用算法 ................................... 13 3.3.2 TCS230识别颜色原理 .................................... 14 3.3.3 TCS230颜色传感器 ...................................... 16 3.3.4 TCS230颜色传感器与单片机的连接 ........................ 17

4 系统调试 .......................................................... 19

4.1 程序流程图 .................................................. 19 4.2 程序调试软件介绍 ............................................ 21 5 总结 .............................................................. 22 6 致谢 .............................................................. 23 参考文献 ............................................................ 24 附录1:总设计电路图 ................................................ 25 附录2:实物照片 .................................................... 26

智能颜色识别报警系统

1 概述

1.1 课题研究目的

目前的颜色传感器通常是在独立的光电二极管上覆盖经过修正的红、绿、蓝滤波片,然后对输出信号进行相应的处理,才能将颜色信号识别出来;有的将两者集合起来,但是输出模拟信号,需要一个A/D电路进行采集,对该信号进一步处理,才能进行识别,增加了电路的复杂性,并且存在较大的识别误差,影响了识别的效果。TAOS(Texas Advanced Optoelectronic Solutions)公司最新推出的颜色传感器TCS230,不仅能够实现颜色的识别与检测,与以前的颜色传感器相比,还具有许多优良的新特性。本设计以STC89C52单片机为控制核心,利用颜色传感器TCS230设计一颜色识别系统,并能够辨别生活中的各类颜色。

颜色识别在现代生产中的应用越来越广泛,无论是遥感技术,工业过程控制,材料分拣识别,图像处理,产品质检,机器人视觉系统,还是某些模糊的探测系统都需要对颜色进行探测,而颜色传感器的飞速发展,生产过程中长期由人眼起主导作用的颜色识别工作将越来越多地被颜色传感器所替代。为这上述应用的自动化实现提供了可能。

本文以色彩识别系统设计为目的,采用AT89S51单片机为核心,利用TCS230颜色传感器和TG12864E建立起来的。文中给出整个系统的设计思路,包括,根据对三原色的感应原理和TCS230颜色传感器识别颜色的原理的分析,设计出一个合适的可行的实验环境。其次,利用TCS230颜色传感器,在合适的环境下,对被测物体进行检测,将测得的数据送到AT89S52单片机进行处理,得到被测物体所包含的RGB三原色的颜色值,之后利用TG12864E显示出来。

本文研究的色彩识别系统的意义在于降低了色彩识别的难度,而且检测结果能准确可信,将有利于自动化行业以及相关行业的发展,同时为这个领域以后的研究提出自己的一点见解。另外,文中实现的颜色识别系统可用于机器人比赛的视觉识别系统。

1

智能颜色识别报警系统

1.2 颜色识别的发展现状

颜色传感器也叫色彩识别传感器。

目前,基于各种原理的颜色识别传感器有两种基本类型: 其一是RGB(红绿蓝) 颜色传感器, 检测的是三刺激值; 其二是色差传感器,检测被测物体与标准颜色的色差。这类装置许多是漫反射型、光束型和光纤型的, 封装在各种金属和聚碳酸酯外壳中。

1.2.1 颜色传感器国外发展现状

MAZET公司最新推出的颜色传感器MTCSiCS,不仅能够实现颜色的识别与检测,色彩传感器具有高精度的三色测量(CIE),是测量光源系统的出色解决方案,其控制系统可以捕捉到目前的颜色状况,然后根据图像信号反馈的信息控制并达到相应的Yxy值。相比别的传感器,在温度变化的情况下,MAZET的传感器性能不变,甚至在温度或者能量很高的情况下、MAZET的传感器也不会有任何老化。

MTCSiCS的输出信号是数字量,可以驱动标准的TTL或CMOS逻辑输入,因此可直接与微处理器或其他逻辑电路相连接。由于输出的是数字量,并且能够实现每个彩色信道10位以上的转换精度、因而不再需要A/D转换电路,使电路变得更简单。

德国ELTROTEC色标传感器可以检测出颜色的差异,ELTROTEC色标检测器具有灵敏度高、响应速度快、抗背景干扰能力强。即使颜色上的细微差异或高光泽目标物也能够被ELTROTEC检测到,产品被广泛的运用于包装机械和印刷机械,造纸机械等自控系统中。

ELTROTEC色标检测器适用于必须快速和准确检测色标或其他用颜色对比作记号的场合。在30多种不同的灰度等级中,色标检测器可检测所有类型的色标标记,可给不同的用户界面提供多种对比度检测技术,以满足广泛的应用领域,是业界最佳的色彩辨识仪器。

FT50C-1颜色传感器:自2001年,通过测试开始投入应用至今FT50C-1一直得到广泛应用。该传感器使用直径4mm的圆光斑。适合用于分选包装或检测不同类型的标签。FT50C-2颜色传感器:使用2mm的正方形光斑。适合于检测非常微小的物体。典型应用是:检测小部件或检测细致的仪器。FT50C-3颜色传感器:使用1mm*5mm的长方形光斑。专为检测长方形物体而设计。典型应用为:检测导管内半导体芯片的缺失和正确顺序。

2

智能颜色识别报警系统

CS颜色检测器利用三色光方法鉴别颜色。CS颜色检测器可以发射多种光谱组合,从而代替了传统的接收端滤式宽带光谱(易受周围光线影响)。被检测物体的反射光线被接收并被数字化,通过集成的微处理器进行运算和标准化。所有的红、绿、蓝(RGB)波长范围包括所有必要色度、饱和度和亮度等信息都被包括在最后的信号值中。这些测量与保存的参考值在数微秒内进行比较,根据结果,改变开关输出的状态。颜色检测器可利用接收光和发射光的颜色检测而鉴别物体-例如透明物体或液体。根据工作需要,可以通过自学习模式存储一个或三个颜色参考值。因为颜色检测器对周围光线极度不敏感,所以检测的可靠性不会被进入传感器一端的反映或光线影响。

1.2.2 颜色传感器国内发展现状

四川火狐公司推出的MCS颜色传感器是最小的三原色传感器,由三个Si-PIN光电管以及在片滤波器集成在一起的,每个光电管都各自有三种颜色之一的滤波器。它具备小尺寸设计,高质量滤波器和三种颜色同步记录的特点。三个不同区域的颜色识别响应,类似于人眼。每个光电管对相应光谱滤波器的颜色光最敏感,主要是红色,绿色,蓝色。对高动态工业颜色应用(允许信号频率到MHz范围),新的紧凑型颜色传感器是首选,适合低价格快速信号处理。这种光电管的环型排列,适合辅助光纤测量信号的耦合。这些传感器提供TO5和 SOP8透明塑料或者玻璃封装。

广州创光电子有限公司的PDIC903B颜色传感器主要用来检测环境亮度水平,并通过提供高度线性的成比例输出,来调节显示屏幕或键盘的背光。可帮助便携式显示设备降低功耗,延长LCD屏幕的使用寿命。这些经济型传感器可以根据制造商预先设定的模式来控制便携式LCD显示器的背光。

深圳市易创特自动化设备有限公司推出的新一代数字颜色传感器TCS3414CS,不但可以侦测颜色,同时还可以侦测色温。其应用主要是带有液晶屏的数码产品如液晶电视,可视DVD,车载数码产品,另外如笔记本电脑,手机,PMP等移动设备也都有应用。其产品的低档系列,以其优良侦测精度和优势的价格,尤其适合玩具类等产品开发应用。

上海精电电子设备有限公司研发生产的颜色识别传感器、色标传感器系列产品,作为国内最专业的光学测量及检测设备研发及生产厂家特别在辨色识别,激

3

智能颜色识别报警系统

光测距,光纤的技术上处于领先地位,运用了当今先进的数字化背景抑制技术,大大提高了测量精度和抗干扰能力,因为有这样的特点,使得该公司产品在国内市场有相当占有率,依靠合理的价格更适合国内市场的服务理念成为少数几家能与国外顶级品牌抗衡的高科技企业。目前生产的超高功率RGB数字光纤传感器在检测时的方便性为一般传感器望尘莫及, RGB 颜色传感器利用数模转换的高精度放大器,成为业界最佳的色彩辨识,即使颜色上的细微差异或高光泽目标物也能够轻易的检测。

1.3 课题设计任务

通过了解一定深度的光与颜色的知识(主要是三原色的感应原理)以及深入学习研究TCS230识别颜色的原理,实现TCS230颜色传感器测量颜色的功能。其次,对所测得的数据进行处理,转换成RGB三种颜色光数值。最后,通过LCD将经过处理后的数据显示出来。 本设计具有体积小、成本低、功能强等特点。

2 设计总体方案

2.1 课题设计背景

随着现代工业生产向高速化、自动化方向的发展,颜色识别广泛应用于各种工业检测和自动控制领域,而生产过程中长期以来由人眼起主导作用的颜色识别工作将越来越多地被相应的颜色传感器所替代。如:各种物体表面颜色识别(产品包装色标检测,产品外表特征颜色的检测,液体溶液颜色变化过程的检测与控制,等等)。目前的颜色传感器通常是在独立的光电二极管上覆盖经过修正的红、绿、篮滤光片,然后对输出信号进行相应的处理,才能将颜色信号识别出来;有的将两者集合起来,但是输出模拟信号,需要一个A/D电路进行采样,对该信号进一步处理,才能进行识别,增加了电路的复杂性,并且存在较大的识别误差,影响了识别的效果。而TCS230颜色传感器是美国TAOS公司生产的一种可编程彩色光到频率的转换器,比市面上见到的光转电压颜色检测仪器在性能上有更多的优势。TCS230它对光的动态响应范围大于250,000~1,标准输出频率范围为2Hz~500kHz,TCS230有两个可编程的引脚,使用者可以对100%、20%、2%或者是动力关闭模块的输出量程进行选择使用。TCS230在不需要DCs的情况下,给每个彩色通道至少能提供10字节的分辨。TCS230可以用于彩色打印机、医疗诊断、LED检

4

智能颜色识别报警系统

测、液体颜色识别、电脑彩色监控标准、颜色产品加工控制、和油漆、纺织品、化装品及打印材料的彩色搭配等颜色检测产品。

2.2 设计方案论证 2.2.1 主机选择

方案一:采用AT89C52为核心的单片机,成本较低,处理速度较快,增加多路也易于实现。

方案二:采用PC机对该系统进行控制,其优点在显示界面和方法多,编程格式灵活,如采用JAVA、VB或用LabVIEW等,比较美观。通信接口需采用机内的RS-232,实现与下位机的实时数据传输。

相比较而言,方案一比较廉价,设计简单,系统也相对稳定,调试方便,所以本设计的主机控制部分选择方案一。

2.2.2 颜色模块方案选择

方案一:三个发光二极管分别发射红蓝绿光来检测颜色。

该颜色识别装置必须向待测物体依次发射出红、绿、蓝三种探测光,利用硫化镉(CdS)光敏电阻接收待测物的反射光,根据其阻值的变化从而获得颜色的信息。本装置要求光敏电阻必须安装在三个发光二极管的中心位置。

这个方案有很大的局限性:

(1)光敏电阻容易受到温度影响可靠性差,测量范围窄。 (2)光敏电阻必须安装在中心位置,增加了设备的生产难度。

(3)进行环境校正时,必须单独提供一个白色的待测物才可以进行校正,在实际中受到环境的影响。

(4)因为发光二极管和光敏电阻的位置是固定的,测试时必须通过调整待测物体的位置才能使其反射光被光敏电阻接收到,待测物的位置很难控制,增加了测试的难度。

方案二:在装置上标记颜色来达到辨别颜色的目的。

在工具盘放有四个探测笔的槽,槽里事先标记红、黄、黑、绿四种颜色,四支探测笔也要标记这四种颜色,在放置的时候书写笔必须要和探测笔槽的颜色一致。每个笔槽的中心位置放置一对红外发送/接收二极管,这个二极管就是笔色的感测器。当这四支笔中的一支被拿起时,当二极管接受不到所反射的红外光时,

5

智能颜色识别报警系统

这种状态就会被记录下来并认为笔槽为空。由于笔槽与二极管相对应,因此哪个笔槽空就意味着哪种颜色的探测笔被拿起。

这个方案的缺点:

(1)被识别的颜色必须与事先放置好的颜色相对应,不然的话不能识别。 (2)探测笔颜色是靠预先设置笔槽颜色,并检测笔槽是否为空来识别的,待测物必须放置在与其颜色一致的笔槽里,否则颜色识别错误。

方案三:基于AT89S52单片机的颜色传感器的颜色识别测量装置。 不同于上述两种方案,此种颜色识别装置仅将待测物放置在本装置上就可以识别出待测物体的颜色。该装置包括颜色探测器和数据处理单元。

此种方案的颜色识别装置包括颜色探测器和数据处理单元。

颜色探测器:包括发光源和传感器。发光源用于向待测物体发射单色探测光,传感器用于接收待测物的反射光,并根据所述反射光的光参量产生与待测物颜色相应的电信号。发光源可以是发白色光的发光二极管。传感器是CMOS半导体传感器,通过依次测量待测物反射光正RGB三原色的光强,获得颜色信息,并将测量植转换成频率信号。该CMOS半导体传感器表面是光电感应二极管,内部集成了红绿蓝(RGB)三种颜色的滤波器、彩色光到频率的转换器,直接输出数字电信号。

数据处理单元为89C51单片机,用于接收颜色探测输出的频率电信号,并根据该信号产生响应的颜色识别结果;还用于颜色探测器的控制。

数据处理单元包括:数据采集单元,颜色参数存储单元,对比运算单元,事件判断单元。

(1)数据采集单元作用是定期的对传感器的数据进行采集。 (2)颜色参数存储单元用于存储各种色彩的标准颜色参数。

(3)对比运算单元用于将采集的数据与存储单元所存储的标准颜色参数进行对比运算,得到颜色识别的结果。

(4)事件判断单元用于判断待测物的拿起、放下事件,并判断是否有待测物放置在托盘里,若无,则为空状态。

此种方案的优点:

(1)此方案对发光源没有特殊的要求,传感器只采集待测物的反射光。 (2)在颜色识别中,传感器的作用是采集颜色信号并把颜色信号转换为频率信号,直接输出三基色的数字电信号,不需要AD转换。这样就使装置结构简单,

6

智能颜色识别报警系统

易于实现。

(3)此装置将事先存储的颜色参数与待测物的颜色数据进行比较,来获得颜色识别的结果。这种方法不需要复杂的计算,简单明确,易于实现。

综上所述,我们采用第三种方案来设计此颜色识别装置。

2.3 设计方案框图

色彩识别系统是基于MCS-51系列单片机控制的基础上,添加了TCS230颜色传感器采集模块,TCS230驱动模块,四个白色LED补光模块,TG12864E液晶显示模块,在这些模块的基础上实现的色彩识别系统,色彩识别系统的设计如图2.1系统框架所示。

按键 颜色模块 12864液晶显示 单片机

图2.1 主机系统框图

7

白光补光模块 蜂鸣器报警 智能颜色识别报警系统

3 硬件电路设计

3.1 AT89S52简介

1.性能分析

AT89S52是一种低功耗、高性能CMOS8位微控制器,片内程序存储器达到8k,使用Atmel公司的高密度非易失性存储器技术制造,与80C51产品指令和引脚是完全兼容的。在单片机上,拥有灵巧的8 位CPU和系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高超有效、灵活的解决方案。

AT89S52具有以下的标准功能:8位CPU,256字节片内数据存储器,8k字节片内程序存储器,4组8位I/O口线,6个中断源,3个16位定时器/计数器,片内带晶振及时钟电路,使用+5V电源,布尔处理器,拥有26B特殊功能寄存器。空闲模式下,CPU停止工作,允许片内数据存储器、定时器/

计数器、串口、中断继续工作。在掉电保护方式 图 3.1 AT89S52引脚图 下,数据存储器的内容被保存,冻结振荡器,单片机停止一切工作,直到下硬件复位或一个中断到来为止。

2.引脚功能简介

其引脚图如图3.1所示。2条电源线:VCC接电源线,GND接地线;32条端口线:P0端口是8位漏极开路的双向I/O口,当其作为输出口时,每位能够驱动8个TTL逻辑电平,当对P0口写“1”时,则引脚用作高阻抗输入;当访问外部程序存储器和数据存储器时,P0端口也可被作为低8位地址/数据复用,先传送片外存储器的低8位地址,再传送CPU对片外存储器的读/写数据。P1 端口是一个有内部上拉电阻的8位双向I/O端口,当 对P1口写“1”时,内部的上拉电阻把端口拉高,这时可作为输入端口使用。

P2口也可以作为通用I/O口使用,对P2口写“1”时,内部上拉电阻则把端口拉高,这时可以作为输入端口来使用;当访问外部ROM或用16位地址读取外部

8

智能颜色识别报警系统

RAM时,P2口的第二功能和P0口的第二功能相配合使用,P2口输出片外存储器的高八位地址。P3口的第一功能和其余三口第一功能相同,对P3口写“1”时,内部上拉电阻把其端口拉高,这时可以作为输入口来使用,作为输入口使用时,被外部拉低的引脚由于内部电阻的原因将会输出电流。P3端口也作为AT89S52特殊功能来使用,如表3.1所示。

表3.1 P3口特殊功能介绍 P3口引脚号 第二功能 P3.0 RXD:串行输入端 P3.1 TXD:串行输出端 P3.2 INT0:外部中断0 P3.3 INT1:外部中断1 P3.4 T0:定时器0的外部输入 P3.5 T1:定时器1的外部输入 P3.6 WR:外部数据存储器写允许 P3.7 RD:外部数据存储器读允许 ALE:地址锁存控制信号,是访问外部程序存储器时,锁存低8位地址的输出脉冲。在flash编程时,此引脚也用作编程输入脉冲。在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可以用来作为外部定时器或时钟使用。然而,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要的话,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。 这时,ALE仅在执行MOVX或MOVC指令时有效。否则,ALE将被微弱拉高。

EA:访问外部程序存储器选择线。为使能从0000H到FFFFH的外部程序存储器读取指令,EA必须给低电平;为了执行内部程序指令,EA需给高电平。

RST是复位线,可使单片机处于复位工作状态。

PSEN:外部程序存储器选通线,当 单片机访问外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。

XTAL1和XTAL2:片内振荡电路输入信号线,通常用来外接石英晶体和微调电容。

9

智能颜色识别报警系统

图 3.2 总设计图

3.2显示电路设计 3.2.1 液晶显示电路介绍

系统所有数据的显示采用TG12864E液晶显示模块一体化显示,在一个界面显示整机的所有数据信息,其接线图如图3.3所示。

图3.3 数据显示模块

10

智能颜色识别报警系统

TTG12864E是一种具有4/8位并行、2线或3线串行多种的接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;显示分辨率为128 × 64,内有16 * 16的汉字8192个,及16*8点ASCII字符128个。低电压和低功耗是它的另一个显著的特点。

3.2.2 TG12864E液晶显示模块的基本特性

(1)低电源电压(VDD:+3.0~+5.5V) (2)显示分辨率:128×64点

(3)内置汉字字库,提供8192个16×16点阵汉字(简繁体可选) (4)内置 128个16×8点阵字符 (5)2MHZ的时钟频率

(6)显示方式:STN、半透、正显 (7)驱动方式:1/32DUTY,1/5BIAS (8)视角方向:6点钟

(9)背光方式:侧部高亮白色LED,功耗仅为普通LED的1/5~1/10 (10)通讯方式:串行、并口可选

(11)工作温度: 0℃ ~ +55℃ ,存储温度: -20℃ ~ +60℃

管脚 1 2 3 4 5 6 15 17 19 20 管脚 1 2 3 4 5 6 7 8 名称 VSS VDD VO CS SID CLK PSW RST A K 名称 VSS VDD VO CS SID CLK DB0 DB1 表3.2 模块串行接口说明 电平 管脚功能描述 0V 电源地 3.0~+5V 电源正 - 对比度(亮度)调整 模组片选端,高电平有效 H/L 串行数据输入端 串行同步时钟:上升沿时读取SID数据 L L:串口方式 - 复位端,低电平有效 VDD 背光源正端(+5V) VSS 背光源负端 表3.3 模块并行接口说明 电平 管脚功能描述 OV 电源地 3.0~+5V 电源正 - 对比度调整 模组片选端,高电平有效 串行数据输入端 串行同步时钟,上升沿时读取SID数据 11

智能颜色识别报警系统

9 10 11 12 13 14 15 17 19 20 DB2 DB3 DB4 DB5 DB6 DB7 PSW RST A K H/L 三态数据线 L - VDD VSS 串口方式 复位端,低电平有效 背光源正端(+5V) 背光源负端 续表3.3 模块并行接口说明 3.2.3 字符显示

TG12864E每屏可显示4行8列共32个16×16点阵的汉字,每个显示RAM可显示1个中文字符或2个16×8点阵全高ASCII码字符。TG12864E内部提供128×2字节的字符显示RAM缓冲区。字符显示RAM在液晶模块中的地址80H~9FH,字符显示的RAM的地址与32个字符显示区域有着一一对应的关系,其对应关系如表3.4所示。

表 3.4 字符显示RAM地址与字符显示区域对应表 80H 81H 82H 83H 84H 85H 86H 87H 90H 91H 92H 93H 94H 95H 96H 97H 88H 89H 8AH 8BH 8CH 8DH 8EH 8FH 98H 99H 9AH 9BH 9CH 9DH 9EH 9FH 本设计中TG12864E的控制方式如图3.3所示。其主要功能是显示单片机处理好的颜色RGB数值,以及显示设定好的颜色名称,充当人机交互的一种直观媒介。

12

智能颜色识别报警系统

3.3颜色识别简介

3.3.1 色彩识别和其常用算法

正如我们所知道的那样,色彩实际上是频率连续的电磁波,理论上色彩是无限的,但是人们能分辨的色彩是有限的,而且存在着个体差异。专业人士在设计一个色彩识别系统的时候,会很仔细地以5%甚至更小的区别来仔细调整色彩之间的比值。当这些类似色并排在一起时,即使是没有经过训练的普通人,除了色盲意外,都能够看出它们之间的区别。但是当一个色彩识别系统被确定并且单独展现时,普通人是无法区别出这5%什么更大的差异的。因此大多数人会简单的将他们所看到的某个色彩归类到他们能用简单语言描述的一类颜色,比如红、黄、白,或在这个基础上加以设当的区分,比如橘黄,有点发白的橘黄等。这种普通人感知的色彩可以被看作围绕着一个核心色的一个一个的区间,在这个区间中的所有颜色在色彩识别的时候,都会被看作是一种色彩。初中同一色彩识别区间的所有色彩尽管值不一样,但是对于受众而言是一样的。

在现今的工业化社会中,色彩识别被广泛的应用于各行各业之中,如:各种物体表面颜色识别(产品包装色标检测,产品外表特征颜色的检测,液体溶液颜色变化过程的检测与控制,等等)。又如:图书馆使用颜色区分对文献进行分类,能够极大的提高排架管理和统计等工作;在包装行业,产品包装利用不同的颜色或装磺来表示其不同的性质或用途;在品牌的形象设计和品牌推广的竞争中,色彩系统是一个比较重要的部分,设计师都会花费大量的时间细致地调整不同色彩搭配之间的组合关系,以达到更好的视觉效果。 1.色彩空间

通常所看到的物体的颜色, 实际上是物体表面吸收了照射到它上面的白光(日光)中的一部分有色成分,而反射出的另一部分有色光在人眼中的反应。任何一种颜色都可以用三种基本颜色按照不同的比例混合得到。

这里介绍一种最典型的颜色模型,即RGB模型。如图3.4所示,在这个颜色模型中, 3个轴分别为R、G、B。原点对应的为黑色(0, 0, 0),离原点最远的顶点对应白色(255, 255, 255)。 由黑到白的灰度分布在从原点到最远顶点间的连线上, 正方体的其他六个角点分别为红、 黄、绿、青、蓝、和品红。需要注意的一点是,RGB颜色模型所覆盖的颜色域取决于显示设备因光电的颜色特性。每一种颜色都有唯

13

智能颜色识别报警系统

一的RGB值与它对应。

B 蓝青品红白黑G 绿黄2.白平衡算法

颜色实际就是物体对光的反射或投射而表现出来在人眼中的反映, 而 TCS230 就是通过分别检测一种颜色反映出来的光的红、绿、蓝分量, 通过把光强线性转换为频率信号, 量化出R、G、B值, 从而计算出颜色。值得注意的是, 不同的光线通过物体反映出来的光强是不同的, 而且非标准白光 (RGB三者不相等)在物体上反映出来的光强分量也是不同的。

为解决这个问题,就要进行白平衡, 即首先测量出基准光源的RGB光强值, 再测量出在标准光源下物体所反映出的光强值,两者之比就是物体的反射(或透射)性质, 即物体的实际颜色, 如公式(3-1), (3-2), (3-3)。

R=P物红/P源红 (3-1) G=P物绿/P源绿 (3-2) B=P物蓝/P源蓝 (3-3)

由于在 RGB 坐标下的颜色标准坐标为 0-255 之间,所以把所得结果乘以 255,即得到标准的 RGB 值。 透明物体直接测量光源的光强-频率值,不透明物体需要用白纸测量反射光源。

3.3.2 TCS230识别颜色原理

由上面的介绍可知,这种可编程的彩色光到频率转换器适合于色度计测量应用领域,如彩色打印、医疗诊断、计算机彩色监视器校准以及油漆、纺织品、化妆品和印刷材料的过程控制和色彩配合。下面以TCS230在液体颜色识别中的应用

R 红

图3.4 RGB颜色模型

14

智能颜色识别报警系统

为例,介绍它的具体使用。首先了解一些光与颜色的知识。 (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的输出

15

智能颜色识别报警系统

脉冲数,计算出一个比例因子,通过这个比例因子可以把这些脉冲数变为255。在实际测试时,室外同样的时间进行计数,把测得的脉冲数再乘以求得的比例因子,然后就可以得到所对应的R、G和B的值。

3.3.3 TCS230颜色传感器

TCS230芯片的结构框图与特点:

TCS230是TAOS公司推出的可编程彩色光到频率的转换器,它把可配置的硅光电二极管与电流频率转换器集成在一个单一的CMOS电路上,同时在单一芯片上集成了红绿蓝(RGB)三种滤光器,是业界第一个有数字兼容接口的RGB彩色传感器,TCS230的输出信号是数字量,可以驱动标准的TTL或CMOS逻辑输入,因此可直接与微处理器或其他逻辑电路相连接,由于输出的是数字量,并且能够实现每个彩色信道10位以上的转换精度,因而不再需要A/D转换电路,使电路变得更简单,图3.5是TCS230的引脚和功能框图。

TCS2301234S0 S3 S1 S2OE OUTGND Vcc8765输出光电二极管阵列S2S3电流--频率转换器S0S1OE图3.5 TCS230的引脚和功能图

图3.5中,TCS230采用8引脚的SOIC表面贴装式封装,在单一芯片上集成有64个光电二极管,这些二极管分为四种类型,其16个光电二极管带有红色滤波器;16个光电二极管带有绿色滤波器;16个光电二极管带有蓝色滤波器,其余16个不带有任何滤波器,可以透过全部的光信息,这些光电二极管在芯片内是交叉排列的,能够最大限度地减少入射光辐射的不均匀性,从而增加颜色识别的精确度;另一方面,相同颜色的16个光电二极管是并联连接的,均匀分布在二极管阵列中,可以消除颜色的位置误差。工作时,通过两个可编程的引脚来动态选择所需要的

16

智能颜色识别报警系统

滤波器,该传感器的典型输出频率范围从2Hz-500kHz,用户还可以通过两个可编程引脚来选择100%、20%或2%的输出比例因子,或电源关断模式。输出比例因子使传感器的输出能够适应不同的测量范围,提高了它的适应能力。例如,当使用低速的频率计数器时,就可以选择小的定标值,使TCS230的输出频率和计数器相匹配。

从图3.5可知:当入射光投射到TCS230上时,通过光电二极管控制引脚S2、S3的不同组合,可以选择不同的滤波器;经过电流到频率转换器后输出不同频率的方波(占空比是50%),不同的颜色和光强对应不同频率的方波;还可以通过输出定标控制引脚S0、S1,选择不同的输出比例因子,对输出频率范围进行调整,以适应不同的需求。

下面简要介绍TCS230芯片各个引脚的功能及它的一些组合选项。

S0、S1用于选择输出比例因子或电源关断模式;S2、S3用于选择滤波器的类型;OE反是频率输出使能引脚,可以控制输出的状态,当有多个芯片引脚共用微处理器的输出引脚时,也可以作为片选信号,OUT是频率输出引脚,GND是芯片的接地引脚,VCC为芯片提供工作电压,表3.5是S0、S1及S2、S3的可用组合。

表3.5 S0、S1及S2、S3的组合选项

S0 L L H H

S1 L H L H

输出频率定标 关断电源 2% 20% 100%

S2 L L H H

S3 L H L H

滤波器类型

红色 蓝色 无 绿色

3.3.4 TCS230颜色传感器与单片机的连接

TCS230是TAOS公司推出的可编程彩色光到频率的转换器,该传感器具有分辨率高、可变成的颜色选择与输出定标、单电源供电等特点;输出为数字量,可直接与微处理器连接。图3.6为TCS230颜色传感器的实物图。

TCS230颜色传感器的S0管脚接51单片机的P1.0管脚,S1管脚接P1.1管脚,OE管脚接P1.2管脚,GND管脚接地,Vcc管脚接电源,OUT管脚接P3.2管脚,S2管脚接P1.6管脚,S3管脚接P1.7管脚。如下图3.7所示。

17

智能颜色识别报警系统

图3.6 TCS230颜色传感器实物管脚图

图3.7 TCS230连接图

18

智能颜色识别报警系统

4 系统调试

4.1 程序流程图

12864显示

图4.1 总流程图

19

智能颜色识别报警系统

图4.2 子程序流程图

20

智能颜色识别报警系统

4.2 程序调试软件介绍

Keil C51仿真器是一款利用KEIL C51的IDE集成开发环境作仿真环境的廉价仿真器,是利用SST公司具有IAP功能的单片机SST89C58制作而成,主要是利用了SST89C58的IAP功能,所谓IAP功能是In application program 的英文缩写,是在应用编程的意思,通俗一点讲就是:它可以通过串口将用户的程序下载到单片机中,可以通过串口对单片机进行编程。它之所以具有这种功能,实际上它有两块程序flash区,其中一块flash中运行的程序可以更改另外的一块程序flash区中的程序,正是利用这一特性才用它作成了仿真器,我们把仿真器的监控程序事先烧入SST89C58,监控程序通过SST89C58的串口和PC通讯,当使用KEIL C51的IDE环境仿真时,用户的程序通过串口被监控程序写入flash程序区中,当用户设置断点等操作仿真程序时,flash程序中的用户程序也在相应的更改,从而实现了仿真功能 。

21

智能颜色识别报警系统

5 总结

22

智能颜色识别报警系统

6 致谢

23

智能颜色识别报警系统

参考文献

[1]梁冀.基于三基色反射光的颜色识别系统设计.大众科技.2008.

[2]龚向东 曾振兴 林丹.基于SPCE061A单片机的颜色检测系统的设计.电子测量技术.2008.

[3]郑喜凤 黄娉 刘贵华.三基色亮度计的设计和应用.微计算机信息.2009. [4]丁茹 李刚.可编程彩色光/频率转换器TCS230及其应用.国外电子元器件.2005.

[5]卢川英 于浩成 孙敬辉 孟中.基于TCS230颜色传感器的颜色检测系统.吉林大学学报.2008.

[6]TAOS公司.TCS230技术说明书.德拉瓦.TAOS公司.2006.

24

智能颜色识别报警系统

附录1:总设计电路图

1

智能颜色识别报警系统

附录2:实物照片

1

本文来源:https://www.bwwdw.com/article/aqc7.html

Top