来源:EDN电子设计技术
时间:2012-01-09
本文利用新型颜色传感器 TCS230具有的滤光选择功能,借助 MCU设计出了一种能够同时测量白光中所含的三基色(红、绿、蓝)亮度的便携式亮度计。另外该亮度计还提供计算机通信接口以及数据接收软件,实现了对数据的采集和处理,并把处理后的数据数字化的显示到 OLED屏上。该亮度计具有快速,精确,便捷的特点,可广泛应用于各种需要对光色成分进行分析、测量的行业。
1引言
随着 LED行业的快速发展,竞争的不断加剧,LED品质受到了前所未有的重视,尤其是在大屏幕显示、LED照明光源等对颜色要求较高的场合,品质控制的难度和重要性均显得特别突出。因此,对 LED性能的测试和*估逐渐被提上日程。通常 LED的标准检测仪器是光谱分析仪,它能够分析 LED发出光的颜色和亮度,但它体积庞大,价格昂贵,少则几万多则几十万,并非一个小型企业所能负担的。
现有的亮度计,都是通过电流的强弱来标定被测物的亮度大小。我国亮度计生产厂家生产的光亮度计通常无颜色选择功能,如果需要测量某种颜色的光(常指三基色红、绿、蓝)的光强,通常要在独立的光电二极管上覆盖经过修正的红、绿、蓝滤光片,然后对输出的模拟信号加一个 A/D电路进行采样,再对该采样信号进一步处理,才能进行识别,增加了电路的复杂性,并且存在较大的识别误差,影响了识别的效果。在遇到同时需要对多种颜色光强进行测量的场合,工作量将会成倍的增加,其烦琐性是显而易见的,同时,也增大了测量结果的误差。
为了克服传统亮度计无法检测被测光源所包含的单色光光强的缺点,本文设计了一种能够同时测量白光中所含的三基色(红、绿、蓝)亮度的亮度计,用来分析测量光中的颜色成分和亮度,同时把检测结果数字化的显示到 OLED屏上。这样在测量 LED大屏幕显示器的时候只要把红绿蓝三种颜色的 LED发光二极管都点亮(即白色),就可直接分析出其中的颜色成分和亮度大小,并省去了大量的记录工作。
2系统硬件结构与原理
三基色亮度计主要由五部分组成:数据采集模块、MCU控制模块、OLED显示模块、数据通信模块、键盘输入模块。系统的基本工作原理为:通过键盘选择颜色并设定参数,控制单片机来向传感器发送指令,当传感器接收到光信号后,输出频率会随之发生变化,单片机对传感器采集的数据进行适当的判断、计算和处理,然后数字化的显示到 OLED屏上。系统原理图如图 1所示。
2.1 数据采集模块
数据的采集用的是美国 TAOS公司生产的颜色传感器TCS230,它是业界首款带数字兼容接口的 RGB彩色光/频率转换器,它内部集成了可配置的硅光电二极管阵列和一个电流/频率转换器。TCS230输出为占空比50%的方波,且输出频率与光强成线性关系。该转换器输出频率范围为2—500kHz,且可通过 2个可编程引脚来选择2% 、20% 、或100%的输出比例因子。TCS230的输入、输出引脚可直接与微处理器或其他逻辑电路连接。
图2是TCS230的引脚封装和功能框图,从功能框图可知:当入射光投射到TCS230上时,通过光电二极管控制引脚S2、S3的不同组合,可以选择不同的滤波器;经过电流到频率转换器后输出的是占空比为50%的方波,不同颜色和光强的光所对应输出的方波频率也是不一样的。还可以通过输出定标控制引脚S0、S1选择不同的输出比例因子, 对输出频率范围进行调整,以适应不同的需求。SO、S1及S2、S3的可用组合如图3所示。
下面简要介绍TCS230芯片各个引脚的功能及它的一些组合选项。S0、S1用于选择输出比例因子或电源关断模式;S2、S3用于选择滤波器的类型;OE是频率输出使能引脚,可以控制输出的状态,当有多个芯片引脚共用微处理器的输入引脚时,也可以作为片选信号;OUT是频率输出引脚,GND是芯片的接地引脚,VCC为芯片提供工作电压。
2.2 MCU控制模块
MCU采用的是 Cygnal公司的单片机C8051F023。它是完全集成的混合信号片上系统(SOC),具有与 MCS-51内核及指令集完全兼容的微控制器。 C8051F023具有高速、非侵入方式的在系统调试接口、8通道 ADC、带 PGA和模拟多路开关、在系统编程的 FLASH 存储器、5个通用的 16位定时器、 5个可编程计数器 /定时器阵列等特性。该模块主要实现数据的采集、处理、显示、传输以及键盘指令的响应,它的核心部分是单片机对传感器的控制。C8051F023与 TCS230的连接,如图 4所示。
将 TCS230的 S0以及 S1两个引脚全部与电源相连,这样连接将会使颜色传感器输出占空比50%,频率值为100%的方波。这样给终调试时带来了方便,在不同设计要求时只需要简单的调节接线就可以实现不同的功能。TCS230的 S2和 S3这两个引脚为光电二极管类型选择的引脚,现与 C8051F023单片机的 P0.0 、P0.1相连。单片机就是通过这两个引脚对传感器进行选择控制,而对传感信号的接收则是通过 P0.4与 TCS230的 OUT引脚来连接实现的。TCS230的反应速度快,达到 10 μs,同时通过对S2、S3的控制来改变滤波器类型,可方便的选择颜色,并且输出可以为二路数字信号,具有较强的干扰能力。
2.3 OLED显示模块 采用的是 128×64行点阵的 OLED单色、字符、图形显示模块VGS12864E。模块内藏64×64显示数据RAM,其中每位数据对应于 OLED上一个点的亮、暗状态;其接口电路和操作指令简单,具有 8位并行数据接口,可直接与 8位微处理器相连。
2.4 数据通信模块和健盘输入模块
用 MAX232来完成 TTL-RS232电平转换,实现亮度计与计算机的数据交换。通过键盘输入模块,可以非常方便的改变对颜色的选择。
3软件设计
系统软件流程如图5所示。软件采用C语言编程,主要完成对硬件的控制以及对采集数据再现等功能。单片机控制程序主要由4部分组成:数据采集、键盘响应、菜单显示、数据通信。程序的开始首先要对单片机进行初始化,这是必要的步骤。单片机初始化程序包括关闭看门狗、时钟初始化、端口初始化,交叉开关寄存器初始化,以及定时器和中断等的初始化。初始化完成后,如需要颜色识别,就进行具体颜色选择,保存设置,采集数据,完成颜色的识别。
系统设计时还应当注意一些问题。首先,在设计时,一定要考虑白平衡问题,所谓白平衡,就像是天平在使用前的调零一样,也就是用户所指定颜色的外界白光。因为要依此白光为基准进行调整。这里有两种方法可以计算并调整参数。一是依次选通三种颜色的滤波器,然后对 TCS230的输出脉冲依次进行计数。当计数到 255时停止计数,并分别计算每个通道所用的时间。这些时间就是对应于实际测试时 TCS230每种滤波器所采用的时间基准,在这段时间内所测得的脉冲数就是所对应的R、G和B的值。二是设置定时器为一固定时间(例如10 ms),然后选通三种颜色的滤波器,并计算这段时间内 TCS230的输出脉冲数。这样便可计算出一个比例因子,通过这个比例因子可以把这些脉冲数变为255。然后在实际测试时,使用同样的时间进行计数,把测得的脉冲数再乘以该比例因子,这样就可以得到所对应的R、G和 B的值。
4结束语
利用本文介绍的基于 TCS230设计出的三基色亮度计,只需一次测量即可完成对 LED显示管的红、绿、蓝及白光的颜色和亮度的测量,大大提高了测量效率,同时还具有成本低,精度高,功能全等特点。因为不需要另外添加滤光片,这在对三基色光强要求较多的显示领域,如 LED大屏幕显示器的一致化校正,液晶显示器测试等等有着广阔的应用前景。本文创新点:传统亮度计只能测量其感光器件所接收的光强,如不使用滤光设备,则无法检测被测光源所包含的单色光光强。本文设计了一种能够同时测量白光中所含的三基色(红、绿、蓝)亮度的亮度计,用来分析测量光中的颜色成分和亮度,同时把检测结果数字化的显示到 OLED屏上,具有成本低,精度高,功能全等特点。