温度控制系统的设计方案理解docWord格式文档下载.docx

上传人:b****5 文档编号:21129591 上传时间:2023-01-27 格式:DOCX 页数:51 大小:449.59KB
下载 相关 举报
温度控制系统的设计方案理解docWord格式文档下载.docx_第1页
第1页 / 共51页
温度控制系统的设计方案理解docWord格式文档下载.docx_第2页
第2页 / 共51页
温度控制系统的设计方案理解docWord格式文档下载.docx_第3页
第3页 / 共51页
温度控制系统的设计方案理解docWord格式文档下载.docx_第4页
第4页 / 共51页
温度控制系统的设计方案理解docWord格式文档下载.docx_第5页
第5页 / 共51页
点击查看更多>>
下载资源
资源描述

温度控制系统的设计方案理解docWord格式文档下载.docx

《温度控制系统的设计方案理解docWord格式文档下载.docx》由会员分享,可在线阅读,更多相关《温度控制系统的设计方案理解docWord格式文档下载.docx(51页珍藏版)》请在冰豆网上搜索。

温度控制系统的设计方案理解docWord格式文档下载.docx

易失性存储与工业80C51产品指令和引脚完全兼容。

在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

基于以上所述,考虑了制作成本和功耗,又根据系统需要选择设计选方案三。

3.2.2键盘控制模块

独立式键盘。

如图3-2。

它是利用单片机I/O口读取口的电平高低来判断是否有键按下,这种方式的缺点是占用的I/O口数较多。

图3-2

4矩阵键盘。

如图3-3。

矩阵键盘又称为行列式键盘,它是用4条I/O线作为行线,4条I/O线作为列线组成的键盘。

在行线和列线的每一个交叉点上,设置一个按键。

这样键盘中按键的个数是4×

4个。

这种行列式键盘结构能够有效地提高单片机系统中I/O口的利用率。

图3-3

基于以上所述,根据系统需要我选方案二。

3.2.3传感器测试电路模块

热敏电阻。

可满足40--90℃的测量范围,但热敏电阻精度、重复性、可靠性都比较差,对于检测小于1℃的温度信号是不适用的。

DS18B20温度传感器。

采用“一线总线”接口,测量温度范围为-55°

C到+125°

C,在-10到+85°

C范围内,精度为±

0.5°

C。

现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性,适合于恶劣环境的现场温度测量,支持3V-5.5V的电压范围,DS18B20可以程序设定9-12位的分辨率,精度为±

综合上述,采用方案二。

3.2.4液晶显示模块

数显液晶模块。

是一种由段型液晶显示器件于专用的集成电路组装成一体的功能部件,只能显示数字和一些标识符号。

段型液晶显示器件大多应用在便携、袖珍设备上。

液晶点阵字符模块。

它是由点阵字符液晶显示器件和专用的行、列驱动器、控制器及必要的连接件,结构件装配而成的,可以显示数字和西文字符。

这种点阵字符模块本身具有字符发生器,显示容量大,功能丰富。

方案三:

点阵图形液晶模块。

模块也是点阵模块的一种,其特点是点阵像素连续排列,行和列在排布中均没有空格。

因此可以显示连续、完整的图形。

考虑到实用性和经济性,本设计选择方案二。

第四章DS18B20的简介

4.1应用

18B20数字温度传感器接线方便,封装成后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢封装式,型号多种多样,有LTM8877,LTM8874等等。

主要根据应用场合的不同而改变其外观。

封装后的DS18B20可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。

耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。

4.2主要部件

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

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

该装置信号线高的时候,内部电容器储存能量通由1线通信电路给片子供电,而且在低电平期间为片子供电直至下一个高电平的到来重新充电。

DS18B20的电源也可以从外部3V-5.5V的电压得到。

S18B20采用一线通信接口。

因为一线通信接口,必须在先完成ROM设定,否则记忆和控制功能将无法使用。

主要首先提供以下功能命令之一:

1)读ROM,2)ROM匹配,3)搜索ROM,4)跳过ROM,5)报警检查。

这些指令操作作用在没有一个器件的64位光刻ROM序列号,可以在挂在一线上多个器件选定某一个器件,同时,总线也可以知道总线上挂有有多少,什么样的设备。

