基于rgb230色敏探测器的颜色识别系统设计大学学位论文.docx
《基于rgb230色敏探测器的颜色识别系统设计大学学位论文.docx》由会员分享,可在线阅读,更多相关《基于rgb230色敏探测器的颜色识别系统设计大学学位论文.docx(34页珍藏版)》请在冰豆网上搜索。
基于rgb230色敏探测器的颜色识别系统设计大学学位论文
摘要
随着现代工业生产向着高速化、自动化方向的发展,需要精确测色的领域越来越广泛,要求也越来越高。
很多文献给出的都只能得出待测物体颜色的RGB值,而如果能够有效地得出待测物体颜色的具体颜色信息,直接将该颜色的英文显示在液晶显示屏上,相对来说更加直观适用。
针对这一问题,论文工作通过全面调研颜色识别原理及方法,最终确定采用RGB230色敏探测器与STC89C52单片机相结合,设计出高精度,有较高的稳定性、抗干扰性且价格低廉的颜色探测系统平台。
按照设计的程序对信息进行处理和判断,最后将探测的颜色结果显示在液晶显示屏上。
最终能够准确识别红、绿、蓝三种颜色。
关键词:
RGB230颜色识别系统设计色度学STC89C52
基于RGB230色敏探测器的颜色识别系统设计
Abstract
Withthedevelopmentofmodernindustrialproductiontowardshighspeedandautomation,thefieldsthatneedaccuratecolormeasurementismoreandmorewidely,alsomoreandmoredemanding.ManygivenliteraturecanonlycometoRGBvaluesoftheobjectcolorundertest,while,ifyoucancometoeffectivelymeasurethespecificcolorofobjectcolorinformation,directlytothecolorofthedisplayontheLCDscreeninEnglish,relativelymoreintuitive.
Tosolvethisproblem,thepaperworkthroughcomprehensiveinvestigationcoloridentificationprinciplesandmethods,finallydeterminedusedRGB230colorsensitivedetectorcombinedwithaSTC89C52MCUtodesignthehighaccuracy,havehigherstability,anti-interferenceandlowpricecolordetectionsystemplatform.Basedonthesuccessinthesimulation,weunderlaboratoryconditions,inaccordancewiththedesignschemeofcolormeasurementsystemtobuildanddebug,eventuallybeabletoaccuratelyidentifyred,green,bluecolors.
KeyWords:
RGB230;colordetectionsystem;colorimetry;STC89C52
第1章绪论
在当今的社会生产生活中,颜色检测的应用越来越广泛,不论是图像处理、材料分拣识别、产品质检、工业自动化,还是其他探测系统都需要对颜色进行探测。
然而颜色传感器的飞速发展使得生产过程中长期由人眼主导的颜色识别工作越来越多的被颜色传感器所替代,为生产的自动化实现提供了可能。
1.1研究的目的及意义
在颜色科学发展的初期,目视法是主要的测色手段,但是由于受到照明条件、背景亮度、及测色人员视觉和心理上的差异等因素的影响,其结果会出现很大的误差。
由于这种方法存在很大的不足,限制人类的发展,越来越多的人开始意识到颜色测量的重要性。
随着科技的发展,我们的生产生活发生了翻天覆地的变化,数字化、高速化、自动化的产品倍受青睐,在生产过程中长期以来由人眼起主导作用的颜色识别工作,越来越多地被相应的颜色传感器所替代,人们也渐渐得到了解放。
这无疑节省了大量的物力人力,方便了人们的生活。
由于科技发展的趋势和人们的生活需求,研究颜色探测器是非常有必要的,而且意义也十分重大,其研究出来的产品市场广大,将有利于自动化行业以及相关行业的发展。
1.2国内外研究现状
一些发达国家对颜色检测非常重视,有些产品已达到了适用水平。
60年代IDL公司就已研制出样机,70年代末美国Macbeth公司生产的MS-4045在线分光光度计趋于适用阶段,80年代初日本Shibanra电气有限公司研制的在线颜色测量装置也获得了较好的结果。
美国的Macbeth、SheLyn、Hennegan、BYK-Garder等,德国Eltrotec、Zeiss、Optronic等主要欧美大型色控仪器公司已控制世界上的颜色检测仪器市场。
由于我国颜色识别兴起的时间较晚,在仪器测色的理论和系统的研究领域一直处于相对落后的状态。
有很多企业仍然采用原始的目视法,严重制约我国颜色工业的发展。
虽然有些企业已采用国外先进的颜色测量仪器,但是由于价格、生产工艺不一致等因素使得国外的未能完全打开中国视场。
颜色检测系统在实时检测及自动控制方面具有重要意义,单片机及微机的引入提高了颜色识别的速度及智能化程度。
国内与国外尚存在较大差距,颜色识别的精度、灵敏度、颜色范围、快速性成为颜色识别的主要问题。
深入研究传统颜色识别系统十分必要,同时对国外先进的颜色识别仪器进行了解,可以在某种程度上给我们以启示。
1.3课题研究内容
本次毕业设计的要求是基于RGB230色敏探测器设计一个颜色探测系统,它可以自动辨别探测物体的颜色。
根据上述提出的要求,本论文阐述一种采用RGB230色敏探测器和STC89C52结合的探测系统,整个系统主要分为传感器获取信号、I/V变换、电压放大、滤波、A/D转换、单片机处理器和LCD显示七个模块。
本论文首先是先对设计方案进行了详细的阐述,其次是详细解说各个程序的功能特点,然后是对已搭建好的电路系统进行测试和分析。
第2章颜色测量的主要理论基础
2.1颜色匹配
颜色是不同波长的电磁辐射作用于人的视觉器官所产生的视觉感受。
光源、观察物体和观察者是颜色知觉形成的三个主要组成部分。
波长在380nm-760nm范围之间的光可被我们人眼所察觉,称为可见光。
物体颜色都是由物体对可见光的反射和透射性能决定的。
物体由于本身的物理或化学特性,物体将会吸收某些波长的光而同时反射其他波长的光,其本身所显示出来的颜色决定于吸收了哪些波长的光和反射哪些波长的光。
当反射光被观察者接收,观察者的大脑将成分一定的光波感受为特定的颜色。
不同的光与物体相互作用产生不同的光波组成,于是就产生了各种各样的颜色。
任何一个物体的颜色都可由红、绿、蓝三原色按一定的比例混合得到。
颜色可分为非彩色和彩色两类。
非彩色是指白色、黑色和各种深浅不同的灰色组成的系列,成为黑白系列。
彩色是指白黑系列之外的所有颜色。
颜色有三个属性:
色调,明度,饱和度。
色调用来表示红、黄、绿、蓝、紫等颜色彼此相互区分的特性。
明度表示人眼对物体的明暗感觉,物体的亮度越高,则明度越高;非发光物体的反射比越高,明度越高。
饱和度是指彩色的纯洁度,用以评估彩色在整个视觉中的成分的视觉属性。
颜色匹配实验是色度学中最基本的心理物理学实验。
该实验证明了一条颜色匹配的基本定律,称为颜色匹配恒常律:
两个相互匹配的颜色,尽管处在不同条件下,两个颜色仍然始终保持匹配,即不管颜色周围的环境如何变化,或者人眼已经对其他色光适应后再来观察,视场中两种颜色始终保持匹配。
与待测色达到颜色匹配时所需要的三原色的数量称为三刺激值。
若以[C]代表被匹配颜色的单位,[R],[G],[B]代表产生混合色的红、绿、蓝三原色的单位。
R、G、B、C分别代表红、绿、蓝和被匹配色的数量。
当两半视场相互匹配时,此结果可用下列方程表示:
(2.1)
式中,符号“≡”代表视觉上相等,即颜色相互匹配;R、G、B为代数量,可为负值。
一般情况,可以用三刺激值来定量描述颜色,但是如果都用颜色匹配实验来得到各种颜色的三刺激值显得不现实。
因此我们可以根据颜色相加原理,混合色的三刺激值为各组成色三刺激值之和。
将待测光的光谱分布函数,与波长加权光谱三刺激值,得出每一波长的三刺激值,然后在可见光波长内进行积分,就可得出该待测物体的三刺激值。
其计算公式为:
(2.2)
2.2色度学
在色度学中,我们不直接用三刺激值R、G、B来表示颜色,而用三原色各自占R+G+B总量的相对比值表示颜色。
公式(2.1)两边各除以R+G+B,并考虑C=R+G+B,则可写成单位方程:
(2.3)
由方程可知,一个单位的颜色[C]的色度只取决于三原色的刺激值各自在R+G+B总量中的相对比例,此比值称作色度坐标,用符号r,g,b表示,且r+g+b=1。
(2.4)
虽然色度坐标有三个量r,g,b,但由于r+g+b=1,故实质上只有两个独立量。
以色度坐标表示的平面图称为色度图。
因此只需给r和g两个坐标就可确定任意颜色在色度图上的位置。
2.3CIE标准色度学系统
用三刺激值来定量描述颜色是一种可行的方法。
为了统一测得物体颜色的三刺激值数据,国际照明委员会(CIE)规定的颜色测量原理、基本数据和计算方法,称作CEI标准色度学系统。
其中1931年在英国剑桥举行的CIE第八次会议上建立了CIE1931标准色度学系统,包括CIE1931-RGB和CIE1931-XYZ两个系统。
该系统规定,任何一个物体的颜色都可由红、绿、蓝三颜色,即物体的颜色三刺激值R、G、B或X、Y、Z来表示。
2.3.1CIE1931-RGB色度系统
国际照明委员会(CIE)综合了莱特(W.D.Wright)和吉尔德(J.Guild)两项颜色匹配实验,将两人所使用的红、绿、蓝三原色的波长规定为700nm、546.1nm、435.8nm,并取他们实验结果的平均值定出了匹配等能光谱色的三刺激值,从而制定了CIE1931-RGB色度系统。
经实验和计算确定,当这三原色的亮度比率为1.0000:
4.5907:
0.0601时能够匹配出等能白光,因此选取这一比例作为红、绿、蓝三原色的单位量。
2.3.2CIE1931-XYZ标准色度系统
为了解决CIE1931-RGB色度系统计算颜色的三刺激值时出现负值情况,CIE推荐了一个新的国际通用的色度系统,即CIE1931-XYZ标准色度系统。
该系统是用三个假想的原色[X]、[Y]、[Z]来代替CIE1931-RGB色度系统的[R]、[G]、[B],并且选择匹配等能白光,确定三刺激值的单位。
在此系统中光谱三刺激值全为正值,因此在选择三原色时必须使三原色所形成的颜色三角形能将整个光谱轨迹包含在内。
CIE1931-XYZ色度系统中的光谱三刺激值X、Y、Z和色度坐标x、y、z都变为正值。
通过数学推倒、坐标转换,两个系统中的三刺激值之间的相互关系为:
(2.5)
两个系统色度坐标的转换公式为:
(2.6)
2.3.3CIE1964标准色度系统
为了适应大视场情况下颜色测量的需要,CIE在1964年规定了一组CIE1964补充标准观察者光谱三刺激值和相应的色度图,这一系统称为CIE1964标准色度系统。
此系统将视场范围扩大了,能比较全面表示颜色。
研究表明,人眼用于‘小视场观察颜色时,辨别颜色差异的能力较低。
当观察视场从2增大至10时,颜色匹配的精度也随之提高。
但视场再进一步增大,颜色匹配精度的提高就不大了。
2.4颜色测量方法
目前,根据获得三刺激值方式的不同,一般进行颜色测量的方法一共有三种:
目视法、分光光度法、光电积分法。
RGB230色敏探测器的测量方法是光电积分法。
它是模拟人眼的三刺激值特性,用光电积分效应,直接测得颜色的三刺激值。
它不是测量某一波长的色刺激值,而是在整个测量波长范围内对被测颜色的光谱能量进行一次性积分得到样品颜色的三刺激值X、Y、Z,然后计算得出样品的色度坐标等其他色度参数。
它使用的滤色片能够对光谱响应进行滤色修正,使得它与CIE标准观察者一致。
同时也对光源进行滤色修正,使之符合标准照明体的相对光谱功率分布。
虽然它在测量原理和具体元器件精度存在不足,但是由于该测色方法是通过测量构成物体颜色的三基色实现颜色检测的,所以精密度极高,能准确区别机器相似的颜色,甚至相同颜色的不同色调。
而且它测量速度快,实时性好,因此作为此次颜色探测系统设计的传感器。
第3章系统硬件电路设计
由于RGB230色敏探测器输出的是nA量级的微弱电流信号,对于电流信号,首先要转换成电压信号,通过放大、模数转换后送入到处理器中进行进一步的数据处理。
单片机对这些信息进行处理和判断,当处理后的信号与存储的参考值相符,并且在一定的误差范围内,单片机就将颜色信息显示在LCD显示屏上。
为了获得处理器能够识别的信号,整个系统主要分为白光LED补光、传感器获取信号、I/V变换、电压放大、A/D转换、单片机处理器和LCD显示七个模块,如图3.1所示。
图3.1系统硬件整体框图
3.1白光LED补光电路
本设计中,为了消除外界光源不稳定的影响,RGB230色敏探测器颜色采集模块需要在暗室中进行,所以需要另外添加一个稳定的光源。
采用高亮度白光LED作为光源,它是一种新型固体光源,具有极高稳定性、长使用寿命及较小的体积,且能够长时间稳定工作。
为保护白光LED不被烧坏,需要串联一个电阻,起到限流的作用。
本模块主要是用4个白光LED围绕在RGB230色敏探测器四周,其光照射在待检测的物体上,然后反射到RGB230色敏探测器上,达到合适的光强的目的。
其电路原理图如图3.2所示。
图3.2白光LED补光电路
3.2RGB230色敏探测器
RGB230色敏探测器采用4个引脚的表面贴片式封装,其中3个分别输出R、G、B光电流,还有1个为阴极。
它是三个Si-PIN光电二极管集成在一块芯片上上面,并分别覆盖各自经过修正的红、绿、蓝滤色片,通过获得的红、绿、蓝三刺激值来实现对所有颜色的检测。
它是很小的三基色传感器,长为5.12mm,宽为3mm,如图3.3所示。
(a)实物图(b)结构图
图3.3RGB230色敏探测器图
RGB230色敏探测器将光转换为R、G、B光电流,三个Si-PIN光电二极管用于直接接收光强,直接把光强转换为光电流。
该探测器采集颜色信号时,红、绿、蓝区三个引脚都会输出电流信号,电流输出稳定,不会随温度的改变而改变。
当入射光照射到RGB230上时,透过带有颜色的滤色片形成红、绿、蓝三个颜色分量,三个P-N结都将产生相对应的光生载流子,形成光电流。
其等效电路如图3.4所示。
我们可通过处理输出的三路光电流得出具体颜色信息,从而确定出不同的颜色。
图3.4等效电路
RGB230色敏探测器具备小尺寸设计和三种颜色同步记录的特点,且该颜色传感器对相似颜色和色调的监测可靠性较高。
三个不同区域的颜色识别响应,类似于人眼。
每个光电管对相应光谱滤波器的颜色的光最为敏感,主要是红色,绿色,蓝色。
该传感器的测量模式是分析红、绿、蓝光的比例,从而确定待测物体的颜色。
因为检测距离不管怎样变化,只能引起光强的变化,而三种颜色光的比例不会改变,所以在目标有机械振动的场合也可检测。
3.3I/V变换电路
根据探测物体颜色、照明光强度的不同,RGB230色敏探测器的输出信号一般在几十到几百纳安量级,这样小的微电流给测量带来了不便。
首先,要将这样微弱的电流转换成电压信号,以便于后续A/D转换和单片机处理。
比较可靠的I/V转换方法是通过电阻采样的方法将微弱电流信号转化为mV量级的电压信号。
它具有良好的线性特性,外加工作电压低,暗电流小等优点。
其基本原理图如图3.5所示。
图3.5I/V转换电路
根据上图所示的电路图得到的输出电压为
(3.1)
式中,为输入电流,为采样电阻,为与被测电流成比例的输出电压。
若运算放大器的增益很高,并且运算放大器的输入失调电压很小,当运算放大器的输入阻抗很大,比采样电阻要大2-3个数量级,于是I/V转换的输出为:
(3.2)
因此在设计电路时,寻找输入偏置电流小、失调电压低的运算放大器是重中之重。
通过查阅相关运算放大器资料并进行比较,本设计选用了高精度、低噪声的高精密运放OP177。
它是目前精度性能最高的运算放大器之一,失调电压在室温下的最大值仅为25μV。
在更低的输入偏置电流条件下可提供更低的失调电压和漂移以及更高的带宽及压摆率。
OP177的超低VOS结合出色的0.1μV/°C失调电压漂移最大值,无需进行外部VOS调节,从而可提高整个温度范围内的系统精度。
由于微弱电流容易受到外界的干扰,需要在采样电阻上并联一个电容作为前置低通滤波器,滤除高频噪声,可以使得系统更稳定,去除运放负端输入接地的影响。
3.4电压放大电路
不同颜色产生的微弱电流信号传送到对应的线路通道上,需要把电流信号转换成0-5V的电压信号,以满足A/D转换的输入要求。
而经过I/V变换后的电压信号大致能达到几十到几百mV,这个幅值的电压还太小,不能输入到数字系统,因此要对电压信号进行进一步放大。
由于I/V变换后的电压输出为负,因此本设计采用反相的电压放大电路,放大倍数为10,使之能够满足要求。
其基本原理图如图3.6所示。
图3.6电压放大电路
考虑到RGB230颜色探测器产生的信号十分微弱,很容易受到噪声影响,所以本设计选择OP07芯片。
它是一种低噪声,非斩波稳零的双极性运算放大器集成电路。
由于OP07具有非常低的输入失调电压(对于OP07A最大为25μV),所以OP07在很多应用场合不需要额外的调零措施。
OP07同时具有输入偏置电流低(OP07A为±2nA)和开环增益高(对于OP07A为300V/mV)的特点,这种低失调、高开环增益的特性使得OP07特别适用于高增益的测量设备和放大传感器的微弱信号等方面。
3.5A/D转换电路
经过放大滤波后的电压信号为模拟信号,要将此信号送入为处理器中进行进一步处理,需要将其转换为数字信号,因此A/D转换是本系统的核心电路之一。
由于单片机系统需要同步对三路信号进行处理,在保证可靠性和精度的前提下,为降低系统的成本,满足对输入数字信号倍数的要求,A/D转换器选用8位串行输出的ADC0809芯片。
其引脚结构如图3.7所示。
图3.7ADC0809芯片引脚
ADC0809是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。
它是逐次逼近式A/D转换器,可以和单片机直接接口。
ADC0809对输入模拟量要求:
信号单极性,电压范围是0-5V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。
IN0-IN7为8条模拟量输入通道。
A,B和C为地址输入线,用于选通IN0-IN7上的一路模拟量输入。
ALE为地址锁存允许输入线,高电平有效。
当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。
ST为转换启动信号。
当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。
EOC为转换结束信号。
当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。
OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。
OE=1,输出转换得到的数据;OE=0,输出数据线呈高阻状态。
D7-D0为数字量输出线。
CLK为时钟输入信号线。
因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHz。
VREF(+),VREF(-)考电压输入。
ADC0809的数据输入输出公式为:
(3.3)
其中
为模拟电压输入,
为由输出的八位二进制数转换而成的十进制数。
ADC0809采用串行数据接口与单片机通行,用单片机模拟ADC0809的通信时序,脉冲信号由单片机提供。
放大滤波后的R、G、B电压信号分别通过ADC0809进行模数转换,得到八位二进制信号分别输入P0-P2口,其电路图如图3.8所示。
图3.8A/D转换电路
3.6信息处理
在颜色检测系统中,单片机检测系统是整个系统的核心。
它不但控制着整个系统工作的时序,而且还要对采集传输到其内部的数字信号进行即时处理,同时还要将检测的结果显示出来。
综合经济性和系统设计的要求,选择了STC89C52单片机。
STC89C52单片机大多采用双列直插DIP封装,共40个引脚,40个引脚大致可分为4类:
电源、时钟、控制和I/O引脚。
89C51单片机的主要引脚功能介绍如下,引脚图如图3.9所示:
图3.9STC89C52单片机引脚图
(1)电源
Vcc——芯片电源,接+5V;Vss——接地端。
(2)时钟
XTAL1、XTAL2——晶体振荡电路反相输入端和输出端。
使用内部振荡电路时外接石英晶体。
(3)控制线
RST:
复位输入信号,高电平有效。
在振荡器工作时,在RST上作用两个机器周期以上的高电平,将单片机复位。
:
片外程序存储器访问允许信号,低电平有效。
=1,选择片内程序存储器;=0,则程序存储器全部在片外,而不管片内是否有程序存储器。
ALE/PROG:
地址锁存允许信号输出。
ALE以1/6振荡频率的固定速率输出,可作为对外输出的时钟或用作外部定时脉冲。
:
片外程序存储器读选通信号,低电平有效。
(4)I/O引脚
STC89C52共有4个8位并行I/O端口,共32个引脚。
其中,P3.0与P3.1分别为串行输入口和串行输出口。
下面是单片机串行口方面的介绍。
单片机的串行口是一个可编程全双工的通信接口,具有UART(通用异步收发器)的全部功能,能同时进行数据的发送与接收,也可作为同步移位寄存器使用。
它主要由两个独立的串行数据缓冲器SBUF(一个发送缓冲寄存器,一个接收缓冲寄存器)和发送控制器、接收控制器、输入移位寄存器及若干控制们电路组成。
单片机可通过特殊功能寄存器SBUF对串行接收或串行发送寄存器进行访问,两个寄存器共用一个地址99H。
一共有4种串行口方式,详细介绍如下。
(1)方式0。
方式0时,串行口为同步移位寄存器的输入/输出方式,主要用于扩展并行输入或输出口。
数据有RXD(P3.0)引脚输入或输出,同步移位脉冲有TXD(P3.1)引脚输入。
发送和接受均为8位数据,低位在先,高位在后,波特率为。
(2)方式1。
方式1是10位数据的异步通信口,其中1位起始位,8位数据位,1位停止位。
TXD(P3.1)为数据发送引脚,RXD(P3.0)为数据接收引脚。
其传输波特率是可变的,对于单片机,波特率由定时器1的溢出率决定。
(3)方式2,3。
方式2,3时为11位数据的异步通信口。
TXD(P3.1)为数据发送引脚,RXD(P3.0)为数据接收引脚。
这两种方式下,起始位1位,数据位9位,停止位1位,一帧数据为11位。
方式2的波特率固定为晶振频率的1/64或1/32,方式3的波特率由定时器T1的溢出率决定。
方式2和方式3的差别仅在于波特率的选取方式不同,在这两种方式下,接收到的停止位与SBUF,RB8及RI都无关。
3.6.1单片机资源分配
单片机的端口资源主要分配给色敏探测器和LCD液晶显示,由于色敏探测器输出信号经过处理后输出的是八位串行信号,需要与是3个I/O口进行连接,LCD液晶显示也需要与2个I/O口连接。
而STC89C52单片机只