基于RGB230色敏探测器的颜色识别系统设计_第1页
基于RGB230色敏探测器的颜色识别系统设计_第2页
基于RGB230色敏探测器的颜色识别系统设计_第3页
基于RGB230色敏探测器的颜色识别系统设计_第4页
基于RGB230色敏探测器的颜色识别系统设计_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要随着现代工业生产向着高速化、自动化方向的开展,需要精确测色的领域越来越广泛,要求也越来越高。很多文献给出的都只能得出待测物体颜色的RGB值,而如果能够有效地得出待测物体颜色的具体颜色信息,直接将该颜色的英文显示在液晶显示屏上,相对来说更加直观适用。针对这一问题,论文工作通过全面调研颜色识别原理及方法,最终确定采用RGB230色敏探测器与STC89C52单片机相结合,设计出高精度,有较高的稳定性、抗干扰性且价格低廉的颜色探测系统平台。按照设计的程序对信息进行处理和判断,最后将探测的颜色结果显示在液晶显示屏上。最终能够准确识别红、绿、蓝三种颜色。关键词:RGB230颜色识别系统设计色度学STC89C52基于RGB230色敏探测器的颜色识别系统设计AbstractWiththedevelopmentofmodernindustrialproductiontowardshighspeedandautomation,thefieldsthatneedaccuratecolormeasurementismoreandmorewidely,alsomoreandmoredemanding.ManygivenliteraturecanonlycometoRGBvaluesoftheobjectcolorundertest,while,ifyoucancometoeffectivelymeasurethespecificcolorofobjectcolorinformation,directlytothecolorofthedisplayontheLCDscreeninEnglish,relativelymoreintuitive.Tosolvethisproblem,thepaperworkthroughcomprehensiveinvestigationcoloridentificationprinciplesandmethods,finallydeterminedusedRGB230colorsensitivedetectorcombinedwithaSTC89C52MCUtodesignthehighaccuracy,havehigherstability,anti-interferenceandlowpricecolordetectionsystemplatform.Basedonthesuccessinthesimulation,weunderlaboratoryconditions,inaccordancewiththedesignschemeofcolormeasurementsystemtobuildanddebug,eventuallybeabletoaccuratelyidentifyred,green,bluecolors.KeyWords:RGB230;colordetectionsystem;colorimetry;STC89C52目录TOC\o"1-3"\h\u5346摘要II20258AbstractIII20234第1章绪论147401.1研究的目的及意义1207211.2国内外研究现状1173541.3课题研究内容118125第2章颜色测量的主要理论根底3146682.1颜色匹配311962.2色度学4147602.3CIE标准色度学系统45712第3章系统硬件电路设计727343.1白光LED补光电路7222713.2RGB230色敏探测器8236783.3I/V变换电路962993.4电压放大电路1068253.5A/D转换电路11237463.6信息处理12151943.7LCD液晶显示1630675第4章系统软件设计1894304.1程序流程设计18299434.2算法设计18173534.3颜色检测子程序1929824.4颜色匹配子程序193214.5液晶显示子程序1914924第5章实验测试与分析20320725.1系统软硬件测试20304425.2实验结果分析21234155.3影响测量结果因素2211752第6章结论246395参考文献2518560致谢26第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单片机只有4个I/O接口,因此需要用两片单片机进行双机通信。主机的P0-P2口分别与R、G、B三路信号连接,从机的P0、P2口与LCD1602连接,其电路原理图如图3.10所示。图3.10单片机连接原理图3.6.2复位电路复位是单片机的初始化操作,复位后单片从头开始执行程序。常态时为低电平,复位时为高电平。这里采取手动按钮复位,在复位端RST端和正电源之间接一个按钮。当按下按钮时,高电平就会直接加到RST端。当程序运行出错或者操作错误使系统处于死锁状态时,需按复位键来重新启动。其电路原理图如图3.11所示。图3.11复位电路原理图3.6.3时钟电路在单片机内带有时钟电路,因此,只需要在片外通过XTAL1和XTAL2引脚接入定时控制元件〔晶体振荡器和电容〕,即可构成一个稳定的自激振荡器,在单片机内部有一个高增益反省放大器,而在芯片的外部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容。本设计采用的晶体振荡器的频率为12MHz,ALE引脚上的信号输出是时钟信号的6分频,为2MHz。其电路原理图如图3.12所示。图3.12时钟电路原理图3.6.4分频电路由于ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ。而ALE端输出的频率为2MHz,不满足要求,因此需要设计一个四分频电路。本设计采用74LS74芯片,这是一个双D触发器,可用作存放器,移位存放器,振荡器,单稳态,分频计数器。其电路原理图如图3.13所示。图3.13四分频电路原理图3.6.5双机通信由于单片机资源无法满足要求,因此本设计采取双机通信。主机对输入的三路信号进行处理,并将结果传送给从机,从机显示颜色探测结果。本设计直接将主机的TXD端接从机的RXD端,主机的RXD端接从机的TXD端。两个单片机系统必须要共地,即把它们的系统电源地线连接在一起,这样两者才能统一地被系统识别,还有一点需要注意的是,两单片机通信时应使用相同的串口方式,必须保证两单片机系统的通信波特率完全一致,否那么必定收不到正确的数据。通常在做单片机与单片机串口通信时采用的是串口方式1。这里,两单片机都使用串口方式1,串口波特率为9600bps。3.7LCD液晶显示LCD1602是2×16字符型液晶显示模块,可以显示两行,每行16个字符,不能显示汉字,为5V电压驱动,带背光,并且只有并行接口,无串行接口。其引脚图如图3.14所示。图3.14LCD1602显示屏引脚图第1脚:为电源地。第2脚:为+5V电源。第3脚:为液晶显示器比照度调整端,接地时比照度最高,接正电源时比照度最弱。使用时用一个10K的电位器来调整比照度。第4脚:RS为存放器选择,高电平时选择数据存放器、低电平时选择指令存放器接主单片机的P2.0口。第5脚:RW为读写选择端,高电平时进行读操作,低电平时进行写操作。由于我们只写数据进显示屏,因此接地。第6脚:E为使能端,当E为高电平时读取液晶模块的信息,当E为高电平跳变成低电平时,液晶模块执行写操作。第7-14脚:D0-D7为8位双向数据线,接从单片机的P0端。第15脚:BLA为背光源正极。第16脚:BLK为背光源负极。由于单片机P0口内部没有上拉电阻,因此我们须在外部加一个排阻。其电路原理图如图3.15所示。图3.15LCD液晶显示原理图第4章系统软件设计RGB230色敏探测器检测三原色信号R、G、B,同时检测光强信号。颜色检测中可根据三原色与光强之比准确判断颜色。这样考虑了光强的因素,就可以消除被测物体与传感器距离变化和外界光强大小变化带来的测量误差,能够提高检测的准确度。为了提高软件功能,增强可移植量,减小程序量,在软件设计时,采用了多子程序的方法,将功能相同又使用较多的程序设计成可任意调用的子程序。4.1程序流程设计单片机系统软件需要完成数据采集,数据比照及颜色结果显示。其程序流程图如图4.1所示。图4.1程序流程图颜色探测系统软件主程序主要包括颜色检测子程序,颜色匹配字程序和LCD液晶显示子程序。其中,颜色检测子程序用于获取所测颜色的R、G、B三原色分量,颜色匹配子程序用于将所测得的三原色值与颜色库中的颜色值进行匹配,LCD液晶显示子程序用于显示颜色检测结果。4.2算法设计由于此次设计只检测少量的颜色,因此采用查表的方法来检测颜色。本设计在主单片机和从单片机中分别建立一个二维数组颜色数据库,其中主单片机预先存储红、绿、蓝三个颜色的R、G、B参考值,从单片机存储红、绿、蓝三个颜色的英文字符串,两个单片机每行所对应的颜色相同。单片机从色敏探测器读取RGB数据,并与预先存储的颜色数据库进行比拟,得到最接近的颜色。其表达式如下:〔4.1〕其中,Ured=;Ugreen=;Ublue=;red=;green=;blue=;,,为未知颜色传感器值;,,为参考颜色传感器值。RGB数据与三路电压存在以下关系:(4.2)所有颜色存储在单片机颜色库中的数据都是3字节,R、G、B参考值均为1字节。在单片机每个比拟周期内,由RGB230色敏探测器采集到的数据与颜色库的各个颜色代入式〔4.1〕进行匹配运算,距离最近的颜色即被判定为此时色敏探测器所探测的颜色。4.3颜色检测子程序颜色检测子程序用于获取所测颜色的三原色值,首先按照ADC0809芯片规定的时序来进行模数转换。在得到三路模数转换结果后,获得所测颜色的三基色红、蓝、绿颜色值依次为x,y,z。单片机直接获取相关数据,并通过计算得出测量结果输出。4.4颜色匹配子程序将颜色检测子程序中获得的所测颜色的三原色值与颜色库中的颜色值相匹配,具体方法为:将测得的三原色的比例与颜色库中每种颜色的三原色的比例相减并将结果取绝对值,差值绝对值最小对应的颜色库中的颜色被判定为测得的颜色,即匹配成功。主单片机将匹配成功颜色所在的行数由发送子程序voidsend(intk_num)通过特殊功能移位存放器SBUF传送给从单片机。4.5液晶显示子程序液晶显示子程序实现的功能是将颜色库匹配成功的颜色显示在LCD1608液晶显示屏上。首先通过初始化函数voidinit()对液晶显示屏进行初始化,从单片机接收主单片机传送过来的数据,并显示对应的颜色,通过写命令函数voidwrite_com(ucharcom)与写数据函数voidwrite_data(ucharData)将结果显示在LCD1608液晶显示屏上,如探测物体的颜色为绿色,那么液晶显示屏上显示“Green〞。第5章实验测试与分析前几章对硬件设计和软件系统进行了详细的设计和讨论,本章将对硬件、软件进行调试,对测量结果进行分析,并提出优化方案。5.1系统软硬件测试将设计好的电路搭在面包板上,其实物效果图如图5.1所示。将传感器、白光LED补光、I/V变换、电压放大、A/D转换、单片机处理和LCD显示这七个模块进行级联调试,保证每一个模块都能正常工作。图5.1实物效果图要保证整个系统能够正常工作,首先要先对标准色卡纸进行颜色采集,将对应颜色的R、G、B值存入单片机标准颜色库当中。这需要准备三组8路LED灯并联,每个LED灯串联上一个电阻并共地,并将三路数字信号分别接入三组LED灯中。由于颜色传感器要防止外界光线的干扰,整个系统需置于暗室中进行实验,将标准的红、绿、蓝色卡纸放在RGB230色敏探测器上方,接通电源,观察并记录LED灯的亮暗情况,将它存入颜色库当中。颜色入库各颜色数据如表5.1所示。表5.1为颜色入库各颜色RGB值颜色RGB红色0xBB0x370x1E绿色0x190x330x17蓝色0x2B0x530x6E本设计的测色过程很简单,具体操作如下:首先将整个电路放置于暗室当中,接通电源,将彩色纸板放在RGB230色敏探测器上方,观察LCD1602的显示即可。5.2实验结果分析按照测试要求分别对红、绿、蓝3种卡纸进行颜色识别,经过屡次测试,系统可准确区分3种卡纸的颜色,系统到达了对不同颜色快速、有效识别的功能。除此之外,假设对偏向某种颜色的卡纸进行检测,LCD液晶显示屏也会显示对应标准颜色的英文。红、绿、蓝三种颜色卡纸检测结果分别如图5.2,图5.3,图5.4所示。图5.2红色卡纸检测结果图5.3绿色卡纸检测结果图5.3蓝色卡纸检测结果5.3影响测量结果因素确定物体的颜色需要知道三原色刺激值,影响颜色检测准确度的参数主要有照射光、物体反射、光源方位、观测方位和传感器特性等,任何一个参数发生变化都会导致颜色检测结果发生变化。〔1〕光源的影响照射光包含有太阳光和外界杂散光,太阳照射角度、云层厚度和其它天气条件都会导致照射光发生变化,从而导致被测物体颜色发生变化。为弥补光源变化带来的测量误差,Judd等人在1964年提出了照射光修正模型,但尽管如此,照射光引起物体颜色检测的误差仍不容无视。〔2〕光源方位和观测方位的影响光源方位,也就是被测物体指向光源的法线方向,它决定了有多少太阳光或外界杂散光作为入射光。观测方位是指被测物体指向传感器的法线方向,它决定了反射到传感器中的光强。〔3〕被测物外表反射状况的影响传感器探头与被测物之间的距离影响着输出信号,可能会造成不同颜色信号的交叉,形成测量误差,所以存在某一最正确距离对输出特性影响最小,以保证颜色与输出信号的一一对应关系。被测物外表的较明显凹凸区域也会给输出信号带来较大的误差。为此,Phong,Shafer和Nayar等人先后提出了反射模型以弥补测量误差。第6章结论本系统使用的RGB230色敏探测器与STC89C52单片机结合的颜色探测系统可简便快速地得到被测颜色的颜色信息,将颜色显示在液晶显示屏上。本文通过建立颜色识别系统的模型,推算出颜色识别的算法。同时给出相应的硬件设计电路、软件流程图,有效提高系统对颜色的辨识能力,通过屡次实验测试,系统到达了对不同颜色快速、准确识别的功能。很多文献给出的都只能得出待测物体颜色的RGB值,而本文能够得出待测物体颜色的具体颜色信息,直接将该颜色的英文显示在液晶显示屏上,相对来说更加直观适用。但在系统研究设计过程也存在很多缺乏:色彩识别的核心难点就是颜色测量的算法设计,它很大程度上决定了颜色探测系统的识别精度。没有对所测色彩进行过多的色彩区分。在以后的工作中需要对色彩空间进行划分,规划出不同的色彩区间,以便可以实现更准确的色彩识别。本文采用的是STC89C52单片机,由于管脚的限制,需要两片单片机才能完成工作,这使得电路设计变得复杂,因此可以采用STM32微处理器来进行控制,简化系统。本系统只能在暗室中工作,因此程序还有待于进一步优化完善,以应对更多的识别场合及情况,以增强通用性。参考文献[1]徐红.主观评价法在颜色研究中的应用[J].光学技术.1995,1:31-32.[2]牟晶晶.工业在线颜色测量方法及系统的研究[D].杭州:浙江大学,2006.[3]杜春玲,张唏,葛蕾.颜色测量仪器及其开展[J].现代仪器.2005,31(3):56-57.[4]季峰,陈炳假设,王嵩.基于单片机的颜色识别系统[J].测控技术.2004,23(4):26-28.[5]孙涛,耿丽华,李子杨等.基于FPGA与色敏传感器的颜色识别系统[J].单片机与嵌入系统应用.2023(8):42-45.[6]胡威捷,汤顺青,朱正芳.现代颜色技术原理及应用[M].北京:北京理工大学出版社,2007.[7]HughS.Fairman.TheCIELABreversalincalibrationandverification[J].ColorResAppl,2005,3:66-68[8]何勇,王生泽,光电传感器及其应用[M].北京:化学工业出版社.2004.4[9]ManuelMelgosa,TestingCIELAB-basedcolor-differenceformulas[J].ColorResAppl,2000,25,49-55.[10]MAZeTsensorGmbH,rapidcolorrecognitionwithcompat3-elementcolor,2003.[11]刘增辉.颜色传感器技术研究进展[J].传感器技术学报.2003,22(4):1-4.[12]李宏光,吴宝宇,施浣芳等.几种颜色测量方法的比拟[J].应用光学,2005,26〔3〕:60-63.[13]BuluswarSD,DraperBA.Colormachinevisionforautonomousvehicles[J].EngineeringApplicationsofArtificialIntelligence,1998,11:245-256.[14]张智博,王艳,殷天明.基于TCS230的颜色识别系统设计[J].机械与电子.2023,7:54-57.[15]魏立乾,雷升杰,方美华等.辐射监测的微弱电流测量I-V转换技术[J].仪器仪表与分析监测.2023(3):28-31.[16]G.deGraaf*,R.F.Wolffenbuttel.SmartopticalsensorsystemsinCMOSformeasuringlightintensityandcolor.SensorsandActuators[J],1998,6:115-l19.[17]吴友宇,伍时和,凌玲.模拟电子技术根底[M].北京:清华大学出版社,2023.[18]郭天祥.51单片机C语言教程[M].电子工业出版社,2007.[19]顶峰.单片微型计算机原理与接口技术[M].北京:科学出版社,2007.[20]庞小兵.在线颜色识别传感技术的研究[D].长沙:长沙理工大学,2023.[21]卢川英,于浩成,孙敬辉等.基于TCS230传感器的颜色检测系统[J].吉林大学学报,2023〔6〕:621-626.[22]高富强,李岭,安康.基于RGB的颜色识别系统设计[J].传感器与微系统.2023,31〔10〕:84-87.致谢毕业论文即将完成,我的学生生涯也要告一段落了。借此时机,我要对四年来帮助过我的人表示深深的感谢。首先我要感谢父母的关爱,这是一种难以用语言表达的感恩之情;其次我要感谢一直以来与之一起共同奋斗的同学们,感谢他们在大学的四年期间给我的帮助,感谢他们与我一起经历的点点滴滴;最后我要感谢四年求知路上给了我知识与学问、教会我为人处事的老师们,没有他们的帮助、指导与关心,我的成长历程不可能如此顺畅。在本次毕业设计过程中,指导老师张宁老师在初期为我提供了不少耐心的知识指导,使我对设计的内容和任务有了详细的了解,在中后期又对我的设计进展表示殷切的关心,在此对张老师表示真诚的感谢。我还要感谢刘禹佳学姐,没有她在设计的过程中给我提供的帮助,本次论文也不可能完成的这么顺利。最后的最后,感谢各位师长一路的陪伴与帮助,我将铭记于心。附录附录A(主机程序):#include<reg52.h>#include<intrins.h>#include<math.h>#defineucharunsignedchar#defineuintunsignedintsbitale=P3^2;sbitst=P3^2;sbiteoc=P3^3;//定义变量、常量doubleUred,Ugreen,Ublue,red,green,blue;//**********延时子程序********//voiddelay_ms(uintxms)//延时xms{uinti,j;for(i=xms;i>0;i--) for(j=110;j>0;j--);}//*********AD0809驱动子程序******//voidad0809_start(){a

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论