智能电风扇控制系统设计

智能电风扇控制系统设计
智能电风扇控制系统设计

智能电风扇控制系统设计

目录

一、绪论-------------------------------------------------------------------------------1

1.1 智能电风扇控制系统背景---------------------------------------------1

1.2 智能电风扇控制系统概述---------------------------------------------1

1.3 设计任务和主要内容----------------------------------------------------1

二、方案论证------------------------------------------------------------------------2

2.1 传感器部分-----------------------------------------------------------------2

2.2 主控制部分-----------------------------------------------------------------2

2.3 调速方式选择--------------------------------------------------------------3

2.4 温度控制模块--------------------------------------------------------------3

2.5 显示电路--------------------------------------------------------------------3

三、系统硬件电路设计-------------------------------------------------------------4

3.1 总体硬件设计-----------------------------------------------------------4

3.2 电源模块设计------------------------------------------------------------4

3.3 单片机最小系统---------------------------------------------------------5

3.4 数字温度传感器模块设计---------------------------------------------6

3.5 电机调速与控制模块设计---------------------------------------------8

3.6 高温报警模块设计------------------------------------------------------8

四、系统软件设计------------------------------------------------------------------12

4.1 概述-----------------------------------------------------------------------12

4.2 整体程序流程图设计--------------------------------------------------12

4.3 小功率直流电机调速与控制模块程序-----------------------------14

五、系统调试----------------------------------------------------------------------15

5.1 测试环境及工具---------------------------------------------------------15

5.2 测试方法------------------------------------------------------------------15

5.3 测试结果分析------------------------------------------------------------15

六、设计总结-----------------------------------------------------------------------15

参考文献------------------------------------------------------------------------------16

附录------------------------------------------------------------------------------------17

摘要

本设计以89c52单片机为核心,采用DS18B20温度传感器,对环境温度进行数据采集,以此来调节风速实现对电风扇的智能控制,,从而建立一个控制系统,使电风扇随温度的变化而自动变换档位,实现“温度高,风力大,温度低,风力弱”的性能。另外,通过键盘控制面板,用户可以在一定范围内设置电风扇的最低工作温度,当温度低于所设置温度时,电风扇将自动关闭,当高于此温度时电风扇又将重新启动。本设计具有完整的定时功能有自动手动模式切换、风速选择等各种功能。

关键字:89c52单片机,温度测量,数字温度传感器,直流电机。

Abstract

The design 89c52 microcontroller as the core, the use of DS18B20 temperature sensor, data collection on the ambient temperature in order to adjust the fan speed to achieve the intelligent control, in order to establish a control system that allows fans of the changes with the temperature automatically change Stalls, and "high temperature, wind, low temperature, the wind is weak" performance. In addition, the keyboard control panel, users can set the fan in a certain range of the minimum operating temperature, when the temperature is below the set temperature, the fan will automatically shut down when fans turn above this temperature re-start. This design has a complete manual mode automatic timer switch, speed selection and other functions. Key words:89c52 micro-controller, temperature measurement, digital temperature sensors, DC motors.

一、绪论

1.1智能电风扇控制系统背景

电风扇曾一度被认为是空调产品冲击下的淘汰品,其实并非如此,市场人士称,家用电风扇并没有随着空调的普及而淡出市场,近两年反而出现了市场销售复苏的态势。其主要原因:一是风扇和空调的降温效果不同——空调有强大的制冷功能,可以快速有效地降低环境温度,但电风扇的风更温和,更加适合老人儿童和体质较弱的人使用;二是电风扇有价格优势,价格低廉而且相对省电,安装和使用都非常简单。

