基于at89s52的智能电风扇控制系统设计毕业论文

上传人:仙*** 文档编号:70871718 上传时间:2022-04-06 格式:DOC 页数:123 大小:2.87MB
收藏 版权申诉 举报 下载
基于at89s52的智能电风扇控制系统设计毕业论文_第1页
第1页 / 共123页
基于at89s52的智能电风扇控制系统设计毕业论文_第2页
第2页 / 共123页
基于at89s52的智能电风扇控制系统设计毕业论文_第3页
第3页 / 共123页
资源描述:

《基于at89s52的智能电风扇控制系统设计毕业论文》由会员分享,可在线阅读,更多相关《基于at89s52的智能电风扇控制系统设计毕业论文(123页珍藏版)》请在装配图网上搜索。

1、 ANYANG INSTITUTE OF TECHNOLOGY专 科 毕 业 论 文基于AT89S52的智能电风扇控制系统设计The Control System Design of Intelligent Fan Based on AT89S52院 系 名 称: 电子信息与电气工程学院 专 业 班 级: 08电气自动化1班 学 生 姓 名: 李占伟 学 号: 200802070055 同 组 成 员: 江经坤、史 宣 指导教师姓名: 卢春华 指导教师职称: 讲 师 2011年5月IV目 录摘 要IAbstractII引 言III第一章 系统方案设计1第二章 硬件设计52.1 控制模块52.1

2、.1 AT89S52概述52.1.2 单片机最小系统设计72.2 温度检测反馈模块82.2.1 DS18B20基础知识82.2.2 温度检测电路的设计112.3 人体检测模块112.3.1热释电红外传感器原理112.3.2 人体检测电路的设计122.4 电风扇测速模块132.4.1 霍尔传感器简述132.4.2 电风扇测速电路的设计132.5 电风扇调速模块142.5.1 电风扇调速原理142.5.2 电风扇调速电路的设计152.6 显示模块152.6.1 数码管显示原理152.6.2 显示电路设计172.7 键盘模块182.7.1 键盘的工作原理182.7.2 独立式键盘的设计182.8 计

3、时模块192.8.1 AT89S52的内部定时器/计数器192.8.2 继电器控制电路的设计202.9 状态标志模块202.9.1 电源指示202.9.2 电风扇启动提示21第三章 软件设计223.1 温度检测子程序223.1.1 程序流程图223.1.2 子程序设计223.2调速、测速子程序253.2.1 程序流程图253.2.2 子程序设计253.3 显示子程序293.3.1 程序流程图293.3.2 子程序设计293.4 定时子程序313.4.1 程序流程图313.4.2 子程序设计32第四章 系统测试364.1 测试系统的组成364.2 测试步骤与方法364.2.1 单片机最小系统36

4、4.2.2 温度检测模块364.2.3 人体检测模块364.2.4 电风扇测速模块364.2.5 电风扇调速模块374.2.6 定时模块374.3 整体测试37结 论38致 谢39参考文献40附 录41附录A 元件清单41附录B 系统原理图43附录C 系统PCB图44附录D 实物图45附录E 源程序46III基于AT89S52的智能电风扇控制系统设计摘 要:本系统设计以AT89S52单片机为核心、通过温度传感器和热释电红外传感器实时采集环境信息、建立控制系统,实现当室温达到设定开启风扇的温度并且人出现在热释电红外传感器可测范围时,电风扇自动开启、以初始风力运行,当温度变化时由系统控制双向可控硅

5、实现智能调速;人离开一段时间后则会自动关闭电风扇;当室温低于设定温度时,即使人在热释电传感器可测范围内,电风扇也处于关闭状态。关键词:温度传感器 热释电红外传感器 双向可控硅 The Control System Design of Intelligent Fan Based on AT89S52Abstract:This system design with AT89S52 SCM as core, through the temperature sensor and pyroelectric infrared sensor real-time data acquisition enviro

6、nment information, establishing control system, realize when room-temperature reach a set of temperature and open fan man appeared in pyroelectric infrared sensor measurable range, electric fan automatic open, with initial wind run, When temperature changes by system control bidirectional thyristor

7、intelligent speed ;People to leave a period of time after will shut down automatically electric fan, When the room temperature below the set temperature, even when people in pyroelectric sensor measurable range, electric fan is closed.Key words:Temperature sensor;Pyroelectric infrared sensor;Bidirec

8、tional thyristor引 言电风扇曾一度被认为是空调产品冲击下的淘汰品,其实并非如此,市场人士称,家用电风扇并没有随着空调的普及而淡出市场,近两年反而出现了市场销售复苏的态势。其主要原因:一是电风扇和空调的降温效果不同空调有强大的制冷功能,可以快速有效地降低环境温度,但电风扇的风更温和,更加适合老人儿童和体质较弱的人使用;二是电风扇价格低廉且相对省电,低碳环保,安装和使用都非常简单。尽管电风扇有其市场优势,但传统电风扇还是有许多地方应当进行改良的,最突出的缺点是它不能根据温度的变化实时适量调节风力大小,对于夜间温差较大的地区,人们在夏夜使用电风扇时可能会遇到这样的问题:当凌晨降温的时

