毕业论文《颜色传感器的设计》》.doc

上传人:聆听****声音 文档编号:717552 上传时间:2023-04-29 格式:DOC 页数:31 大小:1.67MB
下载 相关 举报
毕业论文《颜色传感器的设计》》.doc_第1页
第1页 / 共31页
毕业论文《颜色传感器的设计》》.doc_第2页
第2页 / 共31页
毕业论文《颜色传感器的设计》》.doc_第3页
第3页 / 共31页
毕业论文《颜色传感器的设计》》.doc_第4页
第4页 / 共31页
毕业论文《颜色传感器的设计》》.doc_第5页
第5页 / 共31页
毕业论文《颜色传感器的设计》》.doc_第6页
第6页 / 共31页
毕业论文《颜色传感器的设计》》.doc_第7页
第7页 / 共31页
毕业论文《颜色传感器的设计》》.doc_第8页
第8页 / 共31页
毕业论文《颜色传感器的设计》》.doc_第9页
第9页 / 共31页
毕业论文《颜色传感器的设计》》.doc_第10页
第10页 / 共31页
毕业论文《颜色传感器的设计》》.doc_第11页
第11页 / 共31页
毕业论文《颜色传感器的设计》》.doc_第12页
第12页 / 共31页
毕业论文《颜色传感器的设计》》.doc_第13页
第13页 / 共31页
毕业论文《颜色传感器的设计》》.doc_第14页
第14页 / 共31页
毕业论文《颜色传感器的设计》》.doc_第15页
第15页 / 共31页
毕业论文《颜色传感器的设计》》.doc_第16页
第16页 / 共31页
毕业论文《颜色传感器的设计》》.doc_第17页
第17页 / 共31页
毕业论文《颜色传感器的设计》》.doc_第18页
第18页 / 共31页
毕业论文《颜色传感器的设计》》.doc_第19页
第19页 / 共31页
毕业论文《颜色传感器的设计》》.doc_第20页
第20页 / 共31页
亲,该文档总共31页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

毕业论文《颜色传感器的设计》》.doc

《毕业论文《颜色传感器的设计》》.doc》由会员分享,可在线阅读,更多相关《毕业论文《颜色传感器的设计》》.doc(31页珍藏版)》请在冰点文库上搜索。

毕业论文《颜色传感器的设计》》.doc

编号:

传感器综合设计

实训(论文)说明书

题目:

颜色传感器的设计//字居中

院(系):

信息与通信学院

专业:

电子信息工程

学生姓名:

学号:

指导教师:

2012年6月19日

摘要

随着时代的进步和发展,传感器技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术。

传感器是将感受的物理量、化学量等信息,按一定规律转换成便于测量和传输的信号的装置。

设计了一种以STC89C51单片机和TCS230传感器为核心的颜色检测系统,其利用TCS230颜色传感器将彩色光转换成频率信号,然后经单片机进行处理和判别,获取某一颜色中所含三基色的亮度值,分析被测光中的颜色成分和亮度,即可有效地得出相应的被测颜色,同时将检测结果数字化的显示到LCD屏上。

文中简述了利用软件对TCS230的实际颜色测量值进行校正的处理办法,给出了相应的硬件设计电路、软件流程图和测试程序清单。

该传感器电路具有成本低、测量速度快、精确高、便携等特点,可广泛应用于各种需要对光色成分进行测量、分析与识别的行业。

关键词:

传感器;颜色检测;TCS230;STC89C51单片机

Abstract

Alongwiththetimeprogressandthedevelopment,thesensortechnologyalreadypopularizedtouslives,thework,thescientificresearch,eachdomain,alreadybecameonekindofquitematuretechnology.Thesensorisinformationandsoonphysicalquantitywhich,chemistryquantityfeels,transformsaccordingtocertainruleisadvantageousforthesurveyandthetransmissionsignalinstallment.

