基于单片机的温度控制风扇的设计

更新时间:2024-05-12 10:34:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

山东科技大学学士学位论文 摘要

摘 要

基于温度传感器和51系列单片机控制技术,设计了一种智能温控调速风扇。本毕业设计的温控风扇利用温度传感器DS18B20来检测外界环境的温度,利用数码管显示外界环境温度、设定的开启温度以及温度差和档位,可以通过控制按键调节设定的开启温度以及温度差,风扇共有五个档位,根据PWM(Pulse Width Modulation)可以控制调节风扇速度。本论文阐述了智能温控调速风扇的工作原理、硬件设计、软件实现的过程。

电风扇的自动控制,可以更加便于人们对风扇的使用。克服了普通电风扇无法根据外界温度自动调节转速困难。因此,智能电风扇的设计具有重要的现实意义。

关键词 单片机;温度传感器 ;直流电机;PWM

1

山东科技大学学士学位论文 ABSTRACT

ABSTRACT

Based on the temperature sensor and 51 series single-chip microcomputer control technology,we designed a kind of intelligent temperature control fan. In this course design of temperature control fan we use temperature sensor DS18B20 to test the temperature of the external environment.

We used the digital tube to display the outside temperature and set the temperature and the temperature difference and gears. The fan can be regulated by controlling the buttons to set the temperature and the temperature difference In this design we expound the intelligent temperature control fan, and the working principle, hardware design, software implementation process. The fan has five gears based on PWM(Pulse Width Modulation)to control the fan’s speed.

The automatic control of electric fan can be more convenient for people to the use of the fan. And it overcome the problem that ordinary electric fan can't adjustment speed according to the ambient temperature automatic. Therefore, the design of intelligent electric fan has important practical significance.

Keywords: single-chip microcomputer, temperature sensor, continuous current motor, PWM

1

山东科技大学学士学位论文 目录

目录

1 引言 ................................................................................................ 1

1.1 研究背景 .............................................................................................. 1 1.2论文研究意义 ....................................................................................... 2 1.3研究内容及结构 ................................................................................... 3

2 设计思路及方案论证 .................................................................... 4

2.1设计思路 ............................................................................................... 4 2.2方案论证 ............................................................................................... 5

3各个单元模块的硬件设计 ............................................................. 8

3.1系统器件及理论简介 ........................................................................... 8 3.2 主要部分电路设计 ............................................................................ 20

4 软件设计 ...................................................................................... 26

4.1 程序设计 ............................................................................................ 26 4.2 用Keil C51编写程序 ...................................................................... 28 4.3 用Proteus进行仿真 ........................................................................ 29

5 系统调试 ...................................................................................... 37

5.1 软件调试 ............................................................................................. 37

1

山东科技大学学士学位论文 目录

5.2 硬件调试 ............................................................................................ 38 5.3 系统功能 ............................................................................................ 39

总结与建议 ...................................................................................... 41 参考文献: ...................................................................................... 42 致 谢 .............................................................................................. 43 附录1:电路总图 ........................................................................... 44 附录2:实物图 ............................................................................... 46 附录3:程序代码 ........................................................................... 46 附录4:中英文资料翻译 ............................................................... 55

2

山东科技大学学士学位论文 引言

1 引言

1.1 研究背景

风扇是一种我们在日常生活中经常使用的设备,但是传统的风扇设备通常是由人为设定风扇的档速,春夏(夏秋)交替时节,白天温度依旧很高,电风扇应高转速、大风量,使人感到清凉;到了晚上,气温降低,当人入睡后,应该逐步减小转速,以免使人感冒。虽然电风扇都有调节不同档位的功能,但必须要人手动换档,但人们在睡眠时通常无法去改变风扇的转速,而普遍采用的定时器关闭的做法,一方面是定时时间长短有限制,一般是一两个小时;另一方面可能在一两个小时后气温依旧没有降低很多,而风扇就关闭了,使人在睡梦中热醒而不得不起床重新打开风扇,增加定时器时间,非常麻烦,而且可能多次定时后最后一次定时时间太长,在温度降低以后风扇依旧继续吹风,使人感冒;又比如在较大功率的电子产品散热方面,现在绝大多数都采用了风冷系统,利用风扇引起空气流动,带走热量,使电子产品不至于发热烧坏。要使电子产品保持较低的温度,必须用大功率、高转速、大风量的风扇,而风扇的噪音与其功率成正比。如果要低噪音,则要减小风扇转速,又会引起电子设备温度上升,不能两全其美。