9、候电风扇依然在工作,可是人们因为熟睡而无法察觉,既浪费资源又容易引起感冒,传统的机械定时虽然能够控制电风扇在工作一定后关闭,但定时范围有限,且无法对温度变化灵活处理;或者白天人们因事离开后而忘记关闭电风扇,长时间的工作很容易损坏电器甚至引发火灾。鉴于以上诸多方面的考虑,我们需要设计一种实用的智能电风扇控制系统来解决和改善这些问题。本系统设计以单片机为核心、通过温度传感器和热释电红外传感器实时采集环境信息、建立控制系统,实现当室温达到设定开启风扇的温度并且人出现在热释电红外传感器可测范围时,电风扇自动开启、以初始风力运行,当温度变化时由系统控制双向可控硅实现智能调速;人离开一段时间后则会自动关闭

10、电风扇;人离开一段时间后则自动关闭电风扇;当室温低于设定温度时,即使人在热释电传感器可测范围内,电风扇也处于关闭状态。III第一章 系统方案设计温度检测与反馈模块控制模块状态标志模块计时模块电风扇测速模块人体检测模块键盘模块电风扇调速模块显示模块图1-1系统组成框图1. 控制模块方案一:单片机控制系统。以ATMEL公司生产的AT89S52单片机为核心的最小系统,配有稳压电源、复位电路、蜂鸣器、温度传感器、热释电红外传感器、霍尔传感器、显示模块、风扇调速模块等外围模块。方案二:FPGA最小系统。采用一块Xinlinx公司生产的Spartan-3系列的XC3S200-4PQ208芯片,配有稳压电源

11、、蜂鸣器、复位电路、温度传感器、热释电红外传感器、霍尔传感器、显示模块等外围模块。根据题目要求,控制器主要用于各个传感器信号的接收和辨认、定时功能、显示以及各部分功能的时序分配等,综合比较实现的控制功能的简易性与可行性,同时考虑到单片机与FPGA系统的性价比,最后选择AT89S52单片机为核心的最小系统作为本设计控制系统。2. 温度检测反馈模块方案一:选用LM324A运算放大器,将其设计成比例控制调节器,输出电压与热敏电阻的阻值成正比,再用A/D转换器将模拟信号转换为数字信号。但这种方案电路复杂、成本较高,且需要多次检测后方可使采样精确,过于烦琐。方案二:采用DALLAS公司生产的单总线数字温

12、度传感器DS18B20,其直接输出数字式温度信息,方便、抗干扰性强,独特的单线接口方式,使其在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。测量温度范围为-55+125,在-10+85范围内,精度为05。综合各方面考虑,本系统采用采用更为优秀的DS18B20数字温度传感器,降低了成本和电路的复杂程度,提高了电路的运行质量。3. 人体检测模块为使电风扇更具人性化、智能化,遂采用热释电红外传感器,循环扫描采集人体红外信息,以实现当室温达到设定开启风扇的温度并且人出现在热释电红外传感器可测范围时,电风扇自动开启,当人离开可测范围一段时间后关闭电风扇。4. 电风扇测速模块方

13、案一:采用霍尔转速传感器A3144E。方案二:采用电磁感应式无缘传感器。霍尔转速传感器在稳定性、抗干扰能力、测量频率范围等方面都优于电磁感应式无源传感器,且其安装简单,实用方便,故本系统采用方案一。5. 电风扇调速模块方案一:抽头法。抽头调速的电动机有主绕组、中间绕组、和副绕组三种线圈,根据中间绕组的接线位置不同分为L型、T型和H型。台扇、壁扇、落地扇多采用抽头法。然而随着原材料价格的波动,造成风扇电机的绕组匝数不足,影响了低档位绕组的每伏匝数,导致调速比达不到标准要求。方案二:电抗器法。通过串入不同感抗值的电抗器从而改变绕组每伏匝数来调速,特点是各档速度调节容易,绕线简单,维修方便,但是却不

14、能随心所欲的调速。方案三:电容法。通过改变加在副绕组的电压相角关系间接改变副绕组的电压实现控制电机绕组产生转矩的大小达到调速目的,其中主绕组时恒压,副绕组是变量。电容调速成本较低电磁噪声小,但是用寿命短且低档难启动吧,方案四:电子调速。利用可控硅的半导体原理,通过改变加到双向可控硅控制极触发脉冲的占空比来控制双向可控硅的导通时间,进而实现可能告知电机绕组的产生转矩的时间,来控制、改变风扇转速的。其风速的大小不受限制、无档次,可实现无级调速。比较分析,方案四的无级调速更适合本系统的智能温控电风扇设计,故采用此方案。6. 显示模块在系统工作过程中,需要对定时时间和当前环境信息进行显示,有如下两种显