ThisarticlehasdesignedonekindtaketheSTC89C51monolithicintegratedcircuitandtheTCS230sensorasthecorecolorexaminationsystem,ittransformsusingtheTCS230colorsensorthecoloredlightthefrequencycode,thencarriesonprocessingandthedistinctionafterthemonolithicintegratedcircuit,gainsinsomecolortocontainthreeprimarycolorluminancevalues,analyzesbythelightmeasuringinthecolorcomponentandbrightness,theneffectivelyobtainscorrespondinglyismeasuredthecolor,simultaneouslytestresultdigitizationdemonstrationLCDonscreen.InthearticlesummarizedhascarriedontheadjustmentusingthesoftwaretotheTCS230actualcolorobservedvaluethemeasure,hasgiventhecorrespondinghardwaredesignelectriccircuit,thesoftwareflowchartandthetestorderdetailedlist.Theelectriccircuithasthecosttobelow,surveyspeedquick,precisehigh,portableandsooncharacteristics,butwidelyappliesineachkindneedstocarryonthesurvey,theanalysisandtherecognitionprofessiontothelightcoloringredient.

keyword:

Sensor;Colorexamination;TCS230;STC89C51monolithicintegratedcircuit

目录

引言 2

1概述 3

1.1颜色识别与检测原理 3

1.2方案论证 3

2.TCS230颜色传感器的介绍 3

2.1TCS230芯片的结构框图与特点 3

2.2TCS230识别颜色原理 5

3.系统硬件设计 6

3.1硬件系统设计框图 6

3.2硬件电路各功能模块及其说明 7

4.系统软件设计 9

4.1程序流程图 10

4.2白平衡测试子程序及解析 11

4.3获取颜色频率测试子程序及解析 11

4.4综合测试 12

4.5TCS230测试中需要注意的问题 12

5总结 14

谢辞 16

参考文献 15

引言

随着现代工业生产向高速化、自动化方向的发展,颜色检测系统被越来越广泛地应用于颜色测量、颜色变化的识别、打印控制、颜色校正和机器人安全监控等领域。

颜色的测量准确度实际受多种因素影响,与光源的光谱特性、光源方位、物体反射特性、观测位置、以及传感器光谱响应性能等有关,测量过程中的环境因素变化也会造成测量误差。

然而在很多实际应用中,往往并不需要精确分析颜色的光谱组成,而只需对不同的颜色加以区别。

现有的亮度或色度计,都是通过电流的强弱来标定被测物的亮度大小。

通常无颜色选择功能,如果需要测量某种颜色的光强(常指三基色红、绿、蓝),则电路复杂,且精度不高。

在遇到同时需要对多种颜色光强进行测量的场合,误差会更大,严重影响了识别的效果。

目前,颜色传感器通常是在独立的光电二极管上覆盖经过修正的红、绿、蓝滤光片,然后对输出信号进行相应处理,才能识别颜色信号。

其输出为模拟信号,需要一个A/D电路进行采样,再对该信号进一步处理,才能进行识别,因此增加了电路的复杂性,并且存在较大的识别误差,影响了识别效果。

美TAOS(TexasAdvancedOptoe.1ectronicSolutions)公司最新推出的颜色传感器TCS230,不仅能实现颜色的识别与检测,与传统的颜色传感器相比,还具有许多优良特性。

TCS230的反应速度快,可用软件设置改变对颜色的选择,输出为数字信号,使用方便,有较强的抗干扰能力。

1概述

1.1颜色识别与检测原理

颜色是物体表面吸收了白光(日光)中的一部分有色成分,而反射出的另一部分有色光在人眼中的反应。

由三基色感应原理可知,如果知道构成各种颜色的三基色的值,就能够知道所测试物体的颜色。

对于TCS230来说,当选定一个颜色滤波器时,它只允许某种特定原色通过,阻止其他原色通过,即可分别测出R\G\B的值,从而能分析出投射到TCS230传感器上的光颜色。

TCS230对光源要求很高,同一种颜色在不同的实测距离、不同的光源环境中所测出的频率可能不一样。

同时实际中我们所见到的光,其三基色并非是理论值。

如白色的理论值是由等量的红色、绿色和蓝色混合而成的,但实际上,白色中的三原色并不完全相等,并且对于TCS230的光传感器来说,它对这三种基本色的敏感性是不相同的,导致TCS230的RGB输出并不相等,所以我们必须利用白平衡进行调节与补偿,使TCS230对所检测的“白色”中的三原色相等。

应适应各种不同场合,系统应有自主学习功能,即在区别颜色之前,让系统对对周围环境进行学习,得到一组表示白光的频率基准值,然后计算出3个调整参数即基色的比例因子。

再把检测目标测得的三基色脉冲数再乘以其相应的比例因子,得到所对应的R、G和B频率值,还原出目标物体颜色。

以此作为颜色辨别的标准,从而提高系统的可靠性。

