基于TCS3200颜色识别的自动分拣系统毕业设计论文Word格式文档下载.docx

上传人:b****5 文档编号:20484043 上传时间:2023-01-23 格式:DOCX 页数:28 大小:1.68MB
下载 相关 举报
基于TCS3200颜色识别的自动分拣系统毕业设计论文Word格式文档下载.docx_第1页
第1页 / 共28页
基于TCS3200颜色识别的自动分拣系统毕业设计论文Word格式文档下载.docx_第2页
第2页 / 共28页
基于TCS3200颜色识别的自动分拣系统毕业设计论文Word格式文档下载.docx_第3页
第3页 / 共28页
基于TCS3200颜色识别的自动分拣系统毕业设计论文Word格式文档下载.docx_第4页
第4页 / 共28页
基于TCS3200颜色识别的自动分拣系统毕业设计论文Word格式文档下载.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

基于TCS3200颜色识别的自动分拣系统毕业设计论文Word格式文档下载.docx

《基于TCS3200颜色识别的自动分拣系统毕业设计论文Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于TCS3200颜色识别的自动分拣系统毕业设计论文Word格式文档下载.docx(28页珍藏版)》请在冰豆网上搜索。

基于TCS3200颜色识别的自动分拣系统毕业设计论文Word格式文档下载.docx

伴随着不同的数字化技术的发展以及步进电机本身技术的提高,步进电机将会在更多的领域得到应用。

3.原理

步进电机是机电控制中一种常用的执行机构,它的用途是将电脉冲转化为角位移,它的的驱动电路根据控制信号工作,控制信号由单片机产生。

当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,控制换相顺序,即通电控制脉冲必须严格按照一定顺序分别控制各相的通断。

通过控制脉冲个数即可以控制角位移量,从而达到准确定位的目的。

控制步进电机的转向,即给定工作方式正序换相通电,步进电机正转,若按反序通电换相,则电机就反转。

控制步进电机的速度,即给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步,两个脉冲的间隔越短,步进电机就转得越快。

同时通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。

4.实物

(二)、颜色传感器TCS3200

1.结构框图

从图1可知:

当入射光投射到TCS230上时,通过光电二极管控制引脚S2、S3的不同组合,可以选择不同的滤波器;

经过电流到频率转换器后输出不同频率的方波(占空比是50%),不同的颜色和光强对应不同频率的方波;

还可以通过输出定标控制引脚S0、S1,选择不同的输出比例因子,对输出频率范围进行调整,以适应不同的需求。

图1TCS230的引脚和功能框图表1S0、S1及S2、S3的组合选项

下面简要介绍TCS230芯片各个引脚的功能及它的一些组合选项。

S0、S1用于选择输出比例因子或电源关断模式;

S2、S3用于选择滤波器的类型;

OE是频率输出使能引脚,可以控制输出的状态,当有多个芯片引脚共用微处理器的输入引脚时,也可以作为片选信号;

OUT是频率输出引脚,GND是芯片的接地引脚,VCC为芯片提供工作电压。

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

2.原理

由上面的介绍可知,这种可编程的彩色光到频率转换器适合于色度计测量应用领域,如彩色打印、医疗诊断、计算机彩色监视器校准以及油漆、纺织品、化妆品和印刷材料的过程控制和色彩配合。

下面以TCS230在液体颜色识别中的应用为例,介绍它的具体使用。

首先了解一些光与颜色的知识。

(1)三原色的感应原理

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

白色是由各种频率的可见光混合在一起构成的,也就是说白光中包含着各种颜色的色光(如红R、黄Y、绿G、青V、蓝B、紫P)。

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

(2)TCS3200识别颜色的原理

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

对于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.应用中需要注意的问题

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

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

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

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

4.引脚功能

TCS3200的引脚排列如图2所示,各管脚的功能描述见表1所列。

表1TCS230管脚功能

引脚号

符号

类型

功能说明

1

S0

I

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

2

S1

3

OE

输入频率使能端。

低电平有效

4

GND

电源地

5

VDD

电影电压

6

OUT

O

输出频率(fo)

7

S2

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

8

S3

 

(三)、单片机STC89C52

1.功能概述

AT89C52提供以下标准功能:

4K字节FLASH闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个向量两级中断结构,一个全双工串行通讯口,内置一个精密比较器,片内振荡器及时钟电路,同时AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的工作模式,空闲方式停止CPU的工作,但允许RAM,定时计数器,串行通信及中断系统继续工作。

掉电方式保存RAM中的内容,但振荡器停止工作,并禁止其它所有部件工作直到下一个硬件复位。

2.引脚功能及其分布图

VCC:

电源电压;

GND:

地;

P0口:

P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。

作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口写1可作为高阻抗输入端用。

在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。

在FLASH编程时,P0口接受指令字节,而在程序效验时,输出指令字节,效验时,要求外接上拉电阻。

P1口:

P1口是一个带有内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。

对端口写1,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。

作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉底时会输出一个电流。

