基于单片机的光电检测装置设计.docx
- 文档编号:30043582
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:26
- 大小:822.71KB
基于单片机的光电检测装置设计.docx
《基于单片机的光电检测装置设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的光电检测装置设计.docx(26页珍藏版)》请在冰豆网上搜索。
基于单片机的光电检测装置设计
1绪论
自动门的发展现状
自动门从理论上理解应该是门的概念的延伸,是门的功能根据人的需要所进行的发展和完善。
自动门是指可以将人接近门的动作识别为开门信号的控制单元,通过驱动系统将门开启,在人离开后再将门自动关闭,并对开启和关闭的过程实现控制的系统。
自动门开始在建筑物上使用,是在二十世纪年以后。
二十年代后期,美国的超级市场的开放,自动门开始被使用。
受此影响,世界第一自动门品牌多玛在1945年开发出油压式、空气式自动门,新建大楼的正门也开始使用了。
到了1962年,电气式已开始出现,之后伴随着城市的建设,自动门技术的领域每年都在增加。
当初,用供给建筑物用电源进行电动机的速度控制很难,只好进行油压、空压速度控制,转换但因能源利用效率很低,然而伴随着电气控制的技术发展,现在电气控制技术已经成熟,直接控制电动机的电气式自动门逐渐成为主流。
在经济飞速发展的中国,高楼耸立的大都市,自动门已经是随处可见,在各大厦、宾馆、酒店、银行、商场、医院、写字楼等场所,自动门更是得到大范围的普及使用。
自动门不但能给我们带来人员进出方便、节约空调能源、防风、防尘、降低噪音等好处,更令我们的建筑增添了不少高贵典雅的气息。
自动门根据使用的场合及功能的不同可分为自动平移门、自动平开门、自动旋转门、自动圆弧门和自动折叠门等,其中平开门用的场合较少,旋转门由于昂贵而且非常庞大,一般只用于有需要的高档宾馆,自动平移门使用得最广泛,大家一般所说的自动门和感应门就是指自动平移门。
自动平移门最常见的形式是自动门机及门内外两侧加光电传感器,当人走近自动门时,光电传感器感应到人的存在,给控制器一个开门信号,控制器通过驱动装置将门打开。
当人通过门之后,再将门关闭。
由于自动门在通电后可以实现无人看管,同时又可节约空调能源、防风、防尘、降低噪音,既方便又提高了建筑的档次,于是迅速在国内外的建筑市场上得到大范围的普及。
同时也几乎成为银行,写字楼,酒店等办公娱乐场所装修必不可少的一项配置。
课题设计的任务要求
本题目是基于单片机的自动门控制系统的一部分,即光电检测装置设计。
其设计装置将与本组同学开发的其它模块共同组成完整的自动门控制系统。
题目总的要求是设计并制作自动门的机械部分,并结合单片机系统及上位机虚拟仪器系统实现自动控制。
该系统有多种控制方式,能够实现自动开关,工作历史纪录统计、防盗报警等多种控制功能。
由于采用单片机作为控制器,并结合了虚拟仪器技术,使整个系统具有价格低廉、功能强大、便于扩展升级等特点。
其光电检测装置设计的任务要求主要有:
(1)要求所设计的光电检测装置能够达到系统规定的检测距离要求。
(2)选择符合要求的光电传感器,要求其对接近的物体反应灵敏、准确。
(3)要求所设计的光电检测装置电路的输出信号形式符合系统其它部分要求。
(4)硬件部分工作可靠,使用寿命满足要求。
(5)能与其它模块正确连接并调试通过。
课题设计的内容
自动门模型的设计可以从选材,电路设计,控制系统等方面考虑。
本课题主要是基于单片机的光电检测装置设计,其设计要求主要是考虑用光发射器和光接收器装置,负责有人,无人信号的检测;用编码器,译码器负责红外线编码,译码;用AT89C52单片机,负责软件程序的运行;通过单片机处理的信号给同步电机,使其实现正反转,从而实现门的开关等几个方面的问题。
根据课题设计要求,其光电检测装置的设计主要包括以下几方面的内容:
(1)自动门系统的方案设计与比较;
(2)系统硬件设计;(3)自动门模型设计;(4)程序设计;(5)硬件电路(光电检测装置电路)设计;(6)软硬件系统的调试。
本次设计以自动平移门为模型进行系统设计,并使系统具有多种控制方式,能够实现自动开关门,工作历史纪录统计、防盗报警等多种控制功能。
本课题设计以自动平移门为模型进行光电检测装置的系统设计。
2方案论证与比较
系统的软硬件方案选择
方案一:
同步电机的PLC控制
PLC采用了典型的计算机结构,主要包括CPU、RAM、ROM和输入/输出接口电路等。
如果把PLC看作一个系统,该系统由输入变量PLC输出变量组成,外部的各种开关信号、模拟信号、传感器检测的信号均作为PLC的输入变量,它们经PLC外部端子输入到内部寄存器中,经PLC内部逻辑运算或其它各种运算、处理后送到输出端子,它们是PLC的输出变量,由这些输出变量对外围设备进行各种控制。
方案二:
同步电机的单片机控制
单片机是把中央处理器(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、输入/输出端口(I/O)等主要计算机功能部件都集成在一块集成电路芯片上的微型计算机,是大规模集成电路技术发展的产物
。
它具有性能高、速度快、体积小、价格低、稳定可靠、应用广泛、通用性强等突出优点。
根据以上比较可以看出:
利用可编程序控制器可以方便地实现对电机速度和位置的控制,方便可靠地进行各种电机的操作,完成各种复杂的工作。
但是我们这次设计只需要恒定转速的电机即可,因此可编程序控制器PLC对电机转速的调节控制功能则不能得到充分发挥且不满足设计要求。
同时本课题设计实现的多种控制利用单片机可以设好的实现,而且基于单片机的编程对我们来说也相对熟练、简单。
此外继电器输出就是线圈输出,是通过控制线圈磁场的产生(或消失)从而控制开关闭合(或断开),线圈的冲放电时间长,有电感和电容效应,在可能的冲放电过程中会对所控制电路产生干扰,造成信号扰动。
同时工作过程中要通过宏观机械动作来实现,宏观机械动作必然使响应时间加大,机械动作的接触与断开瞬间也容易产生信号抖动和失真,还要考虑线圈频繁冲放电和机械动作对器件寿命的影响,所以不适合做脉冲输出控制电机系统。
与PLC相比,单片机的设计目标主要是增强“控制”能力,满足实时控制方面的需要。
因此,它在硬件结构、指令系统、I/O端口、功率消耗及可靠性等方面均有其独特之处,其最显著的特点之一就是具有非常有效的控制功能。
除此之外,它在抗干扰,抗静电等方面比较强,与PLC相比,更适合应用于控制系统常常被人称为微控制器(MCU)。
综上所述,应选择单片机控制同步电机。
CPU部分方案选择
方案一:
AT89C51
AT89C51有128字节的内部RAM,称之为DATA存储区。
AT89C51有4K字节的内部FLASHPERAM,32可编程I/O线,两个16位定时器/计数器,与MCS-51兼容
。
方案二:
AT89C52
AT89C52是低功耗、高性能的CMOS8位单片机。
片上带有8KBFlash存储器,且允许在系统改写或用编程器编程。
另外,AT89C52的指令系统和引脚80C52完全兼容。
所以,AT89C52单片机应用极为广泛。
它除了含有8KB的Flash存储器外,片上还有256B的RAM、32条I/O接口线、3个16位的定时器/计数器、6向量两极中断、1个全双工串行接口等。
同时,与CHMOS工艺的80C52一样,支持软件选择的空闲和掉电两种节电运行方式。
它与80C51的不同之处在,具有CHMOS工艺的节能运行方式;增加了一个16位的定时器T2;片内RAM由128字节增为256字节;ROM类型属于Flash存储器
。
可根据以上比较,在单片机的CPU部分选用AT89C52单片机。
光电传感器部分方案选择
光电开关(光电传感器)是光电接近开关的简称,它是利用被检测物对光束的遮挡或反射,由同步回路选通电路,从而检测物体有无的。
物体不限于金属,所有能反射光线的物体均可被检测。
光电开关将输入电流在发射器上转换为光信号射出,接收器再根据接收到的光线的强弱或有无对目标物体进行探测。
方案一:
漫反射式光电开关
漫反射式光电开关是一种集发射器和接收器于一体的传感器,当有被检测物体经过时,物体将光电开关发射器发射的足够量的光线反射到接收器,于是光电开关就产生了开关信号。
当被检测物体的表面光亮或其反光率极高时,漫反射式的光电开关是首选的检测模式。
方案二:
镜反射式光电开关
镜反射式光电开关亦集发射器与接收器于一体,光电开关发射器发出的光线经过反射镜反射回接收器,当被检测物体经过且完全阻断光线时,光电开关就产生了检测开关信号。
方案三:
对射式光电开关
对射式光电开关它包含了在结构上相互分离且光轴相对放置的发射器和接收器,发射器发出的光线直接进入接收器,当被检测物体经过发射器和接收器之间且阻断光线时,光电开关就产生了开关信号。
当检测物体为不透明时,对射式光电开关是最可靠的检测装置。
方案四:
光纤式光电开关
光纤式光电开关采用塑料或玻璃光纤传感器来引导光线,可以对距离远的被检测物体进行检测。
通常光纤传感器分为对射式和漫反射式。
由于漫反射式光电开关是一种集发射器和接收器于一体的传感器,同时它可以在短距离范围内对一般物体进行检测及可对人体也可以进行检测。
因此,本次设计选取漫反射式光电开关作为光电传感器。
电机部分方案选择
选择使用220V同步交流电机。
3总体设计原理图
该系统有多种控制方式,能够实现自动开关门,工作历史纪录统计、防盗报警等多种控制功能。
本次设计以AT89C52单片机为核心,统一控制光电传感器和交流电机,并机械直线运动单元驱动塑料门。
在硬件上实现了LED系统报警显示,人员进出信号的采集与A/D转换,监控报警,以及电机驱动控制。
在软件方面,主要采用C语言对单片机控制系统进行编程。
与此同时,采用Protues软件对所编程序进行模拟仿真,以完成设计系统的仿真调试。
其设计原理为:
(1)当光电传感器检测到有人要进入,则产生的信号经A/D转换部分产生高电平信号给AT89C52单片机,而后经单片机的译码,编译,处理产生控制信号给电机,驱动电机运转使门打开;反之,人员进入之后其光电传感器检测到信号消失,从而产生一低电平信号给单片机,而后单片机产生控制信号驱动电机反转使门关闭。
(2)
当发生盗窃事件时,其比产生一定频率的振动信号,被振动传感器检测到时产生一信号经A/D转换部分产生脉冲信号给单片机,经单片机处理后产生一控制信号给报警显示电路,发出报警声。
要想解除报警,只能由人员通过报警解除按钮解除报警。
(3)用串行口显示控制装置将计算机与单片机连接起来,实现自动门工作历史记录统计和显示等功能。
其总体设计原理框图如下所示:
图3-1自动门总体设计原理框图
4系统硬件设计
硬件框图
自动门控制系统的硬件组成如下图4-1所示。
本系统主要有AT89C52单片机及其外围电路,光电检测电路,门行程检测电路,振动检测电路,同步电机控制电路,报警电路以及串行口显示部分六部分组成。
图4-1自动门控制系统的硬件组成框图
各模块功能说明
4.2.1系统硬件总体逻辑设计
本设计是基于单片机的光电检测装置设计,因此主要是对光电检测电路以及其与AT89C52单片机接口连接的设计。
单片机循环检测光电检测电路和行程开关检测电路的输出信号,据此产生电机控制信号,电动机带动门运行,当系统检测到控制方式发生改变时,系统进入相应的控制方式。
其关于光电检测装置设计的系统硬件逻辑设计如下框图4-2所示:
图4-2光电检测装置设计的系统硬件逻辑设计框图
4.2.2光电传感器部分
本设计选用型号为E18-D80NK的光电传感器,这是一种集发射与接收于一体的光电传感器。
检测距离可以根据要求进行调节。
该传感器具有探测距离远、受可见光干扰小、价格便宜、易于装配、使用方便等特点,可以广泛应用于机器人避障、流水线计件等众多场合
。
其技术参数如下:
·电气特性:
U:
5VDC,I:
100mA(DC5V供电)
·尺寸:
直径:
17MM,传感器长度:
45MM,引线长度:
45CM
·输出高低电平·响应时间<2ms
·检测距离可调Sn:
3-80CM ·外壳材料:
塑料
·检测物体:
透明或不透明体
4.2.3AT89C52部分
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级加密位
·低功耗空闲和掉电模式
·软件设置睡眠和唤醒功能
其AT89C52单片机外观如下:
图4-3AT89C52单片机外观图
4.2.4A/D转换部分
在设计中,为了实现光电传感器与单片机的连接,本系统采用A/D转换部分对采集到的进出自动门的人员感应信号进行模数转换。
利用单片机写启动A/D转换部分,转换结束后再由光电传感器采集到的信号向AT89C52发出中断请求信号,CPU响应中断请求。
通过对译码器的读操作,读取转换结果并送到被测量的相应存储区。
再重新选择被测量,并再次启动A/D转换后中断返回。
其组成框图4-4如下:
图4-4A/D转换部分框图
5自动门模型设计
首先,自动门模型由以下几部分构成:
(1)主控制器:
这里指单片机,它是自动门的指挥中心,通过内部编有指令程序的大规模集成块,发出相应指令,控制电机或电锁类系统工作;同时人们通过主控器调节门扇开启速度、开启幅度等参数。
(2)感应探测器:
这里指光电传感器,负责采集外部信号,如同人们的眼睛,当有移动的物体进入它的工作范围时,它就给主控制器一个脉冲信号。
(3)同步交流电机:
提供开门与关门的主动力,控制门扇开关门运行。
(4)门扇行进轨道:
就像火车的铁轨,约束门扇的吊具走轮系统,使其按特定方向行进。
(5)门扇吊具走轮系统:
用于吊挂活动门扇,同时在动力牵引下带动门扇运行。
(6)同步皮带:
用于传输电机所产生的动力,牵引门扇的打开或关闭。
(7)下部导向系统:
是门扇下部的导向与定位装置,防止门扇在运行时出现前后门体摆动。
同时,要了解自动门完成一次开门与关门的工作流程,其工作流程如下:
感应探测器(光电传感器)探测到有人进入时,将脉冲信号传给单片机,单片机判断后通知电机运行,同时监控电机转数,以便通知电机在一定时候加力和进入慢行运行。
电机得到一定运行电流后做正向运行,将动力传给同步带,再由同步带将动力传给吊具系统使门扇开启;门扇开启后由单片机作出判断,如需关门,通知电机作反向运动,关闭门扇。
最后,进行自动门模型的制作。
6程序设计
Keil软件的学习
Keil是德国KEIL公司开发的单片机语言编译器,使得开发MCS-51系列单片机应用程序变得方便快捷。
Keil的编译器和链接器包括C51、A51、L51和BL51。
C51是C语言编译器,其功能是将C源代码编译生成可重新定位的目标模块。
A51是汇编语言编译器,其功能是将汇编源代码编译生成可重新定位的目标模块。
L51链接/定位器,其功能是将汇编源代码编译生成可重新定位的目标模块文件(.OBJ),C源代码编译生成可重新定位的目标模块文件(.OBJ),与库文件链接、定位生产绝对目标文件(.ABS)。
BL51也是链接/定位器,它比L51链接/定位器多了可以链接定位大于64KB的程序,具有代码域切换功能和可用于RTX51实时多任务造作系统等功能
。
本次程序设计采用C51C语言编译器进行C语言编程。
其编程过程如下:
(1)
项目的建立:
项目命名和选择CPU;
(2)给项目加入程序文件:
此程序采用C语言编程即C文件;(3)项目的编译链接;(9)编译链接后,会产生一“.hex”文件,该文件可以烧录到的单片机中运行。
程序设计流程
系统的软件程序主要可分为主程序和中断服务程序组成。
其系统功能分析如下:
(1)系统工作流程分为两种情况:
有人员进出和无人员进出。
当有人要进出时,门接收到信号而自动打开;无人进出时,门是闭合的。
即在初始状态下,自动门是闭合的。
(2)自动门的开合由控制信号和门限反馈信号两者共同决定。
接收到控制信号后,若此时的门状态是开的,则不必驱动电机,只要继续保持开状态即可;如若门的状态是闭合的,则要驱动电机使门打开。
(3)若没有连续的人员进出,则门的开合有一个最低限度的延时,即人员通过后,在延时过后门自动闭合。
(4)在系统中完成显示与报警功能。
当门打开时,显示灯为绿色,表示人员可以进出;若是系统发生故障,自动门无法正常开合时,显示灯变为红色。
其基于AT89C52单片机的开关门C语言程序设计流程图如下图6-1所示:
图6-1程序设计流程图
程序的编写完成
本次自动门设计的程序采用C语言进行编译,其主要包括控制电机正传子程序,控制电机反转子程序,报警子程序和串行口程序等几部分。
本课题研究的是光电检测装置的系统设计,因此程序编译初期仅围绕本课题编译了自动门的开关门程序,其编译过程如下所示:
定义门状态数组:
ucharzhuangtai[5];
北京:
高等教育出版社,.
[2]阎石.数字电子技术基础[M].北京:
高等教育出版社,.
[3]张毅刚.新编MCS-51单片机应用设计[M].哈尔滨:
哈尔滨工业大学出版社,2006.
[4]曲波,肖圣兵,吕建平.工业常用传感器选型指南[M].北京:
清华大学出版社,.
[5]秦曾煌.电工学[M].北京:
高等教育出版社,1999.
[6].非电量电测技术(第三版)[M].西安:
,2006.
[7]王立婷.光电检测电路的设计及实验研究[D].吉林大学,2007.
[8]刘君华.现代检测技术与测试系统设计[M].西安:
西安交通大学出版社,1999.
[9]胡助理,安文源等.基于单片机技术的光电检测研究[J].,).
[10]王立刚,张殿元.低噪声光电检测电路的研究与设计[J].,.
[11]郭志成,马洪霞,杨柏军.基于单片机的光电检测、控制技术[A].中国计量协会冶金分会2007年会论文集[C],2007.
[12]张靖武,周灵彬.单片机原理应用与PROTEUS仿真[M].北京:
电子工业出版社,.
[13]王为青,程国钢.单片机KeilCx51应用开发技术[M].北京:
人民邮电出版社,.
附录1仿真调试电路图
其Proteus仿真原理图如下图8-1所示:
图8-2自动门的控制系统电路板
图8-312V和5V电源板
附录2自动门程序
其自动门系统程序如下:
#include<>
#include<>
#defineucharunsignedchar
ucharCounter;//记录中断次数
uchartemp;//串行通讯数据
ucharscounter;//串行发送计数器
sbitguangdian1=P0^0;//光电开关1输入
sbitguangdian2=P3^3;//光电开关2输入
sbitkaimen=P1^2;//开门行程开关输入
sbitguanmen=P1^3;//关门行程开关输入
sbitdianjizheng=P1^0;//电机正转输出
sbitdianjif=P1^1;//电机反转输出
ucharzhuangtai[7];//状态数组,依次为门开0,门关1,电机正转2,电机反转3,光电开关触发4,结束标志5b,A代表是,B代表否
bitqiangzhik;//强制开门标志
bitqiangzhig;//强制关门标志
//sbitqiangzhikaimen=P2^0;
sbitqiangzhiguanmen=P0^1;
sbitzhendong=P3^2;//震动开关输入
sbitfengming=P1^4;//蜂鸣器输出
//开门函数
voidKaimen(void)
{
if(!
kaimen)
{dianjif=0;
dianjizheng=1;
zhuangtai[3]='B';
zhuangtai[2]='A';
}
else
{dianjif=0;
dianjizheng=0;
zhuangtai[3]='B';
zhuangtai[2]='B';
}
}
//关门函数
voidGuanmen(void)
{
if(!
guanmen)
{dianjizheng=0;
dianjif=1;
zhuangtai[3]='A';
zhuangtai[2]='B';
}
else
{dianjif=0;
dianjizheng=0;
zhuangtai[3]='B';
zhuangtai[2]='B';
}
}
//串行通讯初始化函数
/*voidserial_init(void)
{
SCON=0x50;//串行口以方式1工作
TMOD|=0x20;//定时器1以方式2工作
TH1=0xfd;//波特率为9600时定时器1的初值
TL1=0xfd;
TR1=1;//启动定时器1
TI=1;//允许发送数据
}*/
voidmain(void)
{
zhuangtai[0]='B';//设置状态数组初值
zhuangtai[1]='B';
zhuangtai[2]='B';
zhuangtai[3]='B';
zhuangtai[4]='B';
zhuangtai[5]='B';
zhuangtai[6]='K';
//输入归零
guangdian1=0;
guangdian2=0;
kaimen=0;
guanmen=0;
zhendong=0;
qiangzhiguanmen=0;
//qiangzhikaimen=0;
//qiangzhiguanmen=0;
//计数归零
Counter=0;
scounter=0;
//状态标志位归零
qiangzhik=0;
qiangzhig=0;
//输出归零
dianjizheng=0;
dianjif=0;
fengming=0;
//定时器设置
IE=0x00;//禁止所有中断请求
TMOD=0x21;//定时器0以工作方式1工作,定时器1以工作方式2工作
TH1=0xfd;//波特率为9600时定时器1的初值
TL1=0xfd;
TH0=0x3c;//定时器0赋初值
TL0=0xb0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 光电 检测 装置 设计