尽管电风扇有其市场优势,但传统电风扇还是有许多地方应当进行改良的,最突出的缺点是它不能根据温度的变化适时调节风力大小,对于夜间温差大的地区,人们在夏夜使用电风扇时可能遇到这样的问题:当凌晨降温的时候电风扇依然在工作,可是人们因为熟睡而无法察觉,既浪费电资源又容易引起感冒,传统的机械定时器虽然能够控制电风扇在工作一定后关闭,但定时范围有限,且无法对温度变化灵活处理。鉴于以上方面的考虑,我们需要设计一种智能电风扇控制系统来解决这些问题。

1.2 智能电风扇控制系统概述

传统电风扇是220V交流电供电,电机转速分为几个档位,通过人为调整电机转速达到改变风力大小的目的,亦即,每次风力改变,必然有人参与操作,这样势必带来诸多不便。

本设计中的智能电风扇控制系统,是指将电风扇的电机转速作为被控制量,由单片机分析采集到的数字温度信号,再通过可控硅对风扇电机进行调速。从而达到无须人为控制便可自动调整风力大小的效果。

1.3 设计任务和主要内容

本设计以51单片机为核心,通过温度传感器对环境温度进行数据采集,从而建立一个自动控制系统,使电风扇随温度的变化而自动变换档位,实现温度、风扇转速的连续控制。另外,通过遥控器,用户可以在特定模式下实现对电风扇的风扇转速,定时时间等进行设置,本智能控制系统的主要功能如下:1)本控制系统采用了先进的红外遥控器控制,实现了远程遥控功能,操作方便,符合现代人的生活要求;

2)上电开机后或在待机模式下,等待用户按下EQ键开机,实现半自动人体感应;

3)本智能控制系统定义了4种工作模式,各模式功能如下:

(1)上电开机后默认进入工作模式0。模式0下,可以实现温度对风扇转速的实时控制,并将温度、风扇转速等级、工作模式在液晶屏上实时显示;在工作模式0下,不允许用户手动对风扇转速等级的控制,要想进入其他模式可以选择模式选择键,进入模式选择;

(2)通过模式选择键进入工作模式1。模式1下,可以手动实现对风扇转速的控制,温度不能再控制风扇转速;

(3)通过模式选择键进入工作模式2。模式2下,可以手动选择定时时间,暂时有四种选择(1、5、10、15分钟),定时时间到,自动进入模式4待机模式;如果直接由定时倒计时进行中,进入其他两外两种工作模式,各模式功能可以实现,但不会中断定时倒计时;在定时倒计时进行中,如果想要中断定时模式,可以摁下关机键,先进入模式4,再返回其他模式;

(4)在各个工作模式下,风扇转速都分四个等级,0为关闭,1为微风,2为中风,三为强风;

(5)在各个工作模式下,都可以实现高温报警;预定义高温报警温度下限为40摄氏度,到达高温时高温报警指示灯点亮;

(6)模式4也可以定义为纠错模式,一旦用户按键频繁或错误造成系统功能紊乱,可以先进入模式4,再返回其他模式;在模式4下返回时,预定义为返回到工作模式0,即温度自动控制模式。

二、方案论证

2.1 传感器部分

方案一:采用热敏电阻

采用热敏电阻,可满足40摄氏度至90摄氏度测量范围,但热敏电阻精度、重复性、可靠性较差,对于检测1摄氏度的信号是不适用的。而且在温度测量系统中,采用单片温度传感器,比如AD590,LM35等.但这些芯片输出的都是模拟信号,必须经过A/D转换后才能送给计算机,这样就使得测温装置的结构较复杂.另外,这种测温装置的一根线上只能挂一个传感器,不能进行多点测量.即使能实现,也要用到复杂的算法,一定程度上也增加了软件实现的难度。

方案二:采用DS18B20

温度传感器采用DS18B20数字温度传感器。DS18B20数字温度传感器芯片是以9位数字量的形式反映器件的温度值。DS18B20数字温度传感器通过一个单线接口发送或接受信息,因此在中央微处理器和DS18B20之间仅需一条连接线(加上地线)。用语读写和温度转换的电源可以从数据线本身获得,无需外部电源。它可以直接将模拟温度信号转化为数字信号,降低了电路的复杂程度,提高了电路的运行质量。