15、示方案:方案一:使用液晶显示屏显示时间和当前环境信息。液晶显示屏(LCD1602)具有轻薄,短小,耗电量低,无辐射危险,平面直角显示及影像稳定不闪烁,可视面积大,画面效果好,分辨率高,抗干扰能力强等特点。方案二:使用传统的数码管显示。数码管具有低能耗、低损耗、低压、长寿命、耐老化、防晒、防潮、防火、防高(低)温的特点;对外界环境要求低,易于维护,同时其精度比较高,测量快,精确可靠,操作简单。数码管采用BCD编码显示数字,程序编译容易,资源占用较少。综合考虑,由于液晶显示可视距离太近,故本设计方案二实现显示功能。7. 键盘模块方案一:采用4*4矩阵键盘。方案二:采用独立式键盘。由于设计中用到的按

16、键数目不多,所以可以直接用AT89S52的通用I/O端口P1口作为键盘接口。按键只需一端经限流电阻接至+5V、另一端接P1口即可,电路简单且易于编程。故系统采用方案二。8. 定时模块本系统在需要时会对电风扇进行定时运行,有以下定时方案:方案一:采用DALLAS公司生产的DS1302时钟芯片。芯片内含有一个实时时钟/日历和31字节静态RAM,采用同步串行通信,仅需用到三个口线:RES(复位)、I/O(数据)、SCLK(串行时钟),可提供秒、分、时、日、月、年的信息,每月的天数和闰年的天数可自动调整。方案二:采用单片机内部定时器/计数器。本系统采用的AT89S52单片机内部含有三个定时器/计数器,

17、可实现精确定时/计时。其计数脉冲的频率为所选晶振频率的1/12,本系统使用的晶振频率为12MHz,则计数脉冲频率为1MHz,通过对定时器/计时器的溢出控制,可容易地实现系统所需最小单位为1s的定时/计时功能。综合考虑,本系统采用方案二,在有效地利用系统资源的同时,又减少了单片机的外围电路。9. 状态标志模块状态标志模块的设计旨在系统上电工作和风扇启动时发出声光信号提示。在发光方面,考虑到电路的简易程度、功耗和电源的因素,系统采用发光二极管显示;在发声方面,考虑到体积和功耗的因素,使用蜂鸣器代替普通的扬声器。第二章 硬件设计2.1 控制模块 2.1.1 AT89S52概述1. AT89S52 单

18、片机简介AT89S52 是一种带8K字节闪存可编程可擦除只读存储器(FPEROM)、256B片内RAM的低电压,高性能CMOS 8位微处理器。该器件采用ATMEL 高密度非易失存储器制造技术制造,与工业标准的MCS-51 指令集和输出管脚相兼容。由于将多功能8 位CPU 和闪烁存储器组合在单个芯片中,ATMEL 的AT89S52 是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。2. AT89S52单片机封装类型图2-1 AT89S52单片机双列直插封装3. AT89S52单片机各管脚功能VCC:接+5V电源。GND:接地。XTAL1:片内反向振荡放大器的输入端。当使用片

19、内时钟时,此端接外部石英晶体和微调电容的一端;当使用外部时钟时,对于HMOS单片机,此引脚接地,对于CHMOS单片机,此引脚作为外部振荡信号的输入端。XTAL2:片内反向振荡放大器的输出端。当使用片内时钟时,此端接外部石英晶体和微调电容的另一端;当使用外部时钟时,对于HMOS单片机,此引脚接外部振荡源,对于CHMOS单片机,此引脚悬空。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8个TTL门电流。当P1口的管脚第一次写“1”时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FLASH 编程时,P0口作为原码输入口,当FLASH 进行校验时,P

20、0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4个 TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。此外,P1.0还作为定时器计数器2的外部计数输入(P1.0/T2),P1.1作为定时器/计数器2的触发输入(P1.1/T2EX)。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收/输出4个TTL 门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上

21、拉的缘故。当P2口用于外部程序存储器或16位地址外部数据存储器进行存取时,输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口是一带内部带上拉电阻的8位双向I/O口,每脚可接收/输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3 口也可作为AT89S52的一些特殊功能口。P3.0:RXD(串行输入口);P3.1:TXD(串行输出口);