FLASH编程和程序效验期间,P1接收低8位地址。

P2口:

P2口是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑们电路。

在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。

在访问8位地址的外部数据存储器(如执行MOVX@RI)时,P2口线上的内容(也即特殊功能寄存器(SFR)区中R2寄存器的内容),在整个访问期间不改变。

FLASH编程或效验时,P2亦接收高位地址和其它控制信号。

P3口:

P3口是一个带有内部上拉电阻的8位双向I/O口,P3的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑们电路。

P3口除了作为一般的I/O口线外,更重要的用途是他的第二个功能,如下表所示:

表1P3口AT89C2051特殊功能

端口引脚

功能特性

P3.0

RXD(串行口输入)

P3.1

TXD(并行口输入)

P3.2

INT0(外部中断0)

P3.3

INT1(外部中断1)

P3.4

T0(定时计数外部输入0)

P3.5

T1(定时计数外部输入0)

P3.6

(外部数据存储器写选通)

P3.7

(外部数据存储器读选通)

P3口还接收一些用于FLASH闪速存储器编程和程序效验的控制信号。

RST:

复位输入。

其引脚一旦变成两个机器周期以上的高电平,所有的I/O口都将复位到1状态,当振荡器正在工作时,持续两个机器周期以上高电平便可完成复位,每个机器周期为12个振荡时钟周期。

EA/VPP:

外部访问允许,欲使CPU仅访问外部程序存储器(0000H—FFFFH),EA端必须保持低电平接地,需注意的是:

如果加密位LB1被编程,复位是内部会锁存EA端状态。

如EA端为高电平(接VCC端),CPU则执行内部程序存储器中的指令。

FLASH存储器编程时,该引脚加上+12V的编程允许电源VPP,当然这必须是该器件是使用12V编程电压VPP。

XTAL1:

振荡器反相放大器的及内部时钟发生器的输入端。

XTAL2:

振荡器反相放大器输出端

(四)、液晶显示1602

1.简介

工业字符型液晶,能够同时显示16x02即32个字符。

(16列2行)

注:

为了表示的方便,后文皆以1表示高电平,0表示第电平。

2.管脚功能

第1脚:

VSS为地电源

第2脚:

VDD接5V正电源

第3脚:

V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度

第4脚:

RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。

第5脚:

R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。

当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。

第6脚:

E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。

第7~14脚:

D0~D7为8位双向数据线。

第15脚:

背光电源正极

第16脚:

背光电源负极

3.操作控制

操作控制表

操作

读状态

写指令

读数据

写数据

输入

RS=0,RW=1,E=1

RS=0,RW=0,

D0~7=指令码,E=H脉冲

RS=1,RW=1,E=1

RS=1,RW=0,

D0~7=数据,E=H脉冲

4.实物

(五)、语音播报WT588D

1.功能概述

WT588D语音芯片是一款功能强大的可重复擦除烧写的语音单片机芯片。

WT588D让语音芯片不再为控制方式而寻找合适的外围单片机电路,高度集成的单片机技术足于取代复杂的外围控制电路。

配套WT588DVoiceChip上位机操作软件可随意更换WT588D语音单片机芯片的任何一种控制模式,把信息下载到SPI-Flash上即可。

软件操作方式简洁易懂,撮合了语音组合技术,大大减少了语音编辑的时间。

完全支持在线下载,即便是WT588D通电的情况下,一样可以通过下载器给关联的SPI-Flash下载信息,给WT588D语音芯片电路复位一下,就能更新到刚下载进来的控制模式。

2.引脚分布及实物

(六)、霍尔开关传感器

1.原理

霍尔开关集成电路应用霍尔效应原理,采用半导体集成技术制造的磁敏电路,它是由电压调整器、霍尔电压发生器、差分放大器、史密特触发器,温度补偿电路和集电极开路的输出级组成的磁敏传感电路,其输入为磁感应强度,输出是一个数字电压讯号。

2.电磁特性

3.产品特点及应用

产品特点

.体积小

.灵敏度高

.响应速度快

.温度性能好

.精确度高

.可靠性高 

典型应用

.无触点开关

.汽车点火器

.刹车电路

.位置、转速检测与控制

.安全报警装置

.纺织控制系统

4.实物

(七)、红外线

1.工作原理

利用红外线的物理性质来进行测量的传感器。

红外线又称红外光,它具有反射、折射、散射、干涉、吸收等性质。

任何物质,只要它本身具有一定的温度(高于绝对零度),都能辐射红外线。

红外线传感器测量时不与被测物体直接接触,因而不存在摩擦,并且有灵敏度高,反应快等优点。

2.主要应用及实物

红外线传感器常用于无接触温度测量,气体成分分析和无损探伤,在医学、军事、空间技术和环境工程等领域得到广泛应用。

例如采用红外线传感器远距离测量人体表面温度的热像图,可以发现温度异常的部位,及时对疾病进行诊断治疗(见热像仪);

