
单片机课程设计智能温控调速风扇.doc
29页1摘 要本课程设计基于温度传感器和 51 单片机控制技术,设计了一种智能温控调速风扇本设计的温控风扇利用温度传感器 DS18B20 来检测外界环境的温度,利用数码管显示境温度和风度档位,既可以通过控制按键人工调节开启温度以及风速,也可实现风速的自动控制并可以将定时时间存入 AT24C02 芯片,实现数据的掉电保护风扇共有十个档位,根据PWM 来控制调节风扇速度本论文阐述了智能温控调速风扇的工作原理、硬件设计、软件实现的过程电风扇的自动控制,可以更加便于人们对风扇的使用克服了普通电风扇无法根据外界温度自动调节转速的困难因此,智能电风扇的设计具有重要的现实意义关键词 单片机;温度传感器 ;直流电机;pwm11设计任务及要求设计内容硬件设计硬件设计包括:STC89C52RC 单片机整体电路设计、数码管显示电路设计、温度传感器电路、独立按键电路、基于 AT24C02 掉电保护电路设计软件设计本次课程设计全部程序均为 C 语言编写实现风扇风速的温度自动控制、人工按键控制、定时功能、数码管数据显示和掉电保护功能的智能风扇控制程序设计要求(1)利用温度传感器 DS18B20 检测环境温度,通过数码管显示出来。
2)根据温度的高低,输出不同占空比的 PWM 控制风扇风速3)可以选择人工控制还是温度自动控制4)可以进行风扇开启时间的定时5)为防止突然停电而使数据丢失,需要设计由单片机将数据送到AT24C02 模块中储存的模块,使其具有掉电保护功能6)可以实现风扇最低开启温度的设定1 引言1.1 研究背景风扇是我们在日常生活中经常使用的设备,但传统风扇通常是由人为设定风扇的档速,季节交替时节,白天温度很高,电风扇应高转速;到了2晚上,气温降低,应该逐步减小转速但人们在睡眠时通常无法去改变风扇的转速,而普遍采用的定时器关闭的做法,一方面是定时时间长短有限制;另一方面可能在一两个小时后气温依旧没有降低很多,而风扇就关闭了,使人在睡梦中热醒而不得不起床重新打开风扇,增加定时器时间,非常麻烦,而且可能多次定时后最后一次定时时间太长,在温度降低以后风扇依旧继续吹风 1.2 论文研究意义为解决上述问题,我们设计了这套温控自动风扇系统本系统采用高精度集成温度传感器来检测当前环境温度用51单片机控制,能显示实时检测温度,使用者可以设定开启温度以及定时时间风扇的转速可以根据温度的变化而改变,也可以人工进行设定风速这样的智能化控制比起传统的风扇能够更好地适应人们的需要。
基于单片机的温度控制风扇是利用单片机来完成的一个小型控制系统现阶段运用于国内大部分家庭,系统效率越来越高,成本也越来越低其发展趋势可以根据其性质进行相应的改进可以运用与不同场合的温度监测控制,并带来大量的经济效益42 设计思路及方案论证2.1 设计思路本设计的整体思路是:首先利用温度传感器 DS18B20 检测环境温度并直接输出数字温度信号给单片机进行处理,在 LED 数码管上显示当前环境温度值、目前风扇所处的档位其中预设开启温度值只能为整数形式同时采用 PWM 脉宽调制方式来改变直流风扇电机的转速并通过按键改变预设开启温度值及进行人工控制或者温度自动控制模式的选择系统结构框图如图 2.1 所示:5STC89C52温度显示档位显示模式显示定时显示独立 按键PWM 驱动电路 直流电机DS18B20复位 晶振AT24C02图 2.1 系统构成框图2.2 方案论证本设计要实现风扇直流电机的温度控制,使风扇电机能根据环境温度6的变化自动启停及改变转速,需要比较高的温度变化分辨率以及稳定可靠的换挡停机控制部件2.2.1 温度传感器的选择在本设计中,温度传感器的选择有以下两种方案:方案一:采用热敏电阻作为检测温度的核心元件,并通过运算放大器放大,热敏电阻会随温度而变化,进而产生输出电压变化信号,再经模数转换芯片 ADC0809 将电压变化信号转化为数字信号输入单片机处理。
方案二:采用数字式的集成温度传感器 DS18B20 作为温度检测的核心元件,由其检测并直接输出数字温度信号给单片机进行处理对于方案一,采用热敏电阻作为温度检测元件,价格便宜,元件易购,但热敏电阻对温度的细微变化不太敏感在信号采集、放大以及转换的过程中还会产生失真和误差故该方案不适合本系统对于方案二,由于数字式集成温度传感器 DS18B20 的高度集成化,大大降低了外接放大转化等电路的误差因数,温度误差变得很小,并且其温度分辨力极高温度值在器件内部转化成数字量直接输出,简化了系统程序设计,又由于该温度传感器采用先进的单总线技术,与单片机的接口变得非常简洁,抗干扰能力强,因此该方案适用于本系统2.2.2 控制核心的选择在本设计中采用 STC89C52 单片机作为控制核心,通过软件编程的方法进行温度检测和判断,并在其 I/O 口输出控制信号STC89C52 单片机工作电压低,性能高,片内含 8k 字节的只读程序存储器 ROM 和 256 字节的随机数据存储器 RAM,它兼容标准的 MCS-51 指令系统,并且价格低廉,适合本设计系统2.2.3 温度显示器件的选择方案一:应用动态扫描的方式,采用 LED 共阴极数码管显示温度。
7方案二:采用 LCD 液晶显示屏显示温度对于方案一,该方案成本低,显示明确醒目,功耗极低,同时温度显示程序的编写也相对简单,但不足的地方是它采用动态扫描的显示方式,因此会产生闪烁,但只要频率设置得当了即可采用该方案对于方案二,液晶显示屏不仅能显示数字还能显示字符甚至图形,这是数码管无法达到的但是液晶显示模块的价格昂贵,显示驱动程序的编写也较复杂,从简单实用的原则考虑,本系统采用方案一2.2.4 调速方式的选择方案一:采用数模转换芯片 DAC0832 来控制,由单片机根据当前环境温度值输出相应数字量到 DAC0832 中,再由 DAC0832 产生相应模拟信号,从而通过无级调速电路实现风扇电机转速的自动调节方案二:采用单片机软件编程实现 PWM 调速的方法利用定时器,当高电平时间到时,对 I/O 口电平取反,使其变成低电平;当低电平时间到时,再对该 I/O 口电平取反,如此循环即可得到PWM 信号对于方案一,该方案能够实现对直流风扇电机的无级调速,速度变化灵敏,但是 D/A 转换芯片的价格较高,性价比不高对于方案二,相对于其他用硬件或者软硬件相结合的方法实现对电机进行调速而言,采用 PWM 用纯软件的方法来实现调速过程,具有更大的灵活性,并可大大降低成本。
综合考虑选用方案二 各个单元模块的硬件设计83 各个单元模块的硬件设计系统主要器件包括 DS18B20 温度传感器、STC89C52 单片机、LED 共阳极数码管、达林顿反向驱动器 ULN2803、按键等3.1 系统器件及理论简介3.1.1 STC89C52 单片机简介STC89C52RC 单片机介绍STC89C52RC 单片机是宏晶科技推出的新一代高速/低功耗/ 超 强 抗 干扰 的 单 片 机 , 指 令 代 码 完 全 兼 容 传 统 8051 单片机, 12 时钟/ 机器周期和6 时钟/机器周期可以任意选择8K 字节程序存储空间;512 字节数据存储空间; 内带 4K 字节 EEPROM 存储空间; 可直接使用串口下载;共 3 个 16 位定时器/计数器即定时器 T0、T1、T2 ,并且具有 EEPROM 功能在许多许多较复杂的控制系统中 STC89C52 单片机得到了广泛的应用STC89C52 有 40 个引脚 各个单元模块的硬件设计9图 3.1 STC89C52 单片机3.1.2 DS18B20 单线数字温度传感器简介DS18B20 数字温度传感器,它具有微型化、低功耗、高性能、抗干扰能力强、易配微处理器等优点,可直接将温度转化成串行数字信号供处理器处理,适用于各种狭小空间设备数字测温和控制领域 [6]。
DS18B20 的主要特征:测量的结果直接以数字信号的形式输出,以“单线总线”方式串行传送给 CPU,同时可传送 CRC 校验码,具有极强的抗干扰纠错能力;温度测量范围在-55℃ — +125℃之间,在-10℃ — +85℃时精度为±0.5℃,可实现高精度测温;它单线接口的独特性,使它与微处理器连接时仅需一条端口线即可实现与微处理器的双向通信;支持多点组网功能,即多个 DS18B20 可以并联在唯一的三线上,实现组网多点测温的功能;工作电压范围宽,其范围在 3.0—5.5V3.1.4 达林顿反向驱动器 ULN2803 简介 各个单元模块的硬件设计10单片机控制风扇直流电机,需要加驱动电路,为直流电机提供足够大的驱动电流在本系统中,选用达林顿反向驱动器 ULN2803 来驱动风扇直流电机ULN2803 在使用时接口简单,操作方便,可为电机提供较大的驱动电流 ULN2803 由 8 个 NPN 达林顿晶体管组装而成,共 18 个引脚,引脚1~8 分别是 8 路驱动器的输入端,输入信号可直接是 TTL 或 CMOS 信号;引脚 11~18 分别是 8 路驱动器的输出端;引脚 9 为接地线,引脚 10 为电源输入。
当输入 TTL 信号为 5V 或 CMOS 信号为 6~15V 时,输出的最大电压为 50V,最大电流为 500mA下图 3.4 为 ULN2803 的结构图图 3.4 ULN2803 的结构图3.1.5 LED 数码管简介本系统选用 LED 数码管来进行数据显示它主要是由 8 段发光二极管组成 LED 数码管可以分为共阴极和共阳极两种结构字形与段选码的关系见表 3.1 所示表 3.1 7 段 LED 的段选码表 各个单元模块的硬件设计11显示字符 共阴极段码 共阳极段码 显示字符 共阴极段码 共阳极段码0 3fH C0H 8 7fH 80H1 06H F9H 9 6fH 90H2 5bH A4H A 77H 88H3 4fH B0H B 7fH 83H4 66H 99H C 39H C6H5 6dH 92H D 3fH A1H6 7dH 82H E 79H 86H7 07H F8H F 71H 8EH3.1.6 74573 芯片简介 74HC573 是拥有八路输出的透明锁存器,输出为三态门,是一种高性能硅栅CMOS 器件。
当使能为高时,Q 输出将随数据输入而变当使能为低时,输出将锁存在已建立的数据电平上输出控制不影响锁存器的内部工作,即老数据可以保持,甚至当输出被关闭时,新的数据也可以置入这种电路可以驱动大电容或低阻抗负载,可以直接与系统总线接口并驱动总线,而不需要外接口特别适用于缓冲寄存器,I/O 通道,双向总线驱动器和工作寄存器74573 引脚如图 3.6 所示 各个单元模块的硬件设计12图 3.6 74573 引脚图AT24C02 芯片简介AT24C02 是一个 2K 位串行 CMOS E2PROM, 内部含有 256 个 8 位字节,CATALYST 公司的先进 CMOS 技术实质上减少了器件的功耗AT24C02 有一个 8字节页写缓冲器该器件通过 IIC 总线接口进行操作,有一个专门的写保护功能3.2 主要部分电路设计3.2.1 DS18B20 传感器连接电路 DS18B20 数字温度传感器通过其内部计数时钟周期来的作用,实现了特有的温度测量功能外围电路简单在本设计中将 DS18B20 接在 P1.3 口。












