单片机设计:基于单片机的恒温箱设计

主要介绍

  通过硬件的运行,得出本设计的实验效果很好。它有很多的优点,操作简单,小型化便于携带,设计的成本低等等。设计中的温度传感器采用的是DS18B20。它结构简单,模数转换是在内部集成,使测温方面简单高效。设计中采用的51单片机功能多,控制简单并且易于负载,所以将80C51单片机的硬件电路设计为温度控制的核心部分。此外,其中的温度控制部分分为加热和降温2个部分,利用程序设计控制单片机使温度在一定范围内变化。本设计的成果可以运用于小型的控制系统中,成本低,而且能够实现控制的自动,实现自我调节。

关键字: 温度传感器 80C51单片机 恒温箱

一、主要工作

保持测试箱的温度在一定范围内是恒温箱得到广泛应用的关键。本设计采用单片机来模拟恒温箱的控制设计。单片机的选取和一些元器件还有型号的选择是开始本设计的第一步。
本论文主要的设计内容为:确定整体的框架和流程图;设计温度采集电路,时钟电路,温度控制电路,温度控制可以手控也可以软件控制;选择80C51单片机为核心元件的恒温箱的硬件;可编程控制系统的硬件选择;完成恒温箱的单片机C语言的编程设计。尽量用功能强大的芯片,以简化电路;人机界面的设计。利用单片机实现人机的功能实现。
用按键可以来设置温度的预设值,还可以用来调节温度的上下限。数码管可以用来显示温度。当然也可以采用液晶显示屏来显示温度,液晶显示屏可以显示数字也可以显示文字,功能较为强大。温度控制的加热和降温,在设计里面都是用LED灯来代表的。本设计的硬件比较小,易于携带,而且操作要求不高,温度显示明确(上下限的温度设置表示明确)。本设计可以作为一些小型的温度控制设备。设计的恒温箱大体有这几个部分组成,主控制系统部分,加热部分,温度传感器部分等等。
模拟的LED灯代表风扇,风扇的作用是制冷,当恒温箱内温度高于上限,打开风扇制冷,温度下降。如此来回控制。一般的情况下,当所测的温度低于加热的温度的时候就需要加热,当时这样加热的话就有点迟了。一样的原因加热也是这样。设计里面可以采用PID控制,设置偏离值可以解决问题。本实验用一个LED灯模拟风扇。
LED灯代表的风扇转动之后降低温度,起散热的作用,实现恒温箱的降温作用效果。采用的温度传感器DS18B20能够实时的检测到环境的温度值,就能够实时的判断出环境温度和自己设置的温度是否产生误差。以上就是设计的主要内容。

二、 恒温硬件控制设计

主控制最系统电路如图2-1所示:
在这里插入图片描述

图2-1 设计主控电路
主CPU运用AT89C51单片机芯片 ,其功能可以满足本设计的要求的采集、控制等需要。单片机的选取在整个设计中非常重要,本设计选用的是8051单片机,它具有很多的有点,本设计选择的关键一点就是功能较为强大,能满足设计的需求比如引脚的需求等等。80C51系列单片机结合了8位CPU的很多特点,并将必要的I/O嵌入到CPU中,除此之外,并增加了足够的ROM及RAM存储空间,使得单片机的线路变得非常简洁,用户只要将汇编语言或者C语言程序写好,然后下载到单片机内即可运行,功能较强。
其中系统复位对任何一个微处理器电路都是非常重要的环节,当RESET信号发生后,所有的数字电路都要恢复到一个已知或默认的状态,而CPU也是如此,它必须调到系统控制程序的起点上,等待RESET信号消失后,就开始执行程序。为了防止系统被非正常信号干扰而复位,通常CPU的RESET输入端都是设计成斯密特触发电路,只有正确的复位信号才可以复位系统,8051单片机的RET输入引脚也是如此。
震荡电路在系统中是非常重要的一部分,它结合内部电路产生单片机运行时需要的时钟频率。本设计采用的是12MHZ的晶体振荡器当作振荡器。设计中不可缺少振荡电路,上图中有此电路。其中需要求得是电容一般在15到50pF。

三、 控制系统

3.1 系统的主程序设计

主程序是控制整个设计的大体的总设计,作为监控程序。在程序的运行前第一步要初始化,键盘、端口等等都要初始化。如下图,系统初始化以后,就是测温测量和温度设置上下限。要是改变上下限的设定值就要用到中断。S1是复位按键,S2是选择设置上下线或设置预定温度值,S3上调温度,S4下调温度。系统软件设计的总体流程图3-1:
在这里插入图片描述

图3-1 系统总体设计流程图

3.2.5 总的程序流程图及设计

