1、第一章 绪论1.1课题研究背景社会进步、科技前进将大家生活投入了一个急剧发展数字化二十一世纪。大家生活水平也随之逐步升高,让大家对美好生活环境追求欲望也愈来愈强烈,所以各类方便于生活单片机自动控制系统开始进入了大家生活。以单片机为关键自动门系统就是其中之一。因自动门之中使用芯片和传感器技术日渐优异,使它实用性变愈加好,功效也愈来愈多,从而让它应用范围也越来越广泛。使用自动门会给大家带来人员出入方便、节省能源、降低噪音等好处,也令大家建筑愈加现代化。1.2中国外研究现实状况和发展趋势 自动门是上个世纪中期在建筑物上得到利用。在上个世纪二十年代以后,自动门开始造美国超级市场上首次使用。当初使用是油
2、压式自动门,这是世界上第一跨自动门,依据它使用原理,气动式自动门也开始得到发明。到1962年电气化进步,电气式自动门得以发展,因它较于油压式和气动式维护愈加方便,电气式自动门伴随城市化推进,使用它用户也随之增加。但在上世纪六十年代电气设备发展还处于低级阶段,电机转速难以控制,故此当初电气式自动门性能还是差强人意,能源利用率低下,维护成本还是相对较高。在进入计算机时代以后,计算机技术不停发展,电子控制技术开始成熟,直接控制电动机电气式自动门得到急剧发展,使其逐步成为自动门主流。在中国自动门现在伴随城市化推进浪潮在社会中得到广泛应用,现在在每个城市全部能够见到自动门身影。但在中国因其研提议步较晚,
3、自主研发程度比较低,大部分专利全部在外国人手中。在进入新世纪以后,中国计算机发展进入快车道,追赶上国际上优异水平。利用计算机技术自动门技术在中国也在飞速发展。自动平移门是现在最常见自动门。工作方法是将两个人体红外感应器安装在门内外两侧。当人走近自动门时,任意一个人体红外感应器感应到人体红外存在,就控制步进电机打开门。当人经过门以后,再将门关闭。因为自动平移门能够在进入自动模式后能够完成自动控制,能够让建筑物层次得以提升又方便美观。所以快速在中国外建筑市场得到广泛普及。 1.3课题研究意义和目标二十一世纪是电子科技不停发展时代, 多种智能控制系统逐步进入大家生活之中。自动门控制系统因它能够出色完
4、成疏导人流,降低人员密度,预防再次发人员踩踏惨剧,已成为商场、超市、旅店、写字楼等人流集中地首选。为了使自动门愈加好为大家服务。为了 取得一个简单电路,功效完善,维护方便和性价高等优点自动门系统,本文中,研究了一个平开式自动门控制系统。 实现了自动识她人体红外识和防挤压等功效。该系统以STC89C52作为控制关键,以步进电机、红外传感器和光电开关结合简易单片机系统,充足发挥关键控制系统性能。含有一定使用和参考价值。1.4课题关键研究内容阅读单片机和自动控制相关知识。经过去图书馆下载往年相关论文进行参考,查阅资料,浏览图书馆相关文件,使用网络参考网络上论文。在此基础上利用单片机实现自动门控制系统
5、设计。此次设计总体结构大致分为电源模块、动力模块、报警模块、人体感应模块、门行程检测模块、障碍物检测模块共六大模块组成,经过Keil软件编写设计所需要程序并对程序进行检验分析,Altium designer进行原理图设计和PCB板布线,最终使用Proteus软件进行仿真。本控制系统基础框图图1.1所表示图1.1红外检测框图第二章 系统硬件设计为了满足生活中日益增加自动门需求,本设计是完成一个基于89C52单片机自动门控制系统,该系统包含报警电路,HC-SR501人体感应模块,复位电路,动力模块,控制方法切电路换等。当有些人经过人体感应模块时,人体感应模块会感应到人体温度,以后会将红外线信号转化
6、为电压信号,从而该系统会自动打开门,让行人经过。当人经过后,人体感应模块感应不到人体温度,以后输出低电压信号,从而该系统会自动打关门。该系统操作简单,可靠性强,灵敏度高,检测范围广,便于安装,很适替换原始手动门,从而达成出入方便目标。2.1硬件整体设计思绪依据需要实现功效选择基础硬件:(1) 主控芯片:STC89C52;(2) 人体感应模块:HC-SR501;(3) 报警模块:蜂鸣器:(4) 动力模块:步进电机;(5) 障碍检测模块:E18-D50NK;(6) 门行程检测模块:ITR-9608光电开关系统整体硬件框图图2.1所表示图2.1系统硬件框图2.2单片机介绍单片机是微型计算机系统。即使
7、它小,但含有一台计算机大部分部件:运算器、控制器、内存、内部和外部总线系统。相当于一块芯片成为了一台体积小、质量轻、价格廉价计算机。这为它广泛应用提供了便利条件。依据系统需求,需要控制芯片能在5V7V电压下工作,低功耗响应速度快,含有定时器,UART串口通信,外部中止,最少含有8个I/O口,能够驱动小电流设备。依据以上功效需要,综合考虑选择在市场上应用比较广泛且性价比高Atmel 企业STC89C52单片机,作为主控芯片,并选择11.0592MHz晶振外接在主控芯片上图2.2为STC89C52单片机最小系统图。图2.2 STC89C52单片机最小系统2.2.1STC89C52单片机引脚说明ST
8、C89C52单片机拥有40个引脚。表1根据引脚功效可分4个部分。表2.1单片机引脚说明单片机引脚引脚功效主电源引脚VCC(40)电源输入,接+5V电源GND(20)接地线外接晶振引脚XTAL1(19)片内振荡电路输入端XTAL2(18)片内振荡电路输出端控制引脚RST/VPP(9)复位信号输入端ALE/PROG(30)地址锁存许可信号PSEN(29)外部存放器读选通信号EA/VPP(31)程序存放器内外部选通,接低电平从外部程序存放器读指令,假如接高电平则从内部程序存放器读指令可编程输入/输出引脚P0口(3239)准双向8位三态I/O口P1口(18)准双向8位三态I/O口P2(2128)准双向
9、8位三态I/O口P3(1017)准双向8位三态I/O口值得注意是,P3口每一个引脚全部能够单独作为第一功效输入输出或第二功效。P3口第二功效如表2.2所表示表2.2 P3口第二功效P 3.0PXD(串行输入口)P3.1TXD(串行输出口)P3.2/INT0(外部中止0)P3.3/INT1(外部中止1)P3.4T0(记时器0外部输入)P3.5T1(记时器1外部输入P3.6/WR(外部数据存放器写选通)P3.7/RD(外部数据存放器读选通)2.2.2复位及复位电路复位是单片机初始化操作。其关键功效是让单片机初始化为0000H并从0000H单元开始实施程序。能够在单片机程序运转犯错或操作失误使系统处
10、于死锁情况时,摆脱困境。复位电路原理图图2.3所表示。图2.3复位电路原理图2.3人体感应模块设计HC-SR501是利用红外线技术从而来实现自动控制功效。当有些人经过该系统时,该模块感应到人体温度,人体所辐射出来红外线被人体感应模块吸收以后,该人体感应模块经过一系列处理以后,红外线就会转变成电压信号,该系统就会发出报警信号。该人体模块灵敏度高,广泛地被应用在自动感应产品之中。它发明使好多自动感应产品制作变得愈加方便快捷,愈加可靠。2.4步进电机步进电动机是一个数字控制电动机。它是将收到电脉冲信号转变成角位移或线性位移。即给一个脉冲信号,步进电动机就转动一个角度。步进电机在负载范围内开启/停止,
11、转动频率,只和控制关键传输给它信号相关,而不受负载大小影响。因为这特点存在,所以作常适合于单片机控制。近30年来,数字技术、计算机技术快速发展推进步进电动机进步,使步进电动机使用愈来愈广泛。2.5 驱动控制系统在利用步进电机时必需要有由环形脉冲,功率放大等组成控制系统,其方框图图2.3所表示。图2.3驱动控制系统框图脉冲信号由单片机产生,经ULN芯片对脉冲信号进行放大,步进电动机依据脉冲电流进行对应工作状态。在步进电动机控制中,基础控制以下:(1)反应式步进电动机控制换相次序步进电动机工作方时,根据通电换相次序严格实施。我们把通电换相过程称为脉冲分配。四相五线步进电机工作方法通电换相正序:是A
12、-AB-B-BC-C-CD-D-DA-A;反序为A-DA-D-CD-C-BC-B-AB-A。共有八个通电状态。其驱动方法逻辑时序如表2.4示。表2.4逻辑时序步进01020304真值表通电0ONOFFONOFF1010AC1ONOFFOFFOFF1000A2ONOFFOFFON1001AD3OFFOFFOFFON0001D4OFFONOFFON0101BD5OFFONOFFOFF0100B6OFFONONOFF0110BC7OFFOFFONOFF0010C8ONOFFONOFF1010ACULN芯片是高压大电流达林顿晶体管阵列,它是使用七个硅NPN达林顿管组成成。含有电流增益高、工作电流大、带
13、负载能力强等特征。本设计采取该芯片将信号从微处理器中放大,组成一个功率放大电路,方便于对步进电机驱动。其方框图图2.5所表示。图2.5ULN芯片框图2.6检测模块本设计利用E18-D50NK红外避障器和ITR-9608光电开关组成自动门检测系统。2.6.1E18-D50NK红外避障器E18-D50NK是一个集发射和接收于一体主动式光电传感器。E18-D50NK传感器传感器含有抗干扰能力强、安装方便、使用简单等特点。而且探测距离是能够经过电位器进行调整。广泛应用在防盗报警、自动门、机器人避障、流水线记数等方面。该传感器主动发射光线经过调制后调制成一定波长光线在进行发射,在工作中能够避免被自然光线
14、和多种灯光干扰含有较大精度。当发射光线被挡住,接收器依据发射回来光线进行调整输出信号。单片机处理此信号,最终报警器报警,步进电机停止转动,以达成放夹功效。保护了行人安全和预防夹到异物损坏自动门。2.6.2ITR-9608光电开关ITR-9608光电开关为槽型光电传感器。其工作原理是:经过检验本身发射器发射光线是否被另一端接收器接收到,接收到光线表示没有物体经过检测器,没有接收到光线表示有物体经过,光电开关据此产生信号。对射式光电开关特点在于:检测物体不限于是不是金属物体,只要此物体不是不透明,工作时不易受干扰,感应灵敏度高,工作所需能量小,工作寿命长。关键应用在测速、计数器、打印机等自动设备上
15、。在此次设计中利用此传感器检测门打开或关闭位置。在自动门关闭过程中,当自动门遮挡住JP1时,系统认为自动门已经完全关闭,电动机停止关门。在门打开过程中,当自动门不能继续遮挡JP2时,系统认为自动门已经完全打开,电动机停止转动,等候关门指令进行再进行关门动作。门行程检测电路图2.5所表示。图2.5门行程检测电路第三章 课题软件设计3.1系统软件结构本设计利用C语言进行程序编写,整个系统程序关键由端口设置,标志位设置,延时子函数,报警子函数,顺时针/逆时针转动子函数,门行程检测子函数,主程序等组成。程序依次正常运行带动硬件完成设计所需要功效。全部程序见附录。3.2程序步骤图设计自动门在自动状态下首
16、先检测门状态,依据接收到检测器信号判定自动门上次停机所处位置。在依据红外探测器所接收到信号,判定是否有些人,是否进入开门状态。在开门过程中门限位检测开关,检测门位置,抵达预定位置,停止开门。在红外检测开关检测到没有些人时进入关门程序,在关门过程中,红外传感器继续检测是否有些人,有些人则停止关门,进入开门程序,无人则继续关门,同时障碍检测器在关门过程中检测是否有障碍无,若检测到有障碍物,停止关门、报警,直到障碍物消失。若无障碍物继续关门,直到右侧限位开关检测到门处于预定位置,停止关门。等候下次红外检测器检测到有些人在次循环。步骤图图3.1所表示。3.1系统步骤图3.3关门/开门子函数uchar
17、code FFW8=0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09;/顺时针方向转动编码 uchar code REV8=0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01;/逆时针方向转动编码/顺时钟转动子函数void motor_ffw() uchar i; for (i=0; i8; i+) P0=FFWi; delay(2); /逆时针转动子函数void motor_rev() uchar j; for (j=0; j8; j+) P0=REVj; delay(2); 利用用C语言谈For循环程序,使步进电机在适宜时机进行正确
18、正反转。单片机需要开门或关门自行调动相关程序,使自动门能够正确工作。是设计关键程序,假如没有这个程序,单片机无法使电动机转动。3.4报警子函数void alarm1() /报警子函数 uchar i; for(i=0;i200;i+) alarm= alarm;/报警 delay(20); alarm=1;/报警完关闭此程序是蜂鸣器开启程序,在i在小于200时,输出高低电平脉冲。利用延时程序使脉冲频率进行降低,蜂鸣器发出声音频率降低,延长蜂鸣器使用寿命。3.5自动模式子程序/*自动模式*/ if(ZD=0)/假如自动模式按键按下 LS=1; /手动模式指示灯灭 for(t=0;t50;t+)
19、/自动模式灯闪烁约5秒钟 LZ=LZ; delay(200); delay(5); zdms=0; /自动模式标志置零,进入自动模式 sdms=1; /手动模式标志置1,退出手动模式 LZ=0; /自动模式指示灯亮 /-向右边平移开门(步进机顺时针转动)-/ if(zdms=0)&(zt3=1)&(hw_temp=1)/同时被挡住 motor_ffw();/调用顺时针转动子函数 if(zdms=0)&(zt1=1)&(hw_temp=1)/右边被挡住 motor_ffw();/调用顺时针转动子函数 /-向左平移关门(步进机逆时针转动)-/ if(bz_temp=1)&(zdms=0)&(zt3
20、=0)&(hw_temp=0)/同时没有被挡住 motor_rev();/调用逆时针转动子函数 if(bz_temp=1)&(zdms=0)&(zt2=0)&(hw_temp=0)/左边没被挡住 motor_rev();/调用逆时针转动子函数 自动模式下开门:需要同时满足以下3个条件。(1) zdms=0:自动模式按钮按下。(2) zt3=1:门行程检测按钮感应到门没有打开,处于关闭或半开启状态。(3) hw_temp=1:任意一个人体红外感应器感应到人。满足3个条件后,调动电动机顺时针转动程序,步进电机转动使门打开。直到门达成预定状态,步进电机停止转动。自动模式下关门:需要同时满足以下4个条
21、件。(1) bz_temp=1:障碍检测器未感应到有障碍物。(2) zdms=0:自动模式按钮按下。(3) zt3=0:门行程检测按钮感应到门处于打开状态。(4) hw_temp=0:全部红外人体感应器感应不到到人体红外。3.6障碍物检测程序/*假如检测到障碍物,立即停止转动,进入制动报警状态 if(bz_temp=0)&(K2=0)&(sdms=0) P0=0x00;/步进电机停止转动 alarm1(); if(bz_temp=0)&(zdms=0)&(hw_temp=0) P0=0x00;/步进电机停止转动 alarm1(); 障碍检测程序调用不管是自动模式还是手动模式,只要满足关门时障碍
22、检测器检测到有些人,立即停止电动机转动。进入报警模式,蜂鸣器响起。3.7电路图和PCB板设计在Altiun上画出电路原理图,并据此绘制出PCB板接线图。在绘制PCB板接线图时依据元器件大小,本着结构紧凑,布局合理,降低跳线标准围进行布局排版。原理图图3.2所表示,PCB接线图图3.3所表示。3.2原理图图3.3PCB接线第四章 系统仿真和调试4.1系统仿真在首先是进行系统仿真。此次仿真利用Proteus软件,它功效很强大,能够仿真单片机及其外围电路,而且能将所设计程序导入到单片机内。仿真目标是排除显著硬件故障和软件问题,检测硬件软件是否兼容,能否实现所预设功效。依据之前所设计原理图和系统程序,
23、并使用原来学过仿真软件绘画仿真图,测试整体设计。4.2软件调试在设计中所用 程序并不是直接烧录进单片机,而是在进行过多种调试仿真后,把没有错误,能够完美实现设计要求程序烧录至单片机,使单片机能够协调指挥各个硬件,达成设计目标。此次程序调试使用是Keil uVision4编码器进行调试,在是用Keil uVision4编码器时,对工程成功进行编译后、连接以后,在“主菜单”中打开“调试”栏,点金“开始/停止调试”即可进入软件仿真调试状态。此过程能够检验程序中存在错误。方便于修改程序。在KeiluVision4软件调试过程中能够进行单步调试,这一步能够使用户清楚看到程序实施到哪一步,错误出现在哪里,
24、降低检验错误时间,降低工作强度。在检验程序过程中,不出现逻辑错误,并不代表程序完全没有错误。能够设置端口和断点,并查看标志位和个寄存器状态。假如出现逻辑错误,更正逻辑错误,直到程序上完全没有错误。软件调试结果图4.1所表示。图4-1程序调试结果4.3硬件调试在单片机焊接过程中绕单片机为中心,从简单,线路少元器件开始进行焊接,焊接结束后再进行下一步调试。仔细检验电路板是否有元器件方向反向、虚焊、漏焊、断线等现象。检验完成后,进行通电检验电路板是否有异常,通常是检验是否有因线路接错而产生短路而引发电路异常发烧,发烧温度过高有可能使电路板烧毁。如出现此现象,要立即关闭电源,用万用表检验电路板,排除故障后,再次对电路板进行功效调试,直到电路板达成完整运行使用状态。实物检测手动模式:按下手动模式开关,手动模式指示灯亮起,按下开门按钮,步进电机顺时针转动带动自动门开启,直到左侧限位开关检测不到门,步进电机停止转动。按下关门按钮,步进电机逆时针转动带动门关闭,直到右侧限位开关检测到门。