综合考虑,选择方案DS18B20进行温度测量。

2.2主控制部分

方案一:采用SPCE061A单片机

采用凌阳16位的SPCE061A单片机,处理速度较慢,内置2K SRAM,32K FLASH,要实现稍大的存储量受到限制,而如果扩展大量的外围电路的话,则降低了系统的可靠性,消耗了大量的CPU资源。

方案二:采用STC89C52

此方案采用STC89C52八位单片机实现。单片机软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制。而且体积小,硬件实现简单,安装方便。可以实现对DS18B20和直流电机的控制工作,编程技术及外围功能电路的配合使用都很成熟。

综合考虑,选择STC89C52作为主控制器。

2.3调速方式的选择

方案一:采用PWM控制

PWM是利用数字输出对模拟电路进行控制的一种有效技术,尤其是在对电机的转速控制方面,可大大节省能量。PWM 具有很强的抗噪性,且有节约空间、比较经济等特点。用了PWM技术后,实现了用数字方式来控制模拟信号,可以大幅度降低成本和功耗。

方案二:采用可控硅控制

实际中通过控制双向可控硅的导通角,使输出端电压发生改变,从而使施加在电风扇的输入电压发生改变,以调节风扇的转速,实现各档位风速的无级调速。

从本设计要求综合考虑实际中选择方案一。

2.4温度控制模块设计

方案一:选用矩阵键盘:假如使用矩阵键盘,用户就只能走进本控制系统去控制该系统已完成自己想要的操作。对于现代社会,绝大部分的用户已经习惯了用遥控器去操作他们的电视机、DVD机等现代设备,因此矩阵键盘这样的操作界面便显得不合时宜;而且如果选择了矩阵键盘,就会是本系统的设计增加面积,不符合小巧时尚的需求;

方案二:采用红外遥控器+红外遥控解码:红外遥控器的使用大大方便了用户,使他们可以在一定范围内实现对本系统的远程控制,符合当代人的生活习惯,而且红外遥控器的技术已经相当成熟,使用也比较方便。虽然加入了红外遥控+红外遥控解码模块后对设计者是一个不小的挑战,但为满足用户的需求,我们依然选择了该方案。

2.5显示电路的设计

方案一:数码管:数码管的显示位数有限,且只能显示一些简单的字符。如果要达到以上设计要求,我们就要用接近30位数码管,这就使外围电路变得异常复杂;而且这样势必会使软件的编写变得非常困难,加大了工作量;更有甚者,即使软硬件都实现了,但显示效果并不好。所以我们果断放弃该方案。

方案二:LCD1602液晶屏:LCD1602液晶屏是16*2的字符型液晶,可以显示英文26个字母的大小写,阿拉伯数字0—9,及一些简单的符号。该液晶屏操作简单,显示功能强大,完全能共满足本设计系统的需要,是一种比较理想的选择;

方案三:LCD12864液晶屏:该液晶屏是比LCD1602液晶屏更先进的液晶,可以显示图片信息,同样可以完成本设计系统的需要。但是该液晶屏要

LCD1602液晶屏贵很多,在本设计系统中,性价比不如LCD1602液晶屏。

综上所述,我们选择了LCD1602液晶屏。

三、 系统主要硬件电路设计

3.1总体硬件设计

系统总体设计框图如图2-1所示:

图2-1系统原理框图

对于单片机中央处理系统的方案设计,根据要求,我们可以选用具有8KB 片内FLASH ROM 的STC89C52单片机作为中央处理器。

作为整个控制系统的核心,STC89C52内部已包含了定时器、程序存储器、数

据存储器等硬件,其硬件能符合整个控制系统的要求,不需要外接其他存储器芯片和定时器件,方便地构成一个最小系统。整个系统结构紧凑,抗干扰能力强,性价比高,是比较合适的方案。