电风扇在我国已有五十多年的生产历史,不管是在城市和农村的普及率都比较高,2008年产量超过1亿台,除了国内市场外,还大批量的出口到世界各地,占全球市场的绝大部分份额。由于电风扇结构较为简单,技术含量相对较低。

1

山东科技大学学士学位论文 设计思路及方案论证

脉冲序列的脉冲宽度,以调节输出量和波形的一种调节方式,在PWM驱动控制的调节系统中,最常用的是矩形波PWM信号,在控制时需要调节PWM波的占空比。占空比是指高电平持续时间在一个周期时间内的百分比。在控制电机的转速时,占空比越大,转速就越快,若全为高电平,占空比为100%时,转速达到最大。用单片机I/O口输出PWM信号时,有如下三种方法:

(1) 利用软件延时。当高电平延时时间到时,对I/O口电平取反,使其变成低电平,然后再延时一定时间;当低电平延时时间到时,再对该I/O口电平取反,如此循环即可得到PWM信号。在本设计中应用了此方法。

(2) 利用定时器。控制方法与(1)相同,只是在该方法中利用单片机的定时器来定时进行高低电平的转变,而不是用软件延时。应用此方法时编程相对复杂。

(3) 利用单片机自带的PWM控制器。在STC12系列单片机中自身带有PWM控制器,但本系统所用到得AT89系列单片机无此功能。

对于方案一,该方案能够实现对直流风扇电机的无级调速,速度变化灵敏,但是D/A转换芯片的价格较高,与其温控状态下无级调速功能相比性价比不高。

对于方案二,相对于其他用硬件或者软硬件相结合的方法实现对电机进行调速而言,采用PWM 用纯软件的方法来实现调速过程,具有更大的灵活性,并可大大降低成本,能够充分发挥单片机的功能,对于简单速度控制系统的实现提供了一种有效的途径。综合考虑选用方案二。

7

山东科技大学学士学位论文 各个单元模块的硬件设计

3各个单元模块的硬件设计

系统主要器件包括DS18B20温度传感器、AT89C52单片机、八位LED共阴极数码管、风扇、直流电机、达林顿反向驱动器ULN2803。辅助元件包括电阻电容、晶振、电源、按键等。

3.1系统器件及理论简介

3.1.1 单片机的种类及选择

当今世界上的单片机种类繁多,厂商琳琅满目,产品性能各异。其种类如下:

(1)AVR单片机:ATMEL公司的AVR单片机,是增强型RISC内载Flash的单片机,芯片上的Flash存储器附在用户的产品中,可随时编程,再编程,使用户的产品设计容易,更新换代方便。AVR单片机采用增强的RISC结构,使其具有高速处理能力,在一个时钟周期内可执行复杂的指令,每MHz可实现1MIPS的处理能力[3]。AVR单片机工作电压为2.7~6.0V,可以实现耗电最优化。AVR的单片机广泛应用于计算机外部设备,工业实时控制,仪器仪表,通讯设备,家用电器,宇航设备等各个领域。

(2)Motorola单片机:Motorola是世界上最大的单片机厂商。从M6800开始,开发了广泛的品种,4位,8位,16位,32位的单片机都能生产,其中典型的代表有:8位机M6805,M68HC05系列,8位增强型M68HC11,M68HC12,16位机M68HC16,32位机M683XX。Motorola单片机的特点之一是在同样的速度下所用的时钟频率较Intel类单片机低得多,因而使得高频噪声低,抗干扰能力强,更适合于工控领域及恶劣的环境。

8

山东科技大学学士学位论文 各个单元模块的硬件设计

