电子设计大赛水温控制系统报告讲解Word文档格式.docx

上传人:b****5 文档编号:16343144 上传时间:2022-11-23 格式:DOCX 页数:20 大小:156.99KB
下载 相关 举报
电子设计大赛水温控制系统报告讲解Word文档格式.docx_第1页
第1页 / 共20页
电子设计大赛水温控制系统报告讲解Word文档格式.docx_第2页
第2页 / 共20页
电子设计大赛水温控制系统报告讲解Word文档格式.docx_第3页
第3页 / 共20页
电子设计大赛水温控制系统报告讲解Word文档格式.docx_第4页
第4页 / 共20页
电子设计大赛水温控制系统报告讲解Word文档格式.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

电子设计大赛水温控制系统报告讲解Word文档格式.docx

《电子设计大赛水温控制系统报告讲解Word文档格式.docx》由会员分享,可在线阅读,更多相关《电子设计大赛水温控制系统报告讲解Word文档格式.docx(20页珍藏版)》请在冰豆网上搜索。

电子设计大赛水温控制系统报告讲解Word文档格式.docx

直接用GP品牌的9v电池,然后接通过三端稳压芯片7805稳压成5伏直流电源提供给单片机系统使用,右边接两个5伏电源的滤波电容,并且接上电阻和绿色的LED组成5伏电源的工作指示电路。

方案二:

通过变压器,将220v的市电转换成5v左右的直流电。

由于需要给继电器提供稳定的5V电压,而方案一中导致电池的过度损耗,无法稳定带动继电器持续工作,所以我们选用能够提供更加稳定5v电源的方案二。

2.温度检测电路的方案选择:

方案一:

用普通半导体温度传感器作为敏感元件,再结合电压放大器和AD转换器将感应到的温度数值转换为数字量存储在某一单元内。

但由于该方案所需元件较多,且电路较繁,调试起来较复杂,所以舍之不用。

方案二:

使用数字温度传感器DS18B20检测温度,内含AD转换器,因此线路连接十分简单,它无需其他外加电路,直接输出数字量,可直接与单片机通信,读取测温数据,电路十分简单,它能够达到0.5℃的固有分辨率,使用读取温度暂存寄存器的方法还能达到0.0625℃以上精度,应用方便。

这样的电路主要工作量就集中到了单片机软件编程上,故我们选用该方案。

3.显示电路的方案选择:

方案:

使用数码管显示,通过数码管显示被测温度和设定温度。

该方案程序简单,数码管为并联状态,方便测试。

4加热方案的选择:

使用电热炉进行加热,控制电炉的功率即可控制加热速度,当水温过高时,关掉电炉即可,但考虑到电炉成本较高,且精度不好控制,故不选用。

固态继电器控制加热器工作,固态继电器使用非常简单,而且没有触点,无需外加光耦,自身就可以实现电气隔离,还可以频繁动作。

通过控制固态继电器的开,断时间比来达到控制加热器功率的目的,适合功率不大,简易水温控制系统,我们选择用几个水泥电阻作为加热器,简单实用。

故我们使用方案二。

5控制方法选择方案:

采用普通的控制方法,即随着水温的变化调节温度,但局限性太小,由于水温变化快,且惯性大,不易控制精度,故采用普通控制方法显得力不从心。

通过继电器控制加热电路的通断,继电器由单片机控制,当温度高于设定温度时单片机控制继电器断开,停止加热,自动通断,所以我们选择方案二。

硬件电路设计

对题目进行深入的分析和思考,可以将整个系统分为以下几个部分:

单片机最小系统,测温电路,功率电路,继电器控制指示电路,显示电路,系统框图如下:

给单片机提供5v稳定电压

一.测温电路

测温电路是使用DS18b20数字式温度传感器,它无需其他的外加电路,直接输出数字量,可直接与单片机通信,读取测温数据,电路十分简单。

它能够达到0.5

的固有分辨率,使用读取温度的暂存寄存器的方法还能达到0.0625

以上的精度。

DS18B20温度传感器只有三根外引线:

单线数据传输总线端口DQ,外供电源线VDD,共用地线GND。

