水温水位控制系统2.docx

上传人:b****5 文档编号:12092952 上传时间:2023-04-17 格式:DOCX 页数:33 大小:442.38KB
下载 相关 举报
水温水位控制系统2.docx_第1页
第1页 / 共33页
水温水位控制系统2.docx_第2页
第2页 / 共33页
水温水位控制系统2.docx_第3页
第3页 / 共33页
水温水位控制系统2.docx_第4页
第4页 / 共33页
水温水位控制系统2.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

水温水位控制系统2.docx

《水温水位控制系统2.docx》由会员分享,可在线阅读,更多相关《水温水位控制系统2.docx(33页珍藏版)》请在冰豆网上搜索。

水温水位控制系统2.docx

水温水位控制系统2

机械电子工程学院

毕业论文(设计)

论文题目水温水位检测系统的设计

专业机电一体化技术

班级机电0905班

学生姓名郭金枝

学号51020109145

指导教师付晓军

2012年05月13日

 

摘要

温度的精度控制一直是个难题,因此为了实现高精度的水温水位控制,我的论文介绍了一种以AT89C51单片机为控制核心,采用一种数字温度传感器(DS18B20)为温度采集器来实现水温的控制。

论文着重介绍核心器件的选择、各部分电路设计及软件的实现。

AT89C51单片机完善的内部结构、优良的性能和强大的中断处理能力,决定了该控制系统具有电路结构简单、程序简短、系统可靠性高的特点。

水位以AT89C51单片机检测缺水、溢流,实现自动控制;温度采集采用数字温度传感器(DS18B20),不需要复杂的信号调理电路和A/D转换电路,简单的数字处理电路大大降低了硬件和软件的设计复杂度,直接与单片机完成数据的采集和处理;采用LCD1602液晶实时显示温度值,实现方便、简单。

本系统根据不同需要可用于各种场合。

【关键词】AT89C51单片机,DS18B20,LCD1602

 

Abstract

Thetemperaturehasbeenadifficultproblemaccuracycontrolof,soinordertorealizehighprecisiontemperaturelevelcontrol,mypaperintroducesanAT89C51ascontrolcore,usingadigitaltemperaturesensor(DS18B20)fortemperaturewatertemperaturecontrolunittorealize.Thispapermainlyintroducesthecoredeviceofchoice,eachpartcircuitdesignandsoftwarerealization.AT89C51perfectinternalstructure,excellentperformanceandpowerfulinterrupthandlingability,decidedthecontrolsystemhasthecircuitissimpleinstructure,proceduresbrief,systemreliabilityhighcharacteristic.WaterleveldetectionbyAT89C51,watershortage,therealizationofautomaticcontroloverflow;Temperaturegatheringadoptingdigitaltemperaturesensor(DS18B20),notinneedofsophisticatedsignalregulatecircuitandA/Dcircuit,simpledigitalprocessingcircuitgreatlyreducesthehardwareandsoftwaredesigncomplexity,directandsingle-chipcommputercompletesdataacquisitionandprocessing;LCD1602LCDdisplaybytemperature,realizeconvenient,simple.Thissystemcanbeusedaccordingtodifferentrequirementsonvariousoccasions.

 

【Keywords】AT89C51microcontroller,DS18B20,LCD1602

目录

引言5

第一章系统方案设计6

(一)水温水位控制系统的设计任务和要求6

(二)系统总体方案的选择6

(三)温度传感器的选择7

第二章元器件介绍及硬件电路设计8

(一)元器件介绍8

(二)硬件电路设计15

第三章系统软件设计19

(一)程序结构说明19

(二)程序流程图19

(三)操作指引24

第四章实验测试25

(一)LCD1602显示“ABCD1234”25

(二)键盘及数字显示结合25

(三)整机调试25

第五章设计总结27

致谢28

参考文献29

引言

上个世纪,由于工业过程控制的需要,特别是电子技术的迅猛发展,以及在自动控制理论和设计方法的推动下,温度控制系统发展迅速,并在智能化、自适应参数、自整定等方面取得了优异成果。

现在的温度控制系统及仪器仪表正朝着高精度、智能化、小型化等方面快速发展。

温度控制系统在各行各业的应用虽然已经十分广泛,但从国内生产的温度控制器来讲,总体发展水平仍然不高,同日本、美国、德国等技术先进的国家相比,仍然有着较大的差距。