(3)Micro Chip单片机:Micro Chip单片机的主要产品是PIC 16C系列和17C系列8位单片机,CPU采用RISC结构,分别仅有33,35,58条指令,采用Harvard双总线结构,运行速度快,低工作电压,低功耗,较大的输入输出直接驱动能力,价格低,一次性编程,小体积。 适用于用量大,档次低,价格敏感的产品。在办公自动化设备,消费电子产品,电讯通信,智能仪器仪表,汽车电子,金融电子,工业控制不同领域都有广泛的应用,PIC系列单片机在世界单片机市场份额排名中逐年提高,发展非常迅速。 (4)MDT20XX系列单片机:工业级OTP单片机,Micon麦肯公司生产,与PIC单片机管脚完全一致,海尔集团的电冰箱控制器,TCL通信产品,长安奥拓铃木小轿车功率分配器就采用这种单片机。

(5)Scenix单片机:Scenix公司推出的8位RISC结构SX系列单片机与Intel 的Pentium II等一起被《Electronic Industry Yearbook 1998》评选为1998年世界十大处理器。在技术上有其独到之处:SX系列双时钟设置,指令运行速度可达50/75/100MIPS(每秒执行百万条指令,XXXM Instruction Per Second) ;具有虚拟外设功能,柔性化I/O端口,所有的I/O端口都可单独编程设定,公司提供各种I/O的库程序,用于实现各种I/O模块的功能,如多路UART,多路A/D,PWM,SPI,DTMF,FS,LCD驱动等等。采用EEPROM/FLASH程序存储器,可以实现在线系统编程。通过计算机RS232C接口,采用专用串行电缆即可对目标系统进行在线实时仿真。 (6)EPSON单片机:EPSON单片机以低电压,低功耗和内置LCD驱动器特点而闻名,尤其是LCD驱动部分做得很好。广泛用于工业控制,医疗设备,家用电器,仪器仪表,通信设备和手持式消费类产品等领域。目前EPSON已推出四位单片机SMC62系列,SMC63系列,SMC60系列和八位单片机SMC88系列。

(7)东芝单片机:东芝单片机门类齐全,4位机在家电领域有很大市场,8位机主要有870系列,90系列,该类单片机允许使用慢模式,采用32K

9

山东科技大学学士学位论文 各个单元模块的硬件设计

时钟时功耗降至10UA数量级。东芝的32位单片机采用MIPS 3000A RISC的CPU结构,面向VCD,数字相机,图像处理等市场。

(8)8051单片机:8051单片机最早由Intel公司推出,其后,多家公司购买了8051的内核,使得以8051为内核的MCU系列单片机在世界上产量最大,应用也最广泛,有人推测8051可能最终形成事实上的标准MCU芯片。LG公司生产的GMS90系列单片机,与Intel MCS-51系列、Atmel 89C51/52,89C2051等单片机兼容,CMOS技术,高达40MHZ的时钟频率,应用于多功能电话,智能传感器,电度表,工业控制,防盗报警装置,各种计费器,各种IC卡装置,DVD,VCD,CD-ROM。

(9)华邦单片机:华邦公司的W77,W78系列8位单片机的脚位和指令集与8051兼容, 但每个指令周期只需要4个时钟周期,速度提高了三倍,工作频率最高可达 40MHz。同时增加了Watch Dog Timer,6组外部中断源,2组UART,2组Data pointer及Wait state control pin。 W741系列的4位单片机带液晶驱动,在线烧录,保密性高,低操作电压(1.2V~1.8V)。 3.1.2 AT89C52单片机简介

AT89C52是51系列单片机的一个型号,它是由ATMEL公司生产的一个低电压、高性能的8位单片机,片内器件采用ATMEL公司的非易失性、高密度存储技术生产,与标准的MCS-51指令系统兼容,同时片内置有通用8位中央处理器和8k 字节的可反复擦写的只读程序存储器ROM以及256 字节的数据存储器RAM,在许多许多较复杂的控制系统中AT89C52单片机得到了广泛的应用[4]。AT89C52有40个引脚,各引脚介绍如下:

VCC:+5V电源线;GND:接地线。