22、P3.2:/INT0(外部中断0输入);P3.3:/INT1(外部中断1输入);P3.4:T0(定时器0外部计数输入);P3.5:T1(定时器1外部计数输入);P3.6:/WR(外部数据存储器写选通);P3.7:/RD(外部数据存储器读选通)。P3口同时为闪烁编程和编程校验接收一些控制信号。RST/VPD:RST是复位信号输入端,高电平有效。当单片机运行时,在此引脚加上持续时间大于2个机器周期(24个时钟振荡周期)的高电平时,即可完成复位操作。在单片机正常工作时,此引脚应为0.5V低电平。VPD为此引脚第二功能,即备用电源的输入端。当主电源VCC发生故障,降低到某一规定值的低电平时,将+5V电

23、源自动接入RST端,为内部RAM提供备用电源,以保证片内RAM中的信息不丢失,从而使单片机在复位后能继续正常运行。ALE/:ALE引脚输出为地址锁存允许信号,当单片机访问外部存储器时,用于锁存地址的低位字节。当单片机上电正常工作后,即使不访问外部锁存器,ALE端仍有正脉冲信号输出,此频率为时钟振荡器频率fosc的1/6,可用于初步判断单片机芯片的好坏。ALE端可以驱动8个LS型TTL负载。应当注意的是,当访问外部数据存储器时,在1个机器周期中ALE只出现1次,即丢失1个ALE 脉冲。因此,严格来说,不宜用ALE作精确的时钟源或定时信号。如想禁止ALE的输出可在SFR 8EH地址上置0。此时,只

24、有在执行MOVX,MOVC指令时ALE才起作用。为此引脚第二功能,在对片内EPROM型单片机编程时,作为编程输入端。:外部程序存储器选通端,接外部程序存储器的(输出允许)端。在单片机访问外部程序存储器时,此引脚输出脉冲负跳沿作为读外部程序存储器的选通信号。/VPP:为外部程序存储器选择控制端。当保持低电平时,单片机在此期间只访问外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。当 端保持高电平时,单片机在此间访问内部程序存储器,但在PC(程序计数器)值超过1FFFH时,即超出片内程序存储器的8KB地址范围时,将自动转向执行外部程序存储器内的程序。在FLASH编程期间,此引脚也

25、用于施加12V编程电源(VPP)。2.1.2 单片机最小系统设计单片机最小系统是单片机能正常工作的所必须的最基本电路,包括复位和晶体振荡电路,为方便今后本系统扩展功能,所以最小系统采用双排针单独引出I/O口的方式,其电路设计如图2-2所示。图2-2 最小系统设计电路2.2 温度检测反馈模块2.2.1 DS18B20基础知识 DS18B20单线数字温度传感器是DALLAS半导体公司开发的世界上第一片支持“一线总线”接口的温度传感器。它具有3引脚TO92小体积封装形式。温度测量范围为-55+125,可编程为912位A/D 转换精度,测温分辨率可达0.0625。被测温度用符号扩展的16 位数字量方式

26、串行输出。工作电压支持3V5.5V的电压范围,既可在远端引入,也可采用寄生电源方式产生。DS18B20还支持“一线总线”接口,多个DS18B20可以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。它还有存储用户定义报警温度等功能。DS18B20 内部结构及管脚:DS18B20内部结构如图2-3所示,主要由4部分组成:64位ROM、温度传感器、非挥发的温度报警触发器TH 和TL、配置寄存器。其管脚排列如图2-4所示,DQ为数字信号输入/输出端,GND为电源地,VDD为外接供电电源输入端,采用寄生电源方式时,该引脚接地。8

27、位CRC生成器存储器和控制器64位ROM和单线接口高温触发器TH低温触发器TL配置寄存器高速缓存存储器 DQ温度灵敏元件 VDD电源检测GND图2-3 DS18B20 内部结构图2-4 DS18B20外形及管脚由于DS18B20只有一根数据线,因此它和主机(单片机)通信是需要串行通信,而AT89S52有两个串行端口,所以可以不用软件来模拟实现。经过单线接口访问DS18B20必须遵循如下协议:初始化、ROM操作命令、存储器操作命令和控制操作。要使传感器工作,一切处理均从序列开始。主机发送(Tx)-复位脉冲(最短为480s的低电平信号)。接着主机便释放此线并进入接收方式(Rx)。总线经过4.7K的

28、上拉电阻被拉至高电平状态。在检测到I/O引脚上的上升沿之后,DS18B20等待15-60s,并且接着发送脉冲(60-240s的低电平信号)。然后以存在复位脉冲表示DS18B20已经准备好发送或接收,然后给出正确的ROM命令和存储操作命令的数据。DS18B20通过使用时间片来读出和写入数据,时间片用于处理数据位和进行何种指定操作的命令。它有写时间片和读时间片两种。写时间片:当主机把数据线从逻辑高电平拉至逻辑低电平时,产生写时间片。有两种类型的写时间片:写1时间片和写0时间片。所有时间片必须有60微秒的持续期,在各写周期之间必须有最短为1微秒的恢复时间。读时间片:从DS18B20读数据时,使用读时

