毕业论文温 度 测 控 系 统.docx

上传人:b****7 文档编号:25219012 上传时间:2023-06-06 格式:DOCX 页数:45 大小:1.04MB
下载 相关 举报
毕业论文温 度 测 控 系 统.docx_第1页
第1页 / 共45页
毕业论文温 度 测 控 系 统.docx_第2页
第2页 / 共45页
毕业论文温 度 测 控 系 统.docx_第3页
第3页 / 共45页
毕业论文温 度 测 控 系 统.docx_第4页
第4页 / 共45页
毕业论文温 度 测 控 系 统.docx_第5页
第5页 / 共45页
点击查看更多>>
下载资源
资源描述

毕业论文温 度 测 控 系 统.docx

《毕业论文温 度 测 控 系 统.docx》由会员分享,可在线阅读,更多相关《毕业论文温 度 测 控 系 统.docx(45页珍藏版)》请在冰豆网上搜索。

毕业论文温 度 测 控 系 统.docx

毕业论文温度测控系统

 

四川师范大学毕业设计

 

温度测控系统

 

学生姓名:

XXX

所在系:

通信工程

专业名称:

XXX

班级:

XXX

学号:

XXX

指导教师:

XXX

 

四川师范大学

xxxx年x月

数字温度测控系统

学生:

xx指导教师:

xxx

内容摘要:

信息时代的今天,电子技术得到了突飞猛进的发展。

伴随着电子技术的飞速发展,现代电子产品更是渗透到了社会的各个领域,并有力地推动着社会生产力的发展和社会信息化程度的提高。

温度是一个和人们生活环境有着密切关系的物理量,也是一个人们在科学实验和生产活动中经常需要加以监测或控制的重要物理量。

温度控制技术是一种比较重要的工业技术,不仅在化工、医疗、航空、航天等高科技领域,还应用在人们的日常生活中。

本文从温控模型和特点出发,介绍了一种适合模糊温度控制的方法,并给出了单片机模糊温度控制的实例,并对温度进行良好的精度控制.本系统具有设置水温、实时显示温度,控制温度和报警保温等功能,它具有结构简单、实现容易,成本低,具有实用价值等特点。

关键词:

单片机  数字温度传感器模糊温度控制

 

Temperatureobserveandcontrolsystem

Abstract:

Theinformationagetoday,electronictechnologyhasbeenrapiddevelopment.Alongwiththerapiddevelopmentofelectronictechnology,modernelectronicproductsistoinfiltrateintothesocietyinvariousfields,andhaveeffectivelypromotedthedevelopmentofsocialproductiveforcesandsocialinformation,alsoincreased.

Temperatureisanandpeople'slivingenvironmenthavenearconcernofphysicsquantityisalsotheimportantphysicsquantitythatapersonsusuallyneedstotakeintomonitororcontrolsinsciencetheexperimentwiththeproduction.Thetemperaturecontroltechniqueisakindofmoreimportantindustrialtechnique,notonlyatchemicalengineering,medicaltreatment,aviation,aerospaceetc.high-techrealm,alsoappliedinpeople'sdailylife.Fromtemperaturecontrolmodelandcharacter,thetextintroducesamethodwhichitfitsforfuzzycontroloftemperature,andgivesanexampleofmicrocomputerfuzzycontroloftemperature.Thesystempossessesofsettingwatertemperature,displayingandalarmingit.Besides,ithasfeaturesofsimplestructure,lowcost,easytoimplement,andsoon.

Keywords:

microcomputerdigitaltemperaturetransducer

fuzzytemperaturecontrol

 

 

温度测控系统

一、引言

   在现代化的工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。

例如:

在冶金工业、化工生产、电力工程、造纸行业、机械制造和食品加工等诸多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制。

采用MCS-51单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。

因此,单片机对温度的控制问题是一个工业生产中经常会遇到的问题。

本文以它为例进行介绍,希望能收到举一反三和触类旁通的效果。

二、系统硬件设计

(一)系统总体设计

1.设计思想

