检测作业TCS3200在智能搬运机器人中的运用.docx
- 文档编号:11291984
- 上传时间:2023-02-26
- 格式:DOCX
- 页数:9
- 大小:319.07KB
检测作业TCS3200在智能搬运机器人中的运用.docx
《检测作业TCS3200在智能搬运机器人中的运用.docx》由会员分享,可在线阅读,更多相关《检测作业TCS3200在智能搬运机器人中的运用.docx(9页珍藏版)》请在冰豆网上搜索。
检测作业TCS3200在智能搬运机器人中的运用
TCS320颜色传感器在分拣搬运机器人中的运用
电气10-3班夏万祺学号22100309
摘要:
本次分拣搬运机器人采用TCS230颜色传感器作为物块颜色检测的传感器,TCS230对不同的颜色会输出不同频率的方波,通过ATmega32的定时计数器可以对TCS230输出的方波频率进行测量,判断相应频率对应的颜色,从而达到颜色检测的目的。
关键词:
TCS230光电二极管阵列频率定时计数器
1.引言
随着现代工业生产向高速化、自动化方向的发展,颜色识别广泛应用于各种工业检测和自动控制领域,而生产过程中长期以来由人眼起主导作用的颜色识别工作将越来越多地被相应的颜色传感器所替代。
如:
各种物体表面颜色识别(工厂物料分拣,产品包装色标检测,产品外表特征颜色的检测,液体溶液颜色变化过程的检测与控制,等等)。
目前市场上较流行的颜色识别传感器主要有彩色摄像头和TAOS公司生产的TCS3200。
虽然彩色摄像头有着更高的分辨率及检测范围,但由于其图像识别算法复杂,对MCU性能要求较高而不被简单检测场合普遍使用。
取而代之的是TCS230。
TCS230它对光的动态响应范围大于250,000~1,标准输出频率范围为2Hz~500kHz。
使用者可以对100%、20%、2%或者是动力关闭模块的输出量程进行选择使用。
TCS230在不需要DCs的情况下,给每个彩色通道至少能提供10字节的分辨率。
TCS230可以用于彩色打印机、医疗诊断、LED检测、液体颜色识别、电脑彩色监控标准、颜色产品加工控制、和油漆、纺织品、化装品及打印材料的彩色搭配等颜色检测产品等等,具有着广阔的应用市场。
本文就TCS230在分拣搬运机器人中的应用作一些讲解。
2.解决方案
考虑到机器人的制作成本,算法程序的简易化和稳定化,本次分拣搬运机器人采用TCS230颜色传感器作为检测物块颜色的传感器,用ATmega32单片机对TCS230采集到的信号进行处理,确认物块的颜色,达到分拣搬运机器人的分拣部分操作的目的。
并将TCS230与ATmega32封装在同一块32*29mm的PCB板上,提高线路的稳定性和可靠性。
3.测量原理
TCS230采用8引脚的SOIC表面贴装式封装,在单一芯片上集成有64个光电二极管。
这些二极管共分为四种类型。
其中16个光电二极管带有红色滤波器;16个光电二极管带有绿色滤波器;16个光电二极管带有蓝色滤波器;其余16个不带有任何滤波器,可以透过全部的光信息。
这些光电二极管在芯片内是交叉排列的,能够最大限度地减少入射光辐射的不均匀性,从而增加颜色识别的精确度;另一方面,相同颜色的16个光电二极管是并联连接的,均匀分布在二极管阵列中,可以消除颜色的位置误差。
工作时,通过两个可编程的引脚来动态选择所需要的滤波器。
TCS3200的管脚图如图1所示,VCC,GND是信号的电源引脚,为芯片提供工作电源;OE是频率输出使能引脚,亦可作为片选信号使用;OUT是芯片的输出引脚,输出频率信号。
S0,S1,S2,S3用于控制传感器工作状态。
其中,S0,S1控制芯片频率输出的比例因子,高低电平的组合风别对应着100%、20%、2%和关闭输出状态,更具表1可知。
S2、S3用于选择滤波器的类型,不同的滤波器对应着不同的光敏感,当入射光作用到芯片上时,TCS3200根据不同的光强和颜色输出不同频率的信号,根据表1可知,当S2,S3为低电平时,芯片输出信号对应红色光强;当S2,S3为高电平时,芯片输出信号为绿色光强;当S2为低电平S3为高电平时,芯片输出信号对应蓝色光强;当S2为高电平S3为低电平时,芯片输出信号对应所有颜色的光强,即芯片将颜色转换为灰度值,根据测量数据,可分析投到
芯片上光的颜色。
图1TCS3200管脚图
表1TCS3200功能配置表
4.颜色检测模块硬件电路
为了让分拣搬运机器人的线路连接更稳定,组装调试更方便和精简机器人自身体积,让机器人更加美观,所以将TCS3200颜色传感器和MCU(ATmega8)封装在同一块PCB板上,集成为一个专门检测颜色的模块,颜色检测部分就由ATmega8单独控制,最终将检测到的三种颜色分别以高电平的形式通过mega8的三个I/O口输出,再将这三个电平信号传送给机器人的主控芯片ATmega32,(即将刚刚mega8输出颜色信号的三个I/O口与maga32的三个I/O口连起来)通过读取mega32的这三个I/O口的电平信号确定前端检测到的颜色信号。
具体的电气连接图见图2。
主要有maga32主控芯片,mega32最小系统,三个电位器,四个用于白光平衡白色高亮LED,TCS3200颜色传感器,纹波滤波电容,上下拉电阻等等。
图2颜色检测模块电路图
图3:
颜色检测模块PCB图
图3:
颜色检测模块PCB3D模型图
5.软件部分
软件编程是在AVR专用编译软件ICCV7下用C语言编程的。
关键程序
//..............初始化函数..................//
//....................................................//
voidinit(void)
{TCCR0|=0X05;//选择T/C0时钟为1024分频,
打开溢出中断,设置为定时模式
TCCR1B|=0X06;//T/C1配置为计数模式,下降沿驱动
TCNT0=0X64;//T/C0赋初值,定时20ms
TIMSK|=0X01;//T/C0溢出中断使能
SREG|=BIT(7);//全局中断使能
}
//...............T/C0溢出中断函数................//
//..........................................//
voidjishu(void)
{
i--;
if(i==0)
{
TCCR1B=0X00;//关闭T/C1的计数
TCCR0=0X00;//关闭T/C0
pinlv=TCNT1L;//读取计数值
pinlv=TCNT1H*256+pinlv;
TCNT1H=0X00;//清空计数值
TCNT1L=0X00;
i=5;
TCNT0=0X64;//重新赋初值
TCCR0|=0X05;//重新打开T/C0
TCCR1B|=0X06;//再次开始计数
}
else
{
TCNT0=0X64;
return;
}
}
//.................AD转换........................
//...............................................
unsignedintget_adc(unsignedcharchannel)//channel变量为选择通道的形参
{
unsignedintad_result;
ADMUX=ADMUX&0xc0;//设定转换通道,数值右对齐
ADMUX=ADMUX|channel;//选择通道
ADCSRA=0X80;//开启AD
ADCSRA|=BIT(ADSC);
while(!
(ADCSRA&(BIT(ADIF))));//等待转换完成
ad_result=ADCL;//读取数据
ad_result=ad_result+ADCH*256;
ADCSRA=ADCSRA|0X10;//完成标志清零
ADCSRA=ADCSRA&0X3F;//关闭AD
returnad_result;//送出转换值
}
voidmain(void)
{
ucharget=10;
DDRD=0XFF;
DDRC=0XFF;
DDRB=0X00;
PORTC=0X00;
init();//初始化函数:
中断开始,计数开始
while
(1)
{
get=jianse();
If(get==0)
{PORTC=0X80;}
elseif(get==1)
{PORTC=0X20;}
elseif(get==2)
{PORTC=0X40;\}
else
{PORTC=0X00;}
}
}
6.结论
采用TCS230结合ATmega32可以方便快捷地将物料的颜色检测出来,为机器人分拣提供参考信号,达到分拣的目的。
参考文献:
1.AVR,ATmega32技术手册2503F-AVR-12/03版
2.TAOS,TCS230技术手册
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 检测 作业 TCS3200 智能 搬运 机器人 中的 运用