29、间片。当主机把数据线从逻辑高电平拉至逻辑低电平时产生读时间片。数据线在逻辑低电平必须保持至少1微秒;来自DS18B20的输出数据在时间下降沿之后的15微秒内有效。为了读出从读时间片开始算起15微秒的状态,主机必须停止把引脚驱动拉至低电平。在时间片结束时,I/O引脚经过外部的上拉电阻拉回高电平,所有读时间片的最短持续期为60微秒,包括两个读周期间至少1s的恢复时间。一旦主机检测到DS18B20的存在,它便可以发送一个器件ROM操作命令。所有ROM操作命令均为8位长。DS18B20芯片功能命令表如下:表2-1 DS18B20功能命令表命令 功能描述 命令代码CONVERT 开始温度转换 44HRE

30、AD SCRATCHPAD 读温度寄存器(共9字节) BEH READ ROM 读DS18B20序列号 33HWRITE SCRATCHPAD 将警报温度值写如暂存器第2、3字节 4EH MATCH ROM 匹配ROM 55H SEARCH ROM 搜索ROM F0H ALARM SEARCH 警报搜索 ECHSKIP ROM 跳过读序列号的操作 CCHREAD POWER SUPPLY 读电源供电方式:0为寄生电源,1为外电源 B4HDS18B20是用12位存储温度,最高位为符号位,下表为它的温度存储方式:表2-1 DS18B20温度存储地址分配232221202-12-22-32-4LSB

31、YTEBit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0SSSSS262524MSBYTEBit15Bit14Bit13Bit12Bit11Bit10Bit9Bit8这是12位转化后得到的12位数据,存储在DS18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。2.2.2 温度检测电路的设计DS18B20为单总线数字温度传感器,其与单片机的连接很简单,电路如图2-5所示。图2-5 DS18B20温度检测

32、电路2.3 人体检测模块2.3.1热释电红外传感器原理人体热释电红外检测模块是一种能够感应人体靠近或远离的传感器,模块将对人体的人体红外热辐射的信号转化成电信号,人体都有恒定的体温,一般在37左右,会辐射出中心波长为910um的特定红外线,而探测元件的波长灵敏度在0.220um范围内几乎稳定不变。在传感器顶端开设了一个装有菲涅尔透镜的窗口,可通过光的波长范围为710um,正好适合于人体红外辐射的探测,这样便形成了一种专门用作探测人体辐射的红外线传感器。人体热释电红外检测模块的菲涅尔透镜将热释电红外信号折射在PIR(热释电红外传感器)上,探测区域内红外线能量的变化,由PIR将其转换成电信号,即热

33、电转换。实质上热释电红外传感器是对温度敏感的传感器。它由陶瓷氧化物或压电晶体元件组成,在元件两个表面做成电极。在环境温度有T的变化时,由于有热释电效应,在两个电极上会产生电荷Q,即在两电极之间产生微弱的电压V。因此在被动红外探测器的可测范围内,当无人体移动时,热释电红外感应器感应到的只是背景温度,当人体进入探测区时,通过菲涅尔透镜,热释电红外感应器感应到的是人体温度与背景温度的差异,信号被采集到伺服系统以后,由软件对新采集的数据与系统内存中已经存在的前期探测数据进行延时比较,以判断是否真的有人等红外线源进入探测区。本系统采用的市售人体热释电红外采集模块,外形如图2-6所示。内部集成了热释电红外

34、传感器和红外传感信号处理器BISS0001。有VCC(+5V)、OUT和GND三个引脚。模块上电后,当有人进入探测区域时,其信号端口便产生一个电平跳变,并维持数秒钟,我们就是利用这个跳变来判断是否有人在可测区内。2.3.2 人体检测电路的设计本系统采用的市售人体热释电红外采集模块,有VCC(+5V)、OUT和GND三个引脚,接入电路如图2-7所示。模块上电后,当有人进入探测区域时,其信号端口便产生一个电平跳变,并维持数秒钟,我们就是利用这个跳变来判断是否有人在可测区内。图2-6 人体热释电红外采集模块外形图图2-7 人体热释电红外检测电路2.4 电风扇测速模块2.4.1 霍尔传感器简述根据霍尔

35、效应,人们用半导体材料制成的元件叫霍尔元件。它具有对磁场敏感、结构简单、体积小、频率响应宽、输出电压变化大和使用寿命长等优点,因此,在测量、自动化、计算机和信息技术等领域得到广泛的应用。霍尔传感器A3144是Allegro MicroSystems公司生产的宽温、开关型霍尔效应传感器,其工作温度范围可达-40150。它由电压调整电路、反相电源保护电路、霍尔元件、温度补偿电路、微信号放大器、施密特触发器和OC门输出极构成,通过使用上拉电阻可以将其输出接入CMOS逻辑电路。其输入为磁感应强度,输出是一个数字电压讯号。该芯片具有尺寸小、稳定性好、灵敏度高等特点,有两种封装形式,一种是3脚贴片微小型封

