基于51单片机的智能风扇控制系统设计与实现详解

概要

  我们常见的电风扇一般只有四、五个风速档,用的是人工开关,而且并不是每个人家里都会有空调,或者在一些小型的工厂或者一些小型加工厂,这些地方都可能没有配备大型的中央空调系统这些东西,所以这些东西往往都会采用风扇这种小成本的东西来代替,但是不清楚室内温度,只是手动的控制用哪个档,一旦人们因为环境温度的变化之后又得要去手动调节,所以这是一个很麻烦的操作方法。因而就诞生了智能风扇。它用的51单片机,通过单片机与温度传感器结合,将其用于普通电风扇等转速准确控制,可以有良好的性能。
而且随着生活的发展,社会的经济水平不断的提高,人们对于一些高新技术的接受程度也越来越高,也渴望享受更好的生活,智能风扇就是一个很好的例子,它采用单片机作为作为控制系统,采用温度传感器,人体识别,按键,红外等等技术的融合,使得风扇的智能化水平也越来越高,人们对于这样的技术掌握也很高,所以这样的产品在市场上有很大机会流行起来,也使得我们的日常生活或工作时候变得更加的愉快,不再会因为传统的机器问题以及操作问题对我们产生影响。

一、系统硬件模块设计

1系统整体结构设计

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

图 3-2系统整体框图

2系统控制模块设计

控制模块STC89C52设计

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

图 3-2STC89C52电路图

STC89C52的工作电路

  1. 时钟电路
      在STC89C52单片机中,可以通过内部时钟方式和外部时钟的方式产生时钟信号,在STC89C52单片机内部有一处振荡电路,你只需要在单片机的XTAL1(18)和XTAL2(19)的引脚外接石英晶体(简称晶振),这样就可以构成了自激振荡器,并且可以在单片机内部产生时钟脉冲信号。[ 韩兴国.基于STC89C52单片机的智能风扇控制系统设计[J].装备制造技术.2013(03)]如图3-3时钟内部时钟电路图。

图 3-3内部时钟电路图
2.复位电路
  在单片机STC89C52中,高电平信号通过RST引脚输入,而且一直保持了2个机器周期,然后单片机内部就会执行复位的操作。如果高电平信号一直在持续,那么单片机内部就会执行循环复位操作。[ 韩兴国.基于STC89C52单片机的智能风扇控制系统设计[J].装备制造技术.2013(03)]
  单片机的复位方式电路一般有上电自动复位和按钮复位两种,而本系统所采用的复位方式是手动复位。
  所以,单片机是主要通过时钟信电路的作用将其他硬件的所传输的信号加以处理、加工,然后传输给芯片进行应对工作,而复位电路就是在芯片执行完命令之后,通过自动复位或手动复位,将单片机复位成初始化状态。

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

系统风扇的驱动模块设计

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

图 3-10三极管电路图
电流放大
  三极管的放大作用就是:当集电极电流受到了基极电流的控制,并且基极电流很小的变化,会引起集电极电流很大的变化,且变化满足一定的比例关系。[ 王蕊.基于单片机的多功能自动调温风扇系统设计[D].郑州大学,2012.7]
所以,因为单片机的端口电流比较小,所以我们要使用到三极管放大电流的原理,这样三极管才能有足够大的电流去驱动风扇。因此,系统风扇的驱动主要是通过三极管PNP低电平的时候,三极管导通,在NPN高电平的时候导通,而且PNP和NPN的电流是相反的,然后就到三极管的开关,用来以小电流控制大电流的通断,这样,通过三极管的的驱动直流电机,带动风扇转动,然后通过PWM的调速方式,来控制凤扇的转速,这样风扇就可以按照我们程序所设计的模式来进行转动。

二、系统软件设计

1程序设计的软件

  主要通过各个元器件的引脚图和电路图来熟识元器件,进而根据相对应的程序来控制各个器件所实现的功能。系统主要使用的编程软件为Keil,因为这个软件的操作简单,高效,快捷,并且在学习上使用的频率比较高,会使得我们队代码的理解程度加深,而且编译的过程中也会更加的便捷,快速。如图4-16程序设计软件图

图 4-16程序设计软件图

2主程序流程图

  首先是单片机开始工作,然后将各部件的的设置初始化,然后调用温度传感器,使其进行测温工作,然后将测的温度数据传输到数码管上,然后数码管就会显示出测量的温度。接着我们可以通过调用按键来切换工作模式或者设置温度数值,然后通过记录这个温度值去调用风扇进行驱动,实行各个模式的工作,如下图4-17主程序流程图所示。

