毕业设计 基于51单片机智能风扇控制系统的设计


🔥 毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。
为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是:基于51单片机智能风扇控制系统的设计

第1章 系统硬件模块设计

1.1系统整体结构设计

本系统主要用到的硬件器件有 STC89C52、DS18B20温度传感器、LED数码管、按键模块、红外识别等等,如图1-2系统整体框图所示

图 1-2系统整体框图

1.2系统控制模块设计

1.2.1 控制模块STC89C52设计

系统的控制模块是由STC89C52单片机构成的,它具有低功耗,低成本,高性能的优点,而且比传统的51单片机有更好的处理速度。它拥有32个I/O口,可以随意选择6时钟信号/机器周期或者12时钟/机器周期,按照不同的情况应用到不同的系统,并且还拥有8K的Flash存储器,因此可以为很多的控制系统提供了有效快捷的解决方案。如图1-3STC89C52电路图

图 1-2STC89C52电路图

1.2.2 STC89C52的工作电路

1. 时钟电路

在STC89C52单片机中,可以通过内部时钟方式和外部时钟的方式产生时钟信号,在STC89C52单片机内部有一处振荡电路,你只需要在单片机的XTAL1(18)和XTAL2(19)的引脚外接石英晶体(简称晶振),这样就可以构成了自激振荡器,并且可以在单片机内部产生时钟脉冲信号。如图1-3时钟内部时钟电路图。

图 1-3内部时钟电路图

2.复位电路

在单片机STC89C52中,高电平信号通过RST引脚输入,而且一直保持了2个机器周期,然后单片机内部就会执行复位的操作。如果高电平信号一直在持续,那么单片机内部就会执行循环复位操作。

单片机的复位方式电路一般有上电自动复位和按钮复位两种,而本系统所采用的复位方式是手动复位。

所以,单片机是主要通过时钟信电路的作用将其他硬件的所传输的信号加以处理、加工,然后传输给芯片进行应对工作,而复位电路就是在芯片执行完命令之后,通过自动复位或手动复位,将单片机复位成初始化状态。

1.3系统测温模块设计

1.3.1 DS18B20的特点与简介

DS18B20温度传感器内部集成化程度非常高,拥有抗干扰性,功耗低,成本低,易于扩展等优点。它采取的是单根信号线,就是可以传输时钟和数据,而且传输的方式是双向,这样有传输速度快,应答事件迅速的特点。如图3-4DS18B20原理图。

(1)采取独特的单总线接口方式,就是仅有一根信号线与控制器连接在一起,但是可以双向传输数据,不需要借助任何的外部器件;

(2)传感器将从外界所测得的温度系数可以直接转换为数字信号,然后通过单总线串行传输给控制器,同时也进行CRC校验码的传送,拥有超高的抗干扰能力;

(3)3.0-5.5V是传感器的工作电压,不需要备份电源、可以直接使用数据线提供电源,温度测量的范围在-55℃~125℃,而且在这个范围内,误差一般不超过1度。

图 1-4DS18B20原理图

1.3.2 DS18B20的测温工作原理

在DS18B20传感器中,因为在低温的时候,温度寄存器被设置为-55℃,所以,当外界温度变化较少的时候,它的震荡频率因为温度的影响就非常小,用来产生固定率的脉冲信号,然后再传输给计数器1。高温度系数晶振则与之相反,它受温度变化成正比,温度变化越大,震荡率越明显,因此所产生的脉冲信号输入计数器2。

当低温度系数晶振产生了脉冲信号之后,计数器1就会采用减法计数,当预置值减到0的时候,温度寄存器的数值就会加1,计数器1的预制值就会被重新输入。然后就再次重复刚才的操作,这样的操作一直持续下去,直到计数器2等于0的时候,温度寄存器的数值就停止累加了,这个时候,温度寄存器的这个数值,就是你所测到外界环境的实时温度。