4.3数据存储方式及计算方法

DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:

用16位符号扩展的二进制补码读数形式提供,以0.0625℃/LSB形式表达,其中S为符号位。

这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;

如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。

例如+125℃的数字输出为07D0H,+25.0625℃的数字输出为0191H,-25.0625℃的数字输出为FE6FH,-55℃的数字输出为FC90H 

.

第五章温度控制系统的硬件部分

5.1主控芯片部分电路

图5-1

5.2各个模块电路

5.2.1温度测量模块

DS18B20通过P3.3口和AT89S52进行通讯。

GND为接地线,Q为数据输入输出接口,通过一个较弱的上拉电阻与单片机相连。

VCC为电源接口,既可由数据线提供电源,又可由外部提供电源,范围3.O~5.5V。

其接口电路如图4-2.

图5-2

5.2.2实时时钟电路

利用DS1320芯片完成实时时钟的读取和设置,能实现对年、月、日、星期、时、分、秒进行记时,具有闰年补偿功能。

其工作电压为2.5伏到5.5伏,采用三线接口与CPU进行同步通信,并可采用突发方式一次传递多个字节的时钟信号或RAM数据。

其接口电路如图4-3.

图5-3

5.2.3液晶1602接口电路

字符型液晶模块1602是一种用5×

7点阵图形来显示字符的液晶显示器,根据显示的容量可以分为1行16个字、2行16个字、2行20个字等等。

本设计用到的是最常用的2行16个字的1602液晶模块.接口电路如图4-4.

图5-4

 

5.2.4温度控制电路

当温度高于设定的温度上限时,驱动外围降温设备(这里用鼓风机来降温);

当温度低于设定的温度下限时,驱动外围加热装置,以使温度维持在有利得范围内。

降温电路和加热电路分别如图4-5,4-6。

图5-5降温电路

其中4N251,4N252代表光耦P251;

Q5,Q6代表三极管9013;

Q1~Q4代表达林顿管TIP132;

B1代表直流电机。

继电器的选择:

常规电磁继电器

电磁继电器一般由铁芯、线圈、衔铁、触点簧片等组成的。

只要在线圈两端加上一定的电压,线圈中就会流过一定的电流,从而产生电磁效应,衔铁就会在电磁力吸引的作用下克服返回弹簧的拉力吸向铁芯,从而带动衔铁的动触点与静触点(常开触点)吸合。

当线圈断电后,电磁的吸力也随之消失,衔铁就会在弹簧的反作用力返回原来的位置,使动触点与原来的静触点(常闭触点)释放。

这样吸合、释放,从而达到了在电路中的导通、切断的目的。

对于继电器的“常开、常闭”触点,可以这样来区分:

继电器线圈未通电时处于断开状态的静触点,称为“常开触点”;

处于接通状态的静触点称为“常闭触点”。

继电器一般有两股电路,为低压控制电路和高压工作电路。

但由于有触电,有噪声,动作频率较低。

故不采用此方案。

固态继电器

固态继电器工作原理:

它是用半导体器件代替传统电接点作为切换装置的具有继电器特性的无触点开关器件,单相SSR为四端有源器件,其中两个输入控制端,两个输出端,输入输出间为光隔离,输入端加上直流或脉冲洗好到一定电流值后,输出端就能从断态转变成通态。

此系统中我们使用的继电器为

【型号】:

MGR-1DD220D25

【品名】:

单相固态继电器25A

【控制方式】:

直流控直流(DC-DC)

【负载电流】:

25A

【负载电压】:

5-220VDC

【控制电压】:

3-32V/DC

由于固态继电器无触点,无噪音,动作频率可以很高。

固我们选用此方案。

电热丝的选择:

高温镍铬电热丝

标定功率

w

额定电压

v

钢丝直径

mm

炉丝外径

炉丝长度(参考值)

炉丝重量

g

300

220

0.25

3.7

180

1.9

由p=u*i可以得出额定电流为1.3A,因此上面所选继电器符合要求。

,SSR的输入控制电压为3.2—32V。

控制电流为5—30mA. 

,由于单片机的输出电流较小,带载能力较弱,固需外加三极管驱动。

图5-6加热电路

5.2.5键盘控制部分

