基于单片机的温度控制系统论文.docx

上传人:b****7 文档编号:10469815 上传时间:2023-02-13 格式:DOCX 页数:44 大小:448.86KB
下载 相关 举报
基于单片机的温度控制系统论文.docx_第1页
第1页 / 共44页
基于单片机的温度控制系统论文.docx_第2页
第2页 / 共44页
基于单片机的温度控制系统论文.docx_第3页
第3页 / 共44页
基于单片机的温度控制系统论文.docx_第4页
第4页 / 共44页
基于单片机的温度控制系统论文.docx_第5页
第5页 / 共44页
点击查看更多>>
下载资源
资源描述

基于单片机的温度控制系统论文.docx

《基于单片机的温度控制系统论文.docx》由会员分享,可在线阅读,更多相关《基于单片机的温度控制系统论文.docx(44页珍藏版)》请在冰豆网上搜索。

基于单片机的温度控制系统论文.docx

基于单片机的温度控制系统论文

目录

摘要I

AbstractIII

第1章绪论1

第2章总体设计3

2.1设计的内容及要求3

2.2温度采集方案论证4

2.3系统结构框图4

第3章单片机外围器件的设计7

3.1元件选择及介绍7

3.1.1单片机AT89S517

3.1.2温度传感器DS18B209

3.1.3掉电存储器AT24C0211

3.1.4固态继电器SSR12

3.2硬件电路具体设计与实现13

3.2.1水温采集部分13

3.2.2显示电路13

3.2.3驱动电路14

3.2.4报警电路15

3.2.5键盘接口电路15

3.2.6掉电存储电路17

第4章软件设计19

4.1程序流程图19

4.2程序清单:

见附录20

结论21

谢辞23

参考文献25

附录:

程序清单27

摘要

单片机作为自动控制中的一个核心器件在小型自动控制系统及信号采集方面应用广泛。

本设计介绍了一种基于单片机的全自动温度控制系统,给出了系统的工作原理、硬件结构及软件流程。

采用ATMEL公司单片机系列中的AT89S51为CPU,采用双线串行CMOS型电可擦写存取器AT24C02A记忆用户的温度设定值,采用固态继电器SSR作为控制驱动电路的开关器件,用独特的新型单线智能数字温度传感器DS18B20作为测温元件,测温精度可达0.5℃,这种数字传感器可以与单片机直接连接无需其它电路。

还节约能源,利于环保,在改善劳动条件等方面都显示了无比的优越性。

另外该设计的控制系统还具有精度高、功能强、经济性好的特点,超温、高低水位保护、显示及报警等功能,保证锅炉正常安全的工作,实现自动化控制。

关键词:

单片机 AT89S51,数字温度传感器

Abstract

MCUasacoredeviceoftheautomaticcontrolinthesmallautomaticcontrolsystemandsignalacquisitioniswidelyused.Thisdesignintroducesamicrocontroller-basedautomatictemperaturecontrolsystem,givesthesystemworks,hardwareandsoftwareprocesses.AT89S51microcontrollerfamilyofATMELCorporation,theCPU,two-wireserialCMOSelectricallyerasablememoryusersofaccessdevicesAT24C02Atemperaturesettings,SolidStateRelay(SSR)asaswitchingdevicetocontrolthedrivecircuit,withauniquenew-lineintelligentdigitaltemperaturesensorDS18B20temperaturemeasurementdevices,temperaturemeasurementaccuracyupto0.5°C,thisdigitalsensorscanbeconnecteddirectlywiththemicrocontrollerwithoutothercircuit.Energysaving,environmentallyfriendly,andshowstheimmensesuperiorityintheimprovementofworkingconditions.Inaddition,thedesignofcontrolsystemswithhighprecision,strongfunction,economygood,over-temperature,lowwaterlevelprotection,displayandalarmfunctions,toensuretheboilersnormalsafeworkingandautomatedcontrol.

Keywords:

SinglechipAT89S51,DigitalTemperatureSensor,

第1章绪论

在我国,传统的开水锅炉控制中多以燃煤和燃油为主,而且相当一部分还是采用人工控制或是继电接触式的控制方式,自动化程度低,调节精度差,单靠人工操作已不能适应当今高效、低耗、低劳动强度的要求,加上燃料燃烧时产生大量的废气和废渣,对环境造成了严重的污染,给人们的生产和生活也带来了巨大的危害。

因此,对传统的控制系统进行改造是适应今后发展的迫切需要。