图1-5测温原理图中的斜率累加器是用于补偿和修正测温过程的线性,其输出用于修正计数器1的预置值 。这样我们就可以把外界的实时温度测量出来了,然后再通过读时序和写时序这两步操作,这样我们就可以通过数码管的显示得到我们想要的温度了。

图 1-5测温原理图

1.3.3 DS18B20温度数据的读写

一个存储器操作指令结束之后就会将进行数据的读写,这个操作要视存储器操作指令而确定例如执行转换指令则控制器必须等待DS18B20行其指命一般转换时间为50u5,如执行数据该写指令则需要严格遵循DS18B20的读写时序来操作数据。如图3-6读时序操作图和图1-7写时序操作图。

图 1-6读时序操作图

图 1-7写时序操作图

1.4系统温度显示模块设计

1.4.1 LED数码管的结构

在LED数码管中,它的构成是通过多个发光二极管,而且外形像一个数字“8”的器件。在内部结构中,多个二极管的引线它已经连接完好,我们可以直接使用了,但是我们要引出数码管的各个笔划和公共电极。而且数码管是由一个小数点和7段组成的如图1-8数码管引脚图。

图 1-8数码管引脚图

1.4.2 LED数码管的显示工作原理

当LED数码管工作的时候,数码管的各个段码要采用驱动电路来驱动,这样就可以展现出我们想要的字形,在本系统中,数码管的驱动主要是采用了动态显示驱动。

动态显示驱动:数码管动态显示是单片机应用最广泛的方式之一,动态驱动是将全部数码管的8个显示笔划"a,b,c,d,e,f,g,dp "的同名端连在一起,另外为每个数码管的公共极COM增加位元选通控制电路,位元选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位元选通COM端电路的控制。

因此,我们在使用数码管的动态扫描的时候,我们需要将数码管的选通控制都打开,这样我们想要得到的字形就会显示出来,当你只是想部分显示,有一部分不显示的时候,你只需要把你需要显示的选通控制打开,不想显示的选通控制关闭,这样,就可以显示出你想定制的字形了。

当你想把数码管轮流受控显示的时候,你可以通过分时轮流控制各个数码管的COM端,这样就可以让你的数码管轮流受控显示了,这样我们就可以实时地观察到环境的温度以及风扇目前所处在的模式,这样就使得我们的风扇更准确,更高效的运行。

如图1-9数码管原理图。

图 1-9数码管原理图

1.5系统风扇驱动和调速模块设计

1.5.1 系统风扇的驱动模块设计

风扇的驱动主要是由两个三极管来构成,三极管通过电流放大,然后直接驱动直流电机,就带动了风扇的转动。三极管是电流放大器件,分成NPN和PNP两种。如图1-10三极管电路图

图 1-10三极管电路图

电流放大

三极管的放大作用就是:当集电极电流受到了基极电流的控制,并且基极电流很小的变化,会引起集电极电流很大的变化,且变化满足一定的比例关系。

所以,因为单片机的端口电流比较小,所以我们要使用到三极管放大电流的原理,这样三极管才能有足够大的电流去驱动风扇。因此,系统风扇的驱动主要是通过三极

管PNP低电平的时候,三极管导通,在NPN高电平的时候导通,而且PNP和NPN的电流是相反的,然后就到三极管的开关,用来以小电流控制大电流的通断,这样,通过三极管的的驱动直流电机,带动风扇转动,然后通过PWM的调速方式,来控制凤扇的转速,这样风扇就可以按照我们程序所设计的模式来进行转动。

1.5.2 系统风扇调速模块设计

当PWM脉宽调制的时候,主要是通过改变脉冲宽度,以此来控制输出电压的高低,并且它的输出频率经过周期的改变来控制,然后通过改变脉冲的调制周期来实现输出频率的变化。这样,使调压和调频两个作用配合一致,用于中间直流环节无关,因而加快了调节速度,改善了动态性能。