P0口:P0.7~P0.0,这组引脚共8条,其中P0.7为最高位,P0.0为最低位。这8条引脚共有两种不同的功能,分别使用于两种不同的情况。第一种情况是单片机不带片外存储器,P0口可以作为通用I/O口使用,P0.7~P0.0用于传送CPU的输入/输出数据,此时它需外接一上拉电阻才能

10

山东科技大学学士学位论文 各个单元模块的硬件设计

正常工作。第二种情况是单片机带片外存储器,其各引脚在CPU访问片外存储器时先是用于传送片外存储器的低8位地址,然后传送CPU对片外存储器的读写数据。

P1口:P1口是一个内部含上拉电阻的8位双向I/O口。它也可作为通用的I/O口使用,与P0口一样用于传送用户的输入输出数据,所不同的是它片内含上拉电阻而P0口没有,故P0口在做该用途时需外接上拉电阻而P1口则无需。在FLASH编程和校验时,P1口用于输入片内EPROM的低8位地址。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,它可以作为通用I/O口使用,传送用户的输入/输出数据,同时可与P0口的第二功能配合,用于输出片外存储器的高8位地址,共同选中片外存储单元,但此时不能传送存储器的读写数据。在一些型号的单片机中,P2口还可以配合P1口传送片内EPROM的12位地址中的高4位地址[5]。

P3口:P3口引脚是8个带内部上拉电阻的双向I/O口,当P3口写入1后,它们被内部上拉为高电平。它也可作为通用的I/O口使用,传送用户的输入输出数据,P3口也作为一些特殊功能端口使用,如图3.1所示:

11

山东科技大学学士学位论文 各个单元模块的硬件设计

图3.1 AT89C52单片机

P3.0:RXD(串行数据接收口) P3.1:TXD(串行数据发送口) P3.2:INT0(外部中断0输入) P3.3:INT1(外部中断1输入) P3.4:T0(记数器0计数输入) P3.5:T1(记时器1外部输入) P3.6:WR(外部RAM写选通信号) P3.7:RD(外部RAM读选通信号)

RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平状态。

ALE/PROG:地址锁存允许/编程线,当访问片外存储器时,在P0.7~P0.0引脚线上输出片外存储器低8位地址的同时还在ALE/PROG线上输出一个高电位脉冲,其下降沿用于把这个片外存储器低8位地址锁存

12

山东科技大学学士学位论文 各个单元模块的硬件设计

到外部专用地址锁存器,以便空出P0.7~P0.0引脚线去传送随后而来的片外存储器读写数据。不访问片外存储器时,单片机自动在ALE/PROG线上输出频率为1/6晶振频率的脉冲序列。

PSEN:外部程序存储器ROM的选通信号。在由外部程序存储器存取

期间,每个机器周期两次PSEN有效。但在访问外部数据存储器时,这两次有效的PSEN信号将不出现。

EA/VPP:允许访问片外存储器/编程电源线,当EA保持低电平时,则

在此期间允许使用片外程序存储器,不管是否有内部程序存储器。当EA端保持高电平时,则允许使用片内程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

XTAL1和XTAL2:片内振荡电路输入线,这两个端子用来外接石英晶体和微调电容,即用来连接单片机片内OSC的定时反馈回路。

3.1.3 DS18B20单线数字温度传感器简介

DS18B20数字温度传感器,是采用美国DALLAS半导体公司生产的DS18B20可组网数字温度传感器芯片封装而成,它具有微型化、低功耗、高性能、抗干扰能力强、易配微处理器等优点,可直接将温度转化成串行数字信号供处理器处理,适用于各种狭小空间设备数字测温和控制领域[6]。

DS18B20的主要特征:测量的结果直接以数字信号的形式输出,以“单线总线”方式串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力;温度测量范围在-55℃ — +125℃之间,在-10℃ — +85℃时精度为±0.5℃;可检测温度分辨率为9-12位,对应的可分辨温度分别为0.5℃,0.25℃,0.125℃和0.0625℃,可实现高精度测温;它单线接口的独特性,使它与微处理器连接时仅需一条端口线即可实现与微处理器的双向通信;支持多点组网功能,即多个DS18B20可以并联在唯一的三线上,实现组网