随着电力工业的不断发展,人们逐渐采用电加热控制系统。

本设计就是针对燃煤和燃油锅炉所存在的问题,开发了一种电锅炉温度控制系统。

单片机作为自动控制中的一个核心器件在小型自动控制系统及信号采集方面已经被广泛应用,技术也相对较成熟,它不仅有体积小,安装方便,功能较齐全等优点,而且有很高的性价比,应用前景广。

本论文设计的小型开水房电锅炉自动控制中采用的就是以单片机作为控制中心,采用电力作为燃料,不仅能够使控制系统具有精度高、功能强、经济性好的特点,还节约能源,利于环保,在改善劳动条件等方面都显示了其的优越性。

另外该设计的控制系统还具有超温、高低水位保护、显示及报警等功能,保证锅炉正常安全的工作,实现自动化控制。

第2章总体设计

2.1设计的内容及要求

本次毕业设计的题目是单片机温度控制系统设计。

它不仅涉及到软件的设计,而且还据有精度高、稳定性好等特点。

能为它在其它领域的广泛应用打下良好的基础。

因为经过我们调查发现许多应用场合原来就有测温控温仪器,只是随着对生产质量与生产需要的要求在不断地提高,以往的那些测温控温的仪器根本不能满足现在的要求。

其中,有部分应用场合对精度提高的幅度要求也不是特别高。

因此,为了提高性价比,我所设计的系统提出在原有系统的基础上进行一些简单的改良,以此为出发点,主要阐述的是水温自动控制系统的一种实现方法。

1.课题的主要设计

本文所要研究的课题是基于单片机控制的水温控制系统的设计,主要是介绍了对水温度的显示、控制及报警,实现了温度的实时显示及控制。

水温控制部分,提出了用DS18B20、AT89S51单片机及LED的硬件电路完成对水温的实时检测及显示,利用DS18B20与单片机连接由软件与硬件电路配合来实现对加热器的实时控制及超出设定的上下限温度的报警系统。

由DS18B20检测炉内温度,用中值滤波的方法取一个值存入程序存取器内部一个单元作为最后检测信号,并在LED中显示。

控制器是用AT89S51单片机,对检测信号和设定值的差值进行调节后输出控制信号给执行机构,去调节电阻炉的加热功率,从而控制炉内温度。

从DS18B20读出或写入信息仅需要一根口线,其读写及其温度变换功率来源于数据总线,该总线本身也可以向所挂接的DS18B20供电,而且不需要额外电源。

同时DS18S20能提供九位温度读数,它无需任何外围硬件即可方便地构成温度检测系统。

而且利用本次的设计主要实现温度测试,温度显示,温度门限设定,超过设定的门限值时自动关闭加热装置等功能。

而且还要以单片机为主机,使温度传感器通过一根口线与单片机相连接,再加上温度控制部分来实现温度的监测与控制。

2.用单片机实现其具体控制功能如下:

(1)水温控制:

要求系统能实现对水温的预设,当水温超出设定温度时,能够及时报警

(2)按键功能:

能够对水温进行预设,使其与实际温度进行比较。

从而通过加热器控制水温。

2.2温度采集方案论证

本章介绍了该系统主要是以单片机作为控制器的核心,利用温度转换芯片DS18B20进行温度采集。

数字化温度传感器DS18B20是世界上第一片支持"一线总线"接口的温度传感器,测量温度范围为-55°C~+125°C,在-10~+85°C范围内,精度为±0.5°C,现场温度直接以一线总线的数字方式传输,大大提高了系统的抗干扰性,使系统设计更灵活、方便。

同时DS18B20可使程序设定9~12位的分辨率,精度为±0.5°C。

可选更小的封装方式,更宽的电压适用范围。

分辨率设定,及用户设定的报警温度存储在EEPROM中,掉电后依然保存,并且性能价格也非常出色。

如图2.1。

图2.1温度采集方案结构框图

数字温度传感器DS18B20,它的最高分辨率为12位,可识别0.0625摄氏度的温度。

它具有直接输出数字信号和数据处理,并且它和单片机接口只需要一位I/O口,因此由它构成的系统简单使用。

2.3系统结构框图

本章主要介绍系统的结构框图以及系统内部各个硬件系统的组成。

系统整体电路方框图如图2.2所示。

图2.2系统整体结构框图

本系统主要由温度传感器、掉电存储、复位及时钟信号产生电路、报警电路、显示电路、开关控制电路以及AT89S51组成。

