单片机的温度采集控制系统 精品.docx
《单片机的温度采集控制系统 精品.docx》由会员分享,可在线阅读,更多相关《单片机的温度采集控制系统 精品.docx(48页珍藏版)》请在冰豆网上搜索。
单片机的温度采集控制系统精品
引言
温度是一个很重要的基本物理量,自然界中任何物理、化学过程都紧密地与温度相联系,在许多生产过程中,温度测量和控制都直接和安全生产、保证产品质量、提高生产效率、节约能源等重大经济技术指标相联系,因此温度测控技术在国民经济各个领域中都受到了相当的重视。
对于不同生产情况和工艺要求下的温度控制,所采用的加热方式,燃料,控制方案也有所不同。
例如冶金、机械、食品、化工等各类工业生产中广泛使用的各种加热炉、热处理炉、反应炉等;燃料有煤气、天然气、油、电等;控制方案有直接数字控制(DDC),推断控制,预测控制,模糊控制(Fuzzy),专家控制(ExpertControl),鲁棒控制(RobustControl),推理控制等。
温度的测控技术已由模拟测控技术逐渐让位与以单片机为主的微处理器测控技术,形成数字与模拟混合的测控系统和纯数字测控系统的应用,并正向全数字测控方向快速发展。
单片机是在一块硅片上集成了各种部件的微型计算机,这些部件包括中央处理器CPU、数据存储器RAM、程序存储器ROM、定时器/计数器和多种I/O接口电路。
用单片机取代模拟电路作为温度的测量控制器有如下优点:
(1)可靠性高。
芯片本身是按工业测控环境要求设计的,其工业抗干扰能力优于一般的通用CPU,且程序指令、系统常数均固化在ROM中,不易破坏,硬集成度高,使系统整体可靠性大大提高。
(2)易于扩展。
单片机内具有计算机正常运行所必需的部件,芯片外部有许多供扩展用三总线及并行、串行管脚,很容易构成各种规模的计算机应用系统。
(3)控制能力强。
为满足工业控制要求,单片机的指令系统均有极为丰富的条件分支转移指令、I/O端口的逻辑操作以及位处理能力。
(4)体积小。
由于单片机的高集成度,整个电路系统的体积有得到大幅度缩小,使便携式仪器的制造成为可能。
要想构成一个先进的温度测控系统,除了采用单片机作为其控制器外,性能优良的温度传感器也是必不可少的。
智能温度传感器是在模拟集成温度传感器/控制器的基础上发展而成的第三代温度控制器,它将温度传感器、A/D转换器、寄存器、接口电路集成在一个芯片中,有的还包含中央处理器(CPU)、只读存储器(ROM)、随机存储器(RAM或SRAM)、实时日历时钟以及温度控制与报警电路等。
其主要优点是:
数字化输出、测试及控制能力强、传输距离远、抗干扰能力强、微型化、微功耗、易于配微控制器(MCU)或微型计算机进行数据处理或温度控制。
本系统紧跟当今传感器的发展潮流,选用美国DALLAS半导体公司生产的DS18B20型单线智能温度传感器作为温度采集控制部件以实现更高的系统指标。
本设计的控制对象为一恒温装置,输入为加在升降温装置两端的电压,输出为恒温装置的温度。
输入和输出的传递函数为:
G(s)=2/(s(s+1))。
控温范围为-55~+125℃,所采用的控制方案为直接数字控制(DDC)中的最少拍控制。
本设计采用总线技术和模块化结构,实现了由MCS—51单片机和DS18B20型单线智能温度传感器组成的智能温度测控系统,甩掉了传感器→变送器→A/D转换器→单片机的传统模式,大大减少了电路中元器件和I/O连线,创建了一种新型的高稳定可靠温度测控系统。
通过P3.2口,单片机与温度传感器可互发信息,从而共同进行相应的信息处理。
在配套程序的驱动下,单片机端设置并发送上限温度HT和下限温度LT给温度传感器,同时读取温度传感器发来的当前温度CT,进行相应显示及处理。
当CT超过HT,将点亮红色LED并驱动制冷控制所对应的继电器,从而进行报警提示及制冷控制。
当CT低于LT,温度控制器将点亮蓝色LED并驱动加热控制所对应的继电器,从而进行报警提示及加热控制。
除了上述可以将现场温度维持在上限温度和下限温度之间的一定范围内外,当设置的上限温度HT和下限温度LT为同一温度值时,温度测控系统将使现场温度保持在相应的恒温状态。
温度控制器的LCD将显示时间、当前温度、上限温度和下限温度。
1绪论
1.1课题背景
温度控制是自动控制经常讨论的课题之一,它代表了一类自动控制的方法。
而且其应用十分广泛,可以说在生产生活中无处不在,例如锅炉、电冰箱等。
而由温度控制带来的时滞效应难题始终困扰着实际应用。
随着科学技术的高速发展,温度控制技术得到了很大的进步,其应用的领域也不断的扩大。
本文将使用8051型单片机对温度控制的基本原理实例化,设计一个带有多功能的、能够减小时滞效应的温度采集控制系统。
目的是利用的这段时间学习一种利用8051型单片机进行温度采集控制的方法。
1.2立题的目的和意义
8051型单片机是常用的控制芯片,在智能仪器仪、工业检测控制、机电一体化等方面取得了令人瞩目的成果,用其作为温度采集控制系统的实例也很多。
使用8051单片机能够实现温度全程的自动控制,而且8051单片机易于学习、掌握,性能价格比高。
使用8051型单片机设计温度采集控制系统,可以即时、精确的反映温度变化。
完成诸如升温到特定温度、降温到特定温度、在温度点保持恒温等多种控制方式,可以应用到空调、锅炉、电热器一类的设备上。
1.3温度控制系统的预期功能和基本原理
多功能温度控制系统的设计初衷是满足实际生产中温度控制的需要。
为此本系统针对实际应用开发了两种温度控制的模式。
第一种控制模式类似于空调,锅炉等需要保持在一定区间内恒温的设备,他们都需要有加温或降温功能,有的当温度超过一定上限时会报警。
本系统中把这种工作模式命名为Control模式,简写为C模式。
系统工作在这种模式下时,首先系统会提示用户输入温度的上限与下限的温度值。
然后根据实际温度的情况决定采取那些方案。
如下图1—3—1所示:
图1—3—1第一种控制模式示意图
该时刻的实际温度低于用户设定的下限温度,所以此时刻系统正处于升温状态,直到实际温度到达上限温度值,系统才停止升温。
反之,如果实际温度高于用户设定的下限值时,系统处于降温状态。
当实际温度超过用户设定的上、下限温度时,系统还会通过声音、警报灯来报警,同时启动相应的降升温措施。
第二种模式在日常生产中是十分普遍的,例如铸造模具、热时效处理等都需要完成“升温-恒温-降温”反复的过程。
本系统模拟了热时效的处理过程,采用“升温-恒温-升温-恒温-降温-恒温-降温”的梯形曲线过程,如下图1—3—2所示的:
图1—3—2图1—3—1第二种控制模式示意图
这种模式对温度控制的要求比较高,技术指标也很多,例如必须保持采样时间有单位并且均匀、升温降温的过程要稳定、迅速等。
常用的温度控制算法都采用PID算法。
本设计从成本、设计复杂度、实用性及开发时间诸多因素的考虑采用了DDC算法,主要体现在升降温过程中。
系统为典型的反馈式温度控制系统,组成部分见图1—3—3。
其中数字控制器的功能由8051单片机实现。
图1—3—3温度控制系统组成框图
1.4本系统主要研究内容
本系统所要完成的任务是:
(1)能够实时、准确的采样温度值。
(2)能够以DDC控制方式,进行升温、降温过程。
(3)完成温度梯形曲线的变化过程。
(4)更加人性化的设计。
上、下界限温度能够用户输入并显示,声音、警报灯的报警功能等。
2.多功温度控制系统总体分析与设计
2.1温度控制系统的组成和工作原理
多功能温度控制系统能是以8051单片机作为核心,周边设备使用DS18B20型单线智能温度传感器、液晶显示芯片74HC00、继电器及其驱动电路、红、蓝色发光二极管、蜂鸣器、电加热器、直流电机风扇等。
经DS18B20采集到的数字量与用户设定的温度值进行比较,即可得到现场温度和设定温度的偏差。
用户设定值由键盘输入。
由8051单片机构成的数字控制器按最小拍进行运算,计算出所需要的控制量。
数字控制器的输出经标度变换后送给8051内部定时计数器转变为高低电平的不同持续时间,送至继电器及其驱动电路,触发晶闸管并改变其导通角大小,从而控制电加热器的加热电压,起到控温的作用。
系统基本硬件结构框图如图2—1—1所示。
其功能和原理如下:
(1)8051:
负责中心运算和控制,协调系统各个模块的工作。
(2)温度温度传感器DS18B20:
负责温度与数字量的转化。
其精度可精确到小数点后四位。
(3)功率模块:
采用随机型固态继电器控制加热设备的方式。
随机型固态继电器采用低电压输入方式,一般为DC3~10V,用可控硅做输出器件。
这样控制部分与大功率部分实现隔离,可抑制干扰。
图2—1—1系统基本硬件结构框图
(4)人机交互模块:
用4X1键盘和液晶显示器构成友善的人机交互界面。
(5)抗干扰模块:
使用看门狗芯片X25045,其看门狗功能将对系统起到有效的监视作用,内含512B串行E2PROM,具有掉电非易失特性,在本系统中做数据备份用。
(6)红、蓝色LED,蜂鸣器:
负责系统的报警功能。
当温度超过用户设定的上、下限值时系统将报警。
LED灯在单片机的控制下点亮,同时蜂鸣器发出报警声,通知用户采取相应的措施。
2.2温度采集转换系统
在设计此类系统时,传统的方法是通过热敏电阻或模拟集成温度传感器采集温度的模拟量,再用A/D器将转换后的数字量送给单片机,这些方案的主要缺点是精度差,(例如典型的模拟集成温度传感器AD590的精度仅为0.5℃)并且因为采用了A/D转换器使电路过于复杂。
基于简化电路,提高性价比的考虑,本设计采用集成化智能型温度传感器DS18B20完成现场温度的采集。
系统电路图如图2—2—1所示
图2—2—1温度转换采集系统电路图
DS18B20是美国DALLAS公司生产单线智能温度传感器,其采用DALLAS公司独特的“单线(1—Wire)总线”专有技术,通过串行通信接口(I/O)直接输出被测温度值(9~12位二进制数据,含符号位)。
其工作在在12位模式下时,所对应的温度分辨力高达0.0625℃。
温度/数字转换时间的典型值为93.75ms。
根据定义,单线总线只有一根线,这意味着总线上每个器件只能分时驱动单线总线,并要求每个器件必须有漏极开路输出或三态输出的特性。
DS18B20的单线接口I/O就属于漏极开路输出。
在单线总线上必须接上拉电阻,其电阻值约为5KΩ(标称值可取5.1KΩ或4.7KΩ)。
当单线总线上挂有多个从属器件时,也称之为多点总线。
单线总线杂空闲状态下呈高电平。
操作单线总线时,必须从空闲状态开始。
单线总线加低电平的转换时间超过480us时,总线上所有的器件均被复位。
在主CPU发出复位脉冲后,从属器件就发出应答脉冲(PRESENCEPULSE),来通知主CPU它已经作好了接收数据和命令的准备工作。
DS18B20与微处理器的电路接法如图2—2—2所示:
寄生电源接法
外部电源接法
图2—2—2DS18B20与微处理器连接图
而传统温度采集转换系统则通过温度传感器集成芯片将温度变化量转换成电流值变化量,输入放大电路转换为电流变化量,再输入ADC0809将模拟信号转换为数字信号。
利用单片机采集并存储采集到的数据。
系统电路图如下图2—2—3所示。
图2—2—3传统温度采集转换系统电路图
2.3升降温控制系统
本系统使用DDC控制技术。
DDC控制是当现场温度在用户设定的上、下限温度范围内时,加热器或降温器的工作随着温度接近临界值而相应调整的一种控制方式,通常所说的DDC段一般定为±5℃,当温度变化超出这个范围时,加热器或降温器被控制为DDC控制,一般有下面二种控制方式:
时间DDC型、电流DDC型,DDC控制能消除"开关"型控制产生的锯齿波形,减少对电网的冲击,如图2—3—1的DDC控制一般不用在负载变化范围较大而控制精度又较高的场合。
图2—3—1DDC控制下的现场温度曲线
此系统由继电器及其驱动电路,直流电机风扇,散热片及电加热器组成,完成温度的升降。
利用继电器及其驱动电路,直流电机风扇相组合可实现风扇的转速控制,驱动电路实际上是一个复杂的放大电路,如图2—3—2所示:
图2—3—2继电器及其驱动电路电路图
连接到直流电机风扇后,转动方向是由电压来控制的,电压为正则正转,电压为负则反转。
转速大小则是由输出脉冲的占空比来决定的,正向占空比越大则转速越快,反向转则占空比越小转速越快。
见下面图2—3—3:
图2—3—3直流电机风扇控制脉冲图
在程序设计中用P1.4控制送出脉冲。
P1.4为“1”时,输出12V;P1.4为“0”时,输出0V。
用输出脉冲后的延时时间来决定输出电压值,具体的情况将在第三章中说明。
2.4键盘显示系统
本系统的用户界面利用人机工程学原理,运用系统科学理论和系统科学方法进行设计,使其能够适合操作者的应用需求。
LCD的应用使操作者能够用容易理解的方式显示控制系统的当前状态和操作者关心的信息,例如当前时间、当前温度、上限温度、下限温度。
系统给操作者提供容易理解和充分的信息提示,以方便操作者的正确使用。
同时,还考虑了用户操作界面有较好的容错能力,提高了系统的整体综合能力。
系统的连接图如图2—4—1所示。
图2—4—1键盘显示系统电路图
本设计由74HC00芯片控制的4键键盘和液晶显示器组成,以实现用户的输入与数据输出。
第一个键的作用是配合第三个键(加1)和第四个键(减1)对进行时间设定,第二个键的作用是配合第三个键(加1)和第四个键(减1)对上、下限温度进行设定。
2.5报警系统
报警系统由声报警和光报警组成。
声报警通过P1.6接控制爱迪克系统的音效模块发声,用单片机控制P1.6产生一定频率的方波就可以实现音效模块的发声。
音效模块是一个带有扬声器的放大电路。
其电路图如图2—5—1所示。
图2—5—1报警系统(声报警)电路图
光报警由1个红色发光二极管和1个蓝色发光二极管组成,一共需要2根数据线,使用单片机直接控制。
要实现的功能是在第一种工作模式下时,当现场温度高于用户设定的上限温度时,红色发光二极管点亮;当现场温度低于用户设定的下限温度时,蓝色发光二极管点亮。
在第二种工作模式下,保持恒久熄灭状态。
其电路图如图2—5—2所示。
图2—5—2报警系统(光报警)电路图
2.6电源系统
电源的滤波、保护电路对电源有重要的意义,系统能否安全使用,很大程度上取决于电源的稳定和保护。
本设计使用4个二极管构成的桥式整流电路为其整流电路,如图2—6—1所示。
滤波电路选用电容滤波,稳压选用三稳压块7805和7812,此电路简单适用。
继电器和直流电机风扇用到12V电源,单片机等使用+5V电源。
本电源系统由U1(7805)、U2(7812)和发光二极管LED及相关阻容元件构成,其中U1输出稳定的5V电压,U1输出稳定的12V电压。
发光二极管在这里作为电源指示,R3为LED的限流电阻。
C8,C9,C10,C11为电源滤波电容。
图2—6—1电源系统电路图
2.7硬件电路设计
2.7.1系统硬件配置
采用总线型结构的设计。
由P0口作数据线,P0口和P2口共同作地址线。
2.7.2主要元件简介
1.8051单片机
8051是Intel公司于80年代初推出的8位嵌入式微控制器(内部数据总线为8位,外部数据总线为8位),它与MCS-96系统中的其它芯片相比,具有性能高、功能全、售价低廉、使用方便(48PINDIP)等优点。
8051在工业应用方面有许多明显的特点,它具有灵活方便的8位总线外围支援器扩展功能,而在数据处理方面又有8位微机的快速功能。
由于大的高度集成化已把许多常驻用的输入检测输出控制通道都制作在同一块硅片上,大大地灵活了外部连线,增强了系统的稳定性并且速度快(时钟12MHz),非常适合于工业环境下安装使用。
因此本系统CPU选用8051芯片。
8051单片机引脚采用40双列直插式封装结构。
其引脚图如图2—7—1所示。
8051CPU中的主要元件有:
高速寄存器阵列、特殊功能寄存器(SFR)、寄存器控制器和算术逻辑单元(RALU)。
它与外部通讯是通过特殊功能寄存器SFR或存储器控制器进行的。
8051CPU的主要特色是体积小,重量轻,抗干扰能力强,售价低,使用方便。
此外,通过SFR还可以直接控制I/O、A/D、PWM、串行口等部件的有效运行。
CPU内部的一个控制单元和两条总线寄存器阵列和EALU连接起来。
这两条总线是:
16位地址总线(A-BUS)和8位数据总线(D-BUS)。
数据总线仅在RALU与寄存器阵列或SFR之间传送数据,地址总线用作上述数据传送的地址总线或用作与寄存器控制器连接的多路复用地址/数据总线。
CPU对片内RAM访问是直接访问和通过寄存器R0,R1间接访问的。
8051工作时所需的时钟可通过其XTALL输入引脚由外部输入,也可采用芯片内部的振荡器。
8051的工作频率为6~12MHz。
在本系统中采用11.0592MHz频率。
图2—7—18051单片机引脚图
8051每次上电时必须复位。
所谓复位,就是让单片机应用系统在正式工作之前处于一种特定状态,即正式工作前的起点,这个任务就是由复位电路来完成。
8051单片机在引脚RESET/Vpp出现高电平时实现复位和初始化。
RESET由高电平变低电平后,单片机从0000h地址开始执行程序,其初始复位不影响内部RAM的状态,包括工作寄存器R7~R0。
在正常运行的情况下,要实现复位操作,必须使RESET引脚至少保持两个机器周期的高电平。
CPU在第二个机器周期内执行内部复位操作,以后每一个机器周期重复一次,直至RESET端电平变低。
复位期间不产生ALE及PSEN信号。
8051的内部结构框图如图2—7—2所示。
图2—7—28051单片机内部结构框图
2.1602液晶显示器
液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用。
本设计使用的字符型液晶模块是一种用5x7点阵图形来显示字符的液晶显示器,容量为1行2行16个字。
1602采用标准的16脚接口,其中VSS为地电源,VDD接5V正电源,V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,可通过一10KΩ的电位器调整对比度。
RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
RW为读写信号线,高电平时进行读操作,低电平时进行写操作。
当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。
E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。
D0~D7为8位双向数据线。
1602液晶模块内部的字符发生存储器(CGROM)存储了160个点阵字符图形,如图2-7-1所示,这些字符有:
阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。
1602液晶模块内部的控制器共有11条控制指令,如表2—7—1所示:
指令
RS
R/W
D7
D6
D5
D4
D3
D2
D1
D0
清显示
0
0
0
0
0
0
0
0
0
1
光标返回
0
0
0
0
0
0
0
0
1
*
置输入模式
0
0
0
0
0
0
0
1
I/D
S
显示开/关控制
0
0
0
0
0
0
1
D
C
B
光标或字符移位
0
0
0
0
0
1
S/C
R/L
*
*
置功能
0
0
0
0
1
DL
N
F
*
*
置字符发生存储器地址
0
0
0
1
字符发生存储器地址(ACG)
置数据存储器地址
0
0
1
显示数据存储器地址(ADD)
读忙标志或地址
0
1
BF
计数器地址(AC)
写数到CGRAM或DDRRAM
1
0
要写的数据
从CGRAM或DDRRAM
1
1
读出的数据
表2—7—11602液晶模块指令表
1602液晶模块的读写操作、屏幕和光标的操作都可以通过指令编程来实现。
(说明:
1为高电平、0为低电平)指令1:
清显示,指令码01H,光标复位到地址00H位置指令2:
光标复位,光标返回到地址00H指令3:
光标和显示模式设置I/D:
光标移动方向,高电平右移,低电平左移S:
屏幕上所有文字是否左移或者右移。
高电平表示有效,低电平则无效指令4:
显示开关控制。
D:
控制整体显示的开与关,高电平表示开显示,低电平表示关显示C:
控制光标的开与关,高电平表示有光标,低电平表示无光标B:
控制光标是否闪烁,高电平闪烁,低电平不闪烁指令5:
光标或显示移位S/C:
高电平时移动显示的文字,低电平时移动光标指令6:
功能设置命令DL:
高电平时为4位总线,低电平时为8位总线N:
低电平时为单行显示,高电平时双行显示F:
低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符指令7:
字符发生器RAM地址设置指令8:
DDRAM地址设置指令9:
读忙信号和光标地址BF:
为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。
指令10:
写数据指令11:
读数据
1602液晶显示模块可以和单片机8051直接连接,电路如图2—7—3所示。
图2—7—31602液晶模块与8051单片机连接图
液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。
要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符,表2—7—2是1602的内部显示地址。
12345678910111213141516
1
000102030405060708090A0B0C0D0E0F
2
404142434445464748494A4B4C4D4E4F
表2—7—21602液晶模块内部显示地址图
比如第二行第一个字符的地址是40H,那么是否直接写入40H就可以将光标定位在第二行第一个字符的位置呢?
这样不行,因为写入显示地址时要求最高位D7恒定为高电平1所以实际写入的数据应该是01000000B(40H)+10000000B(80H)=11000000B(C0H)
以下是在液晶模块的第二行第一个字符的位置显示字母“A”的程序:
RSEQUP3.0
RWEQUP3.1
EEQUP3.5
ORG0000H
MOVP1,#00000001B;清屏
ACALLENABLE
MOVP1,#00111000B;8位2行5x7点阵
ACALLENABLE
MOVP1,#00001111B;显示器开、光标开、闪烁开
ACALLENABLE
MOVP1,#00000110B;文字不动,光标自动右移
ACALLENABLE
MOVP1,#0C0H;写入显示起始地址(第二行第一个位置)
ACALLENABLE
MOVP1,#01000001B;字母A的代码
SETBRS;RS=1
CLRRW;RW=0
CLRE;E=0
ACALLDELAY
SETBE;E=1
AJMP$
ENABLE:
CLRRS;写入控制命令的子程序
CLRRW
CLRE
ACALLDELAY
SETBE
RET
DELAY:
MOVP1,#0FFH;判断液晶显示器是否忙的子程序
CLRRS
SETBRW
CLRE
NOP
SETBE
JBP1.7