根据温度控制器的功能要求,并结合对PIC16F87X系列单片机的资源分析,采用此系列中的主流型号PIC16F877作为电路系统的控制核心,数字温度传感器测温,LED显示温度,按键设定目标温度,模糊温度控制,保温报警等几个主要模块组成.首先选择相应具体的工作实现元器件及方案。

如下:

(1)算法的选择

目前温度控制系统中的控制算法多为PID算法,但PID算法由于微分作用导致高频干扰大,易引起超调,参数调整也麻烦,同时考虑到水温控制系统本身有一个大滞后的特点,故本系统选用了目前国际上较流行的从能量控制的观点出发,引入模糊控制思想而提出的变参数控制算法控制.控制系统在其特性或参数发生摄动时仍可使品质指标保持不变的性能。

鲁棒性是英文robustness一词的音译,也可意译为稳健性。

鲁棒性原是统计学中的一个专门术语,70年代初开始在控制理论的研究中流行起来,用以表征控制系统对特性或参数摄动的不敏感性。

在实际问题中,系统特性或参数的摄动常常是不可避免的。

产生摄动的原因主要有两个方面,一个是由于量测的不精确使特性或参数的实际值会偏离它的设计值(标称值),另一个是系统运行过程中受环境因素的影响而引起特性或参数的缓慢漂移。

因此,鲁棒性已成为控制理论中的一个重要的研究课题,也是一切类型的控制系统的设计中所必需考虑的一个基本问题。

对鲁棒性的研究主要限于线性定常控制系统,所涉及的领域包括稳定性、无静差性、适应控制等。

鲁棒性问题与控制系统的相对稳定性和不变性原理有着密切的联系,内模原理的建立则对鲁棒性问题的研究起了重要的推动作用。

模糊控制算法的基本原理可采用解析式描述为:

u=k*e+(1-k)*c;其中,e,c,k为经过量化和模糊化的控制变量,相应的论域分别为温差(当前温度和目标温度的差值)、温差变化率及控制量(当前温度与上一个时刻温度的差值);k为调整因子。

其基本思想是通过调整k的大小,可改变对差量和差量变化率的不同加权程度。

在实际系统中,系统在不同的状态下,对控制规则中的差量e和差量变化率c有不同的要求。

如差量较大时,控制系统的主要任务是减小温差,此时对差量加权应该大些;当差量较小时,控制系统的主要任务是使系统尽快稳定,减小超调,此时要求在控制规则中差量变化率加权大些。

基于这个思想,我组提出了模糊温度控制方法,在规定的时间内,根据不同的温差和目标温度来改变加热时间与休息时间的在控比,从而达到控制的目的.

算法通过软件实现,此算法使系统能自行控制加热程度,使系统具有无超调和恒温精度高,具有稳定性好,控制参数对系统的依赖性弱等优点。

(2)传感器的选择

由于本设计是精确控制系统,并且有控制范围上的要求,所以在选择传感器上要着重考虑其精度和测试范围。

AD公司的AD590和AD7416都包含一个可以精确测量环境温度的片内温度传感器,但AD590是模拟传感器,需对温度模拟信号进行数字化处理,在调理和放大信号时,又会带来新的误差,影响精度,而AD7416包含一个10位AD转换器,是一个以0.25的分辨力将温度数字化的数字式温度传感器,,并且其测温理论范围为-55度到125度,因其精确度高,范围可选这两大特点,故本设计的传感器选为AD7416。

(3)单片机的选择

现在,市场上的单片机种类繁多,例如51、PIC等。

而51系列单片机不具有IIC端口,要对其进行模拟设置;并且相对PIC来说,其指令也较复杂。

本设计选用了指令精简、集成度高,并具有IC接口的PIC单片机,而PIC16F877这一型号的PIC单片机已能够满足系统的需要。

2.设计步骤

系统的工作原理如图1所示:

数字温度传感器将温度测量出来,送给单片机通过软件控制并用LED数码管显示出来,人工设置目标温度通过加热水温,使水温达到目标温度。

 

图1整体系统框图

3.系统计算

由于本系统采用AD式的数字温度传感器的精度为0.25℃,所以温度测量精度为0.3℃,通过实验我们的控制精度为0.4℃。

(二)单元电路的功能原理分析

基本硬件电路图如图所示。