采用4×

4矩阵键盘的形式。

(1)原理图

图5-7

(2)按键说明

K4---设定闹钟使能与禁止。

按K4键后,LCD1602的第二行的最右边有小喇叭显示,闹钟使能。

再按K4键,不显示小喇叭,闹钟禁止。

K3---时间设定键。

设定顺序:

年,月,日,星期,时,分,秒。

被选中的设定位闪动。

K2---加键。

设定数增加

K1---减键。

设定数减少

每当有键按下,蜂鸣器会响一声。

双键功能:

K1---+K2

先按住K1,然后再按K2,写入程序默认时间值。

06/05/01Week:

1

Time:

23:

59:

00

K1---+K3

先按住K1,然后再按一下K3,程序进入查看定时时间值。

06/05/01Week:

Alarm:

23:

00×

←小喇叭显示

此界面显示2-3秒后,返回到正常时间显示界面

K1---+K4

先按住K1,然后再按一下K4,程序进入设定定时时间值。

时,分。

(K4键选择)

当定时时间与现行时间相等时,蜂鸣器响一分钟。

可以按K4键止闹。

5.2.6蜂鸣器报警模块

(1)控制端口为P3.7,其接口电路如图4-8.

图5-8

(2)工作原理

单片机通过P3.7来控制蜂鸣器的工作与关闭。

当P3.7=1时,PNP三极管关闭,蜂鸣器停止工作。

当P3.7=0时,PNP三级管导通,蜂鸣器开始工作。

从而单片机只需要P3.7输出0或者1开控制鉴别鸣器即可。

(3)、功能说明

当温度高于设定的温度上限40℃时,蜂鸣器响一声,说明温度过限,这时驱动降温设备降温;

当温度高于设定的温度下限20℃时,蜂鸣器响一声,说明温度低限,这时驱动加热设备加热。

第六章软件部分

6.1主程序流程图

图5-1主程序流程图

6.2各模块工作流程图

6.2.1DS18B20采集计算温度流程图

图6-2DS18B20采集计算温度流程图

6.2.2键处理子程序流程图

第七章系统调试

7.1硬件调试

硬件调试的主要任务是排除硬件故障,其中包括设计错误和工艺性故障。

用万用表逐步按照电路原理图检查电路板中所有器件的各引脚,尤其是电源的连接是否正确;

检查各开关按键是否能正常开关,是否连接正确;

各限流电阻是否短路等。

为了保护芯片,应先对各IC座(尤其是电源端)电位进行检查,确定其无误后再插入芯片检查。

可以通过一些简单的测试程序来查看接各硬件是否联接正常。

7.2软件调试

程序的调试应一个模块一个模块地进行,首先单独调试各功能子程序,检验程序是否能够实现预期的功能,接口电路的控制是否正常等;

最后逐步将各子程序连接起来总调。

联调需要注意的是,各程序模块间能否正确传递参数,特别要注意各子程序的现场保护与恢复。

7.3测试结果与性能分析

次数

项目

第一次

第二次

第三次

第四次

第五次

第六次

时钟

08/06/02Week:

22:

08/06/03Week:

2

08:

34:

15

50:

24

14:

25:

10

08/06/08Week:

7

09:

13:

29

08/06/11Week:

3

15:

05:

06

闹钟

标准温度计

16.9

26.0

37.0

46.0

47.7

57.0

系统显示值

16.5

25.7

36.4

46.1

48.0

差值

-0.4

-0.3

-0.6

-0.1

0.3

静态误差

0.18℃

设定温度上下限(℃)

35/14

40/20

50/30

60/40

报警及降温(Y/N)

N

N

Y

Y

继电器加热指示(Y/N)

Y

从测量数据的对比我们可得出本系统所测温度是可靠的,静态误差方面可以达到0.18℃的误差,温度控制范围也与设定的温度上下限相吻合,对一般的工业生产完全可以采用本设计。

第八章总结

本系统以AT89S52单片机为控制核心,利用其强大的处理能力,以及丰富的外围接口,再配合DS18B20温度传感器、液晶1602、DS1302等,很好的完成了实时温度的检测与显示,并当系统检测到温度高于设定的温度上限时准确的驱动鼓风机运转降温且发出报警;

