基于单片机的水温控制系统设计论文

  • 格式:pdf
  • 大小:1.38 MB
  • 文档页数:23

Yi bin University物理与电子工程学院电子系统设计报告题目水温控制系统系别物理与电子工程学院专业电子信息科学与技术学生姓名班级指导老师2014年5月19日摘要随着微机测量和控制技术的迅速发展与广泛应用,以单片机为核心的温度采集与控制系统的研发与应用在很大程度上提高了生产生活中对温度的控制水平。

本设计论述了一种以STC89C52单片机为主控制单元,以DS18B20为温度传感器的温度控制系统。

该控制系统可以实时存储相关的温度数据并记录当前的时间。

系统设计了相关的硬件电路和相关应用程序。

硬件电路主要包括STC89C52单片机最小系统,测温电路、实时时钟电路、LCD液晶显示电路以及通讯模块电路等。

系统程序主要包括主程序,读出温度子程序,计算温度子程序、按键处理程序、LCD显示程序以及数据存储程序等。

关键字:AT89C52DS18B20水温控制目录1.系统方案选择和论证 (4)1.1题目要求 (4)1.1.1基本要求 (4)1.1.2发挥部分 (4)1.1.3说明 (4)1.2系统基本方案 (4)1.2.1各模块电路的方案选择及论证 (4)1.2.2系统各模块的最终方案 (7)2.硬件设计与实现 (7)2.1系统硬件模块关系 (7)2.2主要单元电路的设计 (7)2.2.1温度采集部分设计 (7)2.2.2加热控制部分 (9)2.2.3键盘、显示、控制器部分 (9)3.系统软件设计 (10)3.1读取DS18B20温度模块子程序 (10)3.2数据处理子程序 (10)3.3键盘扫描子程序 (11)3.4主程序流程图 (12)4.系统测试 (13)4.1静态温度测试 (13)4.2动态温控测量 (14)4.3结果分析 (14)附录1:产品使用说明 (14)附录2:系统PCB图 (15)附录3:系统硬件原理图 (15)附录4:本设计实物图 (16)附录5:软件程序清单 (17)参考文献 (23)第一章系统方案选择和论证1.1题目要求设计并制作一个水温自动控制系统,控制对象为1L净水,容器为搪瓷器皿。

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

1.1.1基本要求(1)温度设定范围为40~90℃,最小区分度为1℃,标定温度≤1℃。

(2)环境温度降低时(例如用电风扇降温)温度控制的静态误差≤1℃。

(3)用十进制液晶1602显示水的实际温度。

1.1.2发挥部分(1)采用适当的控制方法,当设定温度突变(由40℃提高到60℃)时,减小系统的调节时间和超调量。

(2)温度控制的静态误差≤0.2℃。

(3)在设定温度发生突变(由40℃提高到60℃)时,自动打印水温随时间变化的曲线。

1.1.3说明(1)加热器用一千瓦电炉。

(2)如果采用单片机控制,允许使用已有的单片机最小系统板。

(3)数码显示部分可以使用数码显示模块。

(4)测量水温时只要求在容器内任意设置一个测量点。

(5)在设计报告附一篇400字以内的报告摘要。

1.2系统基本方案根据题目要求系统模块分可以划分为:温度测量模块,显示电路模块,加热模块,控制模块,系统的框图如图1.2.1所示。

为实现各模块的功能,分别做了几种不同的设计方案并进行了论证。

1.2.1各模块电路的方案选择及论证(1)控制器模块根据题目要求,控制器主要用于对温度测量信号的接受和处理、控制电热丝和风扇使控制对象满足设计要求、控制显示电路对温度值实时显示以及控制键盘实现对温度值的设定等。

对控制器的选择有以下三种方案:方案一:采用FPGA作为系统控制器。

FPGA功能强大,可以实现各种复杂的逻辑功能,规模大,密度高,它将所有器件集成在一块芯片上,减少了体积,提高了稳定性,并且可应用EDA软件仿真、调试,易于进行功能扩展。

FPGA采用并行的I/O口方式,提高了系统的处理速度,适合作为大规模实时系统控制核心。

由温度传感器送来的温度信号,经FPGA程序对其进行处理,控制加热装置动作。

但由于本设计对数据处理的速度要求不高,FPGA的高速处理的优势得不到充分体现,并且其成本偏高,引脚较多,硬件电路布线复杂。

方案二:采用模拟运算放大器组成PID控制系统。

对于水温控制是足够的。

但要附加显示、温度设定等功能,要附加许多电路,稍显麻烦。

方案三:采用STC公司的STC89C52作为系统控制器。

它是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。

STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。

在单芯片上,拥有灵巧的8位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

基于以上分析拟订方案三,由STC89C52作为控制核心,对温度采集和实时显示以及加热装置进行控制。

Output 显示电路加热装置测温部分键盘输入STC89C52Input图1.2.1系统基本模块方框图(2)加热装置有效功率控制模块根据题目,可以使用电热炉进行加热,控制电热炉的功率即可以控制加热的速度。

当水温过高时,关掉电热炉进行降温处理,让其自然冷却。

在制作中,我们装设一个小电风扇,当水温超高时关闭电炉开启风扇散热,当需要加热时开启电炉关闭风扇。

由于加热的功率较大,考虑到简化电路的设计,我们直接采用220V 电源。

对加热装置控制模块有以下两种方案:方案一:采用可控硅来控制加热器有效功率。