3.2 电源模块

因为单片机工作电源为+5V ,且底层电路功耗很小。采用7805三端稳压片即可满足要求。

红外遥控输入

热释电红外传感器 DS18B20温度传感器 STC89C52 LCD1602液晶屏 高温报警指示灯 直流电机

开关式霍尔传感器

3.3单片机最小系统

单片机STC89C52组成的最小系统如图2-2所示:

图2-2单片机最小系统

3.4数字温度传感器模块设计

本模块以DS18B20作为温度传感器,AT89C51作为处理器,配以温度显示作为温度控制输出单元。整个系统力求结构简单,功能完善。温度传感器采用DS18B20数字温度传感器。DS18B20数字温度传感器芯片是以9位数字量的形式反映器件的温度值。DS18B20数字温度传感器通过一个单线接口发送或接受信息,因此在中央微处理器和DS18B20之间仅需一条连接线(加上地线)。用语读写和温度转换的电源可以从数据线本身获得,无需外部电源。它可以直接将模拟温度信号转化为数字信号,降低了电路的复杂程度,提高了电路的运行质量。DS18B20数字温度传感器满足了设计的要求。

图2-3-1 温度传感器DS18B20与单片机的接口电路

系统工作原理如下:

DS18B20进行现场温度测量,将测量数据送入AT89C51的P3.7口,经过单片机处理后显示温度值,并与设定温度值的上下限值比较,若高于设定上限值或低于设定下限值则控制电机转速进行调整。

3.4.1 DS18B20的温度处理方法

DS18B20直接将测量温度值转化为数字量提交给单片机,工作时必须严格遵守单总线器件的工作时序。

高速暂存存储器由9个字节组成,其分配如下图所示。当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第0和第1个字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式如图所示。对应的温度计算:当符号位S=0时,直接将二进制位转换为十进制;当S=1时,先将补码变为原码,再计算十进制值。

温度低位温度高位TH TL 配置保留保留保留8位CRC LSB DS18B20 存储器映像图MSB

温度值格式图DS18B20 温度数据表:

23 22 21 20 2-1 2-2 2-3 2-4

MSB LSB

S S S S S 26 25 24

典型对应的温度值表:

温度值/℃数字输出(二进制)数字输出(十六进制)

+85℃ 0000 0101 0101 0000 0550H

+25.625℃ 0000 0001 1001 0001 0191H

+10.125℃ 0000 0000 1010 0010 00A2H +0.5℃ 0000 0000 0000 1000 0008H

0℃ 0000 0000 0000 0000 0000H

-0.5℃ 1111 1111 1111 1000 FFF8H

-10.125℃ 1111 1111 0110 1110 FF5EH

-25.625℃ 1111 1111 0110 1111 FF6FH

-55℃ 1111 1100 1001 0000 FC90H

3.4.2温度控制和显示模块设计

通过以6122A芯片为核心组成的红外遥控器控制和以LCD1602为显示器件的温度、风扇转速与模式等的显示系统的组合,组成了温度显示与控制模块。

控制模块采用红外遥控器+红外遥控解码:红外遥控器的使用大大方便了用户,使他们可以在一定范围内实现对本系统的远程控制,符合当代人的生活习惯,而且红外遥控器的技术已经相当成熟,使用也比较方便。该系统的设计中,我们需要显示一些字符串以提示用户如何进行操作,以及方便用户能够明白显示的内容。因此这就要求我们的显示模块能够达到如下要求:

可以显示字符;显示位数尽可能多,且显示功能尽可能强大。

LCD1602液晶屏是16*2的字符型液晶,可以显示英文26个字母的大小写,阿拉伯数字0—9,及一些简单的符号。该液晶屏操作简单,显示功能强大,完全能共满足本设计系统的需要,是一种比较理想的选择;

图2-3-2 LCD1602液晶屏与单片机的接口电路

