基于单片机的风扇控制系统设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图 3 键盘电路电路图
2.4 温度控制模块设计
在单片机控制系统中,常用LED显示器来显示各种数字和符号。这种显示器显示清晰,
亮度高,接口方便,广泛用于各种控制系统中。 2.wk.baidu.com.1 LED 显示灯介绍
LED显示器在电路连接上有两种形式:一种是8个发光二极管的阳极都连在一起的,称 之为共阳极型LED显示器; 另一种是8个发光二极管的阴极都连在一起的, 称为共阴极型LED 显示器[4]。显示器的显示方式有两种:静态显示和动态扫描显示。所谓静态显示,是指当 显示器显示某个字符时,相应段的发光二极管处于恒定的导通或截止状态,直到需要显示 另一个字符为止。在这种工作方式下,LED的亮度高,软件编程也比较容易;但是它占用 比较多的I/O资源,常用于现实位数不多的情况。LED显示器动态接口的基本原理是利用人 眼的“视觉暂留”效应。接口电路把所有显示器的8个笔端a到h分别并联在一起,构成“字 段口”,每个显示器的公共端COM各自独立的受I/O线控制,称“位扫描口”。CPU向字段 输出口送出字形码时,所有的显示器都能接受到,但是究竟点亮哪个显示器,取决于此时 的位扫描口德输出端接通了哪个LED显示器的公共端。所谓动态,就是利用循环扫描的方 式,分时轮流选通各显示器的公共端,使各个显示器轮流导通。当扫描速度达到一定程度 时,人眼就分辨不出来了,认为是各个显示器。 本设计是对室内温度进行显示,一般用户室内温度是两位,所以我采用两位数码管显 示,共阳极、动态显示方式。P0.0~P0.7 连接数码管的段输出,P3.0、P3.1 连接数码管的位 输出,温度显示模块如图 4 所示。
MS ByTe bit15 S bit14 S bit13 S bit12 S bit11 S bit10 2
6
bit9 2
5
bit8 24
2.2.4
DS18B20 使用注意事项
DS18B20 虽然拥有测温的精度高、系统较简单、连接较方便和占用口线少的优点,但 是在实际的应用过程中也应该注意下面几个问题: (1)由于硬件开销较小,所以需要较复杂的软件来进行补偿,由于 DS18B20 和微处 理器间用的是串行数据传送,所以在对 DS18B20 完成读写的编程时必须严格保证读写的时 序,不然将不能读取到测温结果。 (2)当单总线上所挂的 DS18B20 超过 8 个时,就需要解决微处理器的总线驱动问题。 (3) 在 DS18B20 测温的设计过程中, 向 DS18B20 发出要温度转换时必须要等待 DS18B20 做出的返回信号,如果某个 DS18B20 接触不良或短路,当程序读到该 DS18B20 时,将不会 返回信号,程序进入死循环。
DS18B20 内部结构主要由四部分组成:64 位光刻 ROM、温度传感器、非挥发的温度报 警触发器 TH 和 TL、配置寄存器[1]。 DS18B20 的测量的温度范围为-55~+125℃。 这个温度传感器输出的温度数据可以和摄 氏度校准,可以采用查找表或者转换规则就可以得到计算温度值。它采用单根信号线,既 可以传输时钟,同时又可以传输数据,并且数据传输是双向的,于是具有节省 I/O 口线 资源、成本低廉、结构简单、方便总线扩展和维护的优点。它可以直接将模拟温度信号转 化为数字信号,降低了电路的复杂程度,提高了电路的运行质量。 2.2.2 DS18B20 的功能及使用说明
根据所需按键个数、I/O 引脚输出级电路结构以及可以利用的 I/O 引脚数量,确定键 盘电路形式。本方案有 8 个按键,又考虑到 I/O 口的数量,采用独立式键盘电路。8 个按 键如图 3 分别定义如下:K1、自动按钮;K2、手动按钮;K3、设定键;K4、+按键;K5、按键;K6、高档;K7、中档;K8、低档[2]。
DS18B20 高精度数字温度传感器具有以下功能: (1)利用 AT89S51 单片机与 DS18B20 温度传感器通信,来控制温度采集过程及进行数 据通信; (2)能提供 DS18B20 使用外围电路的温度显示 LED 电路和 DS18B20 与单片机的通信接
口电路; (3)运用发光二极管的指示系统工作状态,在 DS18B20 里置温度上下限; (4)编写程序,来完成单片机对温度的数据采集过程与和 DS18B20 数据的传输过程的 控制。
表 1 部分温度值与 DS18B20 输出的数字量对照表 温度 +85℃ +25.625℃ +10.125℃ +0.5℃ 0℃ -0.5℃ -10.125℃ -25.625℃ -55℃ 四进制输出 0000 0101 0101 0000 0000 0001 1001 0001 0000 0000 1010 0010 0000 0000 0000 1000 0000 0000 0000 0000 1111 1111 1111 1000 1111 1111 0110 1110 1111 1111 0110 1111 1111 1100 1001 0000 十六进制输出 0550H 0191H 00A2H 0008H 0000H FFF8H FF5EH FF6FH FC90H
2 系统硬件电路设计
2.1 总体硬件设计
利用温度传感器 DS18B20 检测环境温度并直接输出数字温度信号给单片机进行处理, 完成温度转换工作。在 LED 数码管上显示当前环境温度值以及预设温度值。通过控制双向
可控硅的导通角,使输出端电压发生改变,从而使施加在电风扇的输入电压发生改变,以 调节风扇的转速,实现各档位风速的无级调速。具体如图 1。
2.2.3
DS18B20 寄存器的存储器及格式
DS18B20 温度传感器的内部存储器是由一个高速暂存RAM 和一个非易失性的可电擦 除的E2RAM组成的,后者存放了高温度及低温度的触发器TH、TL及结构寄存器。而暂存存 储器中包含8个连续的字节,前面的两个字节为测得的温度信息。其中第一个字节的内容 为温度的低八位;第二个字节的内容为温度的高八位;第三个与第四个字节为TH、TL易失 性的拷贝;第五字节为结构寄存器易失性的拷贝,这三个字节的内容在每一次的上电复位
1 前言
1.1 课题的设计目的和意义
单片机在检测和控制系统中得到广泛的应用, 温度则是系统常需要测量、控制和保 持的一个量。该论文从硬件和软件两方面介绍了 AT89S51 单片机的风扇温度控制系统的设 计。 单片机在电子产品中的应用已经越来越广泛,并且在很多电子产品中也将其用到温 度检测和温度控制。因此在本文设计了基于单片机 AT89S51 的风扇温度测量系统设计。这 是一种低成本的利用单片机 I/O 口实现的温度检测电路。 由于采用了智能控制器控制风扇,所以节约了电能,具有很好的市场发展前景。在夏 天时,由于天气温度高,人们通常直接打开风扇的电源而不用风扇的定时功能。当夜深时, 环境温度会降低。此时,如果风扇直接吹到人上,人们很容易得感冒。本论文设计出的智 能风扇控制器,可以实时监控环境温度,当环境温度低于用户设定的温度时,风扇会自动 关闭。该智能温度控制器也可用于工业温度测量的场所。
2.3 键盘输入模块设计
键盘在单片机应用系统中是必不可少的,人们通过它往计算机中传递信息。常用的 键盘电路包括独立式键盘和矩阵式键盘两种。 2.3.1 键盘的选择与原理 独立式键盘:是最简单的键盘,每个键对应I/O端口的一位,没有键闭合时,I/O端口 各位均处于高电平。当有一个键被按下时,就使对应位接地成为低电平。而其他位仍为高 电平。这样,只要CPU检测到I/O端口的某一位为“0”,便可以辨别出对应键已经被按下。 矩阵式键盘:当系统所需按键较多时,为了减少键盘电路占用的I/O引脚数目,一般 采用矩阵式电路。设有一个含有m×n个键的键盘,如果采用独立式的键盘结构设计,需要 m×n条引线和m×n位I/O端口。如果采用矩阵式键盘结构,便只要m+n条引线和m+n位I/O端 口就行了。它包括行线与列线,在行、列交叉点上有按键设置,在按键的开关两端分别连 接上行、列线。行线则通过上拉电阻来连接到+5v上。当没有按键的动作时,行线处在高
图 2 温度传感器
单片机控制 DS18B20 进行温度转换如图 2。 具体操作为: 在每一次读写前要对 DS18B20 完成复位操作,在复位成功后发送一条 ROM 指令,在最后要发送 RAM 指令,这样做才能对 DS18B20 完成预定的操作。 复位时主 CPU 要将数据线往下拉 500 微秒, 然后释放, 当 DS18B20 收到信号等待 16~60 微秒以后发出 60~240 微秒的存在低脉冲,若主 CPU 收到这个信号 则表示复位成功。 部分温度值与 DS18B20 输出的数字量对照表如图表 1。
1.2 国内外现状及发展趋势
国内外现状:目前,温控风扇的设计已经有了一定的成效,可以使风扇根据环境温度 的变化进行自动无极调速,当温度升高到一定是能自动启动风扇,当温度降到一定时能自 动停止风扇的转动,实现智能控制。温控风扇已经广泛用于工业控制和生产生活中。 发展趋势:随着技术的进步,温控风扇将会得到进一步的发展,不断提高其智能控制 的精确度,不断的降低其运转的噪音,甚至实现零噪音,不断的降低功耗以节能,以及充 分提高其集成度使其嵌入到更多的机械设备中将是其发展的趋势。
基于单片机的风扇控制系统设计
(德州学院机电系,山东德州 253023) 摘 要:介绍一种基于单片机的风扇控制系统设计方案。设计出以单片机技术、可控硅技术和温度 传感器技术为核心的智能风扇控制器。 该设计从硬件和软件两方面设计完成。 硬件系统采用的单片机为 AT89S51,利用了 DS18B20 对室内温度进行探测并适时显示当前温度值,通过控制可控硅的导通来实现 对电风扇的调速控制。软件系统则主要由主程序、键盘控制程序、温度显示程序和电机调速程序四部分 组成。 关键词:AT89S51;DS18B20;仿真;电机调速;温度显示
电源 温度显示
键盘控制
单 片 机
温度传感器
复位
电机调速控制
图 1 系统原理框图
2.2 数字温度传感器模块设计
在选定单片机类型后,通常还要对一些严重影响系统性能指标的器件(如传感器)进 行选择。有时一个设计合理的测控系统往往因为传感器的限制而达不到应有的效果。由于 该电路的根本任务是温度的实时测量。所以选用一块好的温度传感器是本设计的关键。典 型的温度测控系统包括A/D转换电路、单片机和模拟温度传感器三部分。但是因为模拟温 度传感器在输出时是模拟信号,必须在经过A/D转换这个环节获得了数字信号后才可以和 单片机完成接口,从而使得硬件的电路结构非常复杂,成本比较高[5]。近年来,由于以 DSl8B20作为代表的这种新型的单总线数字式的温度传感器具有突出优点,从而使得它能 得到充分利用。 2.2.1 DS18B20 的介绍
时都要被刷新;第六、七及八字节可用于内部的计算;第九个字节则为冗余的检验字节[3]。 DS18B20温度寄存器的格式如表2。
表2 DS18B20温度寄存器的格式 LS ByTe bit7 2
3
bit6 2
2
bit5 2
1
bit4 2
0
bit3 2
-1
bit2 2
-2
bit1 2
-3
bit0 2
-4
电平的状态, 但当有按键按下时, 行线的电平状态将由和这个行线相连列线的电平来决定。 如果列线的电平为高,则行线的电平为高;如果列线的电平为低,则行线的电平为低。这 一点是识别矩阵是否按下按键的关键。因为在矩阵键盘中,行、列线为多键共用,每个按 键都可以影响该键所在行和列的电平,所以每个按键之间互相都会发生影响,因此必须将 行、列信号配合起来并做适当的处理,才能确定闭合键的位置[5]。 键盘功能手动按钮:在此状态下,手动调节等级调速来实现调速; 自动按钮:在此状态下,自动调速以使室温等于设定温度; 设定按钮:按下时,温度显示设定温度,并可改变设定温度; +按钮:改变设定温度使设定温度增加; -按钮:改变设定温度使设定温度减小; 高中低档:手动控制调速等级。 2.3.2 键盘电路
图4 温度显示模块
2.5 电机控制模块设计
电机调速是整个控制系统中的一个重要方面。控制双向可控硅导通角,使得输出端的 电压发生改变,而使施加到电风扇的输入电压改变,来调节风扇转速,从而实现各档位的