36、装,后缀为“LH”;另一种是3脚直插式封装,后缀为“UA”。霍尔传感器的外形图和管脚图如图2-8所示。磁场由磁钢提供,所以霍尔传感器和磁钢需要配对使用。 霍尔元件和磁钢 管脚图图2-8 霍尔传感器的外形图2.4.2 电风扇测速电路的设计转速的测量方法很多,根据脉冲计数来实现转速测量的方法主要有M法(测频法)、T法(测周期法)和MPT法(频率周期法),该系统采用了M法(测频法)。由于转速是以单位时间内转数来衡量,在变换过程中多数是有规律的重复运动实际测量时,要把霍尔传感器固定在电风扇后的隔离架上,与霍尔探头相对的电风扇的扇叶边沿固定一块磁钢,电风扇每转一周,受磁钢所产生的磁场的影响,霍尔传感器便

37、发出一个脉冲信号,其频率和转速成正比。将此脉冲信号接到AT89S52单片机的P3.2上,设定T0定时,每分钟所计的进入P3.2的脉冲个数即为电机的转速。霍尔传感器为输出端开路元件,所以需外接上拉电阻,其电路如图2-9所示。图2-9 霍尔测速电路2.5 电风扇调速模块2.5.1 电风扇调速原理电风扇调速是整个控制系统中的一个重要的方面。电风扇的调速方法有很多种,如抽头法、电抗器法、电容法、电子调速法等。本系统采用电子调速法。通过控制双向可控硅的导通时间,使输出端电压发生改变,从而使施加在电风扇的输入电压发生改变,以调节风扇的转速,实现各档位风速的无级调速。可控硅的导通条件如下:1)阳-阴极间加正

38、向电压;2)控制极-阴极间加正向触发电压;3)阳极电流IA 大于可控硅的最小维持电流IH。本系统采用了过零双向可控硅型光耦MOC3041,集光电隔离、过零检测、过零触发等功能于一身,避免了输入输出通道同时控制双向可控硅触发的缺陷, 简化了输出通道隔离驱动电路的结构。其工作原理是:单片机根据响应的参数设置, 在单片机的P1.7口输出一个低电平,使光电耦合器导通, 同时触发双向可控硅, 使工作电路导通工作。给定时间内,负载得到的功率为: (2-1)式中: P 为负载得到的功率/kW; n 为给定时间内可控硅导通的正弦波个数; N 为给定时间内交流正弦波的总个数; U 为可控硅在一个电源周期全导通时

39、所对应的电压有效值/V; I 为可控硅在一个电源周期全导通时所对应的电流有效值/A。由式(2-1)可知,当U, I, N为定值时,只要改变n值的大小即可控制功率的输出,从而达到调节电机转速的目的。2.5.2 电风扇调速电路的设计本体统所设计的可控硅触发电路如图2-10所示。图2-10 电风扇调速电路2.6 显示模块2.6.1 数码管显示原理常用的数码管为8段式,其每一段对应一个发光而二极管,分为共阳极和共阴极两种。如图2-11所示为共阴极数码管内部结构。其所有二极管阴极连在一起并接地,当某个发光二极管的阳极为高电平时,此发光二极管被点亮,相应的段被显示。同样,共阳极数码管则是所有阳极相连并接高

40、电平,当某个发光二极管的阴极为低电平时,即被点亮,相应的段被显示。将每段按一定的顺序分别命名为a、b、c、d、e、f、g、dp,为其提供刚好一个字节的不同的段码(即字型码)即可控制数码管相应的段被点亮显示出不同的字型。图2-11 共阴极数码管结构由N个数码管按一定的方式连在一11起即可形成一个N位的数码管,也分为共阳极和共阴极,其显示方式可分为静态显示和动态显示。如图2-12所示为4位数码管的构成。图2-12 4位数码管结构N位数码管工作于静态显示方式时,各个数码管的共阴极(或共阳极)连在一起并接地(或接+5V),各个段选端分别连接不同的8位I/O口或经不同的锁存器与I/O口相连。各个数码管的

41、显示字符已经确定则将维持不变,指导送入另一个字符的段码为止,在同一时间里,每一位显示的字符可以各不相同,因此,静态显示的亮度都较高。这种显示方式编程容易,但占用I/O口或锁存器较多,随着显示位数的增多,资源浪费将会更严重。因此,在显示位数较多的情况下,一般不采用静态显示,而是采用动态显示。N位数码管动态显示时,其所有的段选端都连在一起,有1个8位I/O口控制,形成段码线的多路复用,而各位的共阳极(或共阴极)也即位选端则由不同的I/O线控制,形成各位的分时选通。因此,在同一时刻,如果各位的位选端都处于选通状态,则各个数码管将显示相同的字符。若要各位都够同时显示出与本位相应的显示字符,就必须采用动