13

山东科技大学学士学位论文 各个单元模块的硬件设计

多点测温的功能;工作电压范围宽,其范围在3.0—5.5V。

DS18B20内部结构主要有四部分:64位ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。其管脚有三个,其中DQ为数字信号端,GND为电源地,VDD为电源输入端。温度传感器如图3.2所示。

图3.2 温度传感器DS18B20

3.1.4 直流电动机简介

根据励磁方式不同,直流电动机分为自励和他励两种类型。不同励磁方式的直流电动机机械特性曲线有所不同。但是对于直流电动机的转速有以下公式: n?UR内?T Cc?CrCC?其中:U—电压;R内—励磁绕组本身的电阻;Φ—磁通(WB);Cc—电势常数;Cr—转矩常量。

由上式可知,直流电机的速度控制既可采用电枢控制法,也可采用磁场控制法。磁场控制法控制磁通,其控制功率虽然较小,但低速时受到磁极饱和的限制,高速时受到换向火花和换向器结构强度的限制,而且由于

14

山东科技大学学士学位论文 各个单元模块的硬件设计

励磁线圈电感较大,动态响应较差。所以在工业生产过程中常用的方法是电枢控制法。电机工作原理如图3.3所示。

图3.3 直流电机的工作原理图

电枢控制是在励磁电压不变的情况下,把控制电压信号加到电机的电枢上,以控制电机的转速。传统的改变电压方法是在电枢回路中串联一个电阻,通过调节电阻改变电枢电压,达到调速的目的,这种方法效率低、平滑度差,由于串联电阻上要消耗电功率,因而经济效益低,而且转速越慢,能耗越大。随着电力电子的发展,出现了许多新的电枢电压控制方法。如:由交流电源供电,使用晶闸管整流器进行相控调压;脉宽调制(PWM,Pulse Width Modulation)调压等等。调压调速法具有平滑度高,能耗少,精度高等优点。在工业生产中广泛使用其中脉宽调制(PWM)应用更为广泛。

脉宽调制原理 PWM脉冲宽度调制技术就是通过对一系列脉冲的宽度进行调制来等效地获得所需要的波形(含形状和幅值)的技术。下式是占空比计算公式:

D?t1 T 15

式中t1表示一个周期内开关管导通的时间,T表示一个周期的时间。

山东科技大学学士学位论文 各个单元模块的硬件设计

占空比D表示了在一个周期里,开关管导通的时间与周期的比值,变化范围为0≤D≤100%。由上式可知,当电源电压不变的情况下,电枢的端电压的平均值为Dmax=V*D,因此改变占空比D就可以改变端电压的平均值,从而达到调速的目的,这就是PWM调速原理。在PWM调速时,占空比是一个重要参数[7]。以下是三种可改变占空比的方法:

? 定宽调频法:保持高电平时间不变,改变低电平时间,从而改变周

期(或频率)。

? 调宽调频法:保持低电平时间不变,改变高电平时间,从而改变周

期(或频率)。

? 定频调宽法:保持周期(或频率)不变,同时改变高、低电平持续

时间。

前2种方法由于在调速时改变了控制脉冲的周期(或频率),当控制脉冲的频率与系统的固有频率接近时,将会引起振荡,因此应用较少。目前,直流电动机的控制中,主要使用第3种方法。

定频调宽法是利用一个固定的频率来控制电源的接通或断开,并通过改变一个周期内“接通”和“断开”时间的长短,即改变直流电机电枢上电压的“占空比”来改变平均电压的大小,从而控制电动机的转速,因此,PWM又被称为“开关驱动装置”。 3.1.4 达林顿反向驱动器ULN2803简介

本系统要用单片机控制风扇直流电机,需要加驱动电路,为直流电机提供足够大的驱动电流。在本系统驱动电路中,选用达林顿反向驱动器ULN2803来驱动风扇直流电机。ULN2803在使用时接口简单,操作方便,可为电机提供较大的驱动电流,它实际上是一个集成芯片,单块芯片可同时驱动8个电机。每个电机由单片机的一个I/O口控制,单片机I/O口输出的为5V的TTL信号。