成熟产品主要以“点位”控制及常规的PID控制器为主,它只能适应一般温度系统控制,难于控制滞后复杂时变温度系统控制,而且应用于较高控制场合的智能化、自适应控制仪表国内的技术还不十分成熟,形成商品化并广泛应用的控制仪表较少。

温度、压力、流量和液位是四种最常见的过程变量,其中温度是一个非常重要的过程变量,因为它直接影响燃烧、化学反应、发酵、烘烤、煅烧、蒸馏、浓度、挤压成形、结晶以及空气流动等物理和化学过程。

温度控制在工业领域应用非常广泛,由于其具有工况复杂、参数多变、运行惯性大、控制滞后等特点,它对控制调节器要求较高。

温度控制不好就可能引起生产安全,产品质量和产量等一系列问题。

尽管温度控制很重要,但是要控制好温度常常会遇到意想不到的困难。

随着嵌入式系统开发技术的快速发展及其在各个领域的广泛应用,人们对电子产品的小型化和智能化要求越来越高,作为高新技术之一的单片机以其体积小、价格低、可靠性高、适用范围大、本身的指令系统等诸多优势,在各个领域、各个行业都得到了广泛应用。

本文主要介绍以单片机控制温度的系统设计过程,其中涉及系统结构设计、元器件的选取、程序的调试和系统参数的整定。

在系统构建时选取了AT89C51芯片作为该控制系统的核心,温度信号由新型的可编程温度传感器(DS18B20)提供。

通过软件实现对水温的控制,使用继电器作执行部件对水位的自动控制。

系统控制对象为水箱。

水温可以在一定范围内由人工设定,并能在环境温度降低时实现自动控制,以保持设定的温度基本不变,具有较好的快速性与较小的超调。

该系统为一实验系统,要求系统有控制能力,实现对主要可变参数的实时监控。

使用软件编程既减少了系统设计的工作量,又提高了系统开发的速度,使用软件还可以提高所设计系统的稳定性。

第一章系统方案设计

(一)水温水位控制系统的设计任务和要求

该系统为一实验系统,系统设计任务:

设计一个水温水位自动控制系统,控制对象为水箱。

水位实现自动加水和自动溢出控制,水温可以在一定范围内由人工设定,并能在环境温度降低时实现自动调整,以保持设定的温度基本不变。

利用AT89C51单片机实现对水温的智能控制,使水温在设定温度下控制温度恒定。

利用仪器读出水温,并在此基础上将水温调节到我们通过键盘输入的温度(其方式是加热或降温),而且能够将温度显示在LCD1602液晶上。

系统设计具体要求:

(1)由键盘设定温度,设定范围为40一90℃,最小区分度为l℃,标定温差<1。

(2)温度低于设定温度值时加热,温度高于设定值时降温

(3)用LCD1602液晶实时显示水的实际温度。

(4)实现容器中无水时自动加水,溢出自动控制,防止烧干,故障报警。

(5)环境温度降低时(例如用电风扇降温)温度控制约静态误差<1

(二)系统总体方案的选择

1方案一(如图1-1)此方案是传统的二位式模拟控制方案,其基本思想与方案采用上下限比较电路,控制精度比较高。

这种方法还是模拟控制方法,因此也不能实现复杂的控制算法使控制温度做的更精确。

而且不能用数码管显示和键盘设定。

图1-1模拟电路

2方案二(如图1-2)此方案采用AT89C51单片机系统来实现。

单片机软件编程灵活,自由度大,可用软件编程实现各种控制算法和逻辑控制【1】。

单片机系统可用数码管显示水温的实际值,能用键盘输入设定值等功能。

本方案选用了AT89C51芯片,不需要外扩展存储器,可使系统整体结构更为简单。

3方案论证方案一是传统的模拟控制方式,而模拟控制系统难以实现复杂控制规律,控制方案的修改也较麻烦。

而方案二是采用以AT89C51为控制核心的单片机控制系统,尤其对温度控制,可以达到模拟控制所达不到的控制效果,并且可以实现显示、键盘设定,报警等功能。

大大提高系统的智能化,也使得系统所测结果的精度大大提高了。

所以本次设计采用方案二。

图1-2温度控制系统框图

(三)温度传感器的选择

本设计方案的选择主要是感温元件的选择,经查阅资料,IC式感温器在市场上应用比较广泛的有以下几种:

1AD590:

电流输出型的测温组件,温度每升高1摄氏度K(凯式温度),电流增加1μA,温度测量范围在一55℃~150℃之间。