3.5电机调速与控制模块设计

电机调速是整个控制系统中的一个重要的方面。本设计系统采用直流电机模拟风扇电机的调速;在实际中通过控制双向可控硅的导通角,使输出端电压发生改变,从而使施加在电风扇的输入电压发生改变,以调节风扇的转速,实现各档位风速的无级调速。

3.5.1 交流电机电机调速原理

可控硅的导通条件如下:

1)阳-阴极间加正向电压;

2)控制极-阴极间加正向触发电压;

3)阳极电流IA 大于可控硅的最小维持电流IH。

电风扇的风速设为从高到低5、4、3、2、1档,各档风速都有一个限定值。

在额定电压、额定功率下,以最高转速运转时,要求风叶最大圆周上的线速度不大于2150m/min 。且线速度可由下列公式求得

310V Dn π=? 式中,V 为扇叶最大圆周上的线速度(m/min),D 为扇中的最大顶端扫出圆的直径(mm);n 为电风扇的最高转速(r/min)。

代入数据求得5n ≤ 1555r/min,取5n =1250 r/min.又因为:

取n1=875 r/min.则可得出五个档位的转速值:

5n =1250r/min

4n =1150r/min

3n =1063r/min

2n =980r/min

1n =875r/min

又由于负载上电压的有效值

其中,u1为输入交流电压的有效值,α为控制角。解得:

5α =0° t=0ms

4α =23.5° t=1.70ms

3α =46.5° t=2.58ms

2α =61.5° t=3.43ms

1α =76.5° t=4.30ms

以上计算出的是控制角和触发时间,当检测到过零点时,按照所求得的触发时间延时发脉冲,便可实现预期转速。

3.5.2 电机控制模块硬件设计

电路中采用了过零双向可控硅型光耦MOC3041 ,集光电隔离、过零检测、过零触发等功能于一身,避免了输入输出通道同时控制双向可控硅触发的缺陷, 简化了输出通道隔离2驱动电路的结构。所设计的可控硅触发电路原理图见图2-3 。其中RL 即为电机负载,其工作原理是:单片机响应用户的参数设置, 在I/ O 口输出一个高电平, 经反向器反向后, 送出一个低电平,使光电耦合器导通, 同时01sin 2()2u u πααππ-=+10070?≤最低转速调速比=%%最高转速

触发双向可控硅, 使工作电路导通工作。给定时间内,负载得到的功率为:

n P UI N 式中: P 为负载得到的功率, kW; n 为给定时间内可控硅导通的正弦波个数;

N 为给定时间内交流正弦波的总个数; U 为可控硅在一个电源周期全导通时所对应的电压有效值,V; I 为可控硅在一个电源周期全导通时所对应的电流有效

值,A 。由式(1) 可知,当U , I , N 为定值时, 只要改变n 值的大小即可控制功率的输出,从而达到调节电机转速的目的。

3.5.3 小功率直流电机调速原理

单片机控制的小型直流电机的一般采用PWM 脉冲调制方式实现速度的控制。 PWM 基本原理以及产生:

PWM 基本原理: PWM 是通过控制固定电压的直流电源开关频率,从而改变负载两端的电压,进而达到控制要求的一种电压调整方法。PWM 可以应用在许多方面,如电机调速、温度控制、压力控制等。

在PWM 驱动控制的调整系统中,按一个固定的频率来接通和断开电源,并根据需要改变一个周期内"接通"和 "断开"时间的长短。通过改变直流电机电枢上电压的"占空比"来改变平均压的大小,从而控制电动机的转速。

如图1所示,在脉冲作用下,当电机通电时,速度增加;电机断电时,速度逐渐Zero Crossing 1264U1MOC3031M

XTAL218XTAL119ALE 30EA 31PSEN 29RST 9P0.0/AD0

39P0.1/AD1

38P0.2/AD2

37P0.3/AD3

36P0.4/AD4