当温度低于设定的温度下限时继电器吸合代表加热指示。

此外,本系统还能实现万年历功能,显示并可设置年、月、日、星期、小时、分钟和秒,而且还能设置闹钟提醒。

因此本系统已基本符合了设计要求,在温度控制方面具有一定的先进性,可用于一般的工业生产温度控制。

附录1元件清单.

元件名称

型号

数量

单片机开发板

ME500

电阻

1K欧姆

4

11K欧姆

排线及管座

2脚(单排)

8脚(双排)

蜂鸣器

芯片

AT89S52

DS1302

DS18B20

继电器

HRS1H-S(5VDC)

光耦

P251

液晶显示器

1602

二极管

1N4148

三极管

9013

C2705

晶振

32.768Khz

电机

达林顿管

TIP132

附录2系统测试仪器

仪器名称

指标

单片机开发板

1

双通道示波器

YB4365

100MHz

万用表

MODELMF47

直流稳压电源

DF1731SC5A

-5V—+5V

PC机

ISPlay、Keil软件

附录3印制板图

附录4开发板实物图

附录5源程序

#include<

reg51.h>

intrins.h>

#defineucharunsignedchar

#defineuintunsignedint

#defineLCD_DATA1//Data

sbitLCD_RS=P2^0;

sbitLCD_RW=P2^1;

sbitLCD_EN=P2^2;

sbitLCD_LED=P2^6;

sbitK1=P1^4;

sbitK2=P1^5;

sbitK3=P1^6;

sbitK4=P1^7;

sbitreset=P1^2;

sbitsclk=P1^0;

sbitio=P1^1;

sbitDQ=P3^3;

sbitBEEP=P3^7;

sbitJDQ1=P2^3;

//驱动电动机(0表示接通,1表示关闭)

bitflag=1,hour=0,min=0,sec=0;

bityear=0,month=0,day=0,week=0;

bitalarm_flag=0;

sfrDBPort=0x80;

//P0=0x80,P1=0x90,P2=0xA0,P3=0xB0.数据端口

uchartimecount=0,count=0;

uchartemp_value;

//温度值

uchardigital;

ucharTempBuffer[7];

unsignedcharfrq;

ucharstr1[]="

--Week:

"

;

ucharstr2[]="

ucharstr3[]="

Alarm:

ucharinit[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00};

//

ucharinit1[]={0x00,0x00};

ucharinit2[]={0x00,0x59,0x23,0x11,0x06,0x03,0x08};

//秒,分,时,日,月,星期,年

ucharbj_time[]={0x00,0x00,0x00};

//秒,分,时

ucharcodemytab[8]={0x01,0x1b,0x1d,0x19,0x1d,0x1b,0x01,0x00};

//小喇叭

#definedelayNOP();

{_nop_();

_nop_();

};

voidSet_W1302(ucharaddr);

voidSet_Flash(ucharrow,ucharcol);

voidSet_place(ucharrow,ucharcol);

voidPlay_nowtime();

voidkey_set(ucharnum,ucharrow,ucharcol);

voidkey_set_1(ucharnum,ucharrow,ucharcol);

voidalarm_time();

voidPlay_alarmtime();

voidTime_compare();

voidInit_DS18B20(void);

unsignedcharReadOneChar(void);

voidWriteOneChar(uchardat);

voidReadTemp(void);

voidtemp_to_str(void);

voidPrint(unsignedchar*str);

voidLCD_Write(bitstyle,unsignedcharinput);

unsignedcharLCD_Wait(void);

voidRead_DS18B20(void);

voidspeak(void);

voiddelayms(unsignedcharms);

voidbeep_temp();

voiddianji(void);

voiddelay1(intms)

{

unsignedchary;

while(ms--)

{

for(y=0;

y<

250;

y++)

_nop_();

}

}

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

/**/

/*检查LCD忙状态*/

/*lcd_busy为1时,忙,等待。

lcd-busy为0时,闲,可写指令与数据。

*/

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

bitlcd_busy()

{

bitresult;

LCD_RS=0;

LCD_RW=1;

LCD_EN=1;

delayNOP();

result=(bit)(P0&

0x80

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

当前位置:首页 > 农林牧渔 > 林学

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

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