42、态显示,即在某一时刻,只让某一位的位选端处于选通状态,而其他各位都不选通,同时段码线上输出相应位要显示的字符的段码;在下一时刻只让下一位的位选端处于选通状态,在段码线上再输出其要显示的字符的段码。如此循环下去,只要每位显示的间隔时间足够短,利用发光二极管的余晖效应和人眼的视觉暂留作用,就可以造成多位同时亮的假象,达到同时显示不同字符的效果。这种显示方式节省硬件资源,但占用CPU时间较多,适于显示位数较多的情况。2.6.2 显示电路设计本系统采用4位共阳极数码管动态显示的方案以节省硬件资源,降低电路复杂度。设计电路如图2-13所示。图2-13 4位数码管动态显示连接电路单片机的P0口输出段选码,

43、其位选端经过4个9012 PNP三极管驱动与电源端Vcc相连,而9012的通断则通过编程对P2.4P2.7输出高低电平来控制。其中,当某位输出为低电平时对应的与之连接那个9015导通,当单片机输出段选码时,对应的那位数码管就会显示相应的段码的内容,当P2.4P2.7轮流不断的输出低电平,并且P0口在不同的位选中时输出段码时,4位数码管就会轮流显示不同的值,如果扫描时间足够的短,那么利用其余晖和我们的视觉暂留效应,就会看到4位数码管同时在发亮而且在显示不同的内容。2.7 键盘模块2.7.1 键盘的工作原理键盘在单片机应用系统中能实现向单片机输入数据、传送命令等功能,是人工干预单片机工作的主要手段

44、,可分为独立式键盘和行列式(矩阵)键盘。独立式键盘就是各按键相互独立,每个按键各接一根输入线,通过检测输入线上电平的状态就可以很容易地判断出哪个键被按下。易识别且编程简单,但在按键数目较多时,独立式键盘就需要较多的输入口线且电路结构复杂。故此种键盘适用于按键较少或操作速度较高的场合。行列式(矩阵)键盘用于按键较多的场合,有行线和列线组成,按键位于行、列的交叉点上。最常用的4*4的行、列结构的键盘即可提供16个按键,与独立式键盘相比可节约大量I/O口线。行列式键盘中行、列为多键共用,各按键均影响该键所在行和列的电平,因此各按键彼此将相互发生影响,所以必须将行、列信号配合起来并作适当处理,才能确定

45、按下键的位置。2.7.2 独立式键盘的设计由于本系统为智能化设计,需要的按键数目很少,所以系统采用简单的独立式键盘,与单片机的P1口相连,电路如图2-14所示。图2-14 独立式键盘电路2.8 计时模块2.8.1 AT89S52的内部定时器/计数器一定时器/计数器AT89S52单片机内部有三个16位的可编程定时器/计数器,定时器0(T0) 、定时器1(T1)和定时器2(T2),可编程选择其作为定时器或计数器使用。此外,工作方式、定时时间、计数值、启动、中断请求等都可以由程序设定。定时/计数器由定时器0、定时器1、定时器方式寄存器TMOD和定时器控制寄存器TCON组成。定时器0,定时器1是16位

46、加法计数器,分别由两个8位专用寄存器组成:定时器0由TH0和TL0组成,定时器1由TH1和TL1组成。TL0、TL1、TH0、TH1的访问地址依次为8AH8DH,每个寄存器均可单独访问。定时器0或定时器1用作计数器时,对芯片引脚T0(P3.4)或T1(P3.5)上输入的脉冲计数,每输入一个脉冲,加法计数器加1;其用作定时器时,对内部机器周期脉冲计数,由于机器周期是定值,故计数值确定时,时间也随之确定。TMOD、TCON与定时器0、定时器1间通过内部总线及逻辑电路连接,TMOD用于设置定时器的工作方式,TCON用于控制定时器的启动与停止。二定时器/计数器的初始化由于定时/计数器的功能是由软件编程

47、确定的,所以,一般在使用定时器/计数前都要对其进行初始化。初始化骤如下:(1)确定工作方式对TMOD或T2MOD赋值。(2)预置定时或计数的初值直接将初值写入TH0、TL0或TH1、TL1或TH2、TL2。定时/计数器的初值因工作方式的不同而不同。设最大计数值为M,则各种工作方式下的M值如下:方式0:M=213=8192方式1:M=216=65536方式2:M=28=256方式3:定时器0分成两个8位计数器,所以两个定时器的M值均为256。因定时/计数器工作的实质是做“加1”计数,所以,当最大计数值M值已知时,初值X可计算如下:X=M-计数值(3)根据需要开启定时/计数器中断直接对IE寄存器赋

