温度自动控制系统设计.docx
- 文档编号:1731934
- 上传时间:2022-10-23
- 格式:DOCX
- 页数:26
- 大小:321.91KB
温度自动控制系统设计.docx
《温度自动控制系统设计.docx》由会员分享,可在线阅读,更多相关《温度自动控制系统设计.docx(26页珍藏版)》请在冰豆网上搜索。
温度自动控制系统设计
课程设计说明书
题目:
温度自动控制系统
学院(系):
电气工程及其自动化
年级、专业:
2001级4班
姓名:
学号:
指导教师:
王军
完成时间:
2004.06.25
温度自动控制系统课程综合设计
摘要:
这次综合设计,主要是设计一个温度自动控制系统,用8位单片机控制,DS18B20数字温度传感器采集数据,并用LCD液晶显示器模块显示。
它属于一个恒温系统。
通过单片机处理,并发出指令,使用继电器控制、隔离。
DS18B20数字温度传感器是一个12位的数字温度传感器,直接输出二进制数字信号。
在本次设计中设值为9位,灵敏度为0.5度。
前言
本次设计分为显示、数据处理、数据采集和执行机构四个部分。
显示器采用图形液晶显示器QH2001,它是一个象素为128×64的点阵,数据处理用MCS-51系列单片机AT89S52进行集中控制,同时它还可以扩展为与上位机通信,并通过上位机设定为恒定值。
数据采集部分采用集成数字温度传感器直接转换为二进制代码,并通过1-WIRE总线传送数据和发送控制指令,控制数字温度传感器的读写操作。
数字温度传感器和单片机接口只需要一个I/O口,但是在单片机中需要按照数字温度传感器的时序进行软件编程模拟。
在执行部分采用继电器,并通过它进行电气隔离,继电器再接通加热器和冷却设备进行温度调节。
继电器用NPN三极管SKT9014驱动。
本次综合设计是为毕业设计作准备。
该系统有自动调节的功能,通过改变设定值可以使该设备处于不同的恒温状态,并使控制温度基本上等于设定温度,精度为±0.5度。
总体方案设计
这次课程设计题目为温度自动控制系统,实现这种控制目的的方案有两个。
方案
(一)热电偶温度自动控制系统。
方案
(二)数字温度传感器温度控制系统。
这两个方案都是采用单片机控制,液晶显示模块LCM显示。
两个方案的比较部分为温度检测部分。
方案
(一)的系统框图如下图:
该部分温度检测部分检测部分采用热电偶,它需要冷端补偿电路与其配套,并且热电偶输出电压只有几毫负,必须经过放大处理才能A/D转换和D/A转换器接口,若采用8位A/D转换器,CADC0809则输人端需采用仪用放大器,把几毫伏的电压信号放大到5伏左右。
由于热电偶属于非线性器件,因此每个温度值都必须通过分度表,查表才能获得,这给软件编程和数据处理增加了难度。
这种系统具有测量温度范围可以从零下一XX到早上千摄氏度,而且有很多热电偶精度非常高这是这种测量系统的优点。
但构成系统复杂,抗干扰能力不强。
方案
(二)的框图如下:
该方案才用数字温度传感器DS18B20,它的最高分辨率为12位,可识别0.0625摄氏度的温度。
它具有直接输出数字信号和数据处理,并且它和单片机接口只需要一位I/O口,因此由它构成的系统简单使用,由于DS18B20,按照工业设计要求设计,抗干扰性能强。
但温度测量范围从-55摄氏度—-125摄氏度,比较有限位综合比较方案
(一)和方案
(二),我们只在常温下使用,并且经济合理,因此选择了方案
(二)。
一、LCM显示部分
(一).器件介绍:
本次设计的显示部分采用图形点阵显示器模块QH2001,内带两片HD61202控制器,分别控制左右屏点阵数据。
每片控制器带512字节的RAM。
其中的每一位数据和屏幕上的一个象素对应。
QH2001显示模块无内带字库,它是在纯图形的方式下工作的。
所以我们利用字模软件生成了所需汉字代码,用以进行调用。
其程序设计的基本过程是:
首先对显示器模块初始化,写入相应控制字和设置显示初始行,然后对显示器清屏。
在进行汉字和测试数据显示时,首先确定显示所在行的行数和所调用代码表的标号。
如果显示数据,还要确定动态显示的起始列数和字符数。
设置完成后,调用选择表处理程序,动态显示处理程序以及显示程序,完成显示过程。
(二)控制指令介绍
12864采用两片HD61202分别控制左右半屏的显示,在编程时要注意分别控制,这里的左右屏选取由片选信号CS1、CS2完成。
当CS1=1时选取左半屏为操作对象,CS2=1时选取右半屏为操作对象,某些情况下可以同时选择左右屏同时操作。
另外还有读写(R/W)信号、数据指令(D/I)信号、E信号等。
指令说明如下:
操作
R/W
D/I
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
1、显示器开
0
0
0
0
1
1
1
1
1
1/0
2、起始行设置
0
0
1
1
行地址:
0~63
3、页地址设置
0
0
1
0
1
1
页地址:
0~7
4、列地址设置
0
0
0
1
列地址:
0~63
5、读状态
1
0
Busy
0
onoff
RST
0
0
0
0
6、写显示数据
0
1
数据(8位)
7、读显示数据
1
1
数据(8位)
注:
1、该指令控制显示的开关,不影响模块中RAM的数据和内部状态。
DB0=1,开;DB0=0,关。
2、RES=1表明系统正在初始化;RES=0表明初始化完成;On/off=1时不显示;On/off=0时显示;Busy=1时正在进行内部操作;Busy=0时准备好接收指令。
3、将欲显示的数据写入显示存储器中。
4、从显示存储器中读出被显示的数据。
注意:
在读写操作之前,要先确定模块的内部状态,当RES=0时,才能进行地址设置和数据的读写操作。
显示RAM的存取地址每进行一次写操作,列地址自动加1。
显示器开关设置
显示初始行设置
数据指针设置
(三)LCD的控制地址分配表
CS1CS2RWDIE(OTHERSE=0)
LCD_CMD_LXBYTE[0XFF00]10001//命令(写)左
LCD_STD_LXBYTE[0XFF01]10101//状态(读)左
LCD_DATAW_LXBYTE[0XFF02]10011//数据(写)左
LCD_DATAR_LXBYTE[0XFF03]10111//数据(读)左
LCD_CMD_RXBYTE[0XFF04]01001//命令(写)右
LCD_STD_RXBYTE[0XFF05]01101//状态(读)右
LCD_DATAW_RXBYTE[0XFF06]01011//数据(写)右
LCD_DATAR_RXBYTE[0XFF07]01111//数据(读)右
CMD_LCD_ON0X3F//开显示器
CMD_LCD_OFF0X3E//关显示器
CMD_LCD_START0XC0//显示器开始显示
CMD_LCD_X0XB8//写显示数据(列地址)
CMD_LCD_Y0X40//写显示数据(页地址)
(四)LCM接口电路
该部分和单片机接口电路如图
(1)所示。
图
(1)
单片机通过对P1口和P2口相关引脚的操作间接控制LCM的初始化和显示。
其初始化和数据传输都通过调用相关的子程序来实现。
初始化子程序的框图如图
(2)所示。
在初始化子程序中,操作非常简单,主要是对LCM的初始行设置在第1行显示,即向LCM发出初始化控制命令0C0H,然后开显示器,写入3FH,初始化过程就算完成。
最后是对LCM内每一个RAM写入“0”,使整个屏幕白屏。
白屏部分程序是通过一个循环程序来实现的。
在向LCM输入显示数据的过程中,是通过一个1616的矩阵的子程序来实现的,该子程序可以显示1616的汉字和168的数字矩阵。
该部分子程序程序框图如下图(3)所示。
图3
该子程序的具体逻辑是通过对页地址和列地址的设置决定显示的初始显示数据,再通过对一个循环次数单元39H的内容的确定决定显示是汉字还是数据。
在该程序中有两个循环嵌套来确定换列地址和行地址。
该显示的整个过程为:
首先显示固定不动的汉字,其次是显示设定值,最后是动态循环显示测量数据,所有这些数据的显示都固定的位置。
这一点可以通过附录主程序的框图很清楚地表达出来。
显示屏幕显示内容的布置如下图(4)所示。
温
度
自
动
控
制
系
统
设
定
值
0
0
0
.
0
0
测
量
值
0
0
0
.
0
0
加
热
状
态
图4
数据处理部分
(一)功能介绍
数据处理部分使用的器件是MCS-51系列单片机AT89C52,它自带8K的FLASH程序存储器,它的核心处理单元为8位。
数据处理主要是对数字温度传感器采集温度数据,并进行逻辑判断,根据数据的具体情况输出到LCM显示和使继电器动作。
这部分包括三个方面的工作,主要由三个子程序来完成,分别为GETWD、DATA-PRO和ZTBJ。
它主要的功能包括初始化数字温度传感器、写数据到数字温度传感器、从数字温度传感器读数据三个步骤。
从这个子程序读出的
数据由两个字节组成,高字节为35H,低字节为34H,数据格式如下图(5)所示。
S
S
S
S
S
0
0
0
图5
高字节前五位为符号位,低字节在传感器设置为9位分辨率的情况下,最低三位由0补充。
数据处理环节,其主要处理过程如框图(6)所示。
图6
首先,把高位字节不带进位位Cy左移四位,再与F0H相与,把低四位置零,高四位保持不变,把所得结果存储,低位字节的处理是:
首先把该字节高低四位相互交换,存储该字节在R3中,然后把这个数据与0FH相与去除高四位,最后把这个低位字节与处理后的高位字节相或,把高低位字节最后处理为一个字节,除去最高位符号位,后七位就是要显示的数据,存储在36H中。
最后把R3中数据取出,带进位位左移一位,判断其进位标志位C是否为“1”,若为“1”则把数字5存储在37H中,供LCM显示测量值小数部分。
否则把37H中置零。
到此,整个数据处理过程到此结束。
三温度数据采集
(一)DS18B20简介
DS18B20是采用“1-wire”一线总线传输数据的集成温度传感器。
它共有三个引脚一个VCC电源引脚,一个数据总线,一个地引脚,可采用外部电源供电,也可采用总线供电方式,此时,把VCC连接在一起作为数字电源。
在本次设计中采用外部电源供电方式。
它内部有一个64位的ROM区,其中前8位为该器件的序列号,接下来48是该器件的编号,每个器件都不一样,用于在一线总线上连接多传感器时进行对象识别,第8位是前56位的CRC校验码。
接下来是RAM区和EERAM区。
RAM前五个字节分别为LSB、MSB、FH、TL和CONFIG值,分别表示温度测量值的低位字节、高位字节、温度高温低温报警和使用传感器分辨率设置位。
EERAM分别用于TH和TL的数据保存。
每次上电时,数据会自动从EERAM拷贝到TH和TL中。
fonfrg值的数据格式如下图(7)。
0
R1
R0
1
1
1
1
1
图7
R1R0的状态有00011011分别表示9位,10位,11位,12位分辨率设置。
(二)软件设计
对DS18B20软件的设计主要根据其操作时序和控制协议编写的。
其时序分为初始化操作时序,读操作时序,写操作时序,分别如下图(8)、图(9)所示。
相应的子程序也根据这三个步骤来完成,它们都是严格按照
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 温度 自动控制系统 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)