基于单片机恒温箱控制器设计.docx

上传人:b****0 文档编号:18128424 上传时间:2023-08-13 格式:DOCX 页数:35 大小:259.06KB
下载 相关 举报
基于单片机恒温箱控制器设计.docx_第1页
第1页 / 共35页
基于单片机恒温箱控制器设计.docx_第2页
第2页 / 共35页
基于单片机恒温箱控制器设计.docx_第3页
第3页 / 共35页
基于单片机恒温箱控制器设计.docx_第4页
第4页 / 共35页
基于单片机恒温箱控制器设计.docx_第5页
第5页 / 共35页
基于单片机恒温箱控制器设计.docx_第6页
第6页 / 共35页
基于单片机恒温箱控制器设计.docx_第7页
第7页 / 共35页
基于单片机恒温箱控制器设计.docx_第8页
第8页 / 共35页
基于单片机恒温箱控制器设计.docx_第9页
第9页 / 共35页
基于单片机恒温箱控制器设计.docx_第10页
第10页 / 共35页
基于单片机恒温箱控制器设计.docx_第11页
第11页 / 共35页
基于单片机恒温箱控制器设计.docx_第12页
第12页 / 共35页
基于单片机恒温箱控制器设计.docx_第13页
第13页 / 共35页
基于单片机恒温箱控制器设计.docx_第14页
第14页 / 共35页
基于单片机恒温箱控制器设计.docx_第15页
第15页 / 共35页
基于单片机恒温箱控制器设计.docx_第16页
第16页 / 共35页
基于单片机恒温箱控制器设计.docx_第17页
第17页 / 共35页
基于单片机恒温箱控制器设计.docx_第18页
第18页 / 共35页
基于单片机恒温箱控制器设计.docx_第19页
第19页 / 共35页
基于单片机恒温箱控制器设计.docx_第20页
第20页 / 共35页
亲,该文档总共35页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于单片机恒温箱控制器设计.docx

《基于单片机恒温箱控制器设计.docx》由会员分享,可在线阅读,更多相关《基于单片机恒温箱控制器设计.docx(35页珍藏版)》请在冰点文库上搜索。

基于单片机恒温箱控制器设计.docx

基于单片机恒温箱控制器设计

唐山学院

测控系统原理课程设计

 

题目恒温箱控制器的设计

系(部)机电工程系

班级

姓名

学号

指导教师

 

2014年03月02日至03月13日共两周

2014年03月13日

 

测控系统原理课程设计任务书

一、设计题目、内容及要求

1、设计题目:

恒温箱控制器的设计

2、设计内容:

运用所学单片机、模拟和数字电路、以及测控系统原理与设计等方面的知识,设计出一台以AT89C52为核心的恒温箱控制器,对恒温箱的温度进行控制。

完成恒温箱温度的检测、控制信号的输出、显示及键盘接口电路等部分的软、硬件设计,A/D和D/A转换器件可自行确定,利用按键(自行定义)进行温度的设定,同时将当前温度的测量值显示在LED上。

恒温箱控制器要求如下:

1)目标稳定温度范围为100摄氏度——50摄氏度;

2)以PID控制算法实现控制精度为±1度;

3)温度传感器输入量程:

30摄氏度——120摄氏度,电流4——20mA;

4)加热器为交流220V,1000W电炉。

3、设计要求:

1)硬件部分包括微处理器(MCU)、D/A转换、输出通道单元、键盘、显示等;

2)软件部分包括键盘扫描、D/A转换、输出控制、显示等;

3)用PROTEUS软件仿真实现;

4)用Protel画出系统的硬件电路图;

5)撰写设计说明书一份(不少于2000字),阐述系统的工作原理和软、硬件设计方法,重点阐述系统组成框图、硬件原理设计和软件程序流程图。

说明书应包括封面、任务书、目录、摘要、正文、参考文献(资料)等内容,以及硬件电路图和软件程序框图等材料。

二、设计原始资料