通过对锅炉水温实时检测与采集,将锅炉的温度等参数输入单片机,由单片机AT89S51在内部与预先设定参数通过软件计算生成各个控制信号,从而对锅炉内部的电加热器进行控制,再配以外部的温度显示以及报警装置,进而对锅炉进行优化控制,达到了用户要求的目的。

操作过程如下:

用户首先设定水温数值。

系统开始启动。

系统正常运行以后,利用传感器DS18B20检测出锅炉中的水温,并且实时显示出来。

当水温超过设定上限,系统同样会发出报警信号并采取保护措施,控制加热器工作情况。

当水温未达到设定值,立即回馈给系统,由系统自动调整加热器工作状态,使水温到达设定值,满足用户需求。

第3章单片机外围器件的设计

本章主要介绍该设计是一种以AT89S51单片机为主控制单位,以DS18B20为温度传感器的温度检测元件。

本章主要介绍各个元器件的结构以及功能。

3.1元件选择及介绍

3.1.1单片机AT89S51

本设计采用AT89S51作为中央处理单元,它是一个低功耗,高性能CMOS8位单片机,片内含4kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCU-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。

AT89S51具有如下特点:

40个引脚,4kBytesFlash片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。

此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。

空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。

同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。

AT89S51的主要特性:

(1)8031CPU与MCS-51兼容

(2)4K字节可编程FLASH存储器(寿命:

1000写/擦循环)

(3)全静态工作:

0Hz-24KHz

(4)三级程序存储器保密锁定

(5)128*8位内部RAM

(6)32条可编程I/O线

(7)两个16位定时器/计数器

(8)6个中断源

(9)可编程串行通道

(10)低功耗的闲置和掉电模式

(11)片内振荡器和时钟电路

AT89S51的引脚结构(如图3.1)及各管脚说明:

图3.1AT89S51的引脚结构

VCC:

供电电压

GND:

接地

P0-P3:

分别是8位准双向I/O端口,但P0在作为一般的I/O端口用时,应外接上拉电阻,才能高电平输出

RST:

复位输入。

当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间

ALE/PROG:

地址锁存允许信号端。

当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。

在FLASH编程期间,此引脚用于输入编程脉冲。

在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。

因此它可用作对外部输出的脉冲或用于定时目的。

然而要注意的是:

每当用作外部数据存储器时,将跳过一个ALE脉冲。

如想禁止ALE的输出可在SFR8EH地址上置0。

此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。

另外,该引脚被略微拉高。

如果微处理器在外部执行状态ALE禁止,置位无效

/PSEN:

外部程序存储器的选通信号。

在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。

但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现

/EA/VPP:

当/EA保持低电平时,则在此期间外部程序存储(0000H-FFFFH),不管是否有内部程序存储器。

注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。

在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)

XTAL1:

反向振荡放大器的输入及内部时钟工作电路的输入

XTAL2:

来自反向振荡器的输出

3.1.2温度传感器DS18B20

传统的温度传感器如热电偶和铂电阻等分立元件,外围电路比较复杂,仅提供与温度相关的电压或电流。

而较新型的单片集成温度传感器如AD590,也只能产生与温度呈线性关系的电流信号。

上述两种传感器都必须使用电阻、运算放大器和A/D转换器等构成温度测量电路。

当外界环境条件发生变化时元件参数也会改变,致使测量误差增加,准确度降低。

本系统采用的是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器DS18B20,它可以把温度信号直接转换成串行数字信号供单片机处理,采用单线接口,仅需一根口线与MCS相连,无需外围元件。

其突出优点是:

将被测温度直接转换成数字信号输出。

它在测温精度、转换时间、传输距离、分辨率等方面都比DS1820有所改进。

在解决各种误差、可靠性和实现系统优化等方面,有无可比拟的优越性。

DS18B20的主要特点:

(1)采用单总线方式,仅需一根信号线与CPU连接即可传送串行数据,且不需要外部元件

(2)每个芯片都有惟一编码,多个DS18B20芯片可以并联在一根总线上,故可实现多点测温

(3)测温范围为-55~125℃,分辨率为12位

(4)测温结果的数字量位数为9~12位,并可编程选择

图3.2DS18B20外形

(5)可用数据线供电,也可用外部电源

DS18B20的结构:

DS18B20采用3脚PR-35封装(或8脚SOIC封装),其中3脚PR-35封装的DS18B20,其外形象一个三极管,管脚排列如图5所示。