外部供电方式(VDD接+5V,且数据传输总线接10k的上拉电阻,其接口电路如图2.1所示。

图2.1温度传感器接口

二.功率电路

本系统要控制水泥电阻加热,固态继电器控制加热器工作,固态继电器使用非常简单,而且没有触点,无需外加光耦,自身就可以实现电气隔离,还可以频繁动作。

通过控制固态继电器的开、断时间比来达到控制加热器功率的目的,适合功率不大,简易水温控制系统。

三.控制.键盘.显示电路

这部分实际上是一个单片机最小系统的基本电路,选用STC89C52,足够满足系统的要求。

键盘用三个按键即可,通过按键分别实现所设定温度的复位、加减操作。

在显示方面选用数码管显示模块。

单片机的输出控制锁存器,锁存器一个控制数码管的选通,另一个控制数码管的显示.

四.部分整体硬件电路:

软件程序设计

1.程序流程

单片机控制程序如下:

#include<

reg52.h>

#include<

stdio.h>

#defineucharunsignedchar

#defineuintunsignedint

sbitds=P2^2;

//温度传感器信号线

sbitdula=P2^6;

//数码管段选线

sbitwela=P2^7;

//数码管位选线

sbitbeep=P2^3;

//蜂鸣器

sbitjidianqia=P1^0;

uintyuzhi=0;

uinttemp;

floatf_temp;

uintwarn_l1;

uintwarn_l2;

uintwarn_h1;

uintwarn_h2;

uintwarn_h3;

sbitkey1=P3^4;

sbitkey2=P3^5;

sbitkey3=P3^6;

sbitkey4=P3^7;

unsignedcharcodetable[]={

0x3f,0x06,0x5b,0x4f,

0x66,0x6d,0x7d,0x07,

0x7f,0x6f,0xbf,0x86,

0xdb,0xcf,0xe6,0xed,

0xfd,0x87,0xff,0xef};

//不带小数点的编码

voiddelay(uintz)//延时函数

{

uintx,y;

for(x=z;

x>

0;

x--)

for(y=110;

y>

y--);

}

voiddsreset(void)//18B20复位,初始化函数

uinti;

ds=0;

i=103;

while(i>

0)i--;

ds=1;

i=4;

bittempreadbit(void)//读1位函数

bitdat;

i++;

//i++起延时作用

dat=ds;

i=8;

while(i>

return(dat);

uchartempread(void)//读1个字节

uchari,j,dat;

dat=0;

for(i=1;

i<

=8;

i++)

{

j=tempreadbit();

dat=(j<

<

7)|(dat>

>

1);

//读出的数据最低位在最前面,这样刚好一个字节在DAT里

}

return(dat);

voidtempwritebyte(uchardat)//向18B20写一个字节数据

ucharj;

bittestb;

for(j=1;

j<

j++)

testb=dat&

0x01;

dat=dat>

1;

if(testb)//写1

i++;

else

//写0

voidtempchange(void)//DS18B20开始获取温度并转换

dsreset();

delay

(1);

tempwritebyte(0xcc);

//写跳过读ROM指令

tempwritebyte(0x44);

//写温度转换指令

uintget_temp()//读取寄存器中存储的温度数据

uchara,b;

tempwritebyte(0xbe);

a=tempread();

//读低8位

b=tempread();

//读高8位

temp=b;

temp<

//两个字节组合为1个字

temp=temp|a;

f_temp=temp*0.0625;

//温度在寄存器中为12位分辨率位0.0625°

temp=f_temp*10+0.5;

//乘以10表示小数点后面只取1位,加0.5是四舍五入

f_temp=f_temp+0.05;

returntemp;

//temp是整型

uintkeyscan()

if(key1==0)

delay(3);

if(key1==0)

{

yuzhi=60;

while(!

key1);

//等待按键释放

}

if(key2==0)

if(key2==0)

yuzhi++;

key2);

if(key3==0)

if(key3==0)

yuzhi--;

key3);

returnyuzhi;

////////////////////显示程序//////////////////////////

voiddisplay(ucharnum,uchardat)

uchari;

dula=0;

P0=table[dat];

dula=1;

wela=0;

i=0XFF;

i=i&

(~((0X01)<

(num)));

P0=i;

wela=1;

voiddis_temp(uintt)

i=t/100;

display(0,i);

i=t%100/10;

display(1,i+10);

i=t%100%10;

display(2,i);

voidxianshi(uintyuzhi)