工作原理

脉宽调制(PWM)。控制方式就是通过不断的改变电路的高低电平信号,使输出端得到一系列幅值相等的脉冲,用这些脉冲来代替正弦波或所需要的波形。也就是在输出波形的半个周期中产生多个脉冲,使各脉冲的等值电压为正弦波形,所获得的输出平滑且低次斜波谐波少。按照相应的需求对各脉冲的宽度进行调制,这样就可以改变逆变电路输出电压的大小,也可改变输出频率。

在调速的过程中,它主要是通过改变脉冲序列的宽度,这样就尅调节输出量和输出电压,这样就可以使得风扇有不同的速度转动。在PWM驱动控制的调速方式下,最常用的是矩形波PWM信号,在控制时需要调节PWM占空比。我们把在一个周期内一直处于高电平的时间成为占空比。因为风扇的转速是与占空比有关系的,当占空比越大,风扇的转速就会与之成正比,就会越快。当系统一直处于高电平的时候,风扇的转速就会按它最快的转速转动,在这个时候,占空比的值就等于1,风扇就会以全速来转动。

1.6系统按键模块设计

系统的按键模块的工作过程,主要是通过单片机的I/O口,识别目前的电平信号,来判断当前是否有按键按下。然后我们把按键的一端接地,另外一端接I/O口,当单片机接通电源的时候,把这个I/O口置于高电平,当没有按键按下的时候,该端口会保护高电平。然而当我们按下按键的时候,这时候I/O口和地短接,把目前的I/O

口的的高电平取反,变成低电平。当我们把按键松开之后,单片机内部的上拉电阻就会把当前为低电平的状态转换成高电平,并且一直保持着。知道有下一次按键按下。

因此,我们识别按键是否按下就是在程序中查看I/O的电平信号的状态就可以了。因此我们采用P11,P12,P13作为独立按键的IO口,,并且我们在使用的按键的过程中避免因为端口的混用,导致按键存在一些误触的一些错误,这样设计更加的便捷。如图1-12按键电路图

图 1-12电路图

1.7系统红外控制模块设计

在红外遥控实现的过程中,主要是靠红外发射装置和红外接收设备,通过这两个部分就可以实现红外远程控制了。在系统工作过程中,我们为了把信号传送到发送端,所以我们选择将基带二进制信号调制为脉冲串信号,通过红外发射管发射。如图3-13红外控制电路原理图

当接收设备收到这个频率时,接收头就会自动把信问号解码输出为低电平,也就是说没信答号时是高电平,有信号时低电平,然后单片机接收到相对的指令就可以答工作,红外遥控的三个按键与单片机上的三个独立按键的作用与定义都是同时进行的,所以当红外遥控按下按键之后,单片机接收到属于红外的定义的时候。系统就会按照其定义作出反应,如下图1-14红外框图

图 1-13红外控制电路原理图

图 1-14红外框图

1.8人体识别模块设计

人体识别模块是在硬件通电之后,模块本身就会发射出电平信号,在模块持续发射高电平信号的时候,说明在模块感应的范围内存在人;在模块持续发射出低电平信号的时候,说明附近没有人的存在。然后就是单片机,单片机可以在通电之后持续检测到人体识别模块的电平信号,然后通过识别电平信号来进行了有人或无人状态下,风扇应该进行的工作方式,这样直接通过电平信号的检测,大大的降低了实现的技术难度和减少误差。如图1-15人体识别模块电路原理图

图 1-15人体识别模块电路原理图

第2章 系统测试

这一章我们主要的是进行风扇系统整体的测试,首先通过对各个模块的测试,确保不会因为硬件存在的误差而导致实现的功能出现偏差,然后再通过对风扇整体进行测试,对风扇所设计的四个功能进行一一测试,这样我们就可以准确的保证系统的整体设计得以顺利进行。

2.1系统硬件模块测试

2.1.1 按键测试