ULN2803由8个NPN达林顿晶体管组装而成,共18个引脚,引脚1~8

16

山东科技大学学士学位论文 各个单元模块的硬件设计

分别是8路驱动器的输入端,输入信号可直接是TTL或CMOS信号;引脚11~18分别是8路驱动器的输出端;引脚9为接地线,引脚10为电源输入。当输入TTL信号为5V或CMOS信号为6~15V时,输出的最大电压为50V,最大电流为500mA,工作温度范围为0~70℃。本系统选用的电机为12V直流无刷电机,可用ULN2803来驱动,下图3.4为ULN2803的结构图。

图3.4 ULN2803的结构图

3.1.5 LED数码管简介

本系统选用五个LED数码管来进行温度显示。LED又称为数码管,它主要是由8段发光二极管组成的不同组合,其中 a~g为数字和字符显示段, dp为小数点的显示,通过a~g这7个发光二极管点亮的不同组合,可以显示0~9和A~F共16个数字和字母[8]。LED数码管可以分为共阴极和共阳极两种结构,如下图3.5(a)和图3.5(b) 所示。共阴极结构把8个发光二极管阴极连在一起,共阳极结构把8个发光二极管阳极连在一起。通过单片机引脚输出高低电平,可使数码管显示相应的数字或字母,这种使数码管显示字形的数据称字形码,又称为段选码。数码管的显示图如下图3.5

17

山东科技大学学士学位论文 各个单元模块的硬件设计

所示。

gfgndabRx8Rx8abcdefgdp

abcdefgdp数码管引脚分配图 显示字符 共阴极段码 共阳极段码 显示字符 共阴极段码 共阳极段码 0 1 2 3 4 5 6 7 一个共阴极数码管接至单片机的电路,要想显示数字“7”须a、b、c这3个显示段发光 (即这3个字段为高电平)只要在P0口输入00000111(07H)即可。这里07H即为数字7的段选码。字形与段选码的关系见表3.1所示。

3.1.6 74373芯片简介

18

dpedgndc

a.共阴极 b.共阳极 图3.5 7段LED数码管显示图

表3.1 7段LED的段选码表

3fH 06H 5bH 4fH 66H 6dH 7dH 07H C0H F9H A4H B0H 99H 92H 82H F8H 8 9 A B C D E F 7fH 6fH 77H 7fH 39H 3fH 79H 71H 80H 90H 88H 83H C6H A1H 86H 8EH 山东科技大学学士学位论文 各个单元模块的硬件设计

74373是一种三态输出的八 D 透明锁存器,74373的输出端 O0~O7 可直接与总线相连。

当三态允许控制端 OE 为低电平时,O0~O7 为正常逻辑状态,可用来驱动负载或总线。当 OE 为高电平时,O0~O7 呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。当锁存允许端 LE 为高电平时,输出端数据随输入端 D 而变。当 LE 为低电平时,输出端O 被锁存在已建立的数据电平[9]。当 LE 端施密特触发器的输入滞后作用,使交流和直流噪声抗扰度改善 400mV。

引出端符号: D0~D7 数据输入端

OE 三态允许控制端(低电平有效) LE 锁存允许端 O0~O7 输出端 74373引脚如图3.6所示。

图3.6 74373引脚图

19

山东科技大学学士学位论文 各个单元模块的硬件设计

3.2 主要部分电路设计

3.2.1 DS18B20传感器连接电路

DS18B20数字温度传感器通过其内部计数时钟周期来的作用,实现了特有的温度测量功能。低温系数振荡器输出的时钟信号通过由高温度系数振荡器产生的门周期而被计数,计数器预先置有与-55℃相对应的一个基值。如果计数器计数到0时,高温度系数振荡周期还未结束,则表示测量的温度值高于-55℃,被预置在-55℃的温度寄存器中的值就增加1℃,然后这个过程不断重复,直到高温度系数振荡周期结束为止。此时温度寄存器中的值即为被测温度值,这个值以16位二进制形式存放在存储器中,通过主机发送给存储器发送读命令可读出此温度值,读取时低位在前,高位在后,依次进行[10]。由于温度振荡器的抛物线特性的影响,内部用斜率累加器进行补偿。