Proteus及KEIL51仿真软件,及软件使用说明。

三、要求的设计成果(课程设计说明书、设计实物、图纸等)

设计说明书一份(不少于2000字)。

四、进程安排

1.2015年3月2日资料查阅

2.2015年3月3,4日总体设计,硬件设计

3.2015年3月5,6日绘制电路图

3.2015年3月9,10日绘制软件程序流程图,编写软件

4.2015年3月11日软、硬件仿真调试

5.2015年3月12,13日撰写设计说明书

五、主要参考资料

1.王福瑞等.《单片微机测控系统设计大全》.北京航空航天大学出版社,1999

2.《现代测控技术与系统》韩九强清华大学出版社2007.9

3.《智能仪器》程德福,林君主编机械工业出版社2005年2月

4.《测控仪器设计》浦昭邦,王宝光主编机械工业出版社2001

5.基于AT89C51单片机的数字电压表的设计,黄亮,电子制作,2006.10,25-27

6.KeilC51帮助文档

指导教师(签名):

教研室主任(签名):

 

课程设计成绩评定表

出勤

情况

出勤天数

缺勤天数

出勤情况及设计过程表现(20分)

课设答辩(20分)

设计成果(60分)

总成绩(100分)

提问

(答辩)

问题

情况

 

 

指导教师签名:

年月日

 

2.PID控制规律的离散化……………………………………………………10

附录1元件清单……………………………………………………………………13

附录2硬件电路图…………………………………………………………………14

附录3程序清单……………………………………………………………………15

摘要

随着社会发展的需求,人们对恒温箱的应用和需求越来越广泛,在工业生产和日常生活或科学实验中,我们随处都可以看到恒温箱的应用。

如,可以根据动物生活习性的需要控制饲养棚合适的温度来进行孵卵或动物培养;在农业上,可用于种子的发芽;在医学上,可用于做细菌培养、放射免疫分析、血清溶化、石腊熔化、试管消毒等。

常用的恒温箱主要分为三类:

高温恒温箱(高于60℃);中温恒温箱(-10~60℃);低温恒温箱(低于-1O℃)。

恒温箱的温度控制系统可分为人工调节和自动调节两种方式,人工调节是通过温度计进行测量后手动调节变压器,从而控制产生热量的大小;而自动调节往往通过热电偶传感器进行测温,输出电压值,经放大后加到电机上驱动电机来调节变压器,其优点是可以连续、实时、准确的来控制温度。

基于单片机技术的温控器和可编程温度传感器相结合使用是目前恒温箱温度控制较为先进的一种方式。

单片机是一种集CPU、RAM、ROM、I/O接口和中断系统等部分于一体的器件,只需要外加电源和晶振就可实现对数字信息的处理和控制。

如果能利用单片机进行温度的测量和控制,将会大大提高温度测量和控制的可靠性和灵活性。

单片机对温度测量控制过程是借助于传感器、A/D转换器以及扩展接口和执行机构来进行的。

在闭环型过程控制中,过程的实时参数由传感器和A/D转换器来实时采集,并由单片机自动记录、处理并控制执行机构动作来进行调节和控制。

关键词:

恒温箱,单片机,AT89C52,A/D转换,温度传感器,DS18B20

 

一.系统的硬件设计

1.恒温箱控制系统框图

根据上面对工作流程的分析,系统可以分为以下几个功能模块:

(1)键盘管理:

监测键盘输入,接收温度预置,启动系统工作。

(2)显示:

显示设置温度及当前温度。

(3)温度检测及温度值变换

(4)温度控制:

根据检测到的温度控制电炉工作。

(5)报警:

当预置温度或当前炉温越限时报警。

根据恒温箱控制器的功能要求,并结合对51系列单片机软件编程自由度大,可用编程实现各种控制算法和逻辑控制。

所以采用AT89C52作为电路系统的控制核心。

按键将设置好的温度值传给单片机,通过温度显示模块显示出来。