图中,GND为地;DQ为数据输入/输出端(即单线总线),为漏极开路输出,常态下呈高电平;VDD为外部电路端,电源电压为+5V,不用时应接地。

(1)温度测量原理

DS18B20测量温度时使用特有的温度测量技术。

其测量电路框图如图3.3所示。

DS18B20内部的低温度系数振荡器能产生稳定的频率信号f0,高温度系数振荡器则将被测温度转换成频率信号f。

当计数门打开时,DS18B20对f0计数,计数门开通时间由高温度系数振荡器决定。

芯片内部还有斜率累加器,可对频率的非线性予以被偿。

测量结果存入温度寄存器中。

一般情况下的温度值应为9位(符号点1位),但因符号位扩展成高8位,故以16位被码形式读出,表1给出了温度和数字量的关系。

图3.3DS18B20测温原理

(2)高速暂存器

它由便笺式RAM和非易失性电擦写EERAM组成,后者用于存储TH、TL值。

数据选写入RAM,经校验后再传给EERAM。

便笺式EAM点9个字节,包括温度信息(第1、2字节)、TH和TL值(3、4字节)、计数寄存器(7、8字节)、CRC(第9字节)等,第5、6字节不用。

暂存器的命令共6条,见表3.1所列。

表3.1DS18B20的存储控制命令

指令

说明

温度转换(44H)

启动在线DS1820做温度A/D转换

读数据(BEH)

从高速暂存器读9bits温度值和CRC值

写数据(4EH)

将数据写入高速暂存器的第2和第3字节中

复制(48H)

将高速暂存器中第2和第3字节复制到EERAM

读EERAM(B8H)

将EERAM内容写入高速暂存器中第2和第3字

读电源供电方式(B4H)

了解DS1820的供电方式

在正常测温情况下,DS1820的测温分辨力为0.5℃,可采用下述方法获得高分辨率的温度测量结果:

首先用DS1820提供的读暂存器指令(BEH)读出以0.5℃为分辨率的温度测量结果,然后切去测量结果中的最低有效位(LSB),得到所测实际温度的整数部分Tz,然后现用BEH指令取计数器1的计数剩余值Cs和每度计数值CD。

考虑到DS1820测量温度的整数部分以0.25℃、0.75℃为进位界限的关系,实际温度Ts可用下式计算:

Ts=(Tz-0.25℃)+(CD-Cs)/CD(3.1)

DS18B20的工作流程

无论是进行单点还是多点温度检测,在系统安装及工作前,应将主机逐个与DS18B20挂接,读取其序列号,其工作过程为由主机与DS18B20联接的位1/O口发“0”电平>480p。

复位DS18B20,待DS18B20发回响应脉冲后,主机由位1/O线再发读ROM命令代码33H,然后依此发一个负脉冲(15p),并接着读取DS18B20序号值的一位。

同样方法读取序号值的56位。

3.1.3掉电存储器AT24C02

当程序因受到干扰而弹飞到一个临时构成的死循环中时,系统将安全瘫痪。

本系统采用AT24C02芯片构成WATCHDOG。

掉电存储单元的作用是在电源断开的时候,存储当前设定的温度值。

AT24C02是ATMEL公司生产的2KB电可擦除存储芯片,是8位电可擦除PROM,由256×8位存储器构成,并具有两线串行接口。

遵循I2C总线协议与单片机通讯,电压最低可以到2.5V,额定电流为1mA,静态电流10uA(5.5V),芯片内的资料可以在断电的情况下保存40年以上,而且采用8脚的DIP封装,使用方便。

系统在上电过程、瞬间电压降压或存在瞬间干扰脉时,WATCHDOG电路都能正确地给出复位脉冲信号,使系统恢复正常的运行状态,保证了锅炉的正常运转。

AT24C02的引脚结构如图3.4所示,其管脚功能如表3.2所示。

图3.4AT24C02的引脚结构图

表3.2AT24C02的管脚功能

名称

功能

GND

接地端

SDA

串行地址/数据I/O端

SCL

串行时钟端

WP

写保护输入端

VCC

+2.5V到5.5V电源端

NC

无内部链

3.1.4固态继电器SSR

固态继电器英文名称为SolidStateRelay,简称SSR,它是一种性能优越的新型无触点电子开关器件。

其输入端要求很小的控制电流,输出回路采用双向可控硅或大功率晶体管接通或断开负载电流。

