光电计数器课程设计报告.docx
《光电计数器课程设计报告.docx》由会员分享,可在线阅读,更多相关《光电计数器课程设计报告.docx(18页珍藏版)》请在冰点文库上搜索。
![光电计数器课程设计报告.docx](https://file1.bingdoc.com/fileroot1/2023-5/12/87c9a1d0-3644-4d00-99e7-9c0e237e3782/87c9a1d0-3644-4d00-99e7-9c0e237e37821.gif)
光电计数器课程设计报告
目录
摘要…………………………………………………………………………………..3
第1章引言…………………………………………………………………………3
第2章明确任务……………………………………………………………………4
第3章方案产生……………………………………………………………………4
第4章智能化光电计数器的系统设计……………………………………………6
4.1系统硬件设计…………………………………………………………6
4.2系统软件设计…………………………………………………………13
第5章设计原理……………………………………………………………………15
5.1计数测量………………………………………………………………15
5.2中断方式计数…………………………………………………………15
第6章软件程序设计………………………………………………………………16
6.1时间控制设置…………………………………………………………16
6.210ms定时………………………………………………………………16
6.3中断闪烁………………………………………………………………16
6.4总程序调试……………………………………………………………16
附:
结论…………………………………………………………………………………19
致谢…………………………………………………………………………………19
参考文献……………………………………………………………………………19
摘要
21世纪是信息时代,是获取信息,处理信息,运用信息的时代。
传感与检测技术的重要性在于它是获得信息并对信息进行必要处理的基础技术,是获取信息和处理加工信息的手段,无法获取信息则无法运用信息。
基于光电效应的传感器。
光电式传感器在受到可见光照射后即产生光电效应,将光信号转换成电信号输出。
它除能测量光强之外,还能利用光线的透射、遮挡、反射、干涉等测量多种物理量,如尺寸、位移、速度、温度等,因而是一种应用极广泛的重要敏感器件
关键词:
计数光电传感器
第一章引言
传感与检测技术是一门知识面广、综合程度高、实用性很强的专业课程。
它从传感器的基本理论入手,着重讲叙传感器的结构与感测原理,传感器是一个二端口的装置,不同的传感器输入-输出特性不同,同一传感器适应不同的被测信号呈现的特性也有所不同。
尤其当被测信号为静态信号时两种状态下,传感器的输入-输出特性完全不同。
感测技术在许多新技术、新器件里都有应用,在课程安排上,以信息的传感、转换、处理为核心,从基本物理概念入手,阐述热工量、机械量、几何量等参数的测量原理及方法。
自动化的计数提高了工业生产上的效率以及准确性,计数的自动化和智能化最终能加速实现现代化的工业。
随着生产自动化、设备数字化和机电一体化的发展,对光电计数器的需求日益增多。
光电计数器设计一方面是为了巩固课本所学知识,完成知识迁移,另一方面加强动手能力,识图能力及设计能力。
基本设计要求:
本次设计光电计数器,要求使用红外发光二极管、红外接收管,实现计数功能,掌握红外传感器相关知识,掌握单片机汇编语言,学会如何实现无接触计数。
该系统可用于工厂生产线工件计数,通过红外光电管接收到的信号情况,由单片机程序来控制是否计数。
第二章明确任务
1.任务名称
智能化光电计数器的设计
2.本次课程设计应达到的目的
(1)、综合运用相关课程中所学到的理论知识去独立完成某一设计课题;
(2)、通过查阅手册和相关文献资料,培养自我独立分析和解决问题的能力;
(3)、进一步熟悉常用芯片和电子器件的类型及特性,并掌握合理选用器件的原则;
(4)、学会电路的安装与调试;
(5)、进一步熟悉电子仪器的正确使用;
(6)、学会撰写课程设计的总结报告;
(7)、培养严肃认真的工作作风和严谨的科学态度。
3.本课程设计课题任务的内容和要求(包括原始数据、技术参数、设计要求等)
(1).发光器件和接收器件之间的距离大于1m;
(2).有抗干扰技术,防止由于抖动产生的误计数;
(3).每计数100,用等闪烁2s指示一下;
(4).LED数码管显示计数值。
4.总结分析结果
计数的过程其实是获取脉冲源的过程,当有物体穿越光路时,接收头输出为高电平,反之则为低电平,接收头的电平信号经由电压比较器反相后送入CPU当传送带将被测物体传送到检测点时,物体将探头发送的红外线调制信号反射给探头,探头接收器产生的信号送到单片机P3.2口,启动计数器开始计数,每次红外线的阻断都将转化成电信号被单片机芯片获取,在原来的数值上加1,并将计数后所得的数据送给LED显示
第三章方案产生
方案一:
采用组合逻辑电路和时序逻辑电路实现
电路框图如下图所示:
主要设计思路为:
没有瓶子挡光时,光接收电路输出低电平,有瓶子挡光时,光接收电路输出高电平。
所以每当有一个瓶子通过时,光电转换电路输出一个正脉冲通过单稳态电路给计数电路,计数电路累加计数。
由于当计数达到99后,若再有瓶子通过,由555组成的单稳态电路便会输出一个持续时间为2s的高电平脉冲,与另一个由555组成的方波发生器电路一起经过一个与门以及三极管驱动后使LED灯闪烁2s。
方案二:
采用单片机编程实现
利用单片机外部中断方式,当光电转换电路检测到外界有物体移动时,输出由高电平变为低电平。
将这一负跳变信号传送给单片机可使其产生一次外部中断,进而执行中断中的指令,由中断服务程序控制计数,LED灯闪烁程序流程图如下图所示:
方案比较:
方案一采用组合与时序逻辑电路,采用模块化方法设计电路图,易于实现对电路的检查,且制作成本较低。
但其运用了较多的模拟器件,比较容易受到外界的影响。
方案二运用单片机编程,可降低设计电路的周期,具有很高的精确性。
综合考虑后,我们决定采用了方案一完成本次课程设计,具体各部分电路图如下文所述。
第四章智能化光电计数器的系统设计
4.1系统硬件设计
1.工作原理
检测部分使用红外对管:
发射管和接收管。
当有物体穿越光路时,接收头输出为高电平,反之则为低电平,接收头的电平信号经由一电压比较器反相后送入CPU。
接单片机P3.2口,启动计数器开始计数,并将计数后所得的数据送给LED显示。
系统的原理
框图如图1所示。
图1系统电路原理图
2.硬件电路的组成
本系统的硬件电路由光电转换、单片机系统、计数显示组成。
本智能光电计数系统是利用AT89C2051定时/计数器来工作的。
当有物体通过时将信号挡住,会遮断红外信号,红外接收器接收不到信号。
每次遮断电压信号通过电压比较器产生高电压通过电压比较器和非门使AT89C2052单片机的P3.2产生低电平,经内部程序运算后进行加法处理,其结果通过六个LED数码管显示出来AT89C2052单片机的P口分时输出数据(段选码),用于点亮六个数码管,AT89C2051单片机的P0.0、P0.1、P0.2、P0.3,P0.4,P0.5,P0.6,P0.7则选通A,B,C,D,E,F,G,DP.
具体硬件电路仿真图如下:
3.各模块组成
在此系统中共涉及了个模块,分别是光电转换、单片机系统模块、计数显示。
红外的发射和接收模块位于生产流水线的两侧,通过感知红外线被阻断并将此信号转化为电信号输入到计算机内,由单片机实现技术功能,而单片机系统是光电计数系统的核心模块,实现的主要功能包括:
(1).实现0―999范围计数.
(2).要求使用红外发光二极管、光电管检测;
(3).每计数100,用灯闪烁2S指示一下
(4).要求光电发射管与接收管有1米以上的间距,发射器和接收器分别置于流水线两边,中间没有阻挡时发射器的红外线射到接收器,接收器接收到发射来的红外线,经反相处理使之没有信号输出,有工件经过时挡住光路,接收器失去红外线信号便输出一个脉冲信号到单片机进行计数。
1--光电转换
红外对管和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是滤波电容,可提高单稳态触发器的工作稳定性。
2--单片机系统模块以及计数显示模块
当向P3.2口输入低电平时,经内部程序运算后进行加法处理,其结果通过三个数码管显示出来。
4.主要芯片元器件引脚图及功能介绍
光电技术系统采用的芯片是AT89C2052,其主要特性:
兼容MCS51指令系统·8k可反复擦写(>1000次)FlashROM
·32个双向I/O口·256x8bit内部RAM
·3个16位可编程定时/计数器中断·时钟频率0-24MHz
·2个串行中断·可编程UART串行通道
·2个外部中断源·共8个中断源
·2个读写中断口线·3级加密位
·低功耗空闲和掉电模式·软件设置睡眠和唤醒功能
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存储器可有效地降低开发成本。
AT89C52有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。
AT89C52P为40脚双列直插封装的8位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52相同,其主要用于会聚调整时的功能控制。
功能包括对会聚主IC内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。
主要管脚有:
XTAL1(19脚)和XTAL2(18脚)为振荡器输入输出端口,外接12MHz晶振。
RST/Vpd(9脚)为复位输入端口,外接电阻电容组成的复位电路。
VCC(40脚)和VSS(20脚)为供电端口,分别接+5V电源的正负端。
P0~P3为可编程通用I/O脚,其功能用途由软件定义,在本设计中,P0端口(32~39脚)被定义为N1功能控制端口,分别与N1的相应功能管脚相连接,13脚定义为IR输入端,10脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12脚、27脚及28脚定义为握手信号功能端口,连接主板CPU的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。
AT89C2052单片机引脚图
电压比较器:
电压比较器的作用是对两个输入电压进行比较,并根据比较结果输出高、低两个电平的电压,以满足后面连接的数字电路对1和0两个逻辑电平的要求。
如图所示
VI为待比较的输入信号电压,VREF为输入参考电压。
在这个电路中,VREF就是比较的门限电压。
当VI通过VREF时,输出电压VO发生突变,即:
VI由大减小通过VREF时,输出电压VO由低电平值VOL上跃到高电平值VOH;而VI由小增大通过VREF时,VO则由VOH下跃VOL。
4.2系统软件设计
为了充分实现实时在线工业检测,在处理过程中采用中断方式进行计数发射电路始终发射红外信号,当传送带将物体送进入口时,将信号挡住,即将红外信号‘变为脉冲信号,此时中断响宜.计数器记录进料数量并设定时中断为lms,如果在进口中有其它异物通过时,它在设定的时间内不能长期保持有效.因此,中断不响应,计数器不记录异物通过,这样可防止外界的干扰主程序流程图如下:
在光电计数系统中,设计软件可实现技术初始值为999,在生产流水线中有产品通过时,红外线被阻断,红外接收器没有收到发射器的红外信号,输出高电平。
将此信号送人到AT89C2051单片机的P3.2口.使单片机系统开始工作。
由软件实现计数值加一,并且每计数100,用灯闪烁2S指示一下。
根据光电技术系统的功能要求,设计出系统的工作流程图如下图所示:
最后则是对软测量效果的评价.由于工业生产过程中要求具有很高的精确性.因此对软测量效果的评价是很重要的。
根据软测量的效果.确定模型是否需要进行修正,哪些参数需要调整等。
一旦发现软测量的效果不能满足于实际应用的需求,就必须考虑重新考虑构造软测量模型,即重新构造出新的软件的设计思路,设计出满足实践需要的软测量系统。
第五章设计原理
5.1计数测量
计数的过程其实是获取脉冲源的过程,当有物体穿越光路时,接收头输出为高电平,反之则为低电平,接收头的电平信号经由电压比较器反相后送入CPU当传送带将被测物体传送到检测点时,物体将探头发送的红外线调制信号反射给探头,探头接收器产生的信号送到单片机P3.2口,启动计数器开始计数,每次红外线的阻断都将转化成电信号被单片机芯片获取,在原来的数值上加1,并将计数后所得的数据送给LED显示
5.2中断方式计数
中断计数方式的实现是靠获取中断源,在MCS-51单片机中有五个可屏蔽的中断源,片内中断源三个,片外中断源两个,它们在程序存储器中各有固定的中断入口地址,由此进入中断服务程序,其中外部中断源INT0(外部中断0)请求由引脚P3.2输入,一旦输入信号有效(低电平或负跳变),即CPU申请中断,如果CPU响应中断,会自动转到0003H,执行相应的中断服务子程序,INT1(外部中断1)请求由引脚P3.3输入,一旦输入信号有效,即向CPU申请中断,如果CPU响应中断,会自动跳转到0013H处,执行相应的中断服务子程序,在中断系统中涉及一些特殊寄存器的使用,这些寄存器能够控制中断。
我们把打断单片机正常工作的外部信号接到单片机的INT0引脚,经过软件对有关寄存器的设置,单片机就可知道外界信号的变化,从而中断主程序的。
当系统接侧到信号由高到低的负跳变时引发中断,中断过程中不产生计数,对于外部中断源的撤除,当外部中断采用边延触发方式时,CPU响应中断后,由硬件自动清除其中的中断标志位IE0或IE1,无需采取其他措施。
当外部中断源采用电平触发方式时,CPU响应中断后不会自动清除中断请求标志位IE0或IE1,同时也不能用软件清除,当CPU执行完中断程序后返回主程序,发现外部中断源位于低电平时,仍会响应低电平。
即外部中断源位于低电平时,则中断标志IE0或IE1就会为“1”。
在实际应用过程中根据实际情况采取软硬件配合使用的方法。
第六章软件程序设计
6.1时间控制设置
在工业生产中为了提高工作效率,需要系统有很高的自动化并且要有很高的统计精确性,所以再设计系统时一些时间控制也显得十分重要。
6.210ms定时
计数器记录进料数量并设定时中断为l0ms,如果在进口中有其它异物通过时,它在设定的时间内不能长期保持有效.因此,中断不响应,计数器不记录异物通过,这样可防止外界的干扰。
此系统引用晶振为12MHz的频率,设置定时1ms,
源程序如下:
DLY10mS:
MOVR6,#20
D1:
MOVR7,#20
DJNZR7,$
DJNZR6,D1
RET
6.3中断闪烁2S:
SHAN2S:
SETBP2.7;闪烁2s
ACALLDLY10ms
CLRP2.7
ACALLDLY10mS
DJNZR4,SHAN2S
6.4总程序调试
FIRSTEQU21H;定义个位
SECONDEQU22H;定义十位
THIRDEQU23H;定义百位
ORG0000H;程序从0地址开始
LJMPSTART;跳到STRAT处执行
ORG0003H;INT0中断向量
LJMPINT_0;跳至INT_0处执行
MOVR4,#100
START:
SETBEA;开中断
SETBIT0;中断0允许P3.2口
SETBEX0;负跳变触发
CLEAR:
;初始化显示0000
MOVFIRST,#0
MOVSECOND,#0
MOVTHIRD,#0
SHOW:
;显示子程序
MOVDPTR,#TAB;DPTR指向编码表位置
MOVA,FIRST;将FIRST的内容复制到ACC
MOVCA,@A+DPTR;根据ACC的值取出编码表中的编码
MOVP0,A;由P0口输出ACC的内容
CLRP2.3;置位P2.3
LCALLDELAY;调用延时子程序
SETBP2.3;清零P2.3
/*显示个位*/
MOVDPTR,#TAB;DPTR指向编码表位置
MOVA,SECOND;将SECOND的内容复制到ACC
MOVCA,@A+DPTR;根据ACC的值取出编码表中的编码
MOVP0,A;由P0口输出ACC的内容
CLRP2.2;置位P2.2
LCALLDELAY;调用延时子程序
SETBP2.2;清零P2.2
/*显示十位*/
MOVDPTR,#TAB;DPTR指向编码表位置
MOVA,THIRD;将THIRD的内容复制到ACC
MOVCA,@A+DPTR;根据ACC的值取出编码表中的编码
MOVP0,A;由P0口输出ACC的内容
CLRP2.1;置位P2.1
LCALLDELAY;调用延时子程序
SETBP2.1;清零P2.1
/*显示百位*/;
MOVDPTR,#TAB;DPTR指向编码表位置
MOVP0,A;由P0口输出ACC的内容
LJMPSHOW;调用显示子程序
INT_0:
;中断子程序
CLREA
INCFIRST;FIRST的内容加1
MOVA,FIRST;将FIRST的内容复制到ACC
CJNEA,#10,EXIT;如果A不等于10,则跳至L1处执行
MOVFIRST,#00H;将0复制到FIRST
INCSECOND;将SECOND的内容加1
MOVA,SECOND;将SECOND的内容复制到ACC
CJNEA,#10,EXIT;如果A不等于10,则跳至L2处执行
MOVSECOND,#00H;将0复制到SECOND
INCTHIRD;将THIRD的内容加1
SHAN2S:
CLRP2.6
LCALLDELAY
SETBP2.6
LCALLDELAY
DJNZR4,SHAN2S
EXIT:
;跳出中断子程序
SETBEA
RETI;返回主程序
DELAY:
MOVR6,#20
D1:
MOVR7,#20
DJNZR7,$
DJNZR6,D1
RET
TAB:
;编码表
DB03FH;0
DB006H;1
DB05BH;2
DB04FH;3
DB066H;4
DB06DH;5
DB07DH;6
DB007H;7
DB07FH;8
DB06FH;9
END;程序结束
结论
本设计介绍了一种基于AT89C2052单片机的智能化光电计数系统的设计,并已成功的用于实际系统中,需要指出的是,本课程设计利用软件编程、这样做不仅占用硬件资源少,而且成本较低,如果用于强磁强电的现场环境,考虑到要加以屏蔽。
在项目设计的开始到结束本人一直认真对待,在制作的过程中遇到了很多困难,通过查阅相关资料和咨询张斌老师已逐一解决问题的同时自己也增长了加深了关与光电转换,汇编语言的深化,单片机基础知识的认识理解领悟,到最后对光电计数系统的工作原理的掌握,最终设计出了自己理解的智能化光电计数系统。
致谢
在这次课程设计中让我认识到自己还有多方面的不足,对汇编语言知识掌握得不熟练,没有对单片机更深沉的了解。
通过这次课程设计,在张老师的帮助下不仅提高了自己对光电计数器的系统设计和软件编程的能力,还提高了自己的动手能力充实了自己专业课知识。
知识在于积累,成功出于勤奋。
扩大了知识面,增强分析问题和解决问题的能力,也提高自学的能力与软件开发能力,为今后的工作打下了坚实的基础。
感谢指导老师张斌对我的热情帮助,让我认识到光电计数系统的精华所在。
参考文献
1、《电子电路基础》谢沅清人民邮电出版社1999第一版
2、《数字电子技术基础》阎石高等教育出版社2001
3、《电子电路基础》童诗白高等教育出版社1995第二版
4、《电子技术课程设计指导》高等教育出版和彭介华2002
5、《单片机原理与应用及C51程序设计》清华大学出版社谢维成杨加国2006年8月第一版