其所采集到的数据需经A/D转换,才能得到实际的温度值。

2DS18B20:

除了测量温度外,它还可以把温度值以数字的方式(9Bit)送出,温度送出的精度为0.5℃,温度测量范围在-55℃—125℃之间,可以做恒温控制。

3SMARTEC感温组件:

这是一只3个管脚感温IC,温度测量范围在-45℃~13℃,误差可以保持在0.7℃以内。

本设计选用DS18B20感温IC,这是因其性能参数符合设计要求,接口简单,内部集成了A/D转换,测温更简便,精度较高,反应速度快,且经过市场考察,该芯片易购买,使用方便。

 

第二章元器件介绍及硬件电路设计

(一)元器件介绍

1温度传感器

温度传感器选用可编程温度传感器(DS18B20)芯片。

DS18B20是DALLAS公司生产的1-Wire,即单总线器件,具有线路简单,体积小的特点。

它在测温精度、转换时间、传输距离、分辨率等方面较DS1820有了很大的改进,给用户使用带来了更多方便。

(1)DS18B20产品的特点

(a)单线接口:

仅需一根线与单片机相连;

(b)由用总线提供电源,也可用数据线供电,电压范围:

3.0~5.5V;

(c)测温范围为-55℃~+125℃,在-10~85℃时,精度为0.5℃;

(d)可编程的分辨率为9~12位,对应的分辨率为0.5~0.0625℃;

(e)用户可编程的温度报警设置;

(f)12位分辨率时最多在750ms内把温度值转换为数字量。

(2)DS18B20的引脚介绍

DS18B20可编程温度传感器有3个管脚。

(如图2-1)GND为接地线,DQ为数据输入输出接口,通过一个较弱的上拉电阻与单片机相连。

VDD为电源接口,既可由数据线提供电源,又可由外部提供电源,范围3.O~5.5V【7】。

本文使用外部电源供电。

图2-1DS18B20管脚

(3)DS18B20的内部结构

DS18B20内部功能模块主要由4部分组成:

64位光刻R0M、温度传感器、非易失性的温度报警触发器TH和TL、配置寄存器。

R0M中的64位序列号是出厂前被光刻好的,他可以看作是该DSISB20的地址序列码,每个DSI8B20的64位序列号均不相同。

高低温报警触发器TH和TL,配置寄存器均由一个字节的E2PROM组成,使用一个存储器功能命令可对TH,TL或配置寄存器写入。

配置寄存器中R1,R0决定温度转换的精度位数:

R1R0=’00’,9位精度,最大转换时间为93.75ms;R1R0=‘01’,10位精度,最大转换时间为187.5ms;R1R0=‘10’,11位精度,最大转换时间为375ms;R1R0=’11’,12位精度,最大转换时间为750ms;未编程时默认为12位精度。

(4)DS18B20的使用方法

由于DS18B20采用的是1-Wire总线协议方式,即在一根数据线实现数据的双向传输【8】,而对AT89C51单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。

  DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。

DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。

该协议定义了几种信号的时序:

初始化时序、读时序、写时序。

所有时序都是将主机作为主设备,单总线器件作为从设备。

而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。

数据和命令的传输都是低位在先。

DS18B20的复位时序

 

图2-2DS18B20的复位时序图

DS18B20的读时序

对于DS18B20的读时序分为读0时序和读1时序两个过程。

 对于DS18B20的读时序是从主机把单总线拉低之后,在15us之内就得释放单总线,以让DS18B20把数据传输到单总线上。

DS18B20要完成一个读时序过程,至少需要60us才能完成。

图2-3DS18B20的读时序图

DS18B20的写时序

  对于DS18B20的写时序仍然分为写0时序和写1时序两个过程【10】。

  对于DS18B20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少60us,保证DS18B20能够在15us到45us之间能够正确地采样IO总线上的“0”电平,当要写1时序时,单总线被拉低之后,在15us之内就得释放单总线。

图2-4DS18B20的写时序图

2AT89C51的特性

AT89C51是一个低电压,高性能CMOS8位单片机,片内含4Kbytes的可反复擦写的Flash只读程序存储器和128byt的随机存取数据存储器(RAM),兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,内置功能强大的微型计算机的AT89C51提供了高性价比的解决方案。

AT89C51主要的功能特点如下:

(1)兼容MCS-51指令系统

(2)32个双向I/O口

(3)两个16位可编程定时/计数器

(4)一个串行中断

(5)两个外部中断源