1.2方案论证

本次设计的要求包括硬件电路设计和软件编程的设计。

由颜色识别与检测原理可知,设计硬件电路可包括单片机控制电路、TCS230颜色采集、LED显示和按键控制四个部分,进而实现颜色的检测识别模式及RGB值。

软件编程设计方面,通过C语言设定不同的I/O口驱动显示,在基本R、G、B三基色的基础上设定不同的频率范围来鉴别不同的颜色,可采用定时器1的工作方式1和计数器1的计数方式1进行定时计数特定时间内的脉冲数目来实现。

通过设计三个按键来分别实现系统复位,切换显示RGB的值和检测颜色的模式。

这样就可完成了颜色检测系统的设计。

2.TCS230颜色传感器的介绍

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

TCS230的引脚和功能框图如图2.1所示:

TCS230采用8引脚的SOIC表面贴装式封装,在单一芯片上集成有64个光电二极管。

这些二极管共分为四种类型。

其中16个光电二极管带有红色滤波器;16个光电二极管带有绿色滤波器;16个光电二极管带有蓝色滤波器;其余16个不带有任何滤波器,可以透过全部的光信息。

这些光电二极管在芯片内是交叉排列的,能够最大限度地减少入射光辐射的不均匀性,从而增加颜色识别的精确度;另一方面,相同颜色的16个光电二极管是并联连接的,均匀分布在二极管阵列中,可以消除颜色的位置误差。

工作时,通过两个可编程的引脚来动态选择所需要的滤波器。

该传感器的典型输出频率范围从2Hz~500kHz,用户还可以通过两个可编程引脚来选择100%、20%或2%的输出比例因子,或电源关断模式。

输出比例因子使传感器的输出能够适应不同的测量范围,提高了它的适应能力。

例如,当使用低速的频率计数器时,就可以选择小的定标值,使TCS230的输出频率和计数器相匹配。

图1TCS230的引脚和功能框图//图名置中,序号从1到n

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

表1是S0、S1及S2、S3的可用组合。

TCS230输出为占空比5O%的方波,且输出频率与光强度成线性关系。

工作时,通过程序控制S2、S3来动态选择所需要的滤波器,通过控制sO和s1来选择电源关断模式或输出比例因子(100%、20%或2%),详见表1。

输出比例因子使传感器的输出能够适应不同的测量范围,提高了它的适应能力。

传感器的典型输出频率范围从2Hz~500kHz,芯片采用8引脚SOIC表面贴封装,适用于色度计的测量应用。

表1S0、S1及S2、S3的组合选项//表名置中,序号从1到n

表2TCS3200D的管脚功能

引脚号

符 号

类 型

功能说明

1

S0

I

输出频率分频系数选择输入端

2

S1

I

3

OE

I

输入频率使能端。

低电平有效

4

GND

电源地

5

VDD

电源电压

6

OUT

O

输出频率(fo)

7

S2

I

光电二极管类型选择输入端

8

S3

I

2.2TCS230识别颜色原理

(1)三原色的感应原理

  通常所看到的物体颜色,实际上是物体表面吸收了照射到它上面的白光(日光)中的一部分有色成分,而反射出的另一部分有色光在人眼中的反应。

白色是由各种频率的可见光混合在一起构成的,也就是说白光中包含着各种颜色的色光(如:

红R、黄Y、绿G、青V、蓝B、紫P)。

根据德国物理学家赫姆霍兹(Helinholtz)的三原色理论可知,各种颜色是由不同比例的三原色(红、绿、蓝)混合而成的。

  

(2)TCS230识别颜色的原理

  由三原色感应原理可知,如果知道构成各种颜色的三原色的值,就能够知道所测试物体的颜色。

对于TCS230来说,当选定一个颜色滤波器时,它只允许某

种特定的原色通过,阻止其他原色的通过。

例如:

当选择红色滤波器时,入射光中只有红色可以通过,蓝色和绿色都被阻止,这样就可以得到红色光的光强;同理,选择其他的滤波器,就可以得到蓝色光和绿色光的光强。

通过这三个值,就可以分析投射到TCS230传感器上的光的颜色。

  (3)白平衡和颜色识别原理

  白平衡就是告诉系统什么是白色。

