ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:552KB ,
资源ID:6642787      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6642787.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(色彩识别装置.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

色彩识别装置.docx

1、色彩识别装置我们这次选择了两道题:题目九:色彩识别装置设计要求设计一个装置,对30cm左右的一张有色纸,装置能够在自然光或者辅助光配合下,识别出有色纸的颜色,并用汉字显示出来。装置的识别效果的衡量,以与肉眼识别吻合为佳。题目分析本题要求设计一个色彩识别装置,该装置能够在自然光或者辅助光源的配合下,识别出一定距离(30cm)内的有色纸的颜色,并可以在屏幕上将识别结果用汉字显示出,颜色的承载体是纸张,颜色环境相对简单,色彩的辨别以人眼识别的为准(非CIE色度学颜色),可采用ColorChecker 卡24种颜色作为参照标准。设计方案鉴于模块化设计在系统设计中的优越性,我们将该系统分为以下4个模块:

2、主要实现方式有以下几种方案一:采用非晶硅彩色传感器,经信号处理电路处理后,利用微处理器(单片机)作为控制器,外接显示器输出测量结果。系统的实现框图如下:标准光源方案二:利用CCD/CMOS传感器,将采集的数据输入到计算机,通过软件进行分析,在屏幕上输出结果,典型的方案是将数码相机(或者摄像头)采集的数据传输到计算机,通过软件Matlab编写模糊神经网络程序进行分析。框图如下:方案三:选用Photo sensor颜色信号进行提取和采集,采用基于人工神经网络的高速并行模数转换模式进行数据的模数转换,嵌入式系统对数据进行处理,完成筛选和分拣工作,系统结构如图所示:方案四:利用可编程彩色光到频率的传感

3、器TCS230进行信号的收集与处理,单片机SPCE061A进行数据的分析处理,并将结果通过显示输出电路输出。方案比较方案一是目前常用的,颜色传感器通常是在独立的光电二极管上覆盖经过修正的红绿蓝滤光片,然后对输出信号进行相应的处理,输出的是模拟信号,需要A/D电路进行采样、转换,才能被微处理器识别,增加了电路的复杂性,存在较大误差,影响了识别效果。方案二的识别精度较高,但涉及图像处理,算法复杂,软件开销大,硬件成本高。方案三具有检测速度快,可靠性高等优点,但同样其成本高,算法复杂,一般用于专业领域。方案四给出了一种基于数字颜色传感器TCS230和16位单片机SPEC061A及LCD显示的颜色识别

4、系统。TCS230是美国TAOS公司推出的一款可编程光频率转换传感器,这种传感器输出和入射光基色分量成正比的频率信号,能够和微处理器直接接口,因此可以简化系统的设计实现。本组成员对光学系统的知识储备不是很足,对于方案一中的光学系统把握不是很大,再加上方案一中涉及较多模拟电路,稳定性不高,调试时间长,精度不如集成系统,另外方案二和方案三的成本明显偏高,技术复杂,因此我们选择了方案四,即采用TCS230颜色传感器用作系统的信号采集和处理,通过单片机对数据处理后输出到LCD显示器。当然,对于方案四我们还有许多问题亟待解决,比如我们对单片机还不是很了解,对汇编语言,微机接口等方面的知识还需要完善,但我

5、们拥有极强的求知欲望和学习能力,在可以预见的将来,我们会将所欠缺的知识补上。系统的原理分析:TCS230 将光电二极管阵列、电流/ 频率转换器和红绿蓝三基色滤光器集成为一体。在由64 个光电二极管组成的光敏阵列中,各有16 个光电二极管分别用于转换彩色光中的红、绿、蓝基色成分,剩余16 个光电二极管不带颜色滤波器,可接受所有光色信息。这些光电二极管在芯片内是交叉排列的,能够最大限度地减少入射光辐射的不均匀性,从而增加颜色识别的精确度;另一方面,相同颜色的16 个光电二极管是并联连接的,均匀分布在二极管阵列中,可以消除颜色的位置误差。图1 是TCS230 的外部引脚和内部功能结构示意图,当入射光

6、投到TCS230 上时,通过基色选择信号( S 2 , S 3 ) 组合即可在OU T 引脚上获得频率和相应基色含量成正比的方波信号输出, 因此可通过测量方波频率计算出三基色数据,从而得知被测颜色。TCS230 的典型输出频率范围为2 Hz 500 kHz ,通过输出频率定标选择信号( S 0 , S 1 ) ,可使该器件适应量程不同的频率测量装置。表1 为TCS230 控制信号S 0 、S 1 、S 2和S 3 的组合选择功能。在多个TCS230 器件应用场合,OE引脚信号可用作器件的片选。硬件设计在单片机的选择上,我们遇到了一点困难,小组内成员对单片机知识储备不够,无法准确选择恰当功能性能

7、的单片机,在参考相关文献资料后,我们选择了集成度较高,功能较全面的16 位单片机SPCE061A(其实在初期的查资料过程中,我们也发现了其他更多的单片机,比如:MCS-51、SPCA563B、AT89S52等等,它们也许更适合本系统的设计,但它们的功能单一,外围借口复杂,需要其它的配套电路,考虑到设计的难度,我们并没有选择它们),在此单片机的选择上更多的是从设计的方便上考虑的,没有更全面的考虑到成本功耗等方面的因素。因此我们小组成员今后还需要学习一些单片机的知识。SPECE061A是Sunplus公司的16位单片机,具有丰富的可编程资源,包括32K字内嵌Flash储存器(这是我们选择它的原因之

8、一,大容量储存器,减少了外围储存器及其电路的设计)、强大的中断系统、2个16位定时器/计数器、2个16位通用I/O端口IOA和IOB,以及同步串行设备接口和异步UART接口等。图中TCS230 的S0 、S1 、S2 、S3 分别接SPCE061A 单片机I/ O 口的IOB5 、IOB6 、IOB3 和IOB4 ,由此控制选择输出频率定标参数和输出基色信号,TCS230 的输出方波信号(OU T) 频率通过IOB2 测量。如图2 所示,SPCE061A 中的IOB2 除了通常的输入/ 输出端口功能外, 还可以用作SPCE061A 内部16 位定时/ 计数器TimerA 时钟源A 的外部计数脉

9、冲输入EXT1 。因此,若在TimerB 定时时间到时读取TimerA 计数器的值,就可以分别计算出TCS230 的3种基色信号输出频率,进而确定红、绿、蓝基色值和相应合成颜色。题目要求将检测结果用汉字输出,普通的LED数码管显然满足不了要求,因此在这一部分我们选择了点阵LCD显示器。然而,通过单片机显示汉字也存在很多难题。首先,单片机资源有限,我们不能为了显示汉字占用太多的资源;其次,汉字存储读取比较繁琐,使用不方便;第三,汉字占用空间太多(如16点阵,每个汉字就需32字节),因而通常把汉字库放在EEPROM里,需要显示某个汉字时,先算出它的区位码,再求出点阵起始位置,从EEPROM中顺序调

10、出该字的点阵数据,存在缓冲区里,最后依次送往LCD显示,描出该字。这与LCD显示方式有一定差别。考虑到本系统用到的汉字资源有限,我们可以预先将用到的汉字符号等进行编码,编成一个文本文件,用一段小程序做出相应小的汉字库,这个小字库的汉字点阵数据取自于一般汉字库。再经过转换和调整,得到新的汉字库,最后把新字库固化在EEPROM中。单片机只需按序号读出 点阵字节,送往LCD即可显示所需汉字。减轻了单片机的负担,去除了繁琐的查找内码、求起始位置、转换、调整等工作,提高系统可靠性。然而,即使是这样,也是对我们的巨大挑战,由于没有任何经验可循,并且时间仓促,我们最终放弃了这一想法,但这一方案是可行的,且实

11、现成本相对较低。我们今后需要在这方面填补知识的盲区。最终我们选择了LCM12832ZK(见右图)作为系统的输出设备。LCM12832ZK 显示内容128x32 点阵,内带 8000 多GB1、2 中文汉字字库,集成了显示控制器 ST7920,(这是我们看重它的主要原因,集成了字库,简化了字库及驱动电路的设计),但缺点也是显而易见的,成本偏高,且功能发挥不完全。以下是LCM12832ZK的管脚说明: 系统接线图可以参见图2。颜色识别的原理三原色的感应原理:通常所看到的物体的颜色,实际上是物体表面吸收了照射到它上面的白光( 日光) 中的一部分有色成分, 而反射出的另一部分有色光在人眼中的反应。白色

12、是由各种频率的可见光混合在一起构成的, 也就是说白光中包含着各种颜色的色光( 如红R 、黄Y 、绿G 、青V 、蓝B 、紫P)。根据德国物理学家赫姆霍兹(Helinholtz)的三原色理论可知,各种颜色是由不同比例的三原色( 红、绿、蓝)混合而成的。TCS230 识别颜色的原理:由上面的三原色感应原理可知,如果知道构成各种颜色的三原色的值,就能够知道所测试物体的颜色。对于T C S 2 3 0 来说,当选定一个颜色滤波器时,它只允许某种特定的原色通过,阻止其它原色的通过。例如:当选择红色滤波器时,入射光中只有红色可以通过,蓝色和绿色都被阻止,这样就可以得到红色光的光强;同理,选择其它的滤波器,

13、就可以得到蓝色光和绿色光的光强。通过这三个值,就可以分析投射到T C S 2 3 0 传感器上的光的颜色。白平衡和颜色识别原理:白平衡就是告诉系统什么是白色。从理论上讲,白色是由等量的红色、绿色和蓝色混合而成的; 但实际上,白色中的三原色并不完全相等,并且对于TCS230 的光传感器来说, 它对这三种基本色的敏感性是不相同的,导致T C S 2 3 0 的R G B 输出并不相等,因此在测试前必须进行白平衡调整,使得TCS230 对所检测的“白色”中的三原色是相等的。进行白平衡调整是为后续的颜色识别作准备。在本装置中,白平衡调整的具体步骤和方法如下:将空的试管放置在传感器的上方,试管的上方放置

14、一个白色的光源, 使入射光能够穿过试管照射到TCS230 上;根据前面所介绍的方法,依次选通红色、绿色和蓝色滤波器, 分别测得红色、绿色和蓝色的值, 然后就可计算出需要的三个调整参数。当用TCS230 识别颜色时,就用这三个参数对所测颜色的R 、G 和B 进行调整。这里有两种方法来计算调整参数:依次选通三种颜色的滤波器, 然后对T C S 2 3 0的输出脉冲依次进行计数。当计数到255 时停止计数,分别计算每个通道所用的时间。这些时间对应于实际测试时T C S 2 3 0 每种滤波器所采用的时间基准, 在这段时间内所测得的脉冲数就是所对应的R 、G 和B 的值。设置定时器为一固定时间(例如1

15、0ms) ,然后选通三种颜色的滤波器, 计算这段时间内T C S 2 3 0 的输出脉冲数, 计算出一个比例因子,通过这个比例因子可以把这些脉冲数变为2 5 5 。在实际测试时,使用同样的时间进行计数,把测得的脉冲数再乘以求得的比例因子, 然后就可以得到所对应的R 、G 和B 的值。根据颜色识别原理,我们涉及了该颜色辨别仪系统软件的程序结构如图4 所示。理论上白色由等量的红、绿、蓝色混合而成,实际上白色中的这三基色成分并不相等,且颜色传感器TCS230 对红、绿、蓝三基色的灵敏度也是不同的,这使得TCS230 对白色的三基色输出不相同。因此,在实际颜色检测之前应进行白平衡调整,即先通过对标准白

16、色的测量来确定对红、绿、蓝基色的3 个调整参数,以使得TCS230 对白色中三基色的测量相等,如此确定的调整参数即可用来对实际测量值进行标定。白平衡后由KEY键启动颜色识别过程,其流程如图5所示,在分别测得相应入射光R、G、B 分量的3 个频率计数值后进行标定数据处理,继而通过预设的颜色数据表进行颜色匹配识别。软件设计流程图图4 颜色辨别仪系统软件的主程序结构但由于没有单片机的开发板以及水平和时间的限制,我们并没有能将详细的系统程序写出来,仅仅画出了系统框图,今后我们需要在这一方面多下工夫。结果处理与校正颜色的测量准确度受很多因素的影响,如照明光谱特征及光源方位、物体的发射特性、观测位置、及传

17、感器光谱响应性能等,测量过程中的环境因素变化也会造成测量误差。在本设计中要求被测纸张是不透明的(若透光性比较好,可以在纸张后面加一张不透明标准白板),且辅助光源与有色纸成45度角,探测器与纸张相距30CM左右,且垂直于有色纸,这样才能保证测量的精度。在系统实际使用前还需要对系统进行校正,由于没有把实物制作出来,我们没法对系统进行检测校正,我们仅仅写出了校正及检测的方法。可以将误差作为一个整体考虑,对整个系统先用颜色校正中常用的标准24色卡(ColorChecker色卡),对其中每一种颜色的RGB进行测量得到一个3*24的矩阵M,而24色的标准数据RGB也是已知的,也可构成一个3*24的矩阵S,

18、由此可以求出校正矩阵C,由下式可以到 S=CM,即C=SM-1然后使用C矩阵在系统中对TCS230的实测颜色值进行校正处理,从而提高了系统对颜色的识别精度。系统存在的问题及改进这样的设计还是有很多地方是可以改进的,比如我们在设计中没有考虑系统的供电和功耗问题,另外SPECE061A还支持语音输出,可以在系统中再加装语音输出模块,但这就需要额外的储存空间,需要外接大容量的Flash或者EPROM,但作为系统的扩展是可行的,并且充分利用了SPECE061A的功能。当然,从成本的考虑上,我们也可选择更常见的更便宜的单片机MSC-51,在显示模块,我们也可以选择成本更低的64*16点阵不带字库的显示器

19、,只是这样增加了设计的难度,时间上也不允许。题目三:能快速测温的体温计设计要求能够方便婴幼儿使用,价格合适的快速体温计。测温时间小于30s,误差小于0.2。题目分析温度计的使用对象是婴儿,这要求我们在选择设计方案时要考虑婴儿的特点:好动,没有意识,对材料敏感度高等等。即测量方式上要注意婴儿的特点,其次是温度计的测量时间(30s)和测量精度(0.2),同时我们还得考虑温度计的一般特点:便携、使用方便、操作简单、成本低廉等。设计方案和前面一道题一样,我们首先给出系统的基本实现框图如下:由于每一模块都有很多可实现的方案,我们对每一模块进行分析。对于温度检测部分我们通过查阅资料总结出以下几个方案:方案

20、一: 采用热电偶, 热电偶由两个焊接在一起的异金属导线所组成。热电偶产生的热电势由两种金属的接触电势和单一导体的温差电势组成。通过将参考结点保持在已知温度并测量该电压, 便可推断出检测结点的温度。热电偶的优点是工作温度范围非常宽, 且体积小。但是, 它们也存在着输出电压小、容易遭受来自导线环路的噪声影响以及漂移较高的缺点。方案二: 采用NTC,热敏电阻是利用半导体材料的电阻率随温度变化而变化的性质制成的, 是低成本温度传感器, 是线性最差的温度传感器, 通常将两个热敏电阻组合起来使用, 以使输出具有较好的线性。热敏电阻可靠性差、测量精度准确度低, 且必须经过专门的接口电路转换成数字信号后才能由

21、微处理器进行处理。普通的热敏电阻可在有限的工作温度范围内呈现出上佳的稳定性、而在较宽的温度范围内工作时则表现出中等水平的稳定性。方案三 :采用单线数字温度传感器。例如DS18B20,它具有微型化、低功耗、高性能、抗干扰能力强、易配微处理器等优点, 特别适合于构成多点温度测控系统, 可直接将温度转化成串行数字信号进行处理, 而且每片DS18B20都有唯一的产品号并可存入其ROM中, 以便在构成大型温度测控系统时在单线上挂接任意多个这样的芯片。从DS18B20芯片读出或写入信息仅需一根端口线, 其读写及温度变换功率来源于数据总线, 该总线本身也可以向所挂接的DS18B20供电, 而无需额外电源。此

22、外DS18B20还能够提供9位温度读数。方案四 采用红外温度传感器。红外传感器是红外体温计的关键部件,它是由温差热电堆和热敏电阻两部分构成的。热电堆是用半导体集成电路工艺和微机械子工艺制造的,它可以等效为多个热电偶串联组成的。而热电偶是由两种电子密度不同的导体相连接组成的。热电偶有冷热两个端点。在测量物体温度时,热端与被测物体接触,冷端与测量仪表接触。热电偶的同种导体上会因为存在温度剃度而产生一种电动势,两种金属的连接处会因为电子密度差而产生另一种电动势,所以在热电偶的两端会产生温差电动势在红外传感器热电堆的热端贴有热量吸收器,它用来吸收被测物体辐射的红外线并转化为热能。通过热电堆把辐射红外线

23、的功率转化为电信号进行测量。红外传感器的内部示意图如下所示:从检测部分得到的信号很微弱,因此需要进行信号放大。对于信号处理部分同样也有很多方案,常用的高精度放大电路有许多,在此我们仅列出一种用OPA2111和INA106组合做成放大电路,如下图所示:INA106OPA2111假定运算放大器均为理想的,电路分析下:设流过的电流为,则于是: 对于INA106:将3端接地,则输出将2端接地,则输出:根据叠加定理,有: 当时调节R7,R5,R1,R2,R3的值就可以调节放大倍数。其中OPA2111(左)和INA106(右)管脚图如下:对于数据处理部分我们有这样两种方案:如果温度检测部分能够直接输出数字

24、量,我们就将其直接接到单片机上进行数据处理;如果温度检测部分的输出量是模拟量,我们就必须进行信号的放大,滤波,然后进行模数转换后送到单片机里进行处理。对于最后的LCD显示模块,由于系统最终的显示结果仅仅是数字,那么我们着重考虑的就是成本问题了,几个简单的数码管加上译码器就可以解决系统的输出方案比较以及最后方案的确定从温度检测的四个方案来看,我们可以将体温计分成接触式和非接触式,显然使用前三种方法来检测的体温计是接触式的,它们必须与人体的某些部位接触较长时间才能比较准确的测量出人体的体温,但是题目要求方便婴幼儿使用,考虑到婴儿的好动性以及对材料的敏感性,我们在温度检测方面使用第四种方案,也就是红

25、外温度传感器检测温度,这是一种非接触式的温度检测方法,测量时间短,一般在数秒内就能显示结果,这种方案非常符合题目方便婴幼儿使用的要求,而且成本较前三种方案也没有明显的偏高。而在数据处理方面,由于温度传感器输出的都是模拟量,我们需要进行一定的信号放大,滤波以及模数转换,再考虑到体温计需要的测量范围并不是很宽,温度传感器的测量精度完全能符合要求,我们采用PerklinElmer Optoelectronics的TPS334红外传感器,此红外传感器有两路输出,分别是热电堆输出端和热敏电阻输出端,两个端口输出的都是电压信号,其中热电堆输出端的电压信号反应热电偶冷热两端的温度差,也就是被测物体与热电堆冷

26、端温度差,热敏电阻输出端的电信号反应的是环境温度,也就是热电堆冷端温度差,我们将这两路电信号送到ADC中,然后送到单片机中,经单片机查表分别得出热电堆的两端温差和环境温度,将两值相加就得到了物体真实的温度,然后我们把结果通过LED输出。ADC我们选用CIRRUS LOGIC公司生产的CS5521/23(如右图),它是一款16位高精度串行A/D芯片。该芯片内集成了一个仪表放大器、一个可编程增益放大器、多路开关、数字滤波器、自校正和系统校正电路。通过简单的串行连接,CS5521/23便可放方便地由MCU控制,以实现多通道高精度的A/D转换,简化了放大电路,而且价格低廉,节省了设计成本。单片机我们选

27、用的是TI公司生产的MSP430(右下图)系列单片机。MSP430 系列是一个 16 位的、具有精简指令集的、超低功耗的混合型单片机,具有 Flash 存储器,在系统设计、开发调试及实际应用上都表现出较明显的优点。具有丰富的寻址方式( 7 种源操作数寻址、 4 种目的操作数寻址)、简洁的 27 条内核指令以及大量的模拟指令;大量的寄存器以及片内数据存储器都可参加多种运算;还有高效的查表处理指令;有较高的处理速度,在 8MHz 晶体驱动下指令周期为 125 ns 。这些特点保证了可编制出高效率的源程序。 MSP430 系列单片机的中断源较多,并且可以任意嵌套,使用时灵活方便。当系统处于省电的备用

28、状态时,用中断请求将它唤醒只用 6us 。经数字化的温度信号,送到单片机进行查表处理。对于红外体温计,其对温度的刻度要求就会降低,因为它的测量范围只是很小的一段,从3542摄氏度。在这么小的范围内,就不需要复杂公式进行计算或刻度。只需要把传感器的输出电压看为是人体与环境的温差函数而不考虑被测物体和环境的具体温度值。通过单片机查表就可以得知被测物体与环境的温度差,再与热敏电阻测得的环境温度相加就可以得出被测物体的温度。这就是单片机处理数据的基本算法。我们写出了系统的软件实现框图,但限于时间和能力,我们并没有给出具体的程序。流程图如下:在显示方面,我们给出MSP430驱动LCD显示的一个例子:在驱

29、动电路中,液晶可以等效为电容。两个电极分别为公共极与段极。公共极由CMOn信号驱动,段极由SEGn信号驱动。由此可以得到4种驱动方法。(1)静态驱动:使用一个引脚作为液晶公共端COM0,而每一段段极需要另一个引脚驱动。(2)2MUX驱动:使用两个引脚作为液晶公共端COM0、COM1每两段段极需要另一引脚驱动。(3)3MUX驱动:使用三个引脚作为液晶公共端COM0、COM1、COM2,每3段段极需要另一引脚驱动。(4)4MUX驱动:使用4个引脚作为液晶公共端COM0、COM1、COM2,每4段段极需要另一引脚驱动。MSP430对液晶的驱动主要是通过液晶模块的寄存器LCDCTL和LCDMx来实现。

30、而驱动能力的不同也就是LCDMx寄存器的数量不同。显示缓存器LCDMx越多,缓存越大,显示的内容就越多。MSP430F413集成了96段液晶驱动器,具有较强的显示功能。 但由于目前我们对接口电路的知识非常有限,没有把最终的LCD的接口电路给出。最后是对系统的调试校正,由于我们没有将实物做出,我们没有在这一方面进行考虑。从这两个小小的系统设计中可以看出我们团队身上所欠缺的还很多,单片机方面的知识近乎于空白,对电子设计中常用到的一些元件、方法思路还不是很了解,系统编程方面的能力也有待提高,但不可否认我们团队存在着巨大的优势和潜力,我们团队学习能力都很强,大家对电子设计都很感兴趣,都有很强的动手能力,相信通过以后的培训再加上我们自己的努力,我们各方面的知识都能够补充完整,各方面的能力都会有所提高,一定能够在比赛中取得令人满意的成绩。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1