光电检测技术课程设计流水线光电计数器的设计.docx
- 文档编号:11080915
- 上传时间:2023-02-24
- 格式:DOCX
- 页数:15
- 大小:125.08KB
光电检测技术课程设计流水线光电计数器的设计.docx
《光电检测技术课程设计流水线光电计数器的设计.docx》由会员分享,可在线阅读,更多相关《光电检测技术课程设计流水线光电计数器的设计.docx(15页珍藏版)》请在冰豆网上搜索。
光电检测技术课程设计流水线光电计数器的设计
光电检测技术
课程设计
流水线光电计数器的设计
仪器科学与工程学院
组长:
组员:
1引言2
2设计内容及要求2
2.1基本内容2
2.2提高要求2
3光电计数器的系统设计3
3.1系统硬件设计3
3.1.1各模块组成4
3.1.2系统总电路图7
3.2软件程序设计8
4结束语11
参考文献11
流水线光电计数器的设计
摘要:
本系统采用的是以单片机AT89C52为核心的自动计数器。
将红外发光管与光电接收管相对放置,每当物体通过一次,光电接收管的输出电压就发生一次变化,这个变化的电压信号通过放大和处理后,输入至单片机AT89C52的P3.2口,通过软件控制并以LED加以显示,便可以实现对物体的计数统计。
本计数器可将机械或人工计数方式变为电子计数,并且采用LED数码管显示,可适用于诸多行业。
关键词:
自动计数器,计数触发,光电式传感器
Thedesignofphotoelectriccounter
Keywords:
automaticcounters,countingtrigger,photoelectricsensor
1引言
21世纪是信息时代,获取信息,处理信息,运用信息。
传感与检测技术的
重要性在于它是获得信息并对信息进行必要处理的基础技术,是获取信息和处理加工信息的手段,无法获取信息则无法运用信息。
在啤酒、汽水和罐头等灌装生产线上,常常需要对随传送带传送到包装处的成品瓶进行自动计数,以便统计产量或为计算机管理系统提供数据。
而数字式电子计数器有直观和计数精确的优点,目前已在各种行业中普遍使用。
数字式电子计数器有多种计数触发方式,它是由实际使用条件和环境决定的,通常分为接触式计数器和非接触式计数器两种。
本次设计的光电计数器为非接触式计数器中的一种。
光电式传感器是将光信号转化为电信号的一种传感器。
它的理论基础是光电效应。
这类效应大致可分为三类。
第一类是外光电效应,即在光照射下,能使电子逸出物体表面。
利用这种效应所做成的器件有真空光电管、光电倍增管等。
第二类是内光电效应,即在光线照射下,能使物质的电阻率改变。
这类器件包括各类半导体光敏电阻。
第三类是光生伏特效应,即在光线作用下,物体内产生电动势的现象,此电动势称为光生电动势。
这类器件包括光电池、光电晶体管等。
光电效应都是利用光电元件受光照后,电特性发生变化。
敏感的光波长是在可见光附近,包括红外波长和紫外波长。
随着科学技术的发展,电子计数器的辅助功能也逐渐增加,现在已经出现了多功能计数器,多功能计数器产品的响应度较高,交直、流电两用、耗能低、价格低、无机械碰撞、无磨损、使用寿命长,既可计数,又可计算。
例如在毛衣编织机上运用,除可计数和计算外,还可实现断线报警。
通用计数器不仅可测频率、周期还可以测多周期平均、时间间隔、频率比和累计等。
系列化微波计数器是电子计数器发展的一个重要方面。
由于有光电计数的设计理念,因此有了光电计数的发展。
在市场电子计数器行业需求增长有所减缓的现状下,产能扩张的势头并没有得到较好的控制。
产能过剩、重复建设不仅导致生产与消费的失衡,而且还引发了电子计数器行业内的一系列恶性价格竞争,影响了电子计数器行业业的盈利能力。
由于当前电子计数器行业效益下滑,所以对电子计数器行业企业授信更要慎重。
必须关注电子计数器行业子行业,关注电子计数器行业上下游企业,优化客户结构,针对电子计数器行业行业需求进行新产品开发。
2设计内容及要求
2.1基本内容
本次设计光电计数器,使用红外发光二极管、红外接收管,实现计数功能。
实际工作示意图:
通过对光电传感器经过比较器输出的脉冲数计数,计数出产品数。
通过LED数码管显示出来。
3光电计数器的系统设计
3.1系统硬件设计
检测部分使用红外对管:
发射管和接收管。
当物体穿过光路时,接收头输出为高电平,反之则为低电平,接收头的电平信号经由一电压比较器反相后送入CPU。
接单片机P3.2口,启动计数器开始计数,并将计数后所得的数据送给LED显示。
系统原理框图如图2.1所示。
图3.1系统电路原理图
本系统的硬件电路由光电转换、单片机系统、计数显示组成。
3.1.1光电转换
图3.2光电转换电路
红外对管和R1,R2组成的光电检测电路,负责把被检测的数量转换成电压脉冲信号。
工作时红外发光管发出的红外光线投射到光敏三极管上,光敏三极管导通,集电极输出低电平;当红外光线被检测物遮断时,光敏三极管截止,集电极输出高电平。
遮断一次输出一个脉冲,因此脉冲的个数就是被检测物的数量。
红外对管中红外发光管的正向电流为50mA,在环境温度为25°C时,它的最大耗散功率100mW,正向压降1.5V。
当环境温度上升时,允许的正向工作电流还要减小。
为了留有一定的欲量,取它的工作电流为20mA。
则
R1=
=175ῼ
取R1=200ῼ,其中5V是电源电压,1.5V是红外发光管的正向压降。
根据红外对管的计数手册可知:
使红外发光管的正向电流为20mA,当有遮挡时,光敏三极管Iceo=100nA;无遮挡时,光敏三极管的Ic=0.7mA.为了使光敏三极管能工作在开关状态,则
R2=
=6.7Kῼ
取R2=10Kῼ,其中5V是电源电压,0.4V是光敏三极管的饱和压降。
红外对管的输出脉冲信号加到一个迟滞比较器(或者称作施密特触发器)。
它有两个门限电压,分别称作上门限电压V1和下门限电压V2,两者的差值称为门限宽度获迟滞宽度,即:
ΔV=V1-V2
假设比较器输出高电平V3,则V3和Vcc共同加到同向输入端的合成电压:
V=
V3+
Vcc
当比较器输出为低电平V4时,按同样的分析求得加到同向输入端的合成电
压为:
V5=
V4+
Vcc
若Vi有大减小的通过V5时,则Vo由Vo1上跃到Vo2。
可见,上式所示的V5就是比较器的下门限电压,即V2=V5.相应的迟滞宽度为:
ΔV=V1-V2=
(Vo1-Vo2)
调节R1和R2,可以改变ΔV.
同时Tw=2ln(1+
)
在实际应用中,利用迟滞比较器可以有效的克服噪声和干扰的影响,利用迟滞比较器,只要噪声和干扰的大小处在迟滞宽度内,就不会引起错误的阶跃。
因此,当被测物每遮挡一次红外对管时,施密特触发器输出一个宽度为Tw的脉冲,该脉冲送到计数器去计数和显示。
C4是滤波电容,可提高单稳态触发器的工作稳定性。
3.1.2单片机系统
此设计采用的是AT89C2052单片机进行控制计数。
AT89C52是51系列单片机的一个型号,它是ATMEL公司生产的。
AT89C52是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。
AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。
其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。
兼容MCS51指令系统·8k可反复擦写(>1000次)FlashROM
·32个双向I/O口·256x8bit内部RAM
·3个16位可编程定时/计数器中断·时钟频率0-24MHz
·2个串行中断·可编程UART串行通道
·2个外部中断源·共6个中断源
·2个读写中断口线·3级加密位
·低功耗空闲和掉电模式·软件设置睡眠和唤醒功能
3.1.3计数原理(单片机外部中断)
1. 中断的定义
所谓“中断”,是指计算机在执行某一段程序的过程中,由于计算机系统内、外的某种原因,有必要中止原程序的执行,而去执行相应的处理程序,待处理结束后,再返回来继续执行原程序的过程。
251单片机的外部中断
1.外部中断源端口的引脚
外部中断0:
端口引脚为12(P3.2),引脚符号为INT0。
外部中断1:
端口引脚为13(P3.3),引脚符号为INT1。
2.外部中断请求方式
负边沿触发,使控制位IT0=1即可。
低电平触发,使控制位IT1=0即可。
AT89S52单片机响应外部中断请求后会自动将外部中断标志位清0,但由于外部中断请求方式的特点,在使用外部中断中要注意避免重复请求问题。
3.8位、可位寻址、复位后内容为00H; 作用:
为外部中断源和定时/计数功能服务; TCON寄存器
TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
IT0:
INT0中断请求触发标志,1为负边沿触发,0为低电平触发; IE0:
INT0中断请求标志位;
IT1:
INT1中断请求触发标志,1为负边沿触发,0为低电平触发; IE1:
INT1中断请求标志位;
四.51单片机外部中断源应用步骤
1.设置外部中断请求允许位,设置IE寄存器中的EA、EX1、EX0; 2.选择适合的外部中断请求触发方式,设置TCON寄存器的IT1、IT0; 3.编写中断处理子程序,注意该子程序的返回指令是RETI; 4.注意,INT0的中断入口地址为0003H,INT1的中断入口地址为00013H;
在AT89S51中应用两种外部中断源时需要考虑上述四个步骤,但顺序依据编程人员自身特点进行合理安排。
基于此原理,我们选择有外部中断来计数光电检测的变化次数,产品在传送带上运行时,不断地遮挡光源到光敏器件间的光路,使光电脉冲电路随产品的有无产生一个个电脉冲信号。
产品每遮光一次,光电脉冲电路便产生一个脉冲信号,因此,输出的脉冲数即代表产品的数目。
该脉冲经计数电路计数并由显示电路显示出来。
3.1.4显示模块:
当向P3.2口输入低电平时,经内部程序运算后进行加法处理,其结果通过三个数码管显示出来。
图3.4显示电路
3.1.4系统总电路图
图3.5系统总电路图
当有物体通过时,光电转换电路中的集电极输出高电平。
每通过一个物体形成一个脉冲,即计数一次,脉冲数即通过的物体数。
计数后由LED显示。
3.2软件程序设计
为了充分实现实时在线工业检测,在处理过程中采用中断方式进行计数。
发射电路始终发射红外信号,当传送带将物体送进入口时,将信号挡住,即将红外信号变为脉冲信号,此时中断响应。
计数器记录进料数量并设定时中断为1ms,如果在进口中有其他异物通过时,它在设定的时间内不能长期保持有效。
因此,中断不响应,计数器不记录异物通过,这样可防止外界干扰。
在光电计数系统中,设计软件可实现技术初始值为999,在生产流水线中有产品通过时,红外线被阻断,红外接收器没有收到发射器的红外信号,输出高电平。
将此信号送人到AT89C2051单片机的P3.2口.使单片机系统开始工作。
由软件实现计数值加一。
C语言:
******************************************************************/
#include
#defineucharunsignedchar
unsignedlongnum;
ucharj,k;
uchara0,b0,c0,d0,e0,f0;
sbitdula=P2^6;
sbitwela=P2^7;
sbits2=P3^0;
sbits3=P3^5;
unsignedcharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00};
voiddelay(uchari)
{
for(j=i;j>0;j--)
for(k=125;k>0;k--);
}
voiddisplay(uchara,ucharb,ucharc,uchard,uchare,ucharf)
{
dula=0;
P0=table[a];
dula=1;
dula=0;
wela=0;
P0=0xfe;
wela=1;
wela=0;
delay(5);
P0=table[b];
dula=1;
dula=0;
P0=0xfd;
wela=1;
wela=0;
delay(5);
P0=table[c];
dula=1;
dula=0;
P0=0xfb;
wela=1;
wela=0;
delay(5);
P0=table[d];
dula=1;
dula=0;
P0=0xf7;
wela=1;
wela=0;
delay(5);
P0=table[e];
dula=1;
dula=0;
P0=0xef;
wela=1;
wela=0;
delay(5);
P0=table[f];
dula=1;
dula=0;
P0=0xdf;
wela=1;
wela=0;
delay(5);
}
voidkeyscan()
{
if(s3==0)
{
while(s3==0);
num=0;
}
}
voidmain()
{
while
(1)
{
keyscan();
if(num<10)
{
a0=num;b0=16;c0=16;d0=16;e0=16;f0=16;
}
else
{
if(num<100)
{a0=num/10;b0=num%10;c0=16;d0=16;e0=16;f0=16;}
else
{
if(num<1000)
{a0=num/100;b0=num%100/10;c0=num%10;d0=16;e0=16;f0=16;}
else
{
if(num<10000)
{a0=num/1000;b0=num%1000/100;c0=num%100/10;d0=num%10;e0=16;f0=16;}
else
{
if(num<100000)
{a0=num/10000;b0=num%10000/1000;c0=num%1000/100;d0=num%100/10;e0=num%10;f0=16;}
else
{
if(num<1000000)
{a0=num/100000;b0=num%100000/10000;c0=num%10000/1000;d0=num%1000/100;e0=num%100/10;f0=num%10;}
}
}
}
}
}
display(a0,b0,c0,d0,e0,f0);
}
}
/*------------------------------------------------
外部中断程序
------------------------------------------------*/
voidISR_Key(void)interrupt0using1
{
EA=0;//进入中断;关中断
num++;//进入中断,计数
EA=1;//开中断
}
4结束语
本设计是一种基于AT89C2052单片机的智能化光电计数系统的设计,并已成功的用于实际系统中,非常适合小型加工厂的产品流水线中自动统计产品个数,如果用于强磁强电的现场环境,考虑到要加以屏蔽。
在此期间学到了很多知识和技巧,更重要的是学会了坚持和忍耐。
知识必须通过应用才能实现其价值。
5参考文献:
[1]雷玉堂.光电检测技术.北京:
中国计量出版社,2010
[2]阎石.数字电子技术基础[M].北京:
高等教育出版社,2005
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 光电 检测 技术 课程设计 流水线 计数器 设计