从理论上讲,白色是由等量的红色、绿色和蓝色混合而成的;但实际上,白色中的三原色并不完全相等,并且对于TCS230的光传感器来说,它对这三种基本色的敏感性是不相同的,导致TCS230的RGB输出并不相等,因此在测试前必须进行白平衡调整,使得TCS230对所检测的“白色”中的三原色是相等的。

进行白平衡调整是为后续的颜色识别作准备。

在本装置中,白平衡调整的具体步骤和方法如下:

将空的试管放置在传感器的上方,试管的上方放置一个白色的光源,使入射光能够穿过试管照射到TCS230上;根据前面所介绍的方法,依次选通红色、绿色和蓝色滤波器,分别测得红色、绿色和蓝色的值,然后就可计算出需要的3个调整参数。

  当用TCS230识别颜色时,就用这3个参数对所测颜色的R、G和B进行调整。

这里有两种方法来计算调整参数:

①依次选通三种颜色的滤波器,然后对TCS230的输出脉冲依次进行计数。

当计数到255时停止计数,分别计算每个通道所用的时间。

这些时间对应于实际测试时TCS230每种滤波器所采用的时间基准,在这段时间内所测得的脉冲数就是所对应的R、G和B的值。

②设置定时器为一固定时间(例如10ms),然后选通三种颜色的滤波器,计算这段时间内TCS230的输出脉冲数,计算出一个比例因子,通过这个比例因子可以把这些脉冲数变为255。

在实际测试时,使用同样的时间进行计数,把测得的脉冲数再乘以求得的比例因子,然后就可以得到所对应的R、G和B的值。

3.系统硬件设计

3.1硬件系统设计框图

本系统硬件分为单片机控制电路、TCS230颜色采集、LED显示和按键控制等四部分,其工作原理如图3.1所示。

单片机

AT89C51

数码管显示模块

颜色RGB值

指示红、绿、

蓝发光二极管

指示模块

下载电路

颜色传感器检测模块TCS3200

按键控制模块

晶振、复位电路

图2硬件系统设计框图

3.2硬件电路各功能模块及其说明

系统以单片机STC89C52为核心,在程序支持下,对TCS230进行检测控制,将输出的频率送往STC89C52进行处理得出相应的识别信息显示在LCD屏上可显示被测颜色R、G、B亮度值,同时显示当前颜色的亮度。

(1)数码管显示部分如图3.2所示。

//通过Protel属性设置,电原理图网格去掉

图3数码管显示部分电路图

该部分采用四位数码管显示,一位显示颜色的模值,其他三位显示RGB的频率值,采用PNP型三极管进行驱动,串接电阻进行限流防止电压过大数码管被烧坏设计为P0口显示时,还应注意加上拉电阻。

(2)LED显示部分如图3.3所示。

图3.3LED显示部分电路图

该部分中实现的功能是在STC89C52的I/O口中接上三盏LED灯来分别测试RGB的值。

(3)功能键部分如图3.4所示。

图3.4功能键部分电路图

在该部分中,通过三个按键的设计,分别来实现一:

系统复位;二:

切换显示RGB的值(P1^0口);三:

检测颜色的模式(P1^1口)。

(3)颜色传感器部分如图3.5所示。

图3.5颜色传感器部分电路图

在该部分中,通过PNP三极管串接上限流电阻驱动TSC230显示,为了使测试颜色前的白平衡调节,电路中接上四个LED来照亮TSC230芯片,使得测试更为准确。

4.系统软件设计

系统软件主要包括:

主程序、白平衡校正子程序和颜色比较子程序。

其中白平衡校正子程序用于颜色标定;比较子程序用于颜色检测。

4.1程序流程图

//软件流程图建议采用Viso软件画,注意规范性,诸如判断菱形框,一般采用单箭头。

开始

初始化程序

白平衡调整

颜色识别程序

有颜色识别?

No

Yes

按键判断子程序

将所要显示值

赋给数码管

软件主程序流程图

开始

是否有按键按下

No

Yes

按键1++

按键2是否按下

键1值为0

显示

B

颜色重新采集显示

显示

R

显示

G

键1值为1

键1值为2

Yes

图4.1软件主程序流程图及键盘扫描流程图

4.2白平衡测试子程序及解析

程序须先行进行白平衡调节,得出比例因子,再实现对物体颜色检测和校准,并在LCD上分别显示的R,G,B的亮度值。

通过白平衡设计颜色初值,以便其他颜色的辨别检测。

下面给出白平衡测试的子程序及其解析。

