课程设计电加热水温控制系统.docx

上传人:b****6 文档编号:4299632 上传时间:2022-11-29 格式:DOCX 页数:26 大小:847.83KB
下载 相关 举报
课程设计电加热水温控制系统.docx_第1页
第1页 / 共26页
课程设计电加热水温控制系统.docx_第2页
第2页 / 共26页
课程设计电加热水温控制系统.docx_第3页
第3页 / 共26页
课程设计电加热水温控制系统.docx_第4页
第4页 / 共26页
课程设计电加热水温控制系统.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

课程设计电加热水温控制系统.docx

《课程设计电加热水温控制系统.docx》由会员分享,可在线阅读,更多相关《课程设计电加热水温控制系统.docx(26页珍藏版)》请在冰豆网上搜索。

课程设计电加热水温控制系统.docx

课程设计电加热水温控制系统

湖南文理学院课程设计报告

 

课程名称:

自动化专业控制系统课程设计

课题名称:

电加热水温控制系统

系部:

电气与信息工程学院

专业班级:

自动化09103班

学生姓名:

何国敏

指导教师:

陈日新老师

完成时间:

2012年12月18日

报告成绩:

摘要…………………………………………………………………………………..2

Abstract…………………………………………………………………...………3

第一章系统设计…………………………………………………………………4

1.1项目概要………………………………………………………………………4

1.2设计任务和要求………………………………………………………………4

第二章硬件设计…………………………………………………………….….5

2.1硬件设计概要…………………………………………………………………5

2.2信息处理模块…………………………………………………………………5

2.3温度采集模块…………………………………………………………………6

2.3.1传感器DS18B20简介…………………………………………………….6

2.3.2实验模拟电路图………………………………………………………….6

2.3.3程序流程图……………………………………………………………….7

2.4控制调节模块…………………………………………………………………9

2.4.1升温调节系统………………………………………………………...….10

2.4.2温度上下限调节系统……………………………………………..….….10

2.5显示模块…………………………………………………………………...…12

第三章仿真显示成果…………………………………………………...……13

实习总结………………………………………………………………………….15

致谢………………………………………………………………………………..16

参考文献…………………………………………………………………….……17

附录…………………………………………………………………………….….18

1、原理图………………………………..………………………………….……..18

2、源程序……………………………….……………………………….…….…..19

 

摘要:

在现代工业生产中,温度是常用的测量被控因素。

本设计是基于51单片机控制,将DS18b20温度传感器实时温度转化,并通过1602液晶对温度实行实时显示,并通过加热片(PWM波,改变其占空比)加热与步进电机降温逐次逼近的方式,将温度保持在设定温度,通过按键调节温度报警区域,实现对温度在0℃-99℃控制的自动化。

实验结果表明此结构完全可行,温度偏差可达0.1℃以内。

关键字:

单片机;传感器;温控;DS18b20

 

Abstract:

Inmodernindustrialproduction,thetemperatureiscommonlymeasuredcontrolledfactors.Thedesignisbasedonthe51SCMcontrol,theDS18b20temperaturesensorrealtimetemperaturetransformation,andthroughthe1602LCDonthetemperatureofthereal-timedisplay,andbyheatingthesheet(PWMwave,changingitsdutycycle)heatingandsteppermotorcoolingsuccessiveapproximationapproach,keepingthetemperatureatthesettemperature,throughthebuttonsadjusttemperaturealarmarea,thetemperatureat0℃-99℃controlautomation.Theexperimentalresultsshowthatthisstructureiscompletelyfeasible,thedeviationoftemperaturecanreach0.1DEGC.

Keyword:

monolithicintegratedcircuit;Sensors;Temperaturecontrol;DS18b20

 

第一章系统设计

1.1项目概要

温度控制系统无论是工业生产过程,还是日常生活都起着非常重要的作用,过低或过高的温度环境不仅是一种资源的浪费,同时也会对机器和工作人员的寿命产生严重影响,极有可能造成严重的经济财产损失,给生活生产带来许多利的因素,基于AT89S52的单片机温度控制系统与传统的温度控制相比具有操作方便、价价格便宜、精确度高和开展容易等优点,因此市场前景好。

1.2设计任务和要求:

1、采用DS18B20作为温度传感器进行温度检测。

2、对采集温度进行显示(显示温度分辨率0.1℃);

3、采集温度数值应采用数字滤波措施,保证显示数据稳定。

4、设计相应的温度控制电路,根据测得的温度情况对加热器进行控制,将温度保持在设定温度。

5、通过按键设置温度上下限,超限通过LED、蜂鸣器报警。

 

第二章硬件设计

2.1硬件设计概要

根据需求,我们将系统分为五个模块,信息处理模块,温度采集模块、控制调节模块、报警电路模块,显示模块。

2.2信息处理模块