初始温度设置好后,单片机开启输出控制模块,使电热器开始加热,同时将从数字温度传感器DS18B20测量到的温度值实时的显示出来,当加热到设定温度值时,单片机控制声光报警模块,发出声光报警,同时关闭加热器。

当自然冷却到设定温度50摄氏度以下时,单片机再次启动加热器,如此循环反复,以达到恒温控制的目的。

2.微处理器AT89C52

AT89C52单片机是一种低功耗、高性能内含8K字节闪电存储器的8位CMOS微控制器,与工业标准MCS—51指令系列和引脚完全兼容有超强的加密功能,其片内闪电存储器的编程与擦除完全用电实现,数据不易挥发,编程/擦除速度快。

如图所示:

AT89C52的引脚结构

它的主要特点有:

(1)内部程序存储器为电擦除可编程只读存储器EEPROM,容量8KB,内部数据存储器容量256B(不包括专用寄存器),外部数据存储器寻址空间64KB,外部程序存储器寻址空间64KB;

(2)有三个16位的定时器/计数器;

(3)可利用两根I/O口线作为全双工的串行口,有四种工作方式,可通过编程选定;

(4)内部ROM中开辟了四个通用工作寄存器区,共32个通用寄存器,以适应多种中断或子程序嵌套的情况;

(5)内部有6个中断源,分为二个优先级,每个中断源优先级是可编程的;

(6)堆栈位置是可编程的,堆栈深度可达128字节;

3.温度传感器

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

并且,DS18B20支持一主多从,若想实现多点测温,可方便扩展。

DS18B20的特点:

(1)独特的单线接口方式,与单片机通信只需一个引脚,DS18B20与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。

(2)在使用中不需要任何外围元件。

(3)可用数据线供电,电压范围:

+3.0~+5.5V。

(4)测温范围为-55~+125℃。

在-10~+85℃范围内误差为0.5℃。

(5)通过编程可实现9~12位的数字读数方式。

(6)用户可自设定非易失性的报警上下限值。

(7)支持多点组网功能,通过识别芯片各自唯一的产品序列号从而实现单线多挂接,多个DS18B20可以并联在唯一的线上,简化了分布式温度检测的应用,实现多点测温。

(8)负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。

(3)DS18B20在电路中的连接,见图:

DS18B20测温电路

4.显示部分

显示采用3位共阳LED动态显示方式,显示内容有温度值的十位、个位及小数点后一位。

用P2口作为段控码输出,并用74ls164作驱动。

P0.0—P0.2作为位控码输出,用PNP型三极管做驱动。

如下图所示:

显示部分

5.键盘输入电路

键盘设定:

用于温度设定。

共三个按键。

KEY1(P1.1):

状态切换;温度设置确认;温度重新设置。

KEY2(P1.2):

设置温度“+”。

KEY3(P1.3):

设置温度“-”。

如图所示:

键盘输入电路

6.输出控制

采用光电藕合器,控制信号与输出信号可以很好的隔离,增强了系统的安全性和抗干扰能力。

输出控制电路,MOC3021内部带有过零控制电路,MOC3021输出端额定电压为400V。

加热电路中采用MOC3021的目的有两个:

其一是实现强电与弱电的隔离;其二是实现双向可控硅的过零触发,从而使流过双向可控硅的电流波形为正弦波,减少谐波。

电路连接如图所示,其在电路中的工作原理是单片机根据传感器和设定开关输入的控制指令,控制电器的电源通断。

SW1为双向开关,其最大通态电流为1A。

当电源控制电路的输出管脚P1.6送出的开关控制指令为高电平,MOC3021截止,Q2截止,电器被关闭;当电源控制电路的输出管脚P1.6送出的开关控制指令为低电平,MOC3041导通,Q2导通,电器被打开。

通过MOC3021内部的过零触发电路,保证Q2在电压过零时导通和截止,对供电系统干扰极小。

R6和C6是Q2的保护电路。

如下图:

光耦控制输出电路

7.温度越线报警电路

报警电路如图所示,该电路采用一个小功率三极管Q2驱动蜂鸣器,当单片机接收到超额温度信号或危险信号时,输出脚P1.7输出高点平,Q2导通,致使蜂鸣器得电工作,发出报警声。

同时,电路中的发光二极管指示出电路的工作状态。

报警电路

 

二.系统的软件设计

1.温度传感器模块软件设计

对DS18B20操作时,首先要将它复位。

复位时,DQ线被拉为低电平,时间为480~960us;接着将数据线拉为高电平,时间为15~60us;最后DS18B20发出60~240us的低电平作为应答信号,这时主机才能进行读写操作。

进行写操作时,将数据线从高电平拉至低电平,产生写起始信号。

从DQ线的下降沿起计时,在15us到60us这段时间内对数据线进行检测,如数据线为高电平则写1;若为低电平,则写0,完成了一个写周期。

在开始另一个写周期前,必须有1us以上的高电平恢复期。

每个写周期必须要进行写操作时,将数据线从高电平拉至低电平,产生写起始信号。

从DQ线的下降沿起计时,在15us到60us这段时间内对数据线进行检测,如数据线为高电平则写1;若为低电平,则写0,完成了一个写周期。

温度转换读取温度数值程序流程如下图所示。

温度转换读取温度数值程序流程

2.键盘管理模块

键盘管理子程序流程如图所示:

当通电或复位以后,系统进入键盘管理状态,单片机只接收设定温度和启动。

当检测到有键闭合时先去除抖动,这里采用软件延时的方法,延时一段时间后,再确定是否有键闭合,然后将设定好的值送入预置温度数据区,并调用温度合法检测报警程序,当设定温度超过最大值如100℃时就会报警,最后当启动键闭合时启动加热。

键盘设定:

用于温度设定。

共三个按键。

KEY1(P1.1):

状态切换;温度设置确认;温度重新设置。

KEY2(P1.2):

设置温度“+”。

KEY3(P1.3):

设置温度“-”。

系统上电后,数码管全部显示为零,根据按KEY1次数,决定显示的状态,根据相应的状态,利用KEY2、KEY3进行加减,当温度设定好之后,再按KEY1确定,系统开始测温,启加热器。

3.显示模块

显示子程序的功能是将缓冲区的二进制数据先转换成3个BCD码,再将其分别存入百位、十位、个位3个显示缓冲区,送往串行口,利用单片机的P0口进行扫描,让数据动态的显示出来,可显示设置温度和测量温度。

4.控制模块

温度控制子程序流程如图所示,将当前温度与设定好的温度比较,若当前温度小于设定温度时,开启电热器;若当前温度大于设定温度时,关闭电热器;若二者相等时,电热器保持这一状态。

5.温度报警模块

报警子程序流程如图所示。

根据设计要求,当检测到当前温度值高于设定温度值1℃时报警,报警的同时关闭电热器。

为了防止误报,设置了报警允许标志,只有在允许报警的情况下,温度值高于设定温度值时才报警。

三.PID控制算法

1.PID的数学模型

PID控制是一种比较成熟的控制理论,它通过比例、积分、微分三部分的合理组合可以用比较简单的方法获得令人满意的控制效果。

PID的数学模型如图表示:

PID数学模型

给定值R(t)与实际值Y(t)构成控制误差:

E(t)=R(t)-Y(t)式2-1

PID控制器根据E(t)将误差的比例(P)、积分(I)、和微分(D)通过线性组合构成控制量,对受控对象进行控制,其控制规律如式2所示:

U(t)=KP[e(t)+

]式2-2

U(t)——控制器输出函数;E(t)——控制器误差函数;

KP——比例系数;Ti——积分时间常数;Td——微分时间常数。

2.PID控制规律的离散化

为了用计算机实现PID控制,采用增量式PID控制算法,增量式PID控制算法是指数字控制器的输出只是控制量的增量U(n)。

