基于单片机的风扇控制系统设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

基于单片机的风扇控制系统设计(德州学院机电系,山东德州253023)摘要:介绍一种基于单片机的风扇控制系统设计方案。设计出以单片机技术、可控硅技术和温度传感器技术为核心的智能风扇控制器。该设计从硬件和软件两方面设计完成。硬件系统采用的单片机为AT89S51,利用了DS18B20对室内温度进行探测并适时显示当前温度值,通过控制可控硅的导通来实现对电风扇的调速控制。软件系统则主要由主程序、键盘控制程序、温度显示程序和电机调速程序四部分组成。关键词:AT89S51;DS18B20;仿真;电机调速;温度显示1前言1.1课题的设计目的和意义单片机在检测和控制系统中得到广泛的应用,温度则是系统常需要测量、控制和保持的一个量。该论文从硬件和软件两方面介绍了AT89S51单片机的风扇温度控制系统的设计。单片机在电子产品中的应用已经越来越广泛,并且在很多电子产品中也将其用到温度检测和温度控制。因此在本文设计了基于单片机AT89S51的风扇温度测量系统设计。这是一种低成本的利用单片机I/O口实现的温度检测电路。由于采用了智能控制器控制风扇,所以节约了电能,具有很好的市场发展前景。在夏天时,由于天气温度高,人们通常直接打开风扇的电源而不用风扇的定时功能。当夜深时,环境温度会降低。此时,如果风扇直接吹到人上,人们很容易得感冒。本论文设计出的智能风扇控制器,可以实时监控环境温度,当环境温度低于用户设定的温度时,风扇会自动关闭。该智能温度控制器也可用于工业温度测量的场所。1.2国内外现状及发展趋势国内外现状:目前,温控风扇的设计已经有了一定的成效,可以使风扇根据环境温度的变化进行自动无极调速,当温度升高到一定是能自动启动风扇,当温度降到一定时能自动停止风扇的转动,实现智能控制。温控风扇已经广泛用于工业控制和生产生活中。发展趋势:随着技术的进步,温控风扇将会得到进一步的发展,不断提高其智能控制的精确度,不断的降低其运转的噪音,甚至实现零噪音,不断的降低功耗以节能,以及充分提高其集成度使其嵌入到更多的机械设备中将是其发展的趋势。2系统硬件电路设计2.1总体硬件设计利用温度传感器DS18B20检测环境温度并直接输出数字温度信号给单片机进行处理,完成温度转换工作。在LED数码管上显示当前环境温度值以及预设温度值。通过控制双向可控硅的导通角,使输出端电压发生改变,从而使施加在电风扇的输入电压发生改变,以调节风扇的转速,实现各档位风速的无级调速。具体如图1。图1系统原理框图2.2数字温度传感器模块设计在选定单片机类型后,通常还要对一些严重影响系统性能指标的器件(如传感器)进行选择。有时一个设计合理的测控系统往往因为传感器的限制而达不到应有的效果。由于该电路的根本任务是温度的实时测量。所以选用一块好的温度传感器是本设计的关键。典型的温度测控系统包括A/D转换电路、单片机和模拟温度传感器三部分。但是因为模拟温度传感器在输出时是模拟信号,必须在经过A/D转换这个环节获得了数字信号后才可以和单片机完成接口,从而使得硬件的电路结构非常复杂,成本比较高[5]。近年来,由于以DSl8B20作为代表的这种新型的单总线数字式的温度传感器具有突出优点,从而使得它能得到充分利用。2.2.1DS18B20的介绍DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器[1]。DS18B20的测量的温度范围为-55~+125℃。这个温度传感器输出的温度数据可以和摄氏度校准,可以采用查找表或者转换规则就可以得到计算温度值。它采用单根信号线,既可以传输时钟,同时又可以传输数据,并且数据传输是双向的,于是具有节省I/O口线资源、成本低廉、结构简单、方便总线扩展和维护的优点。它可以直接将模拟温度信号转化为数字信号,降低了电路的复杂程度,提高了电路的运行质量。2.2.2DS18B20的功能及使用说明DS18B20高精度数字温度传感器具有以下功能:(1)利用AT89S51单片机与DS18B20温度传感器通信,来控制温度采集过程及进行数据通信;(2)能提供DS18B20使用外围电路的温度显示LED电路和DS18B20与单片机的通信接电源键盘控制复位温度显示温度传感器电机调速控制单片机口电路;(3)运用发光二极管的指示系统工作状态,在DS18B20里置温度上下限;(4)编写程序,来完成单片机对温度的数据采集过程与和DS18B20数据的传输过程的控制。图2温度传感器单片机控制DS18B20进行温度转换如图2。具体操作为:在每一次读写前要对DS18B20完成复位操作,在复位成功后发送一条ROM指令,在最后要发送RAM指令,这样做才能对DS18B20完成预定的操作。复位时主CPU要将数据线往下拉500微秒,然后释放,当DS18B20收到信号等待16~60微秒以后发出60~240微秒的存在低脉冲,若主CPU收到这个信号则表示复位成功。部分温度值与DS18B20输出的数字量对照表如图表1。表1部分温度值与DS18B20输出的数字量对照表温度四进制输出十六进制输出+85℃00000101010100000550H+25.625℃00000001100100010191H+10.125℃000000001010001000A2H+0.5℃00000000000010000008H0℃00000000000000000000H-0.5℃1111111111111000FFF8H-10.125℃1111111101101110FF5EH-25.625℃1111111101101111FF6FH-55℃1111110010010000FC90H2.2.3DS18B20寄存器的存储器及格式DS18B20温度传感器的内部存储器是由一个高速暂存RAM和一个非易失性的可电擦除的E2RAM组成的,后者存放了高温度及低温度的触发器TH、TL及结构寄存器。而暂存存储器中包含8个连续的字节,前面的两个字节为测得的温度信息。其中第一个字节的内容为温度的低八位;第二个字节的内容为温度的高八位;第三个与第四个字节为TH、TL易失性的拷贝;第五字节为结构寄存器易失性的拷贝,这三个字节的内容在每一次的上电复位时都要被刷新;第六、七及八字节可用于内部的计算;第九个字节则为冗余的检验字节[3]。DS18B20温度寄存器的格式如表2。表2DS18B20温度寄存器的格式LSByTebit7bit6bit5bit4bit3bit2bit1bit0232221202-12-22-32-4MSByTebit15bit14bit13bit12bit11bit10bit9bit8SSSSS2625242.2.4DS18B20使用注意事项DS18B20虽然拥有测温的精度高、系统较简单、连接较方便和占用口线少的优点,但是在实际的应用过程中也应该注意下面几个问题:(1)由于硬件开销较小,所以需要较复杂的软件来进行补偿,由于DS18B20和微处理器间用的是串行数据传送,所以在对DS18B20完成读写的编程时必须严格保证读写的时序,不然将不能读取到测温结果。(2)当单总线上所挂的DS18B20超过8个时,就需要解决微处理器的总线驱动问题。(3)在DS18B20测温的设计过程中,向DS18B20发出要温度转换时必须要等待DS18B20做出的返回信号,如果某个DS18B20接触不良或短路,当程序读到该DS18B20时,将不会返回信号,程序进入死循环。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上。当没有按键的动作时,行线处在高电平的状态,但当有按键按下时,行线的电平状态将由和这个行线相连列线的电平来决定。如果列线的电平为高,则行线的电平为高;如果列线的电平为低,则行线的电平为低。这一点是识别矩阵是否按下按键的关键。因为在矩阵键盘中,行、列线为多键共用,每个按键都可以影响该键所在行和列的电平,所以每个按键之间互相都会发生影响,因此必须将行、列信号配合起来并做适当的处理,才能确定闭合键的位置[5]。键盘功能手动按钮:在此状态下,手动调节等级调速来实现调速;自动按钮:在此状态下,自动调速以使室温等于设定温度;设定按钮:按下时,温度显示设定温度,并可改变设定温度;+按钮:改变设定温度使设定温度增加;-按钮:改变设定温度使设定温度减小;高中低档:手动控制调速等级。2.3.2键盘电路根据所需按键个数、I/O引脚输出级电路结构以及可以利用的I/O引脚数量,确定键盘电路形式。本方案有8个按键,又考虑到I/O口的数量,采用独立式键盘电路。8个按键如图3分别定义如下:K1、自动按钮;K2、手动按钮;K3、设定键;K4、+按键;K5、-按键;K6、高档;K7、中档;K8、低档[2]。图3键盘电路电路图2.4温度控制模块设计在单片机控制系统中,常用LED显示器来显示各种数字和符号。这种显示器显示清晰,亮度高,接口方便,广泛用于各种控制系统中。2.4.1LED显示灯介绍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所示。图4温度显示模块2.5电机控制模块设计电机调速是整个控制系统中的一个重要方面。控制双向可控硅导通角,使得输出端的电压发生改变,而使施加到电风扇的输入电压改变,来调节风扇转速,从而实现各档位的风速的无级调速。2.5.1电机调速原理可控硅导通必须满足以下条件:(1)在阳极与阴极间加上正向电压;(2)在控制极与阴极间加上正向的触发电压;(3)可控硅最小的维持电流IH应小于阳极电流IA。把电风扇风速设定为从低到高1、2、3、4、5档,每个档都设有一个特定的风速值。在满足额定电压和额定功率的条件下,以最高的转速运转的时候,风叶的最大圆周上线速度应不大于2150m/min。线速度能由公式(1)求得:310VDn(1)式中,V时扇叶上最大圆周线速度(m/min),D是扇中最大顶端扫出圆直径(mm);n是电风扇的最高转速(r/min)。代入数据求得5

1 / 22
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功