DS18B20在使用时,一般都采用单片机来实现数据采集。只须将DS18B20信号线与单片机1位I/O线相连,且单片机的1位I/O线可挂接多个DS18B20,就可实现单点或多点温度检测。在本设计中将DS18B20接在P3.7口实现温度的采集。DS18B20与单片机的连接如图3.7。

20

山东科技大学学士学位论文 各个单元模块的硬件设计

图3.7温度传感器连接电路

3.2.2数码管显示电路

本设计制作中选用8位共阴极数码管作为显示模块,它和单片机硬件的接口如图3.8所示。其中前3位数码管DS1、DS2、DS3用于显示温度传感器实时检测采集到的温度,可精确到0.1摄氏度,显示范围为0~99.9摄氏度;第4位数码管DS4显示的是摄氏度的单位符号。第5位和第6位数码管DS5、DS6用于显示系统设置的开启温度,只能显示整数的温度值,显示范围为20~40摄氏度。第7位数码管DS7显示的是设定的温度差,温度差的设定范围为1~4摄氏度,最后一位数码管DS8显示的是目前风扇所处的档位,共分为1~5五个档位。8位数码管的段选a、b、c、d、e、f、g、dp线分别与单片机的P0.0~P0.7口连接,其中P0口需接一个10K的上拉电阻,以使单片机的P0口能够输出高低电平。8位数码管的位选W1~W8分

21

山东科技大学学士学位论文 各个单元模块的硬件设计

别与单片机的P2.0~P2.7口相连接,只要P2.0~P2.7中任一端口输出低电平,则选中与该位相连的数码管。

图3.8 数码管显示连接电路

3.2.4 独立键盘连接电路

键盘包括3个独立按键key1,key2和key3,它们的一端分别与单片机的P1.0,P1.1和P1.2口相连,另一端接地,当按下任一键时,P1口读取低电平有效。系统上电后,进入键盘扫描子程序,以查询的方式确定各按键,完成温度初值的设定。其中按键key1为加按键,每按下一次,系统对最初设定值加一,按键key2为减按键,每按下一次,key3为设定温度差的按键,每按下一次,设定的温度差会加大1℃。其接线图如图3.9所示:

22

山东科技大学学士学位论文 各个单元模块的硬件设计

图3.9 独立键盘连接电路

3.2.3风扇电机的连接电路

本设计中由单片机的I/O口输出PWM脉冲,通过一个达林顿反向驱动器ULN2803驱动12V直流无刷风扇电机以及实现风扇电机速度的调节。

键盘控制设置温度,通过软件向单片机输入相应控制指令,由单片机通过P3.0口输出与转速相应的PWM脉冲,经过ULN2803驱动风扇直流电机控制电路,实现电机转速与启停的自动控制。当环境温度升高时,直流电机的转速会相应按照设定的等级有所提高;当环境温度下降时,电机的转速会相应的下降;当环境温度低于设置温度时,电机停止转动,而环境温度又高于预设温度时,电机重新启动。

电路如图3.10所示,风扇电机的一端接12V电源,另一端接ULN2803的OUT7引脚,ULN2803的IN7引脚与单片机的P3.1引脚相连,通过控制单片机的P3.1引脚输出PWM信号,由此控制风扇直流电机的速度与启停。风扇连接电路如图3.10所示

23

山东科技大学学士学位论文 各个单元模块的硬件设计

图3.10风扇电机的连接电路

3.2.3 开关复位与晶振电路

在单片机应用系统中,除单片机本身需要复位以外,外部扩展I/O接口电路也需要复位,因此需要一个包括上电和按钮复位在内的系统同步复位电路。单片机上的XTAL1和XTAL2用来外接石英晶体和微调电容,即用来连接单片机片内OSC的定时反馈回路[11]。当按下按键开关S1时,系统复位一次。其中电容C1、C2为20pF,C3为10uF,电阻R2、R3为10k,晶振为11.0592MHz。系统复位图与晶振电路如图3.11所示。

24