(6)可直接驱动LED

(7)低功耗空闲和掉电模式

(8)4K可反复查写ROM

(9)3级加密位

(10)全静态操作0MHz-24MHz

(11)软件设置睡眠和唤醒功能

3LCD1602液晶

字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,市面上字符液晶绝大多数是基于HD44780液晶芯片,HD44780是带西文字库的液晶显示控制器,用户只需要向HD44780送ASCII的字符码,HD44780就按照内置的ROM点阵发生器自动在LCD液晶显示器上显示出来。

所以,HD44780主要适用于显示西文ASCII字符内容的液晶显示。

1602字符型LCD能够同时显示16*2即32个字符(16列2行)。

其内置192种字符(160个5*7点阵字符和32个5*10点阵字符),具有64个字节的自定义字符RAM,可自定义8个5*8点阵字符或4个5*11点阵字符。

1602通常有14条引脚线或16条引脚线两种,多出来的2条线是背光电源线和地线,带背光的比不带背光的略厚,控制原理与14脚的LCD完全一样,是否带背光在应用中并无差别。

本设计中采用带背光16引脚线的。

其主要技术参数为:

显示容量:

16×2个字符。

芯片工作电压:

4.5-5.5V。

工作电流:

2.0mA(5.0V)。

模块最佳工作电压:

5.0V。

字符尺寸:

2.95×4.35(W×H)mm。

LCD1602的16个引脚可参照图2-5,其引脚功能分别为:

VSS:

电源地(GND)。

VCC:

电源电压(5V)。

V0:

LCD驱动电压,液晶显示器对比度调整端。

使用时可以通过一个10K的电位器调整对比度,接正电源时对比度最弱,接地电源时对比度最高。

RS:

寄存器选择输入端,选择模块内部寄存器类型信号。

RS=0,进行写模块操作时指向指令寄存器,进行读模块操作时指向地址计数器。

RS=1,无论进行读操作还是写操作均指向数据寄存器。

R/W:

读写控制输入端,选择读/写模块操作信号。

R/W=0,读操作;R/W=1,写操作。

本设计中只需往LCD里写数据即可,写时序见图3-4。

E:

使能信号输入端。

读操作时,高电平有效;写操作时,下降沿有效

DB0~DB7:

数据输入/输出口,单片机与模块之间的数据传送通道。

选择4

位方式通讯时,不使用DB0~DB3。

BLA:

背光的正端+5V。

BLK:

背光的负端0V。

1602模块内部主要由LCD显示屏、控制器、列驱动器和偏压产生电路构成。

控制器接受来自MPU的指令和数据,控制着整个模块的工作。

主要由显示数据缓冲区DDRAM,字符发生器CGROM,字符发生器CGRAM,指令寄存器IR,地址寄存器DR,忙标志BF,地址计数器AC以及时序发生电路组成。

模块通过数据总线DB0~DB7和E、R/W、RS三个输入控制端与MPU接口。

这三根控制线按照规定的时序相互协调作用,使控制器通过数据总线接受MPU发来的数据和指令,从CGROM中找到欲显示字符的字符码,送入DDRAM,在LCD显示屏上与DDRAM存储单元对应的规定位置显示出该字符。

控制器还可以根据MPU的指令,实现字符的显示,闪烁和移位等显示效果。

CGROM内提供的是内置字符码,CGRAM则是供用户存储自定义的点阵图形字符。

模块字符在LCD显示屏上的显示位置与该字符的字符代码在显示缓冲区DDRAM内的存储地址一一对应。

LCD1602模块内部具有两个8位寄存器:

指令寄存器IR和地址寄存器DR,用户可以通过RS和R/W输入信号的组合选择指定的寄存器,进行相应的操作。

表2-1中列出了组合选择方式:

表2-1寄存器选择组合

RS

R/W

操作

0

0

将DB0~DB7的指令代码写入指令寄存器IR中

0

1

分别将状态标志BF和地址计数器AC内容读到DB7和DB6~DB0

1

0

将DB0~DB7的数据写入数据寄存器中,模块的内部操作将数据写到DDRAM或者CGRAM中的数据送入数据寄存器中

1

1

将数据寄存器内的数据读到DB0~DB7,模块的内部操作自动将DDRAM或者CGRAM中的数据送入数据寄存器中

1602提供了较为丰富的指令设置,通过选择相应的指令设置,用户可以实现多种字符显示样式。

下面仅简要介绍本次设计中需要用到的一些指令设置。

