您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 国内外标准规范 > 基于单片机的颜色识别系统
基于单片机的颜色识别系统设计第1页,共8页基于单片机的颜色识别系统设计陈雷(安庆师范学院物理与电气工程学院安徽安庆246011)指导教师:王陈宁摘要:随着现代工业生产向高速化、自动化方向的发展,生产过程中长期以来由人眼起主导作用的颜色识别工作将越来越多地被相应的颜色传感器所替代。本设计介绍了一种基于STC89C52单片机的颜色识别系统,并且采用TCS230颜色传感器进行识别,最终将颜色信息显示出来。本设计主要阐述了TCS230颜色传感器的颜色识别原理,论述了仪器的测量原理,介绍了白平衡的校准方法,给出了颜色系统设计的系统框图,完整的硬件电路的原理图,和软件的流程图。关键词:STC89C52单片机,TCS230颜色传感器,颜色识别系统1引言目前的颜色传感器通常是在独立的光电二极管上覆盖经过修正的红、绿、蓝滤波片,然后对输出信号进行相应的处理,才能将颜色信号识别出来;有的将两者集合起来,但是输出模拟信号,需要一个A/D电路进行采集,对该信号进一步处理,才能进行识别,增加了电路的复杂性,并且存在较大的识别误差,影响了识别的效果。TAOS(TexasAdvancedOptoelectronicSolutions)公司最新推出的颜色传感器TCS230,不仅能够实现颜色的识别与检测,与以前的颜色传感器相比,还具有许多优良的新特性。本设计以STC89C52单片机为控制核心,利用颜色传感器TCS230设计一颜色识别系统,并能够辨别生活中的各类颜色。2颜色识别系统的工作原理2.1TCS230芯片的结构框图与特点TCS230是TAOS公司推出的可编程彩色光到频率的转换器,它把可配置的硅光电二极管与电流频率转换器集成在一个单一的CMOS电路上,同时在单一芯片上集成了红绿蓝(RGB)三种滤光器,是业界第一个有数字兼容接口的RGB彩色传感器,TCS230的输出信号是数字量,可以驱动标准的TTL或CMOS逻辑输入,因此可直接与微处理器或其他逻辑电路相连接。由于输出的是数字量,并且能够实现每个彩色信道10位以上的转换精度,因而不再需要A/D转换电路,使电路变得更简单,当入射光投射到TCS230上时,通过光电二极管控制引脚S2、S3的不同组合,可以选择不同的滤波器;经过电流到频率转换器后输出不同频率的方波(占空比是50%),不同的颜色和光强对应不同频率的方波;还可以通过输出定标控制引脚S0、S1,选择不同的输出比例因子,对输出频率范围进行调整,以适应不同的需求。下面简要介绍TCS230芯片各个引脚的功能。图1TCS230引脚图TCS230的S0、S1用于选择输出比例因子或电源关断模式;S2、S3用于选择滤波器的类型;OE基于单片机的颜色识别系统设计第2页,共8页反是频率输出使能引脚,可以控制输出的状态,当有多个芯片引脚共用微处理器的输出引脚时,也可以作为片选信号,OUT是频率输出引脚,GND是芯片的接地引脚,VCC为芯片提供工作电压。下表给出了TCS230颜色传感器使用时相关控制引脚的一些组合选项。表1:输出频率分频选择S0S1输出频率分频比例LL掉电LH2%HL20%HH100%表2:滤光颜色选择S2S3光电二极管类型LL红色LH蓝色HL消除(无滤光)HH绿色2.2TCS230识别颜色的原理(1)三原色的感应原理通常所看到的物体颜色,实际上是物体表面吸收了照射到它上面的白光(日光)中的一部分有色成分,而反射出的另一部分有色光在人眼中的反应。白色是由各种频率的可见光混合在一起构成的,也就是说白光中包含着各种颜色的色光(如红R、黄Y、绿G、青V、蓝B、紫P)。根据德国物理学家赫姆霍兹(Helinholtz)的三原色理论可知,各种颜色是由不同比例的三原色(红、绿、蓝)混合而成的。(2)TCS230识别颜色的原理由三原色感应原理可知,如果知道构成各种颜色的三原色的值,就能够知道所测试物体的颜色。对于TCS230来说,当选定一个颜色滤波器时,它只允许某种特定的原色通过,阻止其他原色的通过。例如:当选择红色滤波器时,入射光中只有红色可以通过,蓝色和绿色都被阻止,这样就可以得到红色光的光强;同理,选择其他的滤波器,就可以得到蓝色光和绿色光的光强。通过这三个值,就可以分析投射到TCS230传感器上的光的颜色。(3)白平衡和颜色识别原理从理论上讲,白色是由等量的红色、绿色和蓝色混合而成的;但实际上,白色中的三原色并不完全相等,并且对于TCS230的光传感器来说,它对这三种基本色的敏感性是不相同的,导致TCS230的RGB输出并不相等,因此在测试前必须进行白平衡调整。在本装置中,白平衡调整的具体步骤和方法如下:将空的试管放置在传感器的上方,试管的上方放置一个白色的光源,使入射光能够穿过试管照射到TCS230上;根据前面所介绍的方法,依次选通红色、绿色和蓝色滤波器,分别测得红色、绿色和蓝色的值,然后就可计算出需要的3个调整参数。当用TCS230识别颜色时,就用这3个参数对所测颜色的R、G和B进行调整。这里有两种方法来计算调整参数:①依次选通三种颜色的滤波器,然后对TCS230的输出脉冲依次进行计数。当计数到255时停止计数,分别计算每个通道所用的时间。这些时间对应于实际测试时TCS230每种滤波器所采用的时间基准,在这段时间内所测得的脉冲数就是所对应的R、G基于单片机的颜色识别系统设计第3页,共8页和B的值。②设置定时器为一固定时间(例如10ms),然后选通三种颜色的滤波器,计算这段时间内TCS230的输出脉冲数,计算出一个比例因子,通过这个比例因子可以把这些脉冲数变为255。在实际测试时,使用同样的时间进行计数,把测得的脉冲数再乘以求得的比例因子,然后就可以得到所对应的R、G和B的值。3颜色识别系统的硬件结构本文介绍的基于单片机的颜色识别系统的硬件结构框图如图2所示,硬件电路部分主要是由单片机最小系统、颜色传感器TCS230组成的颜色采集系统和数码管显示电路。首先是由颜色传感器TCS230进行颜色采集,直接输出数字量并且利用单片机的数字频率计的作用将各种颜色的频率输出,最红用数码管将其显示出来。图2颜色识别系统系统框图3.1单片机最小系统电路单片机最小系统是指让单片机能正常工作并发挥其功能所必须的组成部分。对51系列单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路等。下面给出一个51系列单片机的最小系统电路。图3单片机最小系统3.2复位电路基本的复位方式:单片机在启动时都需要复位89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位。单片机系统的复位方式有:手动按键复位和上电复位。(1)手动按键复位手动按键复位需要人为在复位输入端RST上加入高电平。一般采用的办法是在RST端和正电源Vcc之间接一个按钮。当人为按下按钮时,则Vcc的+5V电平就会直接加到RST端。手动按钮复位的电路如所示。由于人的动作再快也会使按钮保持接通达数十毫秒,所以,完全能够满足复位的时间要求。颜色采集电路单片机系统电路数码管显示电路基于单片机的颜色识别系统设计第4页,共8页图4按键复位图5上电复位电路图6复位电路(2)上电复位上电复位的工作过程是在加电时,复位电路通过电容加给RST端一个短暂的高电平信号,此高电平信号随着Vcc对电容的充电过程而逐渐回落,即RST端的高电平持续时间取决于电容的充电时间。为了保证系统能够可靠地复位,RST端的高电平信号必须维持足够长的时间。在图6的复位电路中,当Vcc掉电时,必然会使RST端电压迅速下降到0V以下,但是,由于内部电路的限制作用,这个负电压将不会对器件产生损害。在本设计中采用了按键复位和上电复位的两种模式(如图7所示)。3.3晶振电路一般的晶振振荡电路都是在一个反相放大器(注意是放大器不是反相器)的两端接入晶振再有两个电容分别接到晶振的两端,每个电容的另一端再接到地。图7晶振电路晶振与单片机的脚XTAL2和脚XTAL1构成的振荡电路中会产生偕波,为了电路的稳定性起见ATMEL公司只是建议在晶振的两引脚处接入两个10pf-50pf的瓷片电容接地来削减偕波对电路的稳定性的影响,所以晶振所配的电容在10pf-50pf之间都可以的。3.4TCS230颜色传感器与单片机的接口电路颜色传感器TCS230的引脚封装应经在TCS230的结构框图与特点处做了简单的介绍,下图是单片机与颜色传感器TCS230之间的接口电路。图8TCS230与单片机的接口电路颜色传感器TCS230的片选端口(OE)连接至单片机的P1.0口。基于单片机的颜色识别系统设计第5页,共8页输出波形占空比控制端口S0.S1分别连接至单片机的P1.2和P1.3口。滤波选择端口S2和S3风别连接至单片机的P1.4和P1.5口。输出端口连接至单片机的定时计数端口P3.5。3.5数码管显示电路在进行数码管显示电路设计时采用138译码器作为数码管的位选,采用锁存器573作为数码管的段选控制,这样一方面为数码管的显示提供了驱动同时又节省了单片机的端口资源。其电路如下:图9数码管显示电路动态显示:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划a,b,c,d,e,f,g,dp的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制。在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效给人的印象就是一组稳定的显示数据,不会有闪烁感。4系统的软件设计4.1总体流程图系统软件主要包括:组程序、白平衡矫正子程序和颜色比较子程序。其中白平衡矫正子程序用于颜色标定;比较子程序用于颜色检测。程序流程图如下:基于单片机的颜色识别系统设计第6页,共8页图10总体流程图子程序设计程序需进行白平衡调节,得出比例因子,再实现对物体颜色检验和校准,并在数码管上显示R.G.B值,下面给出了颜色识别子程序流程:图11子程序流程图5小结本设计从TCS230的结构特点和应用领域出发,结合AT89S52单片机,实现了能够同时测量和辨别光线中三基色成分。简述了利用软件对TCS230的实际颜色测量值进行校准的处理办法,大大提高了系统对颜色的辨识精度。给出了相应的硬件设计电路、软件流程图和测试程序、电路具有成本低、测量速基于单片机的颜色识别系统设计第7页,共8页度快、精确高等特点,可以广泛应用于各种对需要对光色成分进行测量、分析和识别的行业。参考文献[1]梁冀,基于三基色反射光的颜色识别系统设计,大众科技,2008.[2]龚向东,曾振兴,林丹,基于SPCE061A单片机的颜色检测系统的设计,电子测量技术,2008.[3]郑喜凤,黄娉,刘贵华.三基色亮度计的设计和应用,微计算机信息2009。[4]丁茹,李刚.可编程彩色光/频率转换器TCS230及其应用,国外电子元器件,2005。[5]卢川英,于浩成,孙敬辉,孟中.基于TCS230颜色传感器的颜色检测系统。吉林大学学报,2008。[6]TAOS公司.TCS230技术说明书,德拉瓦,TAOS公司,2006。基于单片机的颜色识别系统设计第8页,共8页DesignofColorRecognitionSystemBasedonSingleChipMicrocomputerChenLei(SchoolofPhysicsandElectricalEngineeringofAnqingNormalCollege,Anqing246011)Abstact:Alongwiththedevelopmentofmodernindustryproductiontowardstohighspeedandautomatic,theproductionprocesswhichisdominatedbytheh
本文标题:基于单片机的颜色识别系统
链接地址:https://www.777doc.com/doc-5527420 .html