图 4-17主程序流程图

三、系统功能

  本系统通过单片机作为控制系统,然后调用各个模块去实现不同的功能,首先是使用温度传感器先测量外界的实时温度,然后将测得的温度通过数据传输给显示模块,而数码管通过内部的数值转换之后,通过LED数码管显示出来,还有就是通过按键或者红外遥控对风扇系统的工作模式的切换和设置。系统设计一共有3个按键:分别是模式的切换/设置,加,减。系统的功能设计的工作模式也有三种,分别是自动模式、手动模式和自然风模式。
系统功能一:自动模式,当我们通过按键切换到自动模式的时候,这时候设置好温度的区间,包括最高温度和最低温度,上下限的温度都是通过加减键来控制,按一下增加或减少0.1度,设置好温度后,当人体识别模块感应到附近有人的时候,外界温度低于设置温度的最小值时,风扇停止不转;外界温度在设置温度的最大值之上,风扇会以全速转动。如果人体识别模块感应到附近没有人的时候,风扇就会停止转动。如下图5-24自动模式功能图。
就是当我们把上限温度设置为37度,下限温度设置为30度时。这是人体识别模块先进行附近是否有人进行检测,然后再有人时,当外界温度低于36度的时候,风扇停止不转,当外界温度处于36度和40度之间的时候,风扇会以最高转速的50%进行转动,当外界温度高于37度的时候,风扇就会以全速进行转动。

图 5-24自动模式功能图

  功能二:手动模式,此时数码管上会有两个数据,前面的第一位为风扇的档数,后面的数据为外界的实时温度我们可以切换到自动模式之后,通过加减按键进行风扇档位的调速。如下图5-25手动模式功能图。
我把风扇划分为三个档位,根据按键的输入或者红外遥控的控制,风扇可以分别进行1,2,3档进行转动,这时与外界温度和是否有人无关。

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

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

图 5-27红外遥控功能图

四、 结论

  本系统是一个智能风扇系统的设计,通过各个模块的共同工作,例如51单片机,温度传感器,三极管等这些硬件的作用下实现的风扇的转动,然后通过不同的工作模式和设置下,采取PWM调速方式对风扇的转速进行控制,实现不同模式和情况下风扇的工作状态,对这个风扇系统的操控主要是通过按键的红外遥控,借此来改变风扇的工作模式和设置好相应的温度系数,就这样实现了智能风扇系统
  本系统的设计可以运用到社会上各种各样的情景,例如家庭风扇,工业生产,设备散热等器件上,可以发挥出很好的作用。而且随着社会的发展,我们队智能事物的追求也会越来越高,因为对于我们生活的便捷性、智能化来说,是非常重要的,可以推动着我们经济的发展,综上所述,该系统的设计和研究在社会生产和生活中具有重要地位。

五、 文章目录

目 录
1.1系统研究背景 5
1.2系统研究意义 5
1.3国内外研究现状 6
1.4系统现状 6
第2章 系统的设计与论证 8
2.1系统控制模块设计与论证 8
2.2系统测温模块设计与论证 8
2.3系统温度显示模块设计与论证 8
2.4 系统调速模块设计与论证 9
第3章 系统硬件模块设计 10
3.1系统整体结构设计 10
3.2系统控制模块设计 10
3.2.1 控制模块STC89C52设计 10
3.2.2 STC89C52的工作电路 11
3.3系统测温模块设计 12
3.3.1 DS18B20的特点与简介 12
3.3.2 DS18B20的测温工作原理 13
3.3.3 DS18B20温度数据的读写 14
3.4系统温度显示模块设计 15
3.4.1 LED数码管的结构 15
3.4.2 LED数码管的显示工作原理 16
3.5系统风扇驱动和调速模块设计 17
3.5.1 系统风扇的驱动模块设计 17
3.5.2 系统风扇调速模块设计 18
3.6系统按键模块设计 18
3.7系统红外控制模块设计 19
3.8人体识别模块设计 20
第4章 系统软件设计 22
4.1程序设计的软件 22
4.2主程序流程图 22
4.3测温模块程序流程图 23
4.4数码管显示模块程序流程图 24
4.5按键模块程序流程图 25
第5章 系统测试 27
5.1系统硬件模块测试 27
5.1.1 按键测试 27
5.1.2 传感器DS18B20温度采集测试 27
5.2系统功能测试 28
第6章 结论 31
参考文献: 32
致谢 33

物联沃分享整理
物联沃-IOTWORD物联网 » 基于51单片机的智能风扇控制系统设计与实现详解

发表评论