远程温度控制系统毕业设计Word下载.docx
- 文档编号:21782502
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:60
- 大小:1.54MB
远程温度控制系统毕业设计Word下载.docx
《远程温度控制系统毕业设计Word下载.docx》由会员分享,可在线阅读,更多相关《远程温度控制系统毕业设计Word下载.docx(60页珍藏版)》请在冰豆网上搜索。
≥300MHZ
(3)发射距离:
≥500m
(4)误码率:
≤10-6
2.2总体设计框图及概述述
图2.0系统总体设计框图
图2.1键盘控制面示意图
如图2.1所示,键盘控制面采用2*4式键盘,K0,K1的功能分别是左移一位和右移一位;
K4,K5的功能分别是加1和减1;
K2,K3,K6分别是向从系统00,01,10发送温度设定值的功能键。
K7为清楚报警鸣声且熄灭报警提示红绿灯。
编码解码部分采用通用编解芯片PT2262/PT2272。
PT2262/PT2272工作电压低,可进行地址编码,地址码多达531441种,数据最多可达6位。
发射接收部分采用F05T,J04T模块,发射接收频率为433M,工作电压3—12V,频率稳定度为0.00001。
温度传感器采用“一线总线”数字温度传感器DS18B20,DS18B20测量范围为-55℃—125℃,测量精度为±
0.5℃。
2.3温度采集系统的设计
采用典型的反馈式温度控制系统,如图2.2所示。
图2.2温度采集系统框图
2.4数字PID控制
数字PID控制在生产过程中是一种最普遍采用的控制方法,在冶金、机械、化工等行业中获得广泛的应用。
下面简单介绍PID控制的基本原理、数字PID控制算法及其改进和PID的参数整定及其发展。
2.4.1PID控制原理
在模拟控制系统中,控制器最常用的控制规律是PID控制。
PID控制器是一种线性控制器,它根据给定值r(t)与实际输出值c(t)构成控制偏差e(t)=r(t)-c(t)。
将偏差的比例、积分和微分通过线形组合构成控制量,对被控对象进行控制,故称PID控制器。
其控制规律为:
u(t)=Kp[e(t)+1/Ti∫e(t)dt+Tdde(t)/dt]
(1)
或写成传递函数形式
G(S)=U(S)/E(S)=Kp(1+1/TiS+TdS)
(2)
式中Kp是比例系数,Ti是积分时间常数,Td是微分时间常数。
简单地说,PID控制器各校正环节的作用如下:
(1)比例环节:
及时成比例地反映控制系统的偏差信号e(t),偏差一旦产生,控制器立即产生控制作用,以减少偏差。
(2)积分环节:
主要用于消除静差,提高系统的无差度。
积分作用取决于积分时间常数Ti,Ti越大,积分作用越弱,反之则越强。
(3)微分环节:
能反映偏差信号的变化趋势(变化速率),并能在偏差信号值变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减小调节时间。
2.4.2数字PID控制算法
在计算机控制系统中,使用的是数字PID控制器,数字PID控制算法通常又分为位置式和增量式控制算法。
由于计算机控制是一种采样控制,它只能根据采样时刻的偏差值计算控制量,因此模拟式中的积分和微分项不能直接使用,需要进行离散化处理。
以一系列的采样时刻点kT代表连续时间t,以和式代替积分,以增量代替微分,作近似变换。
采样周期足够短,才能保证有足够的精度。
(1)位置式PID控制算法
由于计算机输出的u(k)直接去控制执行机构,u(k)的值和执行机构的位置是一一对应的,所以通常称
u(k)=Kp{e(k)+T/Ti∑e(j)+Td/T[e(k)-e(k-1)]}}(3)
为位置式PID控制算法。
这种算法的缺点是:
由于全量输出,所以每次输出均与过去的状态有关,计算时要对e(k)进行累加,计算机运算工作量大。
而且,因为计算机输出的u(k)对应的是执行机构的时间位置,如计算机出现故障,u(k)大幅度变化,会引起执行机构位置的大幅度变化,这种情况往往是生产实践中不允许的,在某些场合,还可能造成重大的生产事故,因而产生了增量式PID控制的控制算法。
(2)增量式PID控制算法
所谓增量式PID是指数字控制器的输出只是控制量的增量。
△u(k)=Ae(k)-Be(k-1)+Ce(k-2)(4)
式中A=Kp(1+T/Ti+Td/T)
B=Kp(1+2Td/T)
C=KpKd/T
采用增量式算法时,计算机输出的控制增量对应的是本次执行机构位置的增量。
对应阀门实际位置的控制量,即控制量的积累需要采用一定的方法来解决,例如用有累积作用的元件来实现;
而目前较多的是利用算式通过执行软件来完成。
增量式控制虽然只是算法上作了一点改进,却带来了不少优点:
由于计算机输出增量,所以误动作时影响小,必要时可用逻辑判断的方法去掉。
手动/自动切换时冲击小,便于实现无扰动切换。
此外,当计算机发生故障时,由于输出通道或执行装置具有信号的锁存作用,故仍能保持原值。
算式中不需要累加。
控制增量的确定,仅与最近K次的采样值有关,所以较容易通过加权处理而获得比较好的控制效果。
但增量式控制也有其不足之处:
积分截断效应大,有静态误差;
益出的影响大。
因此,在选择时不可一概而论,一般认为在以晶闸管作为执行器或在控制精度要求高的系统中,可采用位置算法,而在以步进电机或电动阀门作为执行器的系统中,则可采用增量控制算法。
2.4.3改进的数字PID控制算法
在计算机控制系统中,PID控制规律是用计算机程序来实现的,因此它的灵活性很大。
一些原来在模拟PID控制器中无法实现的问题,在引入计算机以后,就可以得到解决,于是产生了一系列的改进算法:
积分分离PID控制算法、遇限削弱积分PID控制算法、不完全微分PID控制算法、微分先行PID控制算法和带死区的PID控制算法等。
(1)积分分离PID控制算法
在普通的PID数字控制器中引入积分环节的目的,主要是为了消除静差、提高精度。
但在过程的启动、结束或大幅度增减的设定值时,短时间内系统输出有很大的偏差,会造成PID运算的积分积累,致使算得的控制量超过执行机构困难最大的动作范围对应的极限控制量,最终引起系统较大的超调,甚至引起系统的振荡,这是某些生产过程中绝对不允许的。
引进积分分离PID控制算法,既保持了积分作用,又减小了超调量,使得控制性能有了较大的改善。
其具体实现如下:
根据实际情况,人为设定一阀值q>
0。
当|e(k)|>
q时,也即偏差值|e(k)|比较大时,采用PD控制,可避免过大的超调,又使系统有较快的响应。
当|e(k)|<
=q时,也即偏差值|e(k)|比较小时,采用PID控制,可保证系统控制精度。
(2)遇限削弱积分PID控制算法
积分分离PID控制算法在开始时不积分,而遇限削弱积分PID控制算法则正好与之相反,一开始就积分,进入限制范围后即停止积分。
遇限削弱积分PID控制算法的基本思想是:
当控制进入饱和区以后,便不再进行积分项的累加,而只执行削弱积分的运算。
因而,在计算u(k)时,先判断u(k-1)是否已超出限制值。
若u(k-1)>
umax,则只累加负偏差;
若u(k-1)<
umax,则累加正偏差。
遇限削弱积分PID控制算法可以避免控制量长时间停留在饱和区。
(3)不完全微分PID控制算法
微分环节的引入,改善了系统的动态特性,但对于干扰特别敏感。
在误差扰动突变时微分项有不足之处。
即微分项仅在第一个周期有输出,且幅值为KD=KP×
TD/T,以后均为零。
该输出的特点为:
微分项的输出仅在第一个周期起激励作用,对于时间常数较大的系统,其调节作用很小,不能达到超前控制误差的目的。
幅值一般比较大,容易造成计算机中数据溢出。
克服上述缺点的方法之一是,在PID算法中加一个一阶惯性环节(低通滤波器),既可构成不完全微分PID控制。
可以将低通滤波器直接加在微分环节上,也可将低通滤波器加在整个PID控制器之后。
引入不完全微分后,微分输出在第一个采用周期内的脉冲高度下降,之后又逐渐衰减。
所以不完全微分具有较理想的控制特性。
尽管不完全微分PID控制算法比普通PID控制算法要复杂些,但由于其良好的控制特性,近些年来越来越得到广泛的应用。
(4)微分先行PID控制算法
微分先行PID控制的特点是只对输出量c(t)进行微分,而对给定值r(t)不作微分。
这样在改变给定值时,输出不会改变,而被控量的变化,通常总是比较缓和的。
这种输出量先行微分控制适用于给定值r(t)频繁升降的场合,可以避免给定值升降时所引起的系统振荡,明显地改善了系统的动态特性。
(5)带死区的PID控制算法
在计算机控制系统中,某些系统为了避免控制作用过于频繁,消除由于频繁动作所引起的振荡,可采用带死区的PID控制。
设死区为e0,当|e(k)|≤e0时,令e'
(k)=0;
e0时,令e'
(k)=e(k)。
式中,死区是一个可调的参数,其具体数值可根据实际控制对象由实验确定。
若e0值太小,使控制动作过于频繁,达不到稳定被控对象的目的;
若e0太大,则系统将产生较大的滞后。
此控制系统实际上是一个非线性系统。
2.4.4PID参数整定
在数字控制系统中,PID参数是影响调节品质的重要参数,闭环系统正式使用前,必须对PID参数进行整定,整定点通常设定在目标值。
整定PID参数的原则:
(1)要使控制系统的过程过渡时间尽量短
(2)最大偏差和超调量要小
(3)扰动作用后减幅振荡的次数尽量少
(4)恒温曲线要求尽可能平直;
静差要小
整定PID参数的方法主要有:
(1)理论整定法:
所谓理论整定法是从PID调节规律的概念出发,根据对象的特性和控制准确度的要求从理论上得出各参数的整定数据。
从PID的理论概念分析可知:
要使过渡过程尽可能短,应选较小的P,较短的Ti和适量的Td
要使超调量尽量小,使系统减幅振荡,应选较大的P,较长的Ti和尽可能短Td
整定时既要满足前者,又不可忽视后者,从优选法的观点出发考虑到PID参数的折中选取,故将P和I整定到中间值,而D参数的整定应该根据炉体的具体使用情况而定。
若在系统的调节过程中不会有过大的阶跃扰动出现,D应尽可能小,甚至不用
(2)经验法:
实际上是一种试凑法。
PID参数预先放在哪里以及反复试凑的程序是经验法的核心,整定参数预先放置的位置要根据对象特性及参考仪表的量程而定。
对于一般热处理炉的温度调节系统,可按下列参考数据进行:
为20%~70%或更小;
Ti为(3~10)min;
Td为(0.5~3)min。
试凑程序可先用P,再加I,最后再D。
炉温控制的准确度,不但取决于仪表本身的准确度和性能,也取决于它所控制对象的特性,要使仪表使用合理,并达到最佳控制,必须使仪表和炉体很好地配合,正确地调整。
2.5可行性分析
可行性分析与总体设计对于实现一个设计方案来说是必不可少的,而在对一个方案进行总体设计之前必须对其进行可行性分析。
盲目行动很有可能导致失败,从而造成不必要的经济损失和资源的浪费。
而进行可行性分析与明确所要完成的任务的目标和所选的器件是分不开的。
本次远程温度控制的设计要达到如下目标:
(1)主系统采用键盘输入方式设定温度值并显示;
(2)利用无线电进行通信;
(3)一对多点通信,对各通信点进行编址;
(4)对温度进行控制;
(5)温度信号采集。
综合考虑上面描述的功能并结合自己的具体情况,选用如下的器件来实现:
选用常用的89S51单片机作为控制器;
选用带地址编码的编码芯片PT2262以及与之配套的解码芯片PT2272。
选用发射模块F05T和接收模块J04T进行无线电通信。
选用数字温度传感器DS18B20进行温度采集。
3硬件设计
3.1温度采集电路设计
DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO-92小体积封装形式;
温度测量范围为-55℃~+125℃,可编程为9位~12位A/D转换精度,测温分辨率可达0.0625℃,被测温度用符号扩展的16位数字量方式串行输出;
其工作电源既可在远端引入,也可采用寄生电源方式产生;
多个DS18B20可以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。
3.1.1DS18B20的内部结构
DS18B20内部结构如图3.1所示。
图3.1DS18B20的内部结构
从图中可以看出,DS18B20主要由4部分组成:
64位ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。
DS18B20的管脚排列如图3.2所示,DQ为数字信号输入/输出端;
GND为电源地;
VDD为外接供电电源输入端。
ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码,每个DS18B20的64位序列号均不相同。
64位ROM的排的循环冗余校验码(CRC=X8+X5+X4+1)。
ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。
3.2DS18B20的管脚排列
DS18B20中的温度传感器完成对温度的测量,用16位符号扩展的二进制补码读数形式提供,以0.0625℃/LSB形式表达,其中S为符号位。
例如+125℃的数字输出为07D0H,+25.0625℃的数字输出为0191H,-25.0625℃的数字输出为FF6FH,-55℃的数字输出为FC90H。
23
22
21
20
2-1
2-2
2-3
2-4
温度值低字节MSBLSB
S
25
24
温度值高字节
高低温报警触发器TH和TL、配置寄存器均由一个字节的EEPROM组成,使用一个存储器功能命令可对TH、TL或配置寄存器写入。
其中配置寄存器的格式如下:
R1
R0
1
MSBLSB
R1、R0决定温度转换的精度位数:
R1R0=“00”,9位精度,最大转换时间为93.75ms;
R1R0=“01”,10位精度,最大转换时间为187.5ms;
R1R0=“10”,11位精度,最大转换时间为375ms;
R1R0=“11”,12位精度,最大转换时间为750ms;
未编程时默认为12位精度。
高速暂存器是一个9字节的存储器。
开始两个字节包含被测温度的数字量信息;
第3、4、5字节分别是TH、TL、配置寄存器的临时拷贝,每一次上电复位时被刷新;
第6、7、8字节未用,表现为全逻辑1;
第9字节读出的是前面所有8个字节的CRC码,可用来保证通信正确。
3.1.2DS18B20的工作时序
DS18B20的一线工作协议流程是:
初始化→ROM操作指令→存储器操作指令→数据传输。
其工作时序包括初始化时序、写时序和读时序,如图3.3(a)(b)(c)所示。
(a)初始化时序
(b)写时序
(c)读时序
图3.3DS18B20的工作时序图
3.1.3DS18B20与单片机的典型接口设计
图3.4以MCS-51系列单片机为例,画出了DS18B20与微处理器的典型连接。
图3.4(a)中DS18B20采用寄生电源方式,其VDD和GND端均接地,图3.4(b)中DS18B20采用外接电源方式,其VDD端用3V~5.5V电源供电。
3.4(a)寄生电源工作方式
3.4(b)外接电源工作方式
图3.4(c)DS18B20与微处理器的典型连接图
单片机系统所用的晶振频率为11.0592MHz,根据DS18B20的初始化时序、写时序和读时序,编写了如下的DS18B20驱动程序:
/*=========================================================================
功能:
实现对DS18B20的读取
原理:
单总线协议
注意:
单总线协议对延时要求比较严格,此程序中采用的是11.0592M的晶振,
====================================================================================================*/
//#include"
reg51.h"
sbitDQ=P1^4;
//定义通信端口
//延时函数
/*
voiddelay(unsignedinti)
{
while(i--);
}
*/
//初始化函数
Init_DS18B20(void)
unsignedcharx=0;
DQ=1;
//DQ复位
delay(8);
//稍做延时
DQ=0;
//单片机将DQ拉低
delay(80);
//精确延时大于480us
//拉高总线
delay(14);
x=DQ;
//稍做延时后如果x=0则初始化成功x=1则初始化失败
delay(20);
//读一个字节
ReadOneChar(void)
unsignedchari=0;
unsignedchardat=0;
for(i=8;
i>
0;
i--)
{
//给脉冲信号
dat>
>
=1;
if(DQ)
dat|=0x80;
delay(4);
}
return(dat);
//写一个字节
WriteOneChar(unsignedchardat)
unsignedchari=0;
for(i=8;
i>
i--)
DQ=dat&
0x01;
delay(5);
//delay(4);
//读取温度
ReadTemperature(void)
unsignedchara=0;
unsignedcharb=0;
unsignedintt=0;
floattt=0;
Init_DS18B20();
WriteOneChar(0xCC);
//跳过读序号列号的操作
WriteOneChar(0x44);
//启动温度转换
//跳过读序号列号的操作
WriteOneChar(0xBE);
//读取温度寄存器等(共可读9个寄存器)前两个就是温度
a=ReadOneChar();
b=ReadOneChar();
t=b;
t<
<
=8;
t=t|a;
tt=t*0.0625;
//t=tt*10+0.5;
//放大10倍输出并四舍五入---此行没用
return(t);
main()
while
(1)
i=ReadTemperature();
//读温度
……
子程序ReadTemperature读取的温度值高位字节送WDMSB单元,低位字节送WDLSB单元,再按照温度值字节的表示格式及其符号位,经过简单的变换即可得到实际温度值。
如果一线上挂接多个DS18B20、采用寄生电源连接方式、需要进行转换精度配置、高低限报警等,则子程序ReadTemperature的编写就要复杂一些。
3.2单片机控制电路设计
3.2.1AT89S51单片机
AT89S51是一种带4K字节闪烁可编程可擦除只读存储器FPEROM的低电压,高性能CMOS8位微处理器,俗称单片机。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89S51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
3.2.1.1主要特性:
·
与MCS-51兼容·
128*8位内部RAM
4K字节可编程闪烁存储器·
32可编程I/O线
寿命:
1000写/擦循环·
两个16位定时器/计数器
数据保留时间:
10年·
5个中断源
全静态工作:
0Hz-24Hz·
可编程串行通道
三级程序存储器锁定·
低功耗的闲置和掉电模式
片内振荡器和时钟电路
3.2.1.2主要功能介绍
VCC:
供电电压+5VGND:
接地
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 远程 温度 控制系统 毕业设计