当执行机构需要的是控制量的增量时,可由式导出提供增量的PID控制算法。

根据递推规律得:

式2-6

用式2-5减去式2-6可得:

式2-7

改写成:

=

式2-8

四.设计总结

我们的温度控制系统是基于AT89C52单片机的设计方案,它能实时显示当前温度,并能根据用户的要求做出相应的控制。

此系统为闭环系统,工作稳定性高,控制精度高,利用模糊控制算法使超调量大大降低。

软件采用模块化结构,提高了通用性。

本设计的目的不仅仅是温度控制本身,主要提供了单片机外围电路及软件包括控制算法设计的思想。

设计所达到的性能指标如下:

1)温控系统的标度误差

我们将标准温度计和温控系统探头放人同一容器中,选定若干不同的温度点,记录下标准温度计显示的温度和温控系统显示的温度进行比较。

测量数据如下所示:

标准温度计:

57.863.072.885.190.9(℃)

温控系统:

58.362.973.085.590.5(℃)

差值比较:

0.50.10.20.4-0.4(℃)

标度误差:

1.5%

2)温控系统的静态误差

通过测量在不同的温度点同标准温度的温度差来确定温控系统的静态误差。

其测量数据如下所示:

标准温度:

60.070.083.090.2(℃)

系统显示值:

59.670.083.390.5(℃)

差值:

-0.400.30.3(℃)

静态误差0.18℃

3)温控系统的控制精度

通过设定不同的温度值,使加热器加热,待温度稳定时记录各温度点的温度计数据和温控系统的显示值。

其记录数据如下:

设定温度值:

55.065.075.087.091.0(℃)

系统显示值:

54.164.674.986.191.2(℃)

差值:

0.1-0.9-0.1-0.90.2(℃)

控制精度0.45℃

超调量0.83%

结果分析论述:

该设计具有较小的超调值,超调值大约为0.83%左右。

虽然超调为不利结果,但另一方面却减小了系统的调节时间。

从其数据表可以看出该系统为稳定系统,而且满足系统的误差要求。

五.参考文献

1.王福瑞等.《单片微机测控系统设计大全》.北京航空航天大学出版社,1999

2.《现代测控技术与系统》韩九强清华大学出版社2007.9

3.《智能仪器》程德福,林君主编机械工业出版社2005年2月

4.《测控仪器设计》浦昭邦,王宝光主编机械工业出版社2001

5.基于AT89C51单片机的数字电压表的设计,黄亮,电子制作,2006.10,25-27

6.KeilC51帮助文档

 

附录1:

元件清单

类型名

型号

阻值

数量

电阻

MINRES100R

1K

3

电阻

MINRES10K

10K

3

电阻

MINRES100R

27R

1

电阻

MINRES100R

3R

1

电阻

MINRES100R

100R

1

电阻

MINRES10K

0.3K

10

电容

HTC00603

30PF

3

电容

HTC00603

10UF

1

电容

HTC00603

1.0PF

1

按钮

4

三极管

2N37.7

2

三极管

PN4250

3

传感器

DS18B20

1

光的耦合器

MOC3021

1

加热器

1

芯片

74LS164

1

单片机

AT89C52

1

数码管

7seg-mpx1-cc

3

 

附录2.硬件电路图

恒温箱控制器硬件系统图

 

附录3:

程序清单

TEMPER_LEQU29H;用于保存读出温度的低8位

TEMPER_HEQU28H;用于保存读出温度的高8位

FLAGEQU38H;是否检测到DS18B20标志位

DAYUEQU44H;设温>实温

XIYUEQU45H;设温<实温

DEYUEQU46H;设温=实温

GAOLEEQU47H;温度高于最高温度

DILEEQU48H;温度低于最低温度

AbitEQU79H;数码管个位数存放内存位置

BbitEQU7AH;数码管十位数存放内存位置

CbitEQU78H;数码管小数存放内存位置

ORG0000H

AJMPSTART