可控硅是一种半控器件,应用于交流电的功率控制有两种形式:控制导通的交流周期数达到控制功率的目的;控制导通角的方式控制交流功率。

由交流过零检测电路输出方波经适当延时控制双向可控硅的导通角,延时时间即移相偏移量由温度误差计算得到。

可以实现对交流电单个周期有效值周期性控制,保证系统的动态性能指标。

该方案电路稍复杂,需使用光耦合驱动芯片以及变压器等器件。

但该方案可以实现功率的连续调节,因此响应速度快,控制精度也高。

方案二:采用继电器控制。

使用继电器可以很容易实现地通过较高的电压和电流,在正常条件下,工作十分可靠。

继电器无需外加光耦,自身即可实现电气隔离,可以由多路加热丝组成功率控制,由单片机对温差的处理实现分级功率控制提高系统动态性能。

但这种电路无法精确实现电热丝功率控制,电热丝只能工作在最大功率或零功率,对控制精度将造成影响且反应速度慢。

基于以上分析以及现有器件限制选择方案一,采用可控硅控制响应速度快,控制精度也高,可以达到较好的效果。

(3)温度采集模块题目要求温度静态误差小于等于0.2℃,温度信号为模拟信号,本设计要对温度进行控制和显示,所以要把模拟量转换为数字量。

该温度采集模块有以散热装置下三种方案:方案一:利用热电阻传感器作为感温元件,热电阻随温度变化而变化,用仪表测量出热电阻的阻值变化,从而得到与电阻值相应的温度值。

最常用的的是铂电阻传感器,铂电阻在氧化介质中,甚至在高温的条件下其物理,化学性质不变。

由铂电阻阻值的变化经小信号变送器XTR101将铂电阻随温度变化的转换为4~20mA线形变化电路,再将电流信号转化为电压信号,送到A/D转换器——ADC0809.即将模拟信号转换为数字信号。

该方案线性度优于0.01%。

方案二:采用温度传感器AD590K。

AD590K具有较高精度和重复性,良好的非线性保证±0.1℃的测量精度。

加上软件非线性补偿可以实现高精度测量。

AD590将温度转化为电流信号,因此要加相应的调理电路,将电流信号转化为电压信号。

送入8为A/D转换器,可以获得255级的精度,基本满足题目要求。

方案三:采用数字温度传感器DS18B20。

DS18B20为数字式温度传感器,无需其他外加电路,直接输出数字量。

可直接与单片机通信,读取测温数据,电路简单。

如图1.2.2所示。

图1.2.2DS18B20测温电路基于以上分析和现有器件所限,温度采集模块选用方案三。

DS18B20与传统的热敏电阻相比,他能够直接读出被测温度并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。

并且从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线(单线接口)读写,因而使用DS18B20可使系统结构更趋简单,可靠性更高。

他在测温精度、转换时间、传输距离、分辨率等方面带来了令人满意的效果。

(4)键盘与显示模块根据题目要求,水温要由人工设定,并能实时显示温度值。

对键盘和显示模块有下面两种方案:方案一:采用液晶显示屏和通用矩阵键盘。

液晶显示屏(LCD)具有功耗小、轻薄短小无辐射危险,平面直角显示以及影象稳定不闪烁,可视面积大,画面效果好,抗干扰能力强等特点。

方案二:采用三位LED七段数码管分别显示温度的十位、个位和小数位。

按键采用单列3按键进行温度设定。

数码管具有:低能耗、低损耗、低压、寿命长、耐老化,对外界环境要求较低。

然而,其与液晶显示屏相比,体积大而且耗电量大。

根据以上论述,采用方案一。

本系统中,采用了液晶显示屏的动态显示,节省单片机的内部资源。

1.2.2系统各模块的最终方案根据以上分析,结合器件和设备等因素,确定如下方案:1.采用STC89C52单片机作为控制器,分别对温度采集、LCD显示、温度设定、加热装置功率控制。

2.温度测量模块采用数字温度传感器DS18B20。

此器件经软件设置可以实现高分辨率测量。

3.电热丝有效功率控制采用可控硅控制,实现开断无涌流,开端速度快。

4.显示用LCD液晶1602显示实时温度值,用ENTER、UP、DOWN三个单键实现温度值的设定。

CPU(STC89C52)首先写入命令给DS18B20,然后DS18B20开始转换数据,转换后通过STC89C52来处理数据。

数据处理后的结果就显示到液晶1602上。

另外由键盘设定温度值送到单片机,单片机通过数据处理发出温度控制信息到可控硅。

DS18B20可以被编程,所以箭头是双向的。

第二章硬件设计与实现2.1系统硬件模块关系本系统的执行方法是循环查询执行的,键盘扫描也是用循环查询的办法,由于本系统对实时性要求不是很高,所以没有用到中断方式来处理。

各模块关系图如图2.1.1所示。

单片机初始话模块DS18B20得到温度值,存放到Buffer中处理温度值,换算成BCD码温度显示模块键盘扫描模块(扫描有无Enter键按下)可控硅控制模块图2.1.1统硬件模块关系图2.2主要单元电路的设计2.2.1温度采集部分设计本系统采用半导体温度传感器作为敏感元件。

传感器我们采用了DS18B20单总线可编程温度传感器,来实现对温度的采集和转换,直接输出数字量,可以直接和单片机进行通讯,大大简化了电路的复杂度。

DS18B20应用广泛,性能可以满足题目的设计要求。

DS18B20的测温电路如图2.2.1所示。