山东科技大学学士学位论文 软件设计

图3.11系统复位图与晶振电路

25

山东科技大学学士学位论文 软件设计

4 软件设计

4.1 程序设计

程序设计部分主要包括主程序、DS18B20初始化程序、DS18B20温度转换程序、温度读取程序、键盘扫描程序、数码管显示程序、温度处理程序以及风扇电机控制程序。DS18B20初始化程序完成对DS18B20的初始化;DS18B20温度转换程序完成对环境温度的实时采集;温度读取程序完成主机对温度传感器数据的读取及数据换算,键盘扫描程序则根据需要完成初始的开启温度值的加减设定以及温度差大小的设定;温度处理程序对采集到的温度进行分析处理,为电机转速的变化提供条件;数码管显示程序主要完成的是目前环境温度大小的显示,摄氏度符号的显示,预设值开启温度大小的整数显示和设定的温度差的显示以及目前风扇所处档位的显示。风扇电机控制程序则根据温度的数值完成对电机转速大小的控制。

主程序流程图如图4.1

26

山东科技大学学士学位论文 软件设计

程序开始调用键盘扫描,设定温度值num以及温度差a调用温度传感器函数并且返回温度值kkk>=num否num+2*a>k>=num+a否num+3*a>k>=num+2*a是否num+4*a>k>=num+3*a否num+5*a>k>=num+4*aPWM控制 风扇+电机是是是是数码管显示否数码管显示结束 图4.1 主程序流程图

27

山东科技大学学士学位论文 软件设计

4.2 用Keil C51编写程序

Keil C51是美国Keil Software公司开发的51系列兼容单片机C语言的软件开发系统,与单片机汇编语言相比,C语言在不仅语句简单灵活,而且编写的程序模块可移植性强,因而易学易用,效率高。随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前使用较多的MCS-51系列单片机开发的软件[12]。

Keil C51软件不仅提供了丰富的库程序,而且它强大的集成开发调试工具为程序编辑调试带来便利,在开发大型软件时更能体现高级语言的优势。在使用时要先建立一个工程,然后添加文件并编写程序,编写好后再编辑调试。

Keil C51的使用界面如图4.2。

图4.2 Keil C51的使用界面

28

山东科技大学学士学位论文 软件设计

4.3 用Proteus进行仿真

4.3.1 Proteus简介

Proteus软件是来自英国Lab-center electronics公司的EDA工具软件。 Proteus软件有十多年的历史,在全球广泛使用,它不仅和其它EDA工具一样有原理布图、PCB自动或人工布线及电路仿真的功能,在电路仿真中可以根据仿真实时观察到的现象验证设计的正确性及准确性并及时改变程序代码、原理图连接以及元件属性等[13]。它还能配合系统配置的虚拟仪器来显示和输出,如示波器、逻辑分析仪等,效果很好。

Proteus有4个功能模块:智能原理图设计、完善的电路仿真功能、独特的单片机协同仿真功能以及实用的PCB设计平台。其内部元件库含有丰富的元件,支持总线结构以及智能化的连线功能;支持主流CPU(如ARM、8051/52、AVR)及其通用外设模型的实时仿真等,为单片机的开发应用等带来极大的便利。

软件使用的主界面如图4.3。

图4.3 Proteus使用界面

29

山东科技大学学士学位论文 软件设计

4.3.2基于Proteus的仿真以及演示

首先启动Proteus软件并建立一个工程文件,然后根据原理图调出相应的原件,再根据要求改变各原件的属性并把各个原件按原理图连接起来。在原理图绘制连接好后再把编译好的程序加载到其中。最后根据系统要实现的功能分步进行仿真。

当环境温度为27.4℃,使用按键设定的开启温度为28℃,时,温度差设置为1℃,点击开始按钮,系统开始仿真,待一段时间稳定后,观察到此时数码管上的显示的风扇档位为0档,风扇的直流电机是停止转动,转速为0.00r/s,如图4.4所示。

30

山东科技大学学士学位论文 软件设计

图4.4Proteus仿真效果图一

31

本文来源:https://www.bwwdw.com/article/el3g.html

Top