首先我们先接通电源,然后通过测试按键的反应情况,一开始按下模式切换按键,看是否可以通过按键来切换风扇的工作模式,然后就是在自动模式的情况下,看是否能通过按键设置温度的上下限,接着就是自动模式的测试,看是否通过加减按键可以进行对风扇的调档,如图按键前图,这样,通过一系列的功能测试,发现按键可以正常工作,没有出现什么异常。

2.1.2 传感器DS18B20温度采集测试

首先我们先直通电源,等待数码管上显示出温度系数,然后我们就通过用手来捂住温度传感器,观测数码管上的温度系数是否有改变,发现是正常显示的,然后我们通过自动模式的测试,设置好上下限的温度,然后通过用手捂住加热后再松开,观察风扇是否显示停止,然后等待一段时间,等温度达到设置温度的区间的时候,风扇会再次转动起来,这样测试的温度传感器是正常工作的。如图温度显示

图 2-2温度显示

2.2系统功能测试

本系统通过单片机作为控制系统,然后调用各个模块去实现不同的功能,首先是使用温度传感器先测量外界的实时温度,然后将测得的温度通过数据传输给显示模块,而数码管通过内部的数值转换之后,通过LED数码管显示出来,还有就是通过按键或者红外遥控对风扇系统的工作模式的切换和设置。系统设计一共有3个按键:分别是模式的切换/设置,加,减。系统的功能设计的工作模式也有三种,分别是自动模式、手动模式和自然风模式。

系统功能一:自动模式,当我们通过按键切换到自动模式的时候,这时候设置好温度的区间,包括最高温度和最低温度,上下限的温度都是通过加减键来控制,按一下增加或减少0.1度,设置好温度后,当人体识别模块感应到附近有人的时候,外界温度低于设置温度的最小值时,风扇停止不转;外界温度在设置温度的最大值之上,风扇会以全速转动。如果人体识别模块感应到附近没有人的时候,风扇就会停止转动。如下图5-24自动模式功能图。

就是当我们把上限温度设置为37度,下限温度设置为30度时。这是人体识别模块先进行附近是否有人进行检测,然后再有人时,当外界温度低于36度的时候,风扇停止不转,当外界温度处于36度和40度之间的时候,风扇会以最高转速的50%进行转动,当外界温度高于37度的时候,风扇就会以全速进行转动。

图 2-3自动模式功能图

功能二:手动模式,此时数码管上会有两个数据,前面的第一位为风扇的档数,后面的数据为外界的实时温度我们可以切换到自动模式之后,通过加减按键进行风扇档位的调速。如下图手动模式功能图。

我把风扇划分为三个档位,根据按键的输入或者红外遥控的控制,风扇可以分别进行1,2,3档进行转动,这时与外界温度和是否有人无关。

图 2-4手动模式功能图

功能三:自然风模式,这时候数码管上有两个数据,前面的第一位一直都会显示“b”,后面的三位显示的是实时测得的外界温度,这时候人体识别模块工作,不断的发射电平信号感知附近是否有人,有人的情况下,风扇就会转动,转速是随机的,时快时慢;没有人的情况下。如下图5-26自然风模式功能图。

当我们把风扇的工作模式切换为自然风模式,此时风扇转动的情况与外界温度无关,只与是否检测到有人存在有关,在有人时,风扇以随机速度转动,无人的时候,风扇停止。

图 2-5自然风模式功能图

功能四:红外遥控功能,这个主要是用过遥控上的三个按键进行操作,分别是工作模式切换/设置,加和减,实现的情况和按键的作用是一样的。

如图2-6红外遥控功能图。

图 2-6红外遥控功能图

如果学弟学妹们在毕设方面有任何问题,随时可以私信我咨询哦,有问必答!学长专注于单片机相关的知识,可以解决单片机设计、嵌入式系统、编程和硬件等方面的难题。
愿毕业生有力,陪迷茫着前行!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值