-
题目九:色彩识别装置
设计要求:设计一个装
置,对
30cm
左右的一张有色纸,装置能够在自然光或者辅助
光配合
下,
识别出有色纸的颜色,
并用
汉字显示出来。
装置的识别效果的衡量,
以与肉眼识别吻合
p>
为佳。
题目分析:本题要求设计一个色彩
识别装置,该装置能够在自然光或者辅助光源的配合下,
识别出一定距离(
30cm
)内的有色纸的颜色,并可以在屏幕上将识别结果用汉字显示出,<
/p>
颜色的承载体是纸张,颜色环境相对简单,色彩的辨别以人眼识别的为准(非
CIE
色度学颜
色)
,可采
用
ColorChecker
卡
24
种颜色作为参照标准。
在许多应用中,颜色的辨别具有重要作用,如材料、工业自动化、遥感技术、图像处理、产
品检测,还是某些模糊的探测技术都需要对颜色进行探测。通过传感器或
CCD/CMOS
图像
传感器检测进而识别颜色是两种常见的检
测手段。
设计方案:
鉴于模块化设计在系统设
计中的优越性,我们将该系统分为以下
4
个模块:
主要实现方式有以下几种
方案一:采用非晶硅彩色传感器,经信号处理电路处理后,利用微处理器(单片机)作为控
制器,外接显示器输出测量结果。系统的实现框图如下:
标准光源
有
色
纸
非
晶
硅
p>
I
/
U
转
换
电
压
放
大
滤
波
< br>缓
存
器
锁
I
/
U
转
换
电
压
p>
放
大
滤
波
模
拟
开
关
A/D
转
换
单
片
存
< br>器
EP
ROM
I
U
转
换
I
/
U
转
换
缓
存<
/p>
器
机
8
1
5
5
键
盘
电
p>
压
压
放
大
放
大
滤
波
显
示
压
放
大
方案二:
利用
CCD/CMOS
传感器,将采集的数据输入到计算机,通过软件进行分析,在屏幕上
输出
结果,
典型的方案是将数码相机
(
或者摄像头)
采集的数据传输到计算机,
通过软件
Matlab
编写模糊神经网络程序进行分析。
光源
色
样
CCD
CMOS
滤波
图像
处理
模糊
神经
网络
输
出
方案三:选用
Photo sensor
颜色信号进行提取和采集
,
采用基于人工神经网络的高速并行
模数
转换模式进行数据的模数转换
,
嵌
入式系统对数据进行处理
,
完成筛选和分拣工作
,
系统结构
如图所示
.
方案四:
利用可编程彩色光到频率的传感器
TCS230
进行信号的收集
与处理,
单片机
SPCE061A
进行
数据的分析处理,并将结果通过显示输出电路输出。
方案比较:
方案一是目前常用的,
颜色传感器通常是在独立的光电二极管上覆盖经过修正的红绿蓝
滤光
片,然后对输出信号进行相应的处理,输出的是模拟信号,需要
A/D
电路进行采样、转换,
才能被微处理器识别,增加了
电路的复杂性,存在较大误差,影响了识别效果。
方案二的识
别精度较高,但涉及图像处理,算法复杂,软件开销大,硬件成本高。
方案三具有检测速度快,
可靠性高等优点,
但同样其成
本高,
算法复杂,
一般用于专业领域。
方案四给出了一种基于数字颜色传感器
TCS230
和
16
位单片机
SPEC
061A
及
LCD
显示的颜色
识别系统。
TCS230
是美国
TAOS
公司推出的一款可编程光频率转换传感器,
这
种传感器输出
和入射光基色分量成正比的频率信号,
能够和微处
理器直接接口,
因此可以简化系统的设计
实现。
本组成员都是电气硕班的,
对光学系统的知识储备不是很足,
< br>对于方案一中的光学系
统把握不是很大,
再加上方案一中
涉及较多模拟电路,
稳定性不高,
调试时间长,
精度不如
集成系统,
另外方案二和方案三的成本明显偏
高,
技术复杂,
因此我们选择了方案四,
即采
用
TCS230
颜色传感器用作
系统的信号采集和处理,通过单片机对数据处理后输出到
LCD
显
示器。
当然,
对于方案四我们还有许
多问题亟待解决,
比如我们对单片机还不是很了解,
对
汇编语言,
微机接口等方面的知识还需要完善,
但我们拥有极强的求知欲望和学习能力,
在
可以预见的将来,我
们会将所欠缺的知识补上。
系统的原理分析
TCS230
将光电二极管阵列、电流
/
频率转换器和红绿蓝三基色滤光器集成为一体。在由
64
p>
个光电二极管组成的光敏阵列中
,
各有
p>
16
个光电二极管分别用于转换彩色光中的红、绿、蓝
基色成分
,
剩余
16 <
/p>
个光电二极管不带颜色滤波器
,
可接受所
有光色信息。
这些光电二极管在芯
片内是交叉排列的
,
能够最大限度地减少入射光辐射的不均匀性
,<
/p>
从而增加颜色识别的精确度
;
另一方面<
/p>
,
相同颜色的
16
个光电二极管是并
联连接的
,
均匀
分布在二极管阵列中
,
可以消除
颜色的
位置误差。图
1
是
TCS230 <
/p>
的外部引脚
和内部功能结构示意图
,
p>
当入射光投到
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
< br>器件
应用场合
,OE
引脚信号可
用作器件的片选。
硬件设计
在单片机的选择上,
我们遇到了一点困难,
小组内成员对单片机
知识储备不够,
无法准确选
择恰当功能性能的单片机,
在参考相关文献资料后,
我们选择了集成度较高,
功能较全面的
16
位单片机
SPC
E061A
(
其实在初期的查资料过程中,我们也发现了其他更
多的单片机,比
如:
MCS-51
、<
/p>
SPCA563B
、
AT89S52
p>
等等,
它们也许更适合本系统的设计,
但它
们的功能单一,
外围借口复杂,需要其它的配套电路,考虑到设计的难度,我们并没有选
择它们
)
,在此单
片机的选择上更多的
是从设计的方便上考虑的,没有更全面的考虑到成本功耗等方面的因
素。因此我们小组成
员今后需要学习一些单片机的知识。
SPECE061A
p>
是
Sunplus
公司的
< br>16
位单片机,具有丰富的可编程资源,包括
32K
p>
字内嵌
Flash
储存
器
(这是我们选择它的原因之一,大容量储存器,减少了外围储存器及其电路的设计
)
、强
大的中断系统、
2
个
16
位定时器
/
计数器、
2
个
16
p>
位通用
I/O
端口
IOA
和
IOB
,以及同步串行设备<
/p>
接口和异步
UART
接口等。
图中
TCS230
的
S0
、
S1
、
S2
、
S3
分别接
SPCE061A
单片机
I/ O
口
的
IOB5
、
IOB6
、
IOB3
和
IOB4 ,
由此控制选择输出频率
定标参数和输出基色信号
,TCS230
的
输出方波信号
(OU T)
频率通过
IOB2
测量。
如图
2
所示
,SPCE061A
中的
IOB2
除了通常的输入
/
输出
端口功能外
,
还可以用作
SPCE061A
内部
16
位定时
/
计数
器
TimerA
时钟源
A
的外部计数
脉冲输入
EXT1
。
因此
,
若在
TimerB
定时时间到时读取
TimerA
计数
器
的值
,
就可以分别计算出
TCS230
的
3
种基
色信号输出频率
,
进而确
定红、
绿、
蓝基色值和相应合成颜
色。
题目要求将检测结果用汉字输出,
普通的
LED
数码管显然满足不了要
求,因此在这一部分我们选择了点阵
LCD
显示器。然
而,
通过单片机显示汉字也存在很多难
题。
首先,单片机资源有限,我们不能为了显示汉字占用太多的资源;其次,汉字存储读取
比较繁琐,使用不方便;第三,汉字占用空间太多(如
16
点
阵,每个汉字就需
32
字节)
,因
p>
而通常把汉字库放在
EEPROM
里,需要
显示某个汉字时,先算出它的区位码,再求出点阵
起始位置,从
EEPROM
中顺序调出该字的点阵数据,存在缓冲区里,最后依次送往
LCD
显
示,描出该字。这与
LCD
显示方式有一定差别。
考虑到
本系统用到的汉子资源有限,
我们可以预先将用到的汉字符号等进行编码,
编成
一个文本文件,
用一段小程序做出相应小的汉字
库,
这个小字库的汉字点阵数据取自于一般
汉字库。再经过转换
和调整,得到新的汉字库,最后把新字库固化在
EEPROM
中
。单片机
只需按序号读出
点阵字节,
送往
LCD
即可显示所需汉字。减轻了单片机的负担,去除了繁
琐的查找内码、求起始位置、转换、调整等工作,提高系统可靠性。
然而,即使是这样,也是对我们的巨大挑战,由于没有任何经验可循,并且时间仓
促,
我们最终放弃了这一想法,
但这一方案是可行的,
且实现成本相对较低。
我们今后需要在这
方面填
补知识的盲区。
最终我们选择了
LC
M12832ZK
作为系统的输出设
备。
LCM12832ZK
显示内容
128x32
点阵,内带
8000
多
GB1
、
2
中文汉字字库,
集成了显
示控制器
p>
ST7920
,
(
这是我们看
重它的主要原因,集成了字库,简
化了字库及驱动电路的设计
)
,但
缺点也是显而易见的,成本偏高,
且功能发挥不完全。
-
-
-
-
-
-
-
-
-
上一篇:牛津上海版英语7A讲解材料
下一篇:无机与分析化学-试题答案