在本系统中单片机的引脚分布:

RA0用于报警,RA1用于控制继电器,RA3用于启动加热开关,MCLR用于复位,RA2是步进按纽,RD2~RD7用于控制LED的扫描,RC3~RC4分别是时钟线信号和数据线信号。

1.温度测量

测温元件采用AD公司的单线数字温度传感器AD7416。

AD7416提供十位温度读数,测量范围-55℃~+125℃,采用独IC总线协议,只需一根口线即实现与MCU的双向通讯,具有连接简单,高精度,高可靠性等特点。

在工作时,通过总线向其提供电源,单片机发出指令码读取温度值。

每400微秒取样一次,取4次温度值的平均值。

每0.5秒刷新一次。

2.显示电路

我们通过实际观察当时当地的温度得知,温度不会达到100℃度。

温度采用三位七段码显示0℃~99。

9℃。

对温度进行循环扫描显示,二个LED用于当前按键功能设定。

3.加热控制电路

单片机通过光电耦合对继电器进行控制,用来切断或接通加热管电源,从而达到对水温的控制。

4.按键设定温度

本次是采用软件来实现的,每5毫秒检测一次按键,如果连续两次均为按下状态,则置按键状态位有效。

此后一直等到按键状态位清零再重新开始检测。

(三)电路图

图2电路图

(四)发挥部分设计

PIC16F877本身具有看门狗定时器,当系统出现异常时,能自动进行掉电保护和系统复位。

系统采用硬件计数器来计数,提高CPU的工作效率。

三、系统软件的设计

系统中键盘扫描、保温等子程序都通过查询实现,并采用4MHz的时钟频率,对指令的运行时间进行了精确计算和设计,保证软件的可靠性和稳定性。

(一)程序的主流程图

 

图3程序的主流程图

(二)各个功能模块流程

温度传感器温度数字采集部分

1.AD7416的引脚配置如下图:

 

图4AD7416的引脚配置

2.引脚说明

表1引脚表

引脚号

名称

说明

1

SDA

数字I/O、双向数据串行总线、漏极开路输出

2

SCL

数字输入、串行总线时钟

3

OT1

数字输出、超温掉电输出(漏极开路)

4

GND

电源地

5~7

A2~A0

数字输入、串行总线地址可编程的低3位

8

+VDD

正电源电压,+2.7V至+5.5V

3.从AD7416中读数据

从AD7416读数据是一或二字节的操作。

读配置寄存器的内容是一个单字节的操作,若从温度值寄存器中读数据是一个二字节的操作,如下图:

 

图5AD7416中读数据图

下面即为读数字温度的流程图:

图6温度流程图

按键设置温度部分

M是记录数的十位,N是记录数的个位;

设置端口1即RC0=0;RC1=1,

设置端口2即RC0=1;RC1=0;

图7温度设置框图

(三)温度控制模块

E=目标温度与当前温度之差;

c=当前温度与上一时刻温度之差;

u=k*e+(1-k)c;k为常数;

当目标温度与当前温度的差值大于7℃时,系统采用全功率加热,否则采用模糊温度控制.在模糊温度控制的过程中,设计采用硬件定时器TRM1,TRM2分别作为定时采样周期和控制周期.TRM1的采样周期为1.6S,TRM2的控制周期为533MS,即为1/3的TRM1的采样周期.在533MS内,系统可根据参数U的不同实时修正加热时间与休息时间的在控比.如20%u说明加热时间与休息时间为20%,40%u说明加热时间与休息时间为40%。

请见温度和系统工作波形图:

 

表2温度与常数关系表

温度T

0~30

30~40

40~50

50~60

60~70

70~80

80~90

90~100

其他

常数K

0.3847

0.4686

0.5289

0.6585

0.7686

1.5767

1.8554

2.1365

0.5

温度工作波形图如下:

 

图8温度工作波形

 

系统工作波形

图:

图9系统工作波形

图10温度控制框图

其他功能模块

数据处理、保温、定时计数等其他功能程序都根据程运行时间进行了统筹设计,在此不再进行详述。

四、系统组成

(一)PCB板

 

图11PCB板

(二)3DPCB板

图123DPCB板