35P0.5/AD5

34P0.6/AD6

33P0.7/AD7

32P1.01P1.12P1.23P1.34P1.45P1.56P1.6

7P1.7

8P3.0/RXD

10P3.1/TXD

11P3.2/INT0

12P3.3/INT1

13P3.4/T0

14P3.7/RD 17P3.6/WR

16P3.5/T1

15P2.7/A15

28P2.0/A8

21P2.1/A9

22P2.2/A10

23P2.3/A11

24P2.4/A12

25P2.5/A13

26P2.6/A14

27U2

AT89C5132U3:A 4009RL 110k C127p R44k7R24k7R14k7U4L2008L6

减少。只要按一定规律,改变通、断电的时间,即可让电机转速得到控制.

设电机始终接通电源时,电机转速最大为Vmax, 设占空比为D=t1/T,则电机的平均速度为式中,Vd -- 电机的平均速度;

Vmax- -电机全通电时的速度(最大);

D=t1/T ---占空比。

由公式(2)可见,当我们改变占空比D:t1/T时,就可以得到不同的电机平均速度Vd ,严格地讲,平均速度Vd与占空比D并不是严格的线性关系,在一般的应用中,可以将其近似地看成线性关系。

图2-4 小功率直流电机控制原理图

3.6 高温报警模块设计

3.6.1 二极管与蜂鸣器工作原理

发光二极管简称为LED,它是半导体二极管的一种。发光二极管的反向击穿电压约5伏。它的正向伏安特性曲线很陡,使用时必须串联限流电阻以控制通过管子的电流。限流电阻R可用下式计算:

R=(E-Uf)/If

式中E为电源电压,Uf为LED的正向压降,If为LED的一般工作电流。发光二极管的两根引线中较长的一根为正极,应按电源正极。

与小白炽灯泡和氖灯相比,发光二极管的特点是:工作电压很低(有的仅一点几伏);工作电流很小(有的仅零点几毫安即可发光);抗冲击和抗震性能好,可靠性高,寿命长;通过调制通过的电流强弱可以方便地调制发光的强弱。由于有这些特点,发光二极管在一些光电控制设备中用作光源,在许多电子设备中用作信号显示器。

蜂鸣器电路(高温发声报警)

蜂鸣器工作原理简介:当控制端口通以不同频率及不同占空比的信号时蜂鸣器将发出不同强度及不同频率的声音。

由于蜂鸣器存在的声音较小,且价格比发光二极管要稍贵一下,所以此次报警音电路选用发光二极管。

3.6.2高温报警模块电路

图2.5 发光二极管构成的高温报警指示电路

四、系统软件设计

4.1概述

整个系统的功能是由硬件电路配合软件来实现的,当硬件基本定型后,软件的功能也就基本定下来了。从软件的功能不同可分为两大类:一是监控软件(主程序),它是整个控制系统的核心,专门用来协调各执行模块和操作者的关系。二是执行软件(子程序),它是用来完成各种实质性的功能如测量、计算、显示、通讯等。每一个执行软件也就是一个小的功能执行模块。这里将各执行模块一一列出,并为每一个执行模块进行功能定义和接口定义。各执行模块规划好后,就可以规划监控程序了。首先要根据系统的总体功能和键盘设置选择一种最合适的监控程序结构,然后根据实时性的要求,合理地安排监控软件和各执行模块之间地调度关系。

主程序调用了4个子程序,分别是数码管显示程序、键盘扫描以及按键处理程序、温度测试程序、中断控制程序、单片机与PC机串口通讯程序。

键盘扫描电路及按键处理程序:实现键盘的输入按键的识别及相关处理。

温度测试程序:对温度芯片送过来的数据进行处理,进行判断和显示。

数码管显示程序:向数码的显示送数,控制系统的显示部分。

中断控制程序:实现循环显示功能。

4.2整体程序流程图设计

相关文档
最新文档