AT89C52是ATMEL公司的以8031核构成的8位Flash单片机系列。

这个系列单片机的最大特点就是在片内含有Flash存储器,AT89S52单片机是一种低功耗高性能的CMOS8位微控制器,内置8KB可在线编程闪存。

该器件采用Atmel公司的高密度非易失性存储技术生产,其指令与工业标准的80C51指令集兼容。

片内程序存储器允许重复在线编程,允许程序存储器在系统内通过SPI串行口改写或用同用的非易失性存储器改写。

通过把通用的8位CPU与可在线下载的Flash集成在一个芯片上,AT89S52便成为一个高效的微型计算机。

它的应用范围广,可用于解决复杂的控制问题,且成本较低。

单片机模块如图

(1)所示。

(1)单片机模块

2.3温度采集模块

2.3.1传感器DS18b20简介

DALLAS最新单线数字温度传感器DS18b20简介新的“一线器件”,体积更小、适用电压更宽、更经济。

Dallas半导体公司的数字化温度传感器DS18b20是世界上第一片支持“一线总线”接口温度传感器。

一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新的概念。

DS18b20、DS1822“一线总线”数字化温度传感器同DS1820一样,DS18b20也支持“一线总线”接口,测量温度范围为-55℃~+125℃,在-10℃~+85℃范围内,精度为

0.5℃。

DS18b20的精度较差为

2℃。

现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。

适合于恶劣环境的现场温度测量,如:

环境控制、设备或过程控制、测量类消费电子产品等。

与前一代产品不同,新的产品支持3V~5V的电压范围,使系统设计更灵活、方便。

而且新一代产品更便宜,体积更小。

DS18b20内部结构主要由四部分组成:

64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。

DS18b20的实验板原理接线图如图

(2):

(2)DS18b20的实验板接线图

其中:

DQ为数字信号输入/输出端;GND为电源地;VDD为外接供电电源输入端(在寄生电源接线方式时接地)

2.3.2实验模拟电路图

温度检测控制模拟电路图ds18b20原件及其连线如图(3)温度此传感器上显示的温度同步显示到LED显示器上,并有加温,减温按钮。

图(3)温度检测控制模拟电路图

2.3.3程序流程图

图(4)主程序流程图

图(5)初始化子程序流程图

图(6)读按键的程序流程图

2.4控制调节模块

2.4.1升温调节系统

通过继电器的开合来控制加热片电路的通断,来达到设温效果,我们预设温度为25度,当温度低于25度时,单片机P3.6引脚输出高电平,继电器导通,对温度传感器加热,加热模块如图(7)所示。

图(7)加温控制电路

2.4.2温度上下限调节系统