{

i=yuzhi/10;

display(4,i);

i=yuzhi%10;

display(5,i);

//////////////////////////////////////////////

voidwarn(uints,ucharled)//蜂鸣器报警声音,s控制音调

i=s;

beep=1;

while(i--)

dis_temp(get_temp()+13);

}

i=s;

voiddeal(uintt)

uintwarn_l2=(yuzhi*10-7);

uintwarn_h1=(yuzhi*10+13);

uintwarn_h2=(yuzhi*10+3);

uintwarn_h3=(yuzhi*10-27);

uintwarn_h4=(yuzhi*10+23);

if(t<

=60)

if((t>

warn_l2)&

&

(t<

=warn_h1))

P1=0XFE;

elseif((t>

warn_h2)&

=warn_l2))

P1=0XFC;

warn_h3)&

=warn_h2))

{

P1=0xF8;

elseif(t<

=warn_h3)

P1=0xf0;

elseif(t>

warn_h4)

beep=0;

P1=0XFF;

i=40;

if(t>

61)

if((t>

P1=0XF0;

P1=0xF0;

voidinit_com(void)

TMOD=0x20;

PCON=0x00;

SCON=0x50;

TH1=0xFd;

TL1=0xFd;

TR1=1;

voidcomm(char*parr)

do

SBUF=*parr++;

//发送数据

while(!

TI);

//等待发送完成标志为1

TI=0;

//标志清零

}while(*parr);

//保持循环直到字符为'

\0'

voidmain()

ucharbuff[4],i;

init_com();

while

(1)

keyscan();

tempchange();

for(i=10;

i>

i--)

xianshi(yuzhi);

deal(temp);

sprintf(buff,"

%f"

f_temp);

comm(buff);

2.控制方法

在控制温度方面,我们经过反复的调试与修改源程序,不断改变水泥电阻的加热及断电时间比,使整个系统不断趋于题设要求。

测试结果及结果分析

一、静态温度测量

测量方式:

断开系统的加热装置,装入一定温度的水,保持环境温度和其他测量条件不变,利用标准的温度计测量水温,与系统给出的温度相比较。

由于在这种条件下,与测温速度相比,水温下降较慢,在测量中可认为是一个静态过程,因此可以测出系统的静态温度测量结果。

测量仪器:

DM6801热电偶式数字温度计。

测量结果:

如表4.1所示。

表4.1测量结果数据

标定温度/℃

57.1

58.7

60.1

61.9

63.4

65

测量温度/℃

57.3

59.4

60.5

62.4

63.9

65.4

误差/℃

0.2

0.7

0.4

0.5

二动态温控测量

接上系统的加热装置,装入500mL室温的水,设定控温温度。

记录调节时间、超调温度、稳态温度波动幅度等。

测量条件:

环境温度24.2℃。

如表4.2所示。

在此仅以数值的方式给出测量结果,略去升温曲线图。

调节时间按温度进入设定温度±

0.5℃范围时计算。

表4.2测量结果数据

设定温度/℃

60

70

静态误差/℃

0.3

0.6

三.温度从50℃到70℃的测试:

测试数据如下:

超调量

调节时间

稳态误差

0.5℃

10min

0.45

数码管显示温度与实测温度折线图:

四.结果分析

由以上测量可见,系统性能基本上可达到所要求的指标。

使用手册

接通电源后,加热装置默认为开启状态。

打开单片机电源开关,指示灯亮。

此时单片机上的数码管开始显示当时温度。

设定温度默认为60度。

单片机上一共有四个按键,从左到右分别为复位键、温度初始化键、温度控制温度+1键,温度控制温度-1键。

使用时只需调整到自己想要的温度即可。

当实际温度小于设定温度是,正常加热。

当实际温度接近设定温度是,通过继电器自身档位调节,可实现达到并维持设定温度的要求。

当实际温度大于设定温度是,蜂鸣器警报响起。

本加热装置可在误差允许范围内精确调节并维持水温。

需特别注意的是,由于装置采用220V电源加热,且实验中加热装置所达到的温度较高。

接通电源后,切忌触摸装置任何部位,谨防触电。

同时应避免水洒溅导致电路烧毁。

温馨提示,小心烫伤。

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

当前位置:首页 > 小学教育 > 学科竞赛

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

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