voidWhite_Adjust(void)//颜色识别前先进行白平衡

{

uchark;

TCS_LED =0;//启动,不过此时滤波片没有选择有效值

delay(5);//等待一段时间,用来使光源平衡

Red_W_A_Count=0;

Green_W_A_Count=0;

Blue_W_A_Count=0;

for(k=0;k<10;k++)

{

TCS_S2 = 0;

TCS_S3 = 0; //白平衡选择红色

Red_W_A_Count = Get_Color_Count()+Red_W_A_Count;

TCS_S2 = 1;

TCS_S3 = 1;//白平衡选择绿色

Green_W_A_Count = Get_Color_Count()+Green_W_A_Count;

TCS_S2 = 0;

TCS_S3 = 1;//白平衡选择蓝色

Blue_W_A_Count = Get_Color_Count()+Blue_W_A_Count;

TCS_S2 = 1;

TCS_S3 = 0;//白平衡结束后不选择滤光片

}

}

4.3获取颜色频率测试子程序及解析

测试颜色的RGB值,可通过定时10ms的计数脉冲数目来进行颜色频率的检测。

下面给出白平衡测试的子程序及其解析。

unsignedintGet_Color_Count()

{

unsignedintidataTemp_TCS3200_Count;

bitConvert_Flag;

TH1 = 0x00;//设置好后才开始计数

TL1 = 0x00;

TCS3200_Time_Count = 0x00;//将计数值清零后再开始新一次的计数

Convert_Flag=TCS3200_Convert_Flag;

while(Convert_Flag==TCS3200_Convert_Flag); //使能TCS230转换时间计数

TR1=1;

while(TCS3200_Convert_Flag !

= Convert_Flag); //一次转换结束

TR1=0;

Temp_TCS3200_Count = TH1 *256+TL1;//保存好计数结果

return Temp_TCS3200_Count;

}

4.4综合测试

软件编译通过之后,下载程序进入单片机中,依据方案设计原理进行调节测试。

测试结果由按键切换通过四位数码管实现颜色检测的RGB值和颜色模式显示。

在测试过程中,首先进行的是白平衡调节。

使颜色传感器对着白纸,接通电源,按复位键检查RGB值是否都显示为255,是则可进行下一步的颜色检测,若小于245,则应再进行调节,使之较接近之后再做下一步测试。

白平衡之后,把颜色传感器对着另一个颜色,通过按键二切换进行颜色检测,最后通过按键三可分别查看RGB的值。

由得出的数值,可根据绘图工具来检测测试结果与实际显示结果的差别。

起初测试过程中发现电路没有输出,按键不灵,一位数码管不显示。

经检查发现电源连接地线没有接上,制作PCB板时数码管有两根不连通线短接了,按键的线路焊接不好。

经仔细检查电路后才解决这些问题,电路正常工作。

而数码管显示较为模糊,其中是限流电阻较大的缘故。

通过改变阻值较小的电阻,数码管显示非常清晰。

测试结果发现与实际存在较大的误差,所以我再通过修改程序中的定时时间,发现在定时10ms计数时误差较为小,因此最后确定定时时间为10ms。

解决测试中遇到的问题之后,电路成功地实现了设计的功能。

本次设计较为成功。

4.5TCS230测试中需要注意的问题

(1)颜色识别时要避免外界光线的干扰,否则会影响颜色识别的结果。

最好把传感器、光源等放置在一个密闭、无反射的箱子中进行测试。

  

(2)对光源没有特殊的要求,但是光源发出的光要尽量集中,否则会造成传感器之间的相互干扰。

(3)当第1次使用TCS230时,或TCS230识别模块重启、更换光源等情况时,都需要进行白平衡调整。

根据需求选择电路的设计单元进行组合,完成系统的原理图设计与PCB设计,对制作好的PCB板,按照装配图或原理图进行器件装配,装配好之后进行电路调试。

通电准备

打开电源之前,先按照系统原理图检查制作好的电路板的通断情况,并取下PCB板上的单片机,然后接通电源,用万用表检查板上的各点的电源电压值,完好之后再关掉电源,插上单片机芯片。

电路检测调试

接通电源后,按下复位开关,此时单片机的所有端口均输出高电平,拔位的共阳极数码管会无显示,发光二极管发光。

放开手后,数码管显示白平衡时候的RGB值,此时RGB值指示灯发光。

颜色探

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2