通过按键控制键选着调节对象,通过上升下降调节值大小,模拟电路图如图(78主控电路:

我们设定温度为0--30度,为表示方便,这里让,控制开关,升温开关,降温开关分别为,k1,k2,k3,开始显示的是当前温度,K1主控开关,用来控制进入的是当前温度,温度上限,下限的调节界面。

按k1,一次进入三个界面。

按K2为加1开关,按一下,加1,k3减1开关,按一下,减1.

例如:

开始时显示的是当前温度界面,按下k1进入高温设定界面,显示器上显示当前温度和温度上限,按k2,上限加1,按k3,上限减1,再按k1进入显现设定界面,显示器显示当前温度,和温度下限,按k2,下限加1,按k3,下限减1,再按k1,进入显示当前温度界面。

如图(8)

2.4.3报警电路系统

通过led灯的闪烁以及蜂鸣器的鸣叫实现报警,如果温度超过上限灯D4亮,蜂鸣器鸣叫,低于下限灯D2亮,蜂鸣器鸣叫。

常温D1亮如图(9)(10)。

图(8)温度设定开关

图(9)报警模块

图(10)P3.7接蜂鸣器

2.5显示模块

通过采集ds18b20的温度,同步显示到LED显示器上,精确到小数点后第一位。

如下图

图(11)显示电路

第三章仿真显示成果

3.1运用proteus仿真

图(12)开始启动时,显示学号

图(13)显示当前温度

图(14)温度低于低温下限,低温报警灯亮,蜂鸣器鸣叫

图(15)温度高于温度上限,高温报警灯亮,蜂鸣器鸣叫

 

实习总结

刚开始接触到题目,一头雾水,第一周,我从网上下载了,《基于8051+PROTEUS仿真100实例》这个文档,从最简单的点亮一个流水灯,让数码管显示数字开始,第一周就做了这些简单的例子,100例做了20多个。

刚开始很慢,仿真模型里的原器件都不会找,编的程序编译时总出现报警、错误。

一遇到错误我们就慌了神了,所以起步很难。

后来在老师和同学的帮助下,慢慢积累,知道了常见的报警和错误的解决方法,编完调试成功20个例子后,算是对单片机有了一定的基础。

但这时一周已经过去了,别的小组已经仿真通过,开始实际运行了,而我们这组才开始。

第二周开始了,第一天我们没做设计,把各个小组的程序,电路图都拿来看,不懂得就请他们帮忙讲解。

由于前面有了知识,一些模块都看得懂,学得很快了。

发现主要是把各个模块融合到一起,头文件写到最前面,通过函数的调用!

给单片机接口高低电平,来实现功能。

这正好是我们的强项,一星期20个例子的功劳。

第二天我们开始自己编程,但是融合的过程中总出现错误,要嘛是变量没定义,要嘛是头文件重复!

还有一个,报警电路的数码管总是不亮,但单片机对应的接口有高低电平的变化,实际电路板上也成功,这个问题困扰了我们很久,怎么办都不亮,当时有想砸电脑的冲动,后来还是解决了,原来,是标号标错了位置,一点小问题,困扰了我们2天。

当解决这个问题时,那心灵的喜悦是这辈子都忘不了的!

通过两周的实习,我们从一个小白成长为一个对单片机入了门,并能实现简单的编程,还能解决实际问题的小人物了!

虽然过程很苦,每天对着电脑,就吃饭和上洗手间离开板凳!

一直盯着屏幕看!

不过2周熬过来了,收获蛮大的!

例如后来我又在我们的程序中加入了降温程序!

温度高,调动电动机吹风降温!

感觉无论做什么事都要吃得了苦受得了罪,天下没有什么事是难的,只有懒惰的人,只要用心去做,什么事都能成功!

 

致谢

两周的实习中,我遇到了许许多多的困难,但我能走过来,这和我组成员共同研究,共同讨论问题的辛勤是分不开的,灰心时我们相互鼓励,相互打气,。

感谢同组成员。

开始接触单片机,我是一个小白级人物,谢谢把我领入门的同班同学们,当我有问题请教时,他们会放下手头的工作,倾心为我解答,程序编译错误时,他们会帮我一起看提示,该错误!

谢谢同班同学们!

当然,我们实习时,老师一直陪伴着我们,尽管我没有问过老师问题,老师也没有帮我调试程序,但还是要谢谢刘老师,吕老师,你和我们在一起,无形中给了我们莫大的动力!

同时也起到了监督我们的作用,使我们不能够偷懒,不会出现有一组同学完成了,那么全班都完成了的情况!

正由于你们的严格的要求,我们这次实习才能圆满的完成,同学们都做出了想要的结果。

 

参考文献

[1]郭天祥.新概念51单片机C语音教程——入门提高开发拓展攻略[M].北京:

北京:

电子工业出版社,2009.

[2]韩广兴.电子元器件与实用电路基础[M].北京:

电子工业出版社,2005.

[3]方大千,朱丽.电子控制系统装置制作入门[M].北京:

国防出版社,2006.

[4]刘向举,刘丽娜.基于单片机的智能温度测控系统的设计[J].齐齐哈尔大学学报(自然科学版).2012(03)

[5]黄文力,邓小磊.DS18B20数字温度传感器接口程序的时序[J].仪器仪表用户.2011(06)

[6]黄晓林.一种实用型智能恒温控制系统设计[J].自动化技术与应用.

2011(11)

[7]王文,王直.基于ARM和DS18B20的温度监测系统[J].电子设计工程.2011(20)

[8]陈锡华,贾磊磊.温度传感器DS18B20序列号批量搜索算法[J].单片机与嵌入式系统应用.2011(09)

 

附录:

Proteus系统原理图:

图(16)系统原理图

 

源程序:

#include

#include

#defineucharunsignedchar

#defineuintunsignedint

sbitDQ=P3^3;//ds18b20与单片机连接口

sbitRS=P2^0;

sbitRW=P2^1;

sbitEN=P2^2;

sbitkeyadd=P1^4;

sbitkeydel=P1^5;

sbitkeyok=P1^6;

sbitled_green=P2^3;

sbitled_yellow=P2^4;

sbitled_red=P2^5;

sbitshengwen=P3^6;

sbitjiangwen=P3^5;

sbitBEEP=P3^7;

ucharcodestr1[]={"Temperatureis"};

ucharcodestr2[]={""};

ucharcodestr3[]={"set_hightemp:

"};

ucharcodestr4[]={"set_lowtemp:

"};

ucharcodestr5[]={"studentN0:

"};

ucharcodestr6[]={"32209104"};

uchardatadisdata[5];

ucharset_hightemp=33,set_lowtemp=0;

ucharp=0;

ucharaa[2];

uinttvalue;//温度值

uchartflag;//温度正负标志

//*************************lcd1602程序**************************/

voiddelay1ms(uintms)//延时1毫秒

{

uinti,j;

for(i=0;i

for(j=0;j<114;j++);

}

voiddelay1s(uints)

{

uinti;

for(i=0;i

delay1ms(1000);

}

 

//////////////////////111111*********1111111111111111111111报警程序

voidbaojing(void)

{

unsignedintj;

for(j=49;j>0;j--)//响30ms

{

BEEP=~BEEP;//输出频率800HzP0=0x7E;//点亮D00和D07

delay1ms(10);//延时310us

delay1ms(10);//延时310us

}

}

/////////////////////1111111111111111111111111111111111111报警程序

voidwr_com(ucharcom)//写指令//

{

delay1ms

(1);

RS=0;

RW=0;

EN=0;

P0=com;//

delay1ms

(1);

EN=1;

delay1ms

(1);

EN=0;

}

voidwr_dat(uchardat)//写数据//

{

delay1ms

(1);

RS=1;

RW=0;

EN=0;

P0=dat;

delay1ms

(1);

EN=1;

delay1ms

(1);

EN=0;

}

voidlcd_init()//初始化设置//

{

delay1ms(15);

wr_com(0x38);delay1ms(5);

wr_com(0x08);delay1ms(5);

wr_com(0x01);delay1ms(5);

wr_com(0x06);delay1ms(5);

wr_com(0x0c);delay1ms(5);

}

voiddisplay(uchar*p)//显示//

{

while(*p!

='\0')

{

wr_dat(*p);

p++;

delay1ms

(1);

}

}

voidinit_play()//初始化显示

{

lcd_init();

wr_com(0x80);

display(str5);

wr_com(0xc0);

display(str6);

delay1s(3);

lcd_init();

wr_com(0x80);

display(str1);

wr_com(0xc0);

display(str2);

}

/***************************ds18b20程序****************************/

voiddelay_18B20(uinti)//延时1微秒

{

while(i--);

}

voidds1820rst()/*ds1820复位*/

{

ucharx=0;

DQ=1;//DQ复位

delay_18B20(4);//延时

DQ=0;//DQ拉低

delay_18B20(100);//精确延时大于480us

DQ=1;//拉高

delay_18B20(40);

}

uchards1820rd()/*读数据*/

{

uchari=0;

uchardat=0;

for(i=8;i>0;i--)

{

DQ=0;//给脉冲信号

dat>>=1;

DQ=1;//给脉冲信号

if(DQ)

dat|=0x80;

delay_18B20(10);

}

return(dat);

}

voidds1820wr(ucharwdata)/*写数据*/

{

uchari=0;

for(i=8;i>0;i--)

{

DQ=0;

DQ=wdata&0x01;

delay_18B20(10);

DQ=1;

wdata>>=1;

}

}

read_temp()/*读取温度值并转换*/

{

uchara,b;

ds1820rst();

ds1820wr(0xcc);//*跳过读序列号*/

ds1820wr(0x44);//*启动温度转换*/

ds1820rst();

ds1820wr(0xcc);//*跳过读序列号*/

ds1820wr(0xbe);//*读取温度*/

a=ds1820rd();

b=ds1820rd();

tvalue=b;

tvalue<<=8;

tvalue=tvalue|a;

if(tvalue<0x0fff)

tflag=0;

else

{

tvalue=~tvalue+1;

tflag=1;

}

tvalue=tvalue*(0.625);//温度值扩大10倍,精确到1位小数

return(tvalue);

}

/*******************************************************************/

voidds1820disp()//温度值显示

{

ucharflagdat;

disdata[0]=tvalue/1000+0x30;//百位数

disdata[1]=tvalue%1000/100+0x30;//十位数

disdata[2]=tvalue%100/10+0x30;//个位数

disdata[3]=tvalue%10+0x30;//小数位

if(tflag==0)

flagdat=0x20;//正温度不显示符号

else

flagdat=0x2d;//负温度显示负号:

-

if(disdata[0]==0x30)

{

disdata[0]=0x20;//如果百位为0,不显示

if(disdata[1]==0x30)

{

disdata[1]=0x20;//如果百位为0,十位为0也不显示

}

}

wr_com(0xc0+4);

wr_dat(flagdat);//显示符号位

wr_com(0xc1+4);

wr_dat(disdata[0]);//显示百位

wr_com(0xc2+4);

wr_dat(disdata[1]);//显示十位

wr_com(0xc3+4);

wr_dat(disdata[2]);//显示个位

wr_com(0xc4+4);

wr_dat(0x2e);//显示小数点

wr_com(0xc5+4);

wr_dat(disdata[3]);//显示小数位

}

voidkey_count(uintok)

{

wr_com(0x80);

if(ok==1)display(str3);elsedisplay(str4);

wr_com(0x8d);

wr_dat(aa[0]);

wr_com(0x8

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

当前位置:首页 > 初中教育 > 理化生

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

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