利用人造卫星上的红外线传感器对地球云层进行监视,可实现大范围的天气预报;

采用红外线传感器可检测飞机上正在运行的发动机的过热情况等。

(八)、其它

固定支架、红绿蓝白三种小球、电源线、串口转接线、简易装置

三、系统软件示意

1.系统示意图

2.软件流程图

3.算法流程图

4.编程软件

使用KeiluVision2、STC_ISP_V479等,程序如见“附录”。

5.原理图及PCB

6.核心原理

TCS3200扫描控制模块,频率测量模块,按键扫描模块、显示控制模块和电机控制模块,其中核心模块为频率测量模块。

根据原理部分的分析本设计采用了测周期法完成频率测量的目的,即在固定数量的被测信号周期内对标准时钟计数的方式测量频率,公式如下:

f=(N/counter)*F。

其中,N:

被测信号计数脉冲数;

f:

被测信号频率;

counter:

标准时钟计数值;

F。

标准时钟频率

四、实验结论

硬件、软件测试分析

1、步进电机没有回到原点:

霍尔传感器出现错误

2、红外线没有检测到小球:

传感器位子没有对准

3、小球语音报错:

采样出错,识别出错

4、分拣位子送错:

步进电机脉冲选择有误

5、软件程序没有输入到单片机里

6、如无上述现象,在工作台上放置本装置,实现

功能,即本设计调试正确

五、致谢

从学校中的理论知识到实训中的实践操作,我们将有更充分的实践去挑战我们的工作,虽然短暂,锻炼了我们动手的能力,同时也锻炼了我们的团队合作精神。

我要感谢我们的学校给予我这样一个锻炼的机会,感恩在我成长路上帮助过我的所有老师!

感谢我的导师侯秀丽,她严谨细致、一丝不苟的作风一直是我工作、学习中的榜样;

她循循善诱的教导和不拘一格的思路给予我无尽的启迪。

感谢我的实训老师,这片论文的每个实验细节和每个数据,都离不开你的细心指导。

而你开朗的个性和宽容的态度,帮助我能够很快的融入我们这个新的实验室

六、附录

#include"

reg52.h"

comdef.h"

TCS3200.h"

step.h"

key.h"

LCD1602.h"

voice.c"

/*系统中断说明:

外部中断0:

步进电机回原点触发霍尔传感器:

输出接P32颜色识别的OUT接P35.

定时器0、1:

定时器0产生1ms的计数周期,定时器1外部计数模式,配合完成计算频率

外部中断1:

独立按键*/

externuint8STEPDELAY;

externuint16RGB[3][3];

uint8Mode=0;

//初始化采样标准值时,用于选择当前对哪种颜色进行采样1:

Red2:

Green3:

Blue

sbitBallExit=P3^3;

voidDelay(uint16m)

{uint8base=120;

while(m--)

for(base=120;

base;

base--);

}

main()

{uint8Ball=0,Count=10;

uint16R=0,G=0,B=0;

EX0=1;

/*外部中断0允许*/

PX0=0;

/*外部中断0优先级低*/

IT0=1;

/*边沿触发方式中断*/

EX1=0;

/*外部中断1允许*/

PX1=0;

/*外部中断1优先级低*/

IT1=1;

TCS3200_Init();

LCD_Init();

EA=1;

Step_Init();

//回原点

Delay(1000);

//while

(1)Step(STEPBACKWARD,FULLSTEP,29000/18);

//电机测试

LCD_Disp_String(0,0,"

Normal"

);

while(Mode<

4){

if(KEY1==Key_Scan()){

while(KEY1==Key_Scan());

Mode++;

switch(Mode){

case1:

LCD_Disp_String(0,0,"

RedBall"

Read_Voice(7);

Read_Voice

(1);

Delay(1000);

break;

//请放入红球

case2:

GreenBall"

Read_Voice

(2);

//请放入绿球

case3:

BlueBall"

Read_Voice(7);

Read_Voice(3);

//请放入篮球

}

}

if(KEY2==Key_Scan()){Read_Voice(6);

//系统正在为你采样

while(KEY2==Key_Scan());

if(Mode){

//每个球采样10次,求平均值

while(Count--){

Prameter_Calibration(Mode-1);

R+=RGB[Mode-1][0];

G+=RGB[Mode-1][1];

B+=RGB[Mode-1][2];

Delay(10);

}

RGB[Mode-1][0]=R/10;

RGB[Mode-1][1]=G/10;

RGB[Mode-1][2]=B/10;

R=0;

G=0;

B=0;

Count=10;

LCD_Disp_Byte_Dec(1,1,RGB[Mode-1][0]);

LCD_Disp_Byte_Dec(4,1,RGB[Mode-1][1]);

LCD_Disp_Byte_Dec(7,1,RGB[Mode-1][2]);

}

LCD_Clear();

InitOk"

Read_Voice(8);

//采样结束

//UART_Send_String("

SystemstartupOk\r\n"

19);

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

当前位置:首页 > 高等教育 > 农学

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

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