输入与输出之间采用光电耦合,通断无可动接触部件,因此工作可靠,具有开关速度快,无噪声、寿命长、体积小等特点。

该电路采用的SSR的型号是MOC3063,其内部电路原理图如图5.5。

该电路由输入恒流控制电路、光电耦合隔离电路和输出功率开关电路三部分走成。

该类型的固态继电器的输出功率开关由两只双向可控硅并联担任,负载电流可高达90A。

输入控制电压可在3V~32V间的范围变化

3.2硬件电路具体设计与实现

3.2.1水温采集部分

水温采集部分主要由数字温度传感器DS18B20、AT89S51和上拉电阻组成,其工作电路如图3.6所示。

DS18B20采用外部5V电源供电,数据端DQ与单片机AT89S51的P3.4连接,DS18B20与单片机AT89S51的通信见温度采集程序。

3.2.2显示电路

显示电路

(1):

水温显示

电路图如图3.7。

由于在实际中,AT89S51的串行口RXD和TXD为一个全双工串行通信口,但工作在方式0下可作同步移位寄存器,其数据由RXD(P3.0)串行输出或输入;而同步移位时钟由TXD(P3.1)端串行输出,作为外接部件的同步信号。

在同步时钟作用下,实现同串行到并行的数据通信。

在不需要使用串行通信的场合,利用串行口加芯片74HC164就可构成一个扩展的并行输出口。

在这种方式下,收/发的数据为8位,低位在前,无起始位、奇偶校验位及停止位,波特率是固定的。

图3.7水温显示电路

74HC164是串行输入、并行输出移位寄存器,其引脚功能如下:

Q0—Q7:

并行输出端,分别接LED显示各引脚

A、B:

串行输入端,接入AT89S51的RXD端

CLR:

清除端,本设计中接高电平

CLK:

时钟脉冲输入端,接入AT89S51的TXD端

数据显示采用共阳数码管,其共阳端接高电平,三个二极管起到限流作用。

3.2.3驱动电路

电路如图3.8示。

在输出控制电路中,单片机的P2.2、P2.3通过固态继电器SSR分别接水泵和电加热器。

根据水位和水温检测的情况,按照系统的控制要求使P2.2或P2.3输出低电平,控制水泵或电加热器的通电状态,实现自动控制过程,完成锅炉的自动上水和自动加温功能。

图3.8水温控制驱动电路

3.2.4报警电路

报警电路如图3.9,主要由蜂鸣器、三极管9015驱动电路。

系统开始时复位电路首先将P1.4置1,保证不产生误动作,当DS18B20采集的温度超过或者低于用户设定的温度时,系统将自动的将P1.4口清零,将信号送至驱动电路使得蜂鸣器开始发声工作。

当用户做出正确调整操作之后继续监视变化是否超限。

图3.9报警电路

3.2.5键盘接口电路

按键电路

(1):

单片机的复位及时钟信号产生电路

本电路主要由12M晶振、30PF的瓷片电容、电阻、开关组成,电路如图3.10所示。

12M晶振和30PF的瓷片电容构成稳定的自激振荡器,产生时钟信号。

上电自动复位电路则由22uF电容和1K电阻构成。

加电瞬间电容通过充电实现正脉冲,用以复位。

手动复位则由开关和电阻组成。

按下开关之后就产生一个正脉冲,就可以实现复位。

本电路采用的是二者的组合。

图3.10复位及时钟信号产生电路

按键电路

(2):

温度设置的开关控制电路

该控制电路由4个开关组成,其电路如图3.11所示。

4个开关分别用于调整温度的上下限值,以及控制温度的输出。

其中S1为多功能键,第一次按下用于显示采集的温度,第二次按下则进行温度的上限调整,第三次按下进行温度的下限调整,第四次按下则进行采集温度的显示构成循环。

S2可以进行移位调整,第一次显示个位,第二次显示十位。

S3用于增加一个数,按下一次在原基础之上加1,这个值在0-9-0之间变化。

S4用于减少一个数,按下一次在原基础之上减1,这个值在9-0-9之间变化。

图3.11开关控制电路

3.2.6掉电存储电路

掉电存储电路如图3.12所示。

图中两电阻是上拉电阻,其作用是减少AT24C02的静态功耗,由于AT24C址)与单片机传送数据。

当开机时首先将存在AT24C02中的上下限温度值保存在他们相应02的数据线和地址线是复用的,采用串口的方式传送数据,所以只用两根线SCL(移位脉

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1