48、值。(4)启动定时/计数器工作将TR0或TR1置“1”。GATE=0时,直接由软件置位启动;GATE=1时,除软件置位外,还必须在外中断引脚处加上相应的电平值才能启动。2.8.2 继电器控制电路的设计本系统中由单片机内部定时器T2设置定时时间,由继电器做开关控制电路。当定时时间到时,单片机即控制继电器切断风扇电机的电源,风扇停止转动。继电器控制电路的设计如图2-15所示。图2-15 继电器控制电风扇开断电路2.9 状态标志模块2.9.1 电源指示当电风扇从手动模式调至智能模式时,系统上电,采用发光二极管作为提示,说明切换模式成功。其电路设计如图2-16所示。图2-16 电源指示灯2.9.2 电

49、风扇启动提示当环境达到开启温度且人在探测范围内时,单片机控制电风扇开始以初始速度运行,并由蜂鸣器发声以提示电风扇启动成功。其电路如图2-17所示。图2-17 电风扇启动发声电路第三章 软件设计3.1 温度检测子程序3.1.1 程序流程图开始DS18B20初始化初始化成功 N结束读取并显示程序写一个字节读一个字节 Y 图3-1 温度检测模块流程图3.1.2 子程序设计#include sbit DQ = P30; /定义18B20端口DQsbit wei1 =P24;sbit wei2 =P25;sbit wei3 =P26;sbit wei4 =P27;unsigned char code L

50、EDData1 = 0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90;/0-9数字unsigned char code LEDData2 = 0x40, 0x79, 0x24, 0x30, 0x19, 0x12, 0x02, 0x78, 0x00, 0x10; /0-9带点数字unsigned char T;/定义变量保存当前温度值/void Delay(unsigned int time)/延时函数while( time- );/Init_18B20()/初始化18B20unsigned char x = 0;DQ = 1;

51、 /DQ复位Delay(10); /稍做延时DQ = 0; /单片机将DQ拉低Delay(80); /延时大于480usDQ = 1; /拉高总线Delay(10);x = DQ; /稍做延时后 如果x=0则初始化成功 x=1则初始化失败 Delay(20);/unsigned char ReadOneChar()/读一个字节unsigned char i = 0;unsigned char dat = 0;for (i = 8; i 0; i-) DQ = 0; / 给脉冲信号 dat = 1; DQ = 1; / 给脉冲信号 if(DQ) dat |= 0x80; Delay(15);re

52、turn (dat);/void WriteOneChar(unsigned char dat)/写一个字节unsigned char i = 0;for (i = 8; i 0; i-) DQ = 0; DQ = dat&0x01; Delay(5); DQ = 1; dat=1;/void Read_Display()/读取并显示温度unsigned int a = 0, b = 0, c = 0, t = 0;float tt = 0;Init_18B20();WriteOneChar(0xCC); / 跳过读序号列号的操作WriteOneChar(0x44); / 启动温度转换Init

53、_18B20();WriteOneChar(0xCC); /跳过读序号列号的操作WriteOneChar(0xBE); /读取温度寄存器a = ReadOneChar();b = ReadOneChar();t = b;t = 8;t = t | a;tt = t * 0.0625; t = tt * 10 + 0.5; /放大10倍输出并四舍五入T = t / 10;/保存当前温度a = t / 100; /十位b = t / 10 - a * 10; /个位 c = t - a * 100 - b * 10; /小数位P0 = 0xc6; /显示C字符wei1 = 0;Delay(100)

54、;wei1 = 1;P0 = LEDData1c; /显示小数位wei2 = 0;Delay(100);wei2 = 1;P0 = LEDData2b; /显示个位wei3 = 0;Delay(100);wei3 = 1;P0 = LEDData1a; /显示十位wei4 = 0;Delay(100);wei4 = 1;/void main()wei1=1;wei2=1;wei3=1;wei4=1;while(1) Read_Display();/3.2调速、测速子程序3.2.1 程序流程图启动定时器10s内中断的次数乘以6,即平均转速风扇转动一圈,INT0产生一次中断根据温度变化,调节定时器

55、初值,以调节PWM占空比开始结束PWM控制可控硅导通时间以调节有效电压,使转速变化显示转速初始化计时器T0,T1,外部中断INT0 图3-2 调速、测速模块程序流程图3.2.2 子程序设计#include/头文件/宏定义#define uchar unsigned char#define uint unsigned int #define ulong unsigned long int#define HI_T0 (65536-10000)/256/给定时器T0高8位赋值,定时10ms#define LO_T0 (65536-10000)/256/给定时器T0低8位赋值#define HI_T1 (65536-10000)/256/给定时器T1高8位赋值#define LO_T1 (65536-10000)/256/给定时器T1低8位赋值/

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!