当完成各个功能块的软件设计,软件的总体设计就变得不难了。本设计采用的是模块化设计。模块化设计这一理念现在被大多数采用,因为这样有利于问题的解决,设计的难度也会大大地降低。这好像是将大的一个任务分成多个小任务,当小任务完成后,然后整合它们来完成大任务来达到预设的效果。当出现错误的时候,也能够很快地找到是哪一个模块出现了错误,有利于提高设计的效率。当子程序能够不断的被调用和改动的话,对于这种设计理念是非常好的,存储的空间资源也被节省了。
在这里插入图片描述

图3-6 主程序流程图

附录1:原理图

在这里插入图片描述

附录2:实物图

在这里插入图片描述
在这里插入图片描述

附录3:部分源程序

附录3:部分源程序
#include <reg52.h>	         //调用单片机头文件
#define uchar unsigned char   //无符号字符型 宏定义	变量范围0~255
#define uint  unsigned int	 //无符号整型 宏定义	变量范围0~65535
#include "eeprom52.h"
//数码管段选定义      0     1    2    3    4    5	6	 7	  8	   9	
uchar code smg_du[]={0x28,0xee,0x32,0xa2,0xe4,0xa1,0x21,0xea,0x20,0xa0,
				  	 0x60,0x25,0x39,0x26,0x31,0x71,0xff};	 //断码
//数码管位选定义
uchar code smg_we[]={0xef,0xdf,0xbf,0x7f};
uchar dis_smg[8] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8};	
uchar smg_i = 3;    //显示数码管的个位数
sbit dq   = P2^4;	//18b20 IO口的定义
sbit beep = P2^3;   //蜂鸣器IO口定义
sbit JW = P2^6;    //升温IO口定义
sbit SW = P2^7;   //降温IO口定义
bit flag_lj_en;		 //按键连加使能
bit flag_lj_3_en;	    //按键连3次连加后使能  加的数就越大了 
uchar key_time,key_value;      //用做连加的中间变量
bit key_500ms  ;
uint temperature ;  
bit flag_300ms ;
uchar menu_1;       //菜单设计的变量
uint t_high = 300,t_low = 100;	 //温度上下限报警值 


四、结论

  本系统的设计目的就是保证设定的温度在一定的范围内变化,是整个系统稳定地运行。本设计的系统成本要求不高。采用温度传感器也使设计更加地具有实用性,性价比也变高了。运用这种恒温系统可以使工业上的生产成本减少,不论是在质量还是数量还是在工作环境上,这类系统都大大地改善了它们。经过分析表明,该系统是一个良好的性价比,无论对生产者和使用者,它可以带来良好的经济效益。这个设计是基于8051单片机为核心的,软件和硬件相结合实现控制效果。根据中国的科学技术和工业水平,系统设计符合工业生产的需要。所以,本设计系统能反应出社会效益良好。
在设计的过程中,失败过,在失败中我会找到自己在什么地方发生了错误,然后改掉它;在这个过程中也成功过,喜悦无以言表。这是第一次怎么系统地运用这几年学的知识来完成一个设计。在设计过程当中遇到不懂的知识时,我都会查阅资料。通过不断运用知识实践,使我对知识的理解更精了一步。实践和知识分不开。不久我们就要步入社会,社会是充满竞争的,这次的设计让我明白完成一件事情要有一定的知识专业储备和不断学习的目标。本次温度控制设计基本地完成了设计的要求,而且通过硬件的测试,可以得出这个方案是可行的。因为在设计中还有不懂得方面,知识能力有限,所以系统也有很多不足和缺陷。

目录

目 录
摘 要 I
Abstract II
1 概论 1
1.1 课题研究背景及意义 1
1.2 国内外研究现状 1
1.3 本文主要工作 2
2 恒温硬件控制设计 3
2.1 主控制系统 3
2.2 温度传感器选择 4
2.2.1 温测元件介绍及比较选择 4
2.2.2 DS18B20数字式温度传感器 5
2.3 键盘设置电路 7
2.4 数码管显示 7
2.5 蜂鸣器和LED灯 8
2.6 硬件部分总结 9
3 控制系统 11
3.1 系统的主程序设计 11
3.2 功能实现模块设计 12
3.2.1 温度传感器DS18B20设计 12
3.2.2 中断控制设计 14
3.2.3 键盘控制设计 15
3.2.4 PID控制程序设计 16
3.2.5 总的程序流程图及设计 17
3.3 运算控制模块设计 18
3.3.1 PID控制算法 18
3.4 软件部分总结 19
4 软硬件调试 20
4.1 常见的硬件故障 20
4.2 联机调试 20
4.3 脱机调试 22
4.4 软件调试 23
4.5 误差分析 24
5 总结与展望 25
5.1 总结 25
5.2 展望 25
致 谢 26
[参考文献] 27
附录: 28
附录1:原理图 28
附录2:实物图 29
附录3:部分源程序 31

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值