(三)结构工艺及说明

我们在上图空白中,添加了继电器,结构美观,简单整齐。

五、系统调试

(一)电路测试

电路焊接无误后,先将数字温度传感器放到水里,LED会显示出当前水的温度,再放一支标准温度计与之比较,若几乎相等,则说明电路无误;再设定目标温度,若可以自动加热,使达到目标温度,则说明电路测试无误,实验可以正常进行。

(二)仪器的使用

首先连接好相应的电源线,将温度计和传感器放在水里,此时数码管会显示出当前温度值,用户可以根据需要设定目标温度值,按下加热开关可开始加热。

当温度达到你所想要的温度时,系统会自动断电,接着系统它又会进入保温系统,进行保温。

(三)测试的结果

根据测试得到的部分实验数据如下:

实验数据验证说明,测量误差为0.3℃

控制误差为0.4℃,因此本系统的设计不管是在采样控制显示温度,还是在实时处理显示精度上,都取得了理想的效果。

表3温度测试结果表

当前温度值

20.5

20.5

30

40

50

60

50.5

13

11

80

目标温度值

60

30

40

50

70

80

60

40

20

90

精确温度值

60.3

30.2

40.2

50.0

70.5

80.1

60.3

40

20.3

89.9

实测温度值

60.4

30.3

40.2

49.8

70.4

80.2

60.2

40.2

20.2

90.2

测量精度

0.1

0.1

0

0.2

0.1

0.1

0.1

0.2

0.1

0.3

控制精度

0.4

0.3

0.2

0.2

0.4

0.2

0.2

0.2

0.2

0.2

(四)发挥部分测试

当温度达到目标温度后,系统会自动报警提醒用户。

这时候,系统会进入保温状态。

温度时温度达到的最高温度与目标温度的差值只有0.3的误差。

 

六、结论与讨论

本次实验采用了PICC编程方式,实现了温度的测量与控制,完全达到了本次实验的要求,更重要的是该实验的测量误差小于0.3℃度,控制误差小于0.4℃度,已基本实现本实验扩展部分的要求。

它可以广泛用于温度测量精度要求比较高的场面,实现简单,成本低。

综上所示,本系统的方案具有实用推广价值。

本系统通过添加一个传感器,将其贴放在电热杯的内壁上,系统开始加热,若温度迅速上升,则说明杯中水不足,很有可能为干烧,为不安全加热,用户请注意,这属于该系统需要改进的地方。

 

致谢

在此次的毕业设计过程中让我把所学的电路知识得到了实践,使得以前没有应用的实践知识,也得到了充分的发挥和体现。

当然我能顺利的完成这次毕业设计,首先感谢我的导师,他为本次的毕业设计倾注了大量的心血。

由于我的知识欠缺和经验不足,一开始对我的毕业设计很缺乏信心,他总是笑着说没问题,还亲自帮我找了参考书籍,减少了我不少心理压力。

在设计期间,导师也是很耐心的指导我,为我解答疑难,使我顺利地完成了集成开关稳压电源设计。

本课题的研究工作是在导师的细心指导和关怀下才得以顺利完成。

从论文的选题、设计过程、论文的结构到最后的定稿,都得到导师细心的指导和提携。

导师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我收益匪浅。

他无论在理论上还是在实践中,都给予我很大的帮助,使我得到不少的提高,这对于我今后的学习和工作都是一种巨大的帮助。

从开始的系统策划到最后的论文完成,都是在他的指导和帮助下完成的,而且他们给了我们很多技术上的支持。

通过这次毕业设计,我不仅达到了完成设计任务的目的,还培养了我分析问题、解决问题的能力。

在这次的设计过程中,领导和导师的大力支持,这些都将对我在以后的学习和工作中有很大的帮助。

 

附录

程序清单

#include//头文件

unsignedchars1[4],s2[4];//采集温度数据并存储到两个数组中,高字节存到S1中,低字节存到S2中

unsignedintcounter1,counter2,figure1=2,figure2,flag2;//定时器,目标温度,标志位申明

unsignedintnum1,num2,flag1=0,i,j,m;//采集温度数据num1:

整数位,num2:

小数位,启动标志位flag1及延时变量申明

doubley,temp,e,c,t,u,k;//模糊控制参数申明

constchartable[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//不带小数点笔段码

constchartable0[10]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};//带小数点笔段码

/*系统I/O端口初始化子程序*/

voidINITIAL()

{

OPTION=0X0F;

ADCON1=0X07;//设定RA口为变通数字端口

TRISD=0;

TRISB=0;

PORTD=0;

PORTB=0;

TRISA2=1;

TRISA3=1;

TRISC0=0;

TRISA0=0;

TRISA1=0;

TRISC1=0;

RC0=0;

RC1=0;

RA0=0;

RA1=0;

}

//tmr1初始化子程序

voidtmr1int()

{

TMR1IF=0;

PEIE=1;

TMR1IE=1;

T1CON=0X30;

}

//tmr2初始化子程序

voidtmr2int()

{

TMR2IF=0;

PEIE=1;

TMR2IE=1;

T2CON=0X7B;

PR2=255;

}

//i2c初始化子程序

voidi2cint()

{

SSPCON=0X08;//初始化sspcon寄存器

TRISC3=1;//设置scl为输入口

TRISC4=1;//设置sda为输入口

SSPSTAT=0X80;//初始化sspstat寄存器

SSPADD=19;//设定i2c波特率50khz频率

SSPCON2=0X00;//初始化sspcon2寄存器

di();//关闭总中断

SSPIF=0;//清ssp中断标志

SSPEN=1;//ssp模块使能

}

//5ms延时子程序

voiddelay()

{

for(j=300;--j;)

continue;

}

//用户目标温度输出子程序

voidledout()

{

PORTB=table[figure1];

RD7=1;

delay();

RD7=0;

PORTB=table[figure2];

RD6=1;

delay();

RD6=0;

PORTB=0X40;

RD5=1;

delay();

RD5=0;

}

//键盘服务子程序

intkeyserve()

{

RC0=0;RC1=1;

if(RA2==0)

figure1+=1;

RC0=1;RC1=0;

if(RA2==0)

figure2+=1;

if(figure1==10)

figure1=2;

if(figure2==10)

figure2=0;

RC0=0;RC1=1;

if(RA3==0)

flag1=1;

RC0=0;RC1=0;

i2cin();

display();

while

(1)

{

if((RA2==1)&&(RA3==1))//等待键盘松开

break;

i2cin();

}

}

//模糊控制算法

floatcontrol()

{

e=(float)(figure1*10+figure2)-(float)num1-(float)num2/100;//E为目标温度与当前温度之差

if(flag2==1)//判断是否第一次启动控制

c=0;//是,则C设定为0;

elsec=(float)(num1*100+num2)/100-temp;//否,则C为当前温度与上一采样温度之差

u=k*e+(1-k)*c;//模糊控制公式

temp=(float)(num1*100+num2)/100;//记录上一时刻温度值

returnu;//返回控制参数

}

//冒泡从小到大排序算法

voidbubblesort(chara[],intnum)

{

intm,n,flag=1,temp;

for(m=1;m

{

flag=0;

for(n=0;n

{

if(a[n]>a[n+1])

{

flag=1;

temp=a[n];a[n]=a[n+1];

a[n+1]=temp;

}

}

}

}

//led显示部分

intdisplay()

{

CLRWDT();

bubblesort(s1,4);//S1从小到大排序

bubblesort(s2,4);//S2从小到大排序

num1=(s1[1]+s1[2])/2;//滤去最大,最小数再求平均值

num2=((s2[1]+s2[2])/128)*25;//滤去最大,最小数再求平均值并转化为小数位值

PORTB=table[num1/10];//送显

RD4=1;

delay();

RD4=0;

PORTB=table0[(num1-(num1/10)*10)];

RD3=1;

delay();

RD3=0;

PORTB=table[num2/10];

RD2=1;

delay();

RD2=0;

ledout();//目标温度显示

}

//数据接收子程序

inti2cin()

{

for(i=0;i<4;i++)//采集4次温度

{

SEN=1;//启动

do{RS

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

当前位置:首页 > 教学研究 > 教学反思汇报

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

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