START:

SETBP1.1

SETBP1.2

SETBP1.3

SETBP1.4

SETBP1.5

CLRP1.7

MOVR4,00H

MOVSP,#60H;确立堆栈区

MOVPSW,#00H;

MOVR0,#20H;RAM区首地址

MOVR7,#60H;RAM区单元个数

ML:

MOV@R0,#00H

INCR0

DJNZR7,ML

MAIN:

LCALLGET_TEMPER;调用读温度子程序进行温度显示,这里我们考

;虑用网站提供的两位数码管来显示温度

;显示范围00到99度,显示精度为1度

;因为12位转化时每一位的精度为0.0625度,

;我们不要求显示小数所以可以抛弃29H的低4

;位将28H中的低4位移入29H中的高4位,这

;样获得一个新字节,这个字节就是实际测量获

;得的温度

LCALLDISPLAY;调用数码管显示子程序

JNB00H,MAIN

CLR00H

MOVA,38H

CJNEA,#00H,SS

AJMPMAIN

SS:

LCALLGET_TEMPER

LCALLDISPLAY;调用数码管显示子程序

LCALLBIJIAO

LCALLJIXIAN

JNBDEYU,LOOP

SETBP1.6;关加热器

CLRDEYU

LCALLGET_TEMPER

LCALLDISPLAY

AJMPTT2

LOOP:

JNBDAYU,TT

CLRDAYU

SETBP1.6

LCALLGET_TEMPER

LCALLDISPLAY

AJMPTT2

TT:

JNBXIYU,TT2

CLRXIYU

CLRP1.6

LCALLGET_TEMPER

LCALLDISPLAY

TT2:

MOVA,29H

CLRC

CJNEA,50H,JX

MOVA,30H

CLRC

CJNEA,51H,JIA1

AJMPYS2

JIA1:

JCJX

MOVA,51H

MOV52H,A

ADDA,#2

MOV52H,A

CLRC

MOVA,30H

CJNEA,52H,JIA2

JIA2:

JNCJX

YS2:

SETBP1.6

MOVR5,#20H

YS:

LCALLGET_TEMPER

LCALLDISPLAY

DJNZR5,YS

CLRP1.6

MOVR5,#20H

YS1:

LCALLGET_TEMPER

LCALLDISPLAY

DJNZR5,YS1

YS3:

SETBP1.6

MOVR5,#20H

YS0:

LCALLGET_TEMPER

LCALLDISPLAY

DJNZR5,YS0

CLRP1.6

MOVR5,#20H

YS01:

LCALLGET_TEMPER

LCALLDISPLAY

DJNZR5,YS01

YS4:

SETBP1.6

MOVR5,#20H

YS02:

LCALLGET_TEMPER

LCALLDISPLAY

DJNZR5,YS02

CLRP1.6

MOVR5,#20H

YS03:

LCALLGET_TEMPER

LCALLDISPLAY

DJNZR5,YS03

JX:

MOVA,29H

CJNEA,31H,JX00

JX01:

SETBP1.6

CLRC

AJMPLAST

JX00:

JCJX01

CLRP1.6

CJNEA,32H,JX03

JX02:

SETBP1.6

CLRC

AJMPLAST

JX03:

JNCJX02

CLRP1.7

LAST:

LCALLGET_TEMPER

LCALLDISPLAY

AJMPSS

;***************************常数表格区**********************************************

TAB:

DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H;0-8

DB90H,88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH;9,A,B,C,D,E,F,灭,p.

TAB1:

DB40H,79H,24H,30H,19H,12H,02H,78H,00H,10H;0.--9.

TAB2:

DB0,0,1,2,3,3,4,4,5,5,6,7,8,8,9,9;小数点

;*************************1ms延时程序************************************

MAIN1:

MOVR7,#03H;显示位数为2位

MOVR0,#7AH

MOV78H,#00H

MOV79H,#00H

MOV7AH,#00H

KK:

LCALL

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

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2