序
🔥 毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。
为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是:基于51单片机的智能衣柜设计与实现
1 硬件电路设计
1.1硬件总体结构
硬件和软件设计是单片机系统的两个重要方面。本章主要论述该系统的硬件电路设计。本系统在硬件电路设计时,主要从以下原则出发:
1.硬件电路设计与软件设计相结合优化硬件电路。一些由硬件实现的功能可用软件来实现,反过来一些由软件实现的功能也可用硬件来完成。用软件来实现硬件的功能时,其响应时间比用硬件实现长,还要占用CPU时间。但是用软件实现硬件的功能可以简化硬件结构,提高硬件电路的可靠性,系统升级简化等优点,还可降低成本,因此在本系统的设计过程中,在满足可行性和实时性的前提下尽可能地将硬件功能用软件来实现。
2.可靠性及抗干扰设计,根据可靠性设计理论,系统所用芯片数量越少,系统的平局无故障时间越长,而且所用芯片数量越少,地址数据总线在电路板上受干扰的可能性就越少,因此单片机基本系统的设计思想是在满足功能的情况下力争使用较少数量的芯片及线路,系统选用的DHT11数字温度传感器也基于这方面的考虑。本系统大都采用了功能先进的DIP(插件)器件,因此从组件数、电路板空间、功耗、抗干扰及系统成本上都得以大幅度改善。
3.灵活的功能升级及系统扩展。一次设计往往不能完全考虑到系统的各个方面,系统需要不断完善,需要进行功能升级;并且,在设计时应考虑到系统在以后应用中扩展的方便性。功能扩展时系统应在原设计不需做很大变动的情况下,修改软件和少量硬件甚至不修改硬件就能完成。功能扩展是否灵活是衡量一个系统优劣的重要指针。
根据系统要求及上面几个硬件设计原则,确定系统硬件原理图。系统以单片机STC89C52DIP为中央处理单元,红外感应电路,光线采集,温湿度采集、继电器控制、LCD液晶显示、消毒指示灯,电机控制。原理图如1-1所示:下面对主要的电路设计做详细介绍。
1.2 单片机讲解
单片机是把处理器,存储器和输入输出接口集成在了一个模拟电路上,它是一种微型计算机。它是由CPU系统、程序存储器、数据存储器、各种输入输出端口和基本功能单元组成[8]。单片机在软件的控制下能准确、迅速、高效地完成程序设计者想要完成的工作。单片机具有很高的性价比,极低的功耗,高度的可靠性以及优良的控制能力和扩展能力等特点,是电子系统中重要的工具。单片机的出现是大大简化了复杂的电路系统设计,提高了系统的智能化程度,它已经被广泛的应用到科技发展和人类生活的各个领域,它正朝着更高性能、更多品种的方向发展,将有着广阔的应用前景。其内部结构图如图:
图1-1 单片机内部结构图
单片机内部主要的部件有:一个8位CPU,一个时钟电路,4KB以上的程序存储器。128字节数据存储器,两个16位定时器/计数器,64KB扩展总线控制电路,4个8位并行输入输出端口,一个可编程串行接口,5个中断源。
CPU就是中央处理器的简称,是单片机的核心部件,有控制器和运算器组成,完成各种运算和控制操作。时钟系统用于产生单片机工作所需的时钟信号。程序存储器主用来固话单片机的应用程序和一些表格常数。目前有多种类型的程序存储器,包括MASKROM型、EPROM型、RONLESS型、OTPROM型和FLASHROM型。数据存储器是一种可读可写的存储器,可以作为数据缓冲器使用,存放输入的零食数据或运算的结果。停电后数据就自动消失。
单片机的工作电压在5V左右,工作频率范围0~40MHZ,用户程序空间有4KB~64KB不同的规格。输入输出口中P0口是开漏输出,作为中线扩展使用,不用加上拉电阻,作为输入输出口使用时要加上拉电阻。单片机片内有3个16位定时器/计数器。通用异步串口,可以通过串口P3.0和P3.1直接下载用户程序,速度很快,只需短短的几秒钟就能下载成功。它的工作温度范围很大,适用于绝大部分工作环境的使用。
目前市面上的单片机有很多种型号,本次设计选用的是STC公司生产的51系列高速低功耗单片机STC89C52。它是标准的40 引脚双列直插式集成电路芯片,其引脚功能如下表:
表1-1 STC89C52芯片的引脚介绍
引脚类型 | 引脚名称 | 引脚号 | 引脚功能 |
主电源 引脚 | VCC | 40 | +5V电压 |
GND | 20 | 接地 | |
外接晶体 引脚 | XTAL1 | 19 | 外接晶体 |
XTAL2 | 18 | 外接晶体 | |
控制及 电源复用 引脚 | RST/VPD | 9 | 复位 |
ALE/PROG | 30 | 地址锁存 | |
PSEN | 29 | 外部程序存储 | |
EA/VPP | 31 | 使能 | |
输入 输出 引脚 | P0 | 39~32 | 双向8位I/O口 |
P1 | 1~8 | 准双向8位I/O口 | |
P2 | 21~28 | 准双向8位I/O口 | |
P3 | 10~17 | 准双向8位I/O口 |
P3口是准双向8位输入输出口,这8个引脚还专门的复用功能。作为第一功能时就作为普通的输入输出口使用;作为第二功能时,各引脚有其它的功能,其功能介绍如下表:
表1-1-1 单片机P3口功能介绍
引脚口线 | 引脚号 | 引脚名称 | 引脚功能 |
P3.0 | 10 | RXD | 串型输入口 |
P3.1 | 11 | TXD | 串型输出口 |
P3.2 | 12 | INT0 | 外部中断0 |
P3.3 | 13 | INT1 | 外部中断1 |
P3.4 | 14 | T0 | 定时器0外部输入 |
P3.5 | 15 | T1 | 定时器1外部输入 |
P3.6 | 16 | WR | 外部数据存储器写脉冲 |
P3.7 | 17 | RD | 外部数据存储器读脉冲 |
单片机工作时,从取指令到译码再进行微操作,必须在时钟信号控制下才能有序地进行,时钟电路就是为单片机工作提供基本时钟的。单片机的时钟信号通常有两种产生方式:内部时钟方式和外部时钟方式。
内部时钟方式是在单片机XTAL1和XTAL2引脚上跨接上一个晶振和两个稳频电容,可以与单片机片内的电路构成一个稳定的自激振荡器。晶振的取值范围一般为0~24MHz,常用的晶振频率有6MHz、12 MHz、11.0592 MHz、24 MHz等。一些新型的单片机还可以选择更高的频率。外接电容的作用是对振荡器进行频率微调,使振荡信号频率与晶振频率一致,同时起到稳定频率的作用,一般选用20~30pF的瓷片电容。
外部时钟方式则是在单片机XTAL1引脚上外接一个稳定的时钟信号源,它一般适用于多片单片机同时工作的情况,使用同一时钟信号可以保证单片机的工作同步。
时序是单片机在执行指令时CPU发出的控制信号在时间上的先后顺序。单片机的时序概念有4个,可用定时单位来说明,包括振荡周期、时钟周期、机器周期和指令周期。
振荡周期:是片内振荡电路或片外为单片机提供的脉冲信号的周期。时序中1个振荡周期定义为1个节拍,用P表示。
时钟周期:振荡脉冲送入内部时钟电路,由时钟电路对其二分频后输出的时钟脉冲周期称为时钟周期。时钟周期为振荡周期的2倍。时序中1个时钟周期定义为1个状态,用S表示。每个状态包括2个节拍,用P1、P2表示。
机器周期:机器周期是单片机完成一个基本操作所需要的时间。一条指令的执行需要一个或几个机器周期。一个机器周期固定的由6个状态S1~S6组成。
指令周期:执行一条指令所需要的时间称为指令周期。一般用指令执行所需机器周期数表示。单片机多数指令的执行需要1个或2个机器周期,只有乘除两条指令的执行需要4个机器周期。了解了以上几个时序的概念后,我们就可以很快的计算出执行一条指令所需要的时间。例如:若单片机使用12MHz的晶振频率,则振荡周期=1/(12MHz)=1/12us,时钟周期=1/6us,机器周期=1us,执行一条单周期指令只需要1us,执行一条双周期指令则需要2us。晶振电路如图 1-2-1所示:
图 1-2-1 系统晶振电路图
复位电路
无论是在单片机刚开始接上电源时,还是运行过程中发生故障都需要复位。复位电路用于将单片机内部各电路的状态恢复到一个确定的初始值,并从这个状态开始工作。
单片机的复位条件:必须使其RST引脚上持续出现两个(或以上)机器周期的高电平。
单片机的复位形式:上电复位、按键复位,此处采用上电复位。
按键复位电路中,当按键没有按下时,电路同上电复位电路。如在单片机运行过程中,按下RESET键,已经充好电的电容会快速通过电阻的回路放电,从而使得RST引脚上的电位快速变为高电平,此高电平会维持到按键释放,从而满足单片机复位的条件实现按键复位。
单片机要复位只需要在第9引脚接个高电平持续2μs 就可以实现,电容的的大小是10uF,电阻的大小是10k。所以根据公式,可以算出电容充电到电源电压的0.7倍(单片机的电源是5V,所以充电到0.7倍即为3.5V),需要的时间是10K×10UF=0.1S。单片机最小系统复位电路的极性电容C1的大小直接影响单片机的复位时间,一般采用10~30uF,单片机最小系统容值越大需要的复位时间越短。单片机复位电路如图3-1-4所示:
1.3 电源电路设计
单片机的电源采用直流5V供电,电源模块包括一个3脚的电源座子和6脚的电源开关。电源座子用于连接外部的电源插头,电源开关用于控制整个单片机的电路开和关。电源座子的2口引脚接地,3口引脚仅仅起到固定的作用,没有特殊的用处,1口引脚连接到电源开关的3口引脚,电源开关的1、3口引脚和4、6口引脚的作用相同,用于电源的正极输出。电源开关的2、5口引脚作为单片机的接地引脚,在使用时采取相对的选择,即选择1、3口引脚作为输出,那么就要选择5口引脚作为接地引脚,选择4、6引脚作为输出端口,2口引脚则作为接地引脚。本次单片机的传感器和无线传输芯片的电压都在5V内,所以5V的电压足够满足。若有12V或者其他电压的传感器,则可以采取升压模块将5V提升到更高的电压,进行供电。本次设计的电源电路如图1.6所示:
图1-3 电源电路设计
1.4 按键设置电路
本设计一共设置有4个控制命令按键:开门/关门;设置加;设置减;手动消毒开/关。我们采用的是独立式的按键,独立式按键就是每单个的按键就会有一条单独的I/O线,他们之间互不影响,按键一端接地,采用的是低电平有效,按下按键就会连接该条线路。键盘抖动的消除采用的是软件消除,因为硬件需要外接器件成本高也比较麻烦,软件消除的原理是线建立一个子程序,在检测到按键闭合时先执行子程序延时功能,按键断开时也执行数毫秒的功能从而达到消除抖动的目的。
当我们按下按键后会输出低电平给单片机,松开后输出高电平这样我们就知道按键是否被按下,通过程序写入按键扫描函数就执行我们需要实现的功能。按键电路图设计
1.5 LCD1602液晶显示电路
本系统显示电路选择液晶显示器LCD1602,在单片机系统中应用晶液显示器作为输出器件有以下几个优点:
① 显示质量高
由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,而不像阴极射线管显示器(CRT)那样需要不断刷新新亮点。因此,液晶显示器画质高且不会闪烁。
② 数字式接口
液晶显示器都是数字式的,和单片机系统的接口更加简单可靠,操作更加方便。
③ 体积小、重量轻
液晶显示器通过显示屏上的电极控制液晶分子状态来达到显示的目的,在重量上比相同显示面积的传统显示器要轻得多。
④ 功耗低
相对而言,液晶显示器的功耗主要消耗在其内部的电极和驱动IC上,因而耗电量比其它显示器要少得多。
液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,目前已经被广泛应用在便携式电脑、数字摄像机、PDA移动通信工具等众多领域。液晶显示的分类方法有很多种,通常可按其显示方式分为段式、字符式、点阵式等。除了黑白显示外,液晶显示器还有多灰度有彩色显示等。如果根据驱动方式来分,可以分为静态驱动(Static)、单纯矩阵驱动(Simple Matrix)和主动矩阵驱动(Active Matrix)三种。
点阵图形式液晶由M×N个显示单元组成,假设LCD显示屏有64行,每行有128列,每8列对应1字节的8位,即每行由16字节,共16×8=128个点组成,屏上64×16个显示单元与显示RAM区1024字节相对应,每一字节的内容和显示屏上相应位置的亮暗对应。例如屏的第一行的亮暗由RAM区的000H——00FH的16字节的内容决定,当(000H)=FFH时,则屏幕的左上角显示一条短亮线,长度为8个点;当(3FFH)=FFH时,则屏幕的右下角显示一条短亮线;当(000H)=FFH,(001H)=00H,(002H)=00H,……(00EH)=00H,(00FH)=00H时,则在屏幕的顶部显示一条由8段亮线和8条暗线组成的虚线。这就是LCD显示的基本原理。
用LCD显示一个字符时比较复杂,因为一个字符由6×8或8×8点阵组成,既要找到和显示屏幕上某几个位置对应的显示RAM区的8字节,还要使每字节的不同位为“1”,其它的为“0”,为“1”的点亮,为“0”的不亮。这样一来就组成某个字符。但由于内带字符发生器的控制器来说,显示字符就比较简单了,可以让控制器工作在文本方式,根据在LCD上开始显示的行列号及每行的列数找出显示RAM对应的地址,设立光标,在此送上该字符对应的代码即可。
汉字的显示一般采用图形的方式,事先从微机中提取要显示的汉字的点阵码(一般用字模提取软件),每个汉字占32B,分左右两半,各占16B,左边为1、3、5……右边为2、4、6……根据在LCD上开始显示的行列号及每行的列数可找出显示RAM对应的地址,设立光标,送上要显示的汉字的第一字节,光标位置加1,送第二个字节,换行按列对齐,送第三个字节……直到32B显示完就可以LCD上得到一个完整汉字。
对于本次设计采用的信息我们通过LCD1602进行液晶显示
图1-5显示电路的设计
1.6 继电器控制电路
本次设计中我们主要是通过继电器来控制外围风扇来对鱼缸进行控制,我们在继电器端口加上负载电路就可以使其进行驱动,当DHT11采集到的湿度高于我们设置的上限就说明衣柜湿度较高这个时候单片机发送低电平信息给三极管三极管发达电流后控制继电器闭合从而带动风扇进行除湿。
开启继电器是一种电控制器件。它具有控制系统(又称输入回路)和被控制系统(又称输出回路)之间的互动关系。通常应用于自动化的控制电路中,它实际上是用小电流去控制大电流运作的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。 当输入量(如电压、电流、温度等)达到规定值时,继电器被所控制的输出电路导通或断开。输入量可分为电气量(如电流、电压、频率、功率等)及非电气量(如温度、压力、速度等)两大类。继电器具有动作快、工作稳定、使用寿命长、体积小等优点。广泛应用于电力保护、自动化、运动、遥控、测量和通信等装置中。当继电器闭合后看看有直接启动加湿器进行加湿。
电磁继电器工作原理和特性:
电磁继电器一般由铁芯、线圈、衔铁、触点簧片等组成的。只要在线圈两端加上一定的电压,线圈中就会流过一定的电流,从而产生电磁效应,衔铁就会在电磁力吸引的作用下克服返回弹簧的拉力吸向铁芯,从而带动衔铁的动触点与静触点(常开触点)吸合。当线圈断电后,电磁的吸力也随之消失,衔铁就会在弹簧的反作用力返回原来的位置,使动触点与原来的静触点(常闭触点)释放。这样吸合、释放,从而达到了在电路中的导通、切断的目的。对于继电器的“常开、常闭”触点,可以这样来区分:继电器线圈未通电时处于断开状态的静触点,称为“常开触点”;处于接通状态的静触点称为“常闭触点”。继电器一般有两股电路,为低压控制电路和高压工作电路。
图1.6 继电器原理图
1.7 衣柜门开关控制电路
衣柜的开/关我们通过步进电机正反转拉模拟开/关门,这样当我们想要开门的时候我们直接按下按键单片机就会通过电平信息控制ULN2003来驱动四相八拍的电机选择来实现衣柜门的开关。
ULN2003 是高耐压、大电流达林顿陈列,由七个硅NPN 达林顿管组成。 ULN2003 的每一对达林顿都串联一个2.7K 的基极电阻,在5V 的工作电压下它能与TTL 和CMOS 电路 直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。ULN2003 工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受50V 的电压,输出还可以在高负载电流并行运行。 ULN2003 采用DIP—16 或SOP—16 塑料封装。
ULN2003内部还集成了一个消线圈反电动势的二极管,可用来驱动继电器。它是双列16脚封装,NPN晶体管矩阵,最大驱动电压=50V,电流=500mA,输入电压=5V,适用于TTL COMS,由达林顿管组成驱动电路。ULN是集成达林顿管IC,内部还集成了一个消线圈反电动势的二极管,它的输出端允许通过电流为200mA,饱和压降VCE 约1V左右,耐压BVCEO 约为36V。用户输出口的外接负载可根据以上参数估算。采用集电极开路输出,输出电流大,故可直接驱动继电器或固体继电器,也可直接驱动低压灯泡。通常单片机驱动ULN2003时,上拉2K的电阻较为合适,同时,COM引脚应该悬空或接电源。ULN2003是一个非门电路,包含7个单元,单独每个单元驱动电流最大可达350mA,9脚可以悬空。比如1脚输入,16脚输出,你的负载接在VCC与16脚之间,不用9脚。ULN2003是大电流驱动阵列,多用于单片机、智能仪表、PLC、数字量输出卡等控制电路中。可直接驱动继电器等负载。输入5VTTL电平,输出可达500mA/50V。ULN2003是高耐压、大电流达林顿陈列,由七个硅NPN达林顿管组成。 该电路的特点如下: ULN2003的每一对达林顿都串联一个2.7K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路 直接相连,可以直接处理原先需要标准逻辑缓冲器。 ULN2003 是高压大电流达林顿晶体管阵列系列产品,具有电流增益高、工作电压高、温度范围宽、带负载能力强等特点,适应于各类要求高速大功率驱动的系统。
ULN2003芯片引脚图
ULN2003芯片引脚介绍
引脚1:CPU脉冲输入端,端口对应一个信号输出端。
引脚2:CPU脉冲输入端。
引脚3:CPU脉冲输入端。
引脚4:CPU脉冲输入端。
引脚5:CPU脉冲输入端。
引脚6:CPU脉冲输入端。
引脚7:CPU脉冲输入端。
引脚8:接地。
引脚9:该脚是内部7个续流二极管负极的公共端,各二极管的正极分别接各达林顿管的集电极。用于感性负载时,该脚接负载电源正极,实现续流作用。如果该脚接地,实际上就是达林顿管的集电极对地接通。
引脚10:脉冲信号输出端,对应7脚信号输入端。
参考电路接法
引脚11:脉冲信号输出端,对应6脚信号输入端。
引脚12:脉冲信号输出端,对应5脚信号输入端。
引脚13:脉冲信号输出端,对应4脚信号输入端。
引脚14:脉冲信号输出端,对应3脚信号输入端。
引脚15:脉冲信号输出端,对应2脚信号输入端。
引脚16:脉冲信号输出端,对应1脚信号输入端。
步进电机是一种将电脉冲转化为角位移的执行机构。通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。您可以通过控制脉冲个来控制角位移量,从而达到准确定位的目的;同时您可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
步进电机28BYJ48型四相八拍电机,电压为DC5V—DC12V。当对步进电机施加一系列连续不断的控制脉冲时,它可以连续不断地转动。每一个脉冲信号对应步进电机的某一相或两相绕组的通电状态改变一次,也就对应转子转过一定的角度(一个步距角)。当通电状态的改变完成一个循环时,转子转过一个齿距。四相步进电机可以在不同的通电方式下运行,常见的通电方式有单(单相绕组通电)四拍(A-B-C-D-A。。。),双(双相绕组通电)四拍(AB-BC-CD-DA-AB-。。。),八拍(A-AB-B-BC-C-CD-D-DA-A。。。)
这样步进电机在P1的正转顺序为
CW[]={0xf6,0xf7,0xf3,0xfb,0xf9,0xfd,0xfc,0xfe};//正转
反转就是正转的逆过程代码为
CCW[]={0xfe,0xfc,0xfd,0xf9,0xfb,0xf3,0xf7,0xf6};//反转
这样按一定的时间直行就会使步进电机旋转起来。
1.8 DHT11温湿度采集
本次设计采用DHT11温湿度传感器模块,温湿度传感器DHT11主要是用来进行温度和湿度检测,当我们对水温进行检测,我们用防水的DHT11就可以进行检测。DHT11传感器是市场上采用的温湿度传感器。此传感器占用的面积非常简单,精度为0.2.采用的是单总线的数据传输方式。这个传感器抗干扰能力非常的强,经常用于高炉测温、机房检测、家庭温度控制等方面适合于很多空间比较小的场合和数字温度检测等领域。这款温度传感器转换时间为75ns,比传统DS1820速度要快很多。检测的结果以数字量方式串行传送。
作为一款含有已校准数字信号输出的温湿度复合传感器,DHT11温湿度传感器采集的数值是非常准确的,其采集范围为:温度0-50°±2°,湿度:20-90%RH。DHT11采用单总线双线串行通信协议,采集过程首先是STC89C52单片机发起开始信号,通过I/O引脚发送给DHT11,之后DHT11反向单片机发送响应,并将采集到的数据按照40位数据帧格式输出,最高位在前,数据格式为:8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据+8bit温度小数数据+8bit校验位,温湿度小数部分默认为0,即单片机采集的数据都是整数,校验位为4个字节的数据相加取结果的低8位数据作为校验和,单片机将检测到的数据解析,得出温度和湿度的具体数值,最终显示在液晶屏上。温湿度传感器模块电路图如图1.8所示:
图1.8 DHT11原理图
1.9 光线采集电路
光敏主要都是通过LM393比较器来进行比较,从而输出高低电平来进行判断当前是否下雨和光线强弱。LM393工作原理如下:
1)工作电源电压范围宽,单电源、双电源均可工作,单电源:2~36V,双电源:±1~±18V
2)消耗电流小,Icc=0.8mA;
3)输入失调电压小,VIO=±2mV;
4)共模输入电压范围宽,Vic=0~Vcc-1.5V;
5)输出与TTL,DTL,MOS,CMOS 等兼容;
6)输出可以用开路集电极连接“或”门;
采用双列直插8 脚塑料封装(DIP8)和微形的双列8 脚塑料封装(SOP8)。LM393引脚图及内部框图如图2-5所示:
图1-5 LM393内部结构图
LM393是高增益,宽频带器件,象大多数比较器一样,如果输出端到输入端有寄生电容而产生耦合,则 很容易产生振荡.这种现象仅仅出现在当比较器改变状态时,输出电压过渡的间隙.电源加旁路滤波并不能解决这个问题,标准PC板的设计对减小输入—输出寄生电容耦合是有助的.减小输入电阻至小于10K将减小反馈信号,而且增加甚至很小的正反馈量(滞回1.0~10mV)能导致快速转换,使得不可能产生由于寄生电容引起的振荡.除非利用滞后,否则直接插入IC并在引脚上加上电阻将引起输入—输出在很短的转换周期内振荡,如果输入信号是脉冲波形,并且上升和下降时间相当快,则滞回将不需要。
比较器的所有没有用的引脚必须接地. LM393偏置网络确立了其静态电流与电源电压范围 2.0~30V无关。 通常电源不需要加旁路电容,差分输入电压可以大于Vcc并不损坏器件.保护部分必须能阻止输入电压向负端超过-0.3V。LM393的输出部分是集电极开路,发射极接地的 NPN输出晶体管,可以用多集电极输出提供或OR ing功能。输出负载电阻能衔接在可允许电源电压范围内的任何电源电压上,不受 Vcc端电压值的限制。此输出能作为一个简单的对地SPS开路(当不用负载电阻没被运用),输出部分的陷电流被可能得到的驱动和器件的β值所限制.当达到极限电流(16mA)时,输出晶体管将退出而且输出电压将很快上升。输出饱和电压被输出晶体管大约60ohm 的γSAT限制。当负载电流很小时,输出晶体管的低失调电压(约1.0mV)允许 输出箝位在零电平。
光敏检测:
为了对外部光照强度的测量,论文采用光敏电阻对光照进行测量,如图2.2所示光敏电阻,此光敏电阻是负参数的光敏电阻,也就是说光照增强后电阻阻减小,我们通过实验测量得到光敏电阻的电子变化范围在几百欧姆到几兆欧姆之间变化,当光强度很大时,光敏电阻的阻值可达几百欧姆,当在黑暗的环境中时,测量光敏电阻两端的阻值,可达几兆欧姆的电阻。 图 2.2光敏电阻 为了实现与光敏电阻的阻值想匹配的电阻,我们采用10K的电阻进行上拉电阻。通常情况下,光敏电阻的阻值在千欧姆上,所以当光照强度很大时,光敏电阻的阻值很小,进行图2.2电路后输出的信号就是很小的电压信号;当光照强度很小时,即黑暗情况下,光敏电阻的阻值很大,进行图2.2电路后输出的信号就是接近供电电源的电压2.5V。在电压信号输出后和lm393比较器进行比较,如果大于2.5V那么说明光线弱输出高电平给单片机。
图2.2 光敏电阻
1.10 红外感应电路
红外感应模块是通过红外传感器在有效范围内检测有无物体,然后将信息传给单片机。红外感应模块电路图如下图所示。鎦诗
该传感器模块对环境光线适应能力强,其具有一对红外线发射与接收管,发射管发射出频率的红外线,当检测方向遇到障碍物(反射面)时,红外线反射回来被接收管接收,经过比较器电路处理之后,绿色指示灯会亮起,同时信号输出接口输出数字信号(一个低电平信号),可通过电位器旋钮调节检测距离,有效距离范围2~30cm,工作电压为3.3V-5V。该传感器的探测距离可以通过电位器调节、具有干扰小、便于装配、使用方便等特点,可以广泛应用于机器人避障、避障小车、流水线计数及黑白线循迹等众多场合。
模块参数说明
1 当模块检测到前方障碍物信号时,电路板上绿色指示灯点亮电平,同时OUT端口持续输出低电平信号,该模块检测距离2~30cm,检测角度35°,检测距离可以通过电位器进行调节,顺时针调电位器,检测距离增加;逆时针调电位器,检测距离减少。
2、传感器主动红外线反射探测,因此目标的反射率和形状是探测距离的关键。其中黑色探测距离小,白色大;小面积物体距离小,大面积距离大。
3、传感器模块输出端口OUT可直接与单片机IO口连接即可,也可以直接驱动一个5V继电器;连接方式:VCC-VCC;GND-GND;OUT-IO
4、比较器采用LM393,工作稳定;
5、可采用3-5V直流电源对模块进行供电。当电源接通时,红色电源指示灯点亮;
6、具有3mm的螺丝孔,便于固定、安装;
7、电路板尺寸:3.2CM*1.4CM 8、每个模块在发货已经将阈值比较电压通过电位器调节好,非特殊情况,请勿随意调节电位器。 模块接口说明 1 VCC 外接3.3V-5V电压(可以直接与5v单片机和3.3v单片机相连) 2 GND 外接GND 3 OUT 小板数字量输出接口(0和1) 4.工作电流是10ma以内
通过旋转电位器可以调节感应的距离
红外感应模块当在自动模式下检测到有人触摸后,表示要开门或者是关门,这时输出电平信号给单片机。
1.11 蓝牙无线传输电路
本次设计关于无线通信方面我们采用的模块是HC05蓝牙模块,我们通过此模块可以把当前的数据和参数无线端发送到用户手机上进行显示,同时我们也可以通过手机端对当前的实物像按键一样进行控制。
作为蓝牙串口模块,ATK-HC05模块是主从一体的,而且性能较高,可以与PDA、手机、电脑等具有蓝牙功能的设备实现配对,该模块所支持的波特率范围非常大,为4800~1382400,而且该模块和3.3V或5V的单片机系统相兼容,极其方便、灵活。
在建立微微网前,一切设备都是就绪状态,在此状态中,每1.28s未连接的设备便会对一次消息进行监听,唤醒设备后,在监听信息时可以预设32个调频频率,主设备初始化后实现连接进程。倘若已知设备的地址,通过页信息实现连接;倘若地址是未知的,那么通过页信息的查询信息实现连接。微微网中,如果设备未进行数据传输,那么它便进入节能状态。主设备设置从设备为保持方式,此过程中处于工作状态的只有内部定时器;从设备亦可以进入到保持方式。设备一旦转出保持方式便可以开始数据传输。在和几个微微网相连,或者对低功耗器件进行管理时,常用保持方式。低功耗的另外两种工作方式是休眠、监听方式。鉴于蓝牙基带技术,其支持面向连接方式、无连接方式,前者传输语音,后者传输分组数据,温度数据就通过无连接方式传输。
蓝牙采用的是跳频和时分多址技术。为了使频谱扩展,需要利用伪随机码序列实现频移键控,此载波频率发生跳变,即为跳频。传统通信系统中使用定频方式,在发射机中,主振荡器具有固定的振荡频率,为了实现载波频率的跳变,得到跳频信号,按照控制指令改变主振荡器的频率。能够得到跳频信号的装置被称作跳频器,它主要包括跳频指令发生器、频率合成器。如果将跳频器等同于主振荡器,那么和传统的发信机没有任何不同。可以对模拟、数字形式的信号进行传送,之后利用调制器实现调制,进而得到固定频率的已调波信号,接着和频率合成器的主载波频率信号实现混频,此时输出载波频率符合射频通带要求的已调波信号,在经过高通滤波器反馈后,利用天线将信号发射出去,此过程即为发送定频信号的过程。时分多址是分割时间为不重叠的帧,再分割帧为不重叠的信道,和用户一一对应,主要利用信道对地质不同的信号进行区分,实现多址连接。
2. 系统调试
整体系统上电调试前,大概观察下焊接的系统还存在问题,例如还有很显眼的断裂,正负极接反以及相连、虚焊、等问题,然后用万用表检测一下,电源正负极之间是否短路等严重的电源问题,最终保证系统焊接没有问题。
在搭建调试平台后,需要对软件程序进行调试,若程序调试没有问题,接下来开始验证系统功能是否满足要求,若功能有问题,需要继续调试程序,反复进行,直到所有功能都满足为止。 系统程序调试
软件调试步骤如下:
(1)在Keil uVision4软件中先创建一个工程:单击菜单栏中的“工程”,输入新建工程名,并保存。
(2)新建用户源文件:在新建的空白文本中编写程序源代码,编码完成保存文件并文件拓展名“设计名称.c”,新文件创建完成。
(3)程序编译和调试:单击编译按钮,系统会对文件进行运行,在输出窗口中可看到提示信息,如果有错误信息,则须按提示找出错误并改正,直到提示没有错误且实物功能均符合要求为止(Warning不需要管,因为有的是系统文件或者是调用部分没有使用到属于正常现象)。
图2-1程序编译无误提示界面图
2.1 硬件调试
最后一步就是硬件整体测试了,主要运用万用表、直流电源或示波器对焊接好的板子进行整体调试,主要检查每一个器件是不是都正常工作了,主要分为两个环节动态调试和静态调试。
一、静态调试,其中静态调试主要分为以下四种:
(1)肉眼观察。主要观看焊接点是否饱满,以及相连器件之间是否相连或者器件管脚没有焊接好,出现短路现象。
(2)使用万用表调试。首先查看电源是否短路,然后测量管脚是否连接正确,有没有接线错误。
(3)上电检查。在完成第一步和第二步都没有问题,接下来就可以上电了,上电以后观看每个器件是否正常工作,然后在逐一测试功能。
(4)综合检查测试。这种测试方法只适合单片机开发板开发的系统才能使用这种方法,本设计不适宜用这种方法测试。
二、动态调试:
动态调试主要是静态调试没有任何问题,做最后一步检查,就是每个器件能
否正常工作,能否满足我系统开发的功能,防止器件内部损坏,影响系统性能。
如果学弟学妹们在毕设方面有任何问题,随时可以私信我咨询哦,有问必答!学长专注于单片机相关的知识,可以解决单片机设计、嵌入式系统、编程和硬件等方面的难题。
愿毕业生有力,陪迷茫着前行!