●清屏指令Cleardisplay

清显示指令将空位字符码20H送入全部DDRAM地址中,时DDRAM中的内容全部清除,显示消失,地址计数器AC=0,自动增一模式。

显示归位,光标闪烁回到原点(显示屏左上角),但不改变移位设置模式。

清屏指令码见表2-2。

表2-2清屏指令码

RS

R/W

DB7

DB6

DB5

DB4

DB3

DB2

DB1

DB0

0

0

0

0

0

0

0

0

0

1

●进入模式设置指令Entrymodeset

见表2-3,进入模式设置指令用于设定光标移动方向和整体显示是否移动。

表2-3模式设置指令码

RS

R/W

DB7

DB6

DB5

DB4

DB3

DB2

DB1

DB0

0

0

0

0

0

0

0

1

I/D

S

I/D:

字符码写入或者读出DDRAM后DDRAM地址指针AC变化方向标志。

I/D=1,完成一个字符码传送后,AC自动加1。

I/D=0,完成一个字符码传送后,AC自动减1。

S:

显示移位标志。

S=1,完成一个字符码传送后显示屏整体向右(I/D=0)或向左(I/D=1)移位。

S=0,完成一个字符码传送后显示屏不移动。

●显示开关控制指令Displayon/offcontrol

指令码见表2-4,该指令功能为控制整体显示开关,光标显示开关和光标闪烁开关。

表2-4显示开关控制指令码

RS

R/W

DB7

DB6

DB5

DB4

DB3

DB2

DB1

DB0

0

0

0

0

0

0

1

D

C

B

D:

显示开/关标志。

D=1,开显示;D=0,关显示。

关显示后,显示数据仍保持在DDRAM中,开显示即可再现。

C:

光标显示控制标志。

C=1,光标显示;C=0,光标不显示。

不显示光标并不影响模块其他显示功能。

显示5*8点阵字体时,光标在第八行显示;显示5*10点阵字符时,光标在第11行显示。

B:

闪烁显示控制标志。

B=1,光标所在位置会交替显示全黑点阵和显示字符,产生闪烁效果;B=0,光标不闪烁。

●功能设置指令Functionset

功能设置指令用于设置接口数据位数,显示行数以及字形。

指令码见表2-5。

表2-5功能设置指令码

RS

R/W

DB7

DB6

DB5

DB4

DB3

DB2

DB1

DB0

0

0

0

0

1

DL

N

F

*

*

DL:

数据接口宽度标志。

DL=1,8位数据总线DB7~DB0;DL=0,4位数据总线DB7~DB4,DB3~DB0不使用,此方式传送数据需分两次进行。

N:

显示行数标志。

N=0,显示一行;N=1,显示两行。

F:

显示字符点阵字体标志。

F=0,显示5*7点阵字符;F=1,显示5*10点阵字符。

1602模块内部设有上电自动复位电路,当外加电源电压超过+4.5V时,自动对模块进行初始化操作,将模块设置为默认的显示工作状态。

初始化大约持续10ms左右。

初始化进行的指令操作为:

●清显示

●功能显示

DL=1:

8位数据接口。

N=0:

显示一行。

F=0:

显示5*8点阵字符字体。

●显示开/关控制

D=0:

关显示。

C=0:

不显示光标。

B=0:

光标不闪烁。

●输入模式设置

I/D=1:

AC自动增一。

S=0:

显示不移位。

但是需要特别注意的是,倘若供电电源达不到要求,模块内部复位电路无法正常工作,上电复位初始化就会失败。

因此,最好在系统初始化时通过指令设置对模块进行手动初始化。

4继电器

本系统利用继电器的吸合与否来控制加热装置和降温装置,实现水温的自动化控制。

本次设计采用型号为JRC-21F的继电器。

其特点有:

(1)超小型,低功耗;

(2)触点型式:

1H,1Z(1A.AC);

(3)触点负载:

2A,120VAC;

(4)外型尺寸:

15.7X10.4X11.4;

5键盘

键盘选用轻触开关,只用三个键来输入,它们的功能分别为“加一”,“减一”和“确认”三个功能按键,详细电路和程序见后面章节。

(二)硬件电路设计

总电路图见附页1,下面重点介绍各个模块的电路图。

1温度采集电路

DS18B20为单总线器件,接口电路简单,如下图2-6所示

图2-6温度采集电

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

当前位置:首页 > 教学研究 > 教学计划

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

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