当前位置:   article > 正文

基于单片机的恒温箱设计

基于单片机的恒温箱设计

摘 要

随着科学技术的进步和人民生活水平的提高水平,恒温箱的发展要求提高。生产方面需要结构简单,生活方面要满足要求和操作简单。现在,在实验室的环境温度要求提高精度,医用疫苗的恒温,和奶瓶恒温也需要通过温度控制。这里用控制恒温箱举例,提供它的设计思路和计划,也可以进行仿真模拟。
通过硬件的运行,得出本设计的实验效果很好。它有很多的优点,操作简单,小型化便于携带,设计的成本低等等。设计中的温度传感器采用的是DS18B20。它结构简单,模数转换是在内部集成,使测温方面简单高效。设计中采用的51单片机功能多,控制简单并且易于负载,所以将80C51单片机的硬件电路设计为温度控制的核心部分。此外,其中的温度控制部分分为加热和降温2个部分,利用程序设计控制单片机使温度在一定范围内变化。本设计的成果可以运用于小型的控制系统中,成本低,而且能够实现控制的自动,实现自我调节。

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

Abstract
With the advancement of science and technology and people’s living standards improve the level required to improve development incubator. Production requires a simple structure, aspects of life to meet the requirements and simple operation. Now, in the laboratory ambient temperature for greater precision, thermostatic medical vaccines and bottles also need constant temperature control. Here with control thermostat, for example, offers its design ideas and programs can also be simulated.
Run by hardware, the design of the experimental results obtained very good. It has many advantages, simple operation, small size and portability, low cost, design and so on. Design temperature sensor uses DS18B20. It is simple, analog to digital conversion is integrated, so that temperature aspects of simple and efficient. 51 single-chip design used in multi-functional, simple control and easy to load, so the 80C51 microcontroller hardware circuit design as the core part of the temperature control. In addition, where the temperature control part is divided into two parts of heating and cooling, the use of single-chip programming control the temperature within a certain range. The outcome of this design can be applied to small-scale control systems, low cost, and can realize automatic control, to achieve self-regulation.

Key words: The Temperature Sensor 80C51 Incubator

目 录

摘 要 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

1 概论

1.1 课题研究背景及意义
因为科学技术水平和人民生活水准的提高,以及恒温箱在各种领域的应用改进,恒温箱的设计理念也提高一个档次。不论是在生活还是在工业方面,环境恒温的要求都很高,有的精确到1摄氏度,甚至精确到小数点的后几位,这就要求恒温箱的设计精度非常的高。在生产方面,工厂或者开发者会考虑成本,简化内部控制电路可以降低成本;在生活方面,人们会要求操作简单,实现的功能能满足生活需求。恒温箱现在越来越受人们的关注,恒温箱在不同的行业起到的作用和意义也是大不相同的。
在工业的制造过程当中,当应用到恒温箱的时候,要保证质量的可靠性就必须对恒温箱的设计有非常高的要求。当然恒温箱的维护也需要一定的费用。恒温箱的很多特性都要达到标准。这些标准对于工业的批量生产的企业都是非常重要的。应用的方面比如:在医药方面,医疗恒温箱主要用于医学,特别是、储存、运输等;自动保温水壶、热水器保温系统、医院恒温箱、蔬菜水果种植的温度控制器等。因此,恒温箱的后续发展对工厂的发展还有生活方面都有很大的帮助。
当恒温箱在运用到生活当中之前,要在实验室里面调试好。实验室的实验要得到很精确的实验数据,当然实验的环境也是有要求的。当恒温箱的精度越高,运用到实际的生活当中得到效果就越佳。
1.2 国内外研究现状
恒温箱也可以称为鼓风干燥箱,它是很多行业的检测设备。可以确定温度变化后的参数,分析其性能。具体的方面可以用在电子产品,高温度材料的分析等等。
从1960以后,国外的恒温箱控制系统得到快速的发展,并且向着智能化方向前进。工业的迅速发展和生产要求的提高,迫使恒温箱技术要跟着提升,这样才能跟的上科技生产要求。自动控制原理也推动这这一发展。在这方面,以及日本,美国,德国和其他国家的领先技术,并产生了一批商业仪器。现在,国外的温度控制技术还在进一步的发展当中,并且是向着高精度、智能化、小型化的方向快速发展。
相对于国外,我国的恒温箱技术的大概水准是在20世纪80年代。我国常用的控制方法也是运用PID控制方法。PID控制方法也可以进一步的深入,比如模糊PID控制技术。当然模糊PID的控制理念来设计恒温箱的工作还在进一度地研发当中。现在国内一般的温控系统还是难以处理滞后等高要求的复杂问题的。我国在方面的技术还需要进一步的提升。当然在中国,在恒温控制和其他控制仪表有差距,然而国内还是取得了一定的效果。例如控制温度箱温度孵化小鸡的控制设备,这个设备系可以在一定的温度范围内自行调整,提高工作效率,降低劳动成本,实现自动控制;设计的新型蓄电池恒温箱控制器针对当前的通信基站技能需要;小温箱温度控制系统的设计,该系统具有温度调节功能,用户可以通过外部操作设定温度区等等。
1.3 本文主要工作
保持测试箱的温度在一定范围内是恒温箱得到广泛应用的关键。本设计采用单片机来模拟恒温箱的控制设计。单片机的选取和一些元器件还有型号的选择是开始本设计的第一步。
本论文主要的设计内容为:确定整体的框架和流程图;设计温度采集电路,时钟电路,温度控制电路,温度控制可以手控也可以软件控制;选择80C51单片机为核心元件的恒温箱的硬件;可编程控制系统的硬件选择;完成恒温箱的单片机C语言的编程设计。尽量用功能强大的芯片,以简化电路;人机界面的设计。利用单片机实现人机的功能实现。
用按键可以来设置温度的预设值,还可以用来调节温度的上下限。数码管可以用来显示温度。当然也可以采用液晶显示屏来显示温度,液晶显示屏可以显示数字也可以显示文字,功能较为强大。温度控制的加热和降温,在设计里面都是用LED灯来代表的。本设计的硬件比较小,易于携带,而且操作要求不高,温度显示明确(上下限的温度设置表示明确)。本设计可以作为一些小型的温度控制设备。设计的恒温箱大体有这几个部分组成,主控制系统部分,加热部分,温度传感器部分等等。
模拟的LED灯代表风扇,风扇的作用是制冷,当恒温箱内温度高于上限,打开风扇制冷,温度下降。如此来回控制。一般的情况下,当所测的温度低于加热的温度的时候就需要加热,当时这样加热的话就有点迟了。一样的原因加热也是这样。设计里面可以采用PID控制,设置偏离值可以解决问题。本实验用一个LED灯模拟风扇。
LED灯代表的风扇转动之后降低温度,起散热的作用,实现恒温箱的降温作用效果。采用的温度传感器DS18B20能够实时的检测到环境的温度值,就能够实时的判断出环境温度和自己设置的温度是否产生误差。以上就是设计的主要内容。

2 恒温硬件控制设计

2.1 主控制系统
主控制最系统电路如图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。
2.2 温度传感器选择
温度传感器的选择对总体设计很重要。温度传感器有两类,一类A/D转换时是内部集成的;另一类A/D转换不是内部集成的。
2.2.1 温测元件介绍及比较选择
热敏电阻:热敏电阻对温度变化感应灵敏,其特点就是温度变化,它的阻值就会随着变化。热敏电阻分2个类型,一个是温度变高,阻值就会变高,用英文字母表示为PTC;另一类的热敏电阻NTC,它的阻值是跟着温度的升高变小的。它的的制造是由金属氧化物混在一起烧结制成的。
热电偶:热电偶是工业生产中应用比较普遍的一种测温传感器。其工作原理是不同的金属导线的回路结构中,要是它的热端和冷端温度有差,那么回路中就产生与这个温度差相对应的电动势。
AD590:它是一种半导体温度传感器。其优点就是灵敏度高,精度较高等等。
LM35系列温度传感器:它是集成高精度传感器,测温范围是-55到+150℃,在25℃时测量精度为0.5℃。
实时温控温度传感器:它是一种温度转换为传感器的方波频率(温度-频率)。
DS18B20:数据采集是直接送入微处理器的A/D转换,温度测量的温度范围为-55到+125摄氏度。它的精度很高。
通过上述的简洁介绍本设计选择DS18B20温度传感器,原因是温度是生活中最基本的环境参考的一个量度,生活和生产中都要检测温度。DS18B20传感器是一条总线接口的,它的优点有很多,比如低功耗、小型、适应能力强等等。而且能直接将温度生成串行数字信号输入微处理器处理。这种温度传感器的温度测量系统电路结构简单、容易实现,适用于大多数类型的单片机。热电阻或者热电偶作为温度传感不能直接输出数字信号,中间少一个转换,需要通过A/D转化的环节,这样就会是电路设计变得复杂,设计的难度不必要的会加大。DSl8B20传感器元件为代表的数字式单总线温度传感器其突出优势大量运用于储存管理、生产制造、气象测量、科学研究和日常生活中。DS18B20传感器直接可以显示温度,在程序中添加语句就可以在数码管上显示。它的传输距离远,可联系在一起多点测试,结构也不复杂。而且设计时单片机接口可以不需要外围元件的嵌入。
2.2.2 DS18B20数字式温度传感器
**加粗样式
**
图2-2 18b20温度传感器
(1)DS18B20的基本特性和引脚功能:
在DS18B20之前要先介绍单总线通信。地址线和数据线还有控制线这3个线结合在一起就是单总线。它的功能就是即可以输数据也可以输时钟,而且是双向性(数据线)。单总线的器件可以在这根信号线上面挂多个。采用单总线的话有很多的好处,首先节省空间资源,就是I/O口,还有就是结构易懂,具有设计方便等等优势。因此它被广泛应用于分布式测控系统。
DS1820温度传感器是一个单一干线温度测量元件,它有一个直接的数字信号,总线电源可用,并可以连接多个传感器在总线上,可以形成多点温度测量网络。它是温度检测系统的好选择。信号发送是从DS18B20的一个端口,或者是DS18B20发送。所以,从主机CPU和DS18B20的连接就需要一根线就行,并且还要一个地线。DSl8B20温度传感器是一个数字温度传感器,支持单总线接口,并能直接反映物体的温度。信号可以从DS18B20 输入信号的时候只需要读取和单线接口读写数据总线提供电源。 DS18B20可以用外部的供电,也可以用总线内部的供电。这样就能使温度温度传感器的设计简单很多,成本也变少了。它温度测量范围是-55℃到+125℃。DS18B20的温度测量范围为负55到正125摄氏度,增量值是0.5摄氏度。在负10到正85摄氏度,精度是正负0.5摄氏度。
DS18B20有3个引脚TO-92小体积封装形式,它的图在上面。各个引脚是GND是接地,DQ是数据的输入和输出,当工作在寄生电源的时候,也可以向器件提供电源。VCC是可选择的外接供电电源引脚,当工作在寄生电源的时候该引脚必须要接地。
(2)DSl8B20工作原理和应用:
DS18B20温度测量原理,从图2-3中可以看出振荡频率温度系数的晶体振动受温度影响小,固定频率的脉冲信号为计数器1。[11]高振荡频率温度系数影响较大,温度脉冲输入信号作为计数器2。一个基址寄存器计数器1和温度预设值。晶振低温度系数的脉冲信号计数器1做减法计数,当计数器预设值为0,温度寄存器的值将增加1,然后预设的计数器1会重新计数,计数器1开始计数低温度产生晶体系统脉冲信号,然后就是循环阶段。当循环后,计数器计数从2到0后,停止温度寄存器之的累加。此时,数值寄存器的温度测量的温度确定。斜率累加器的作用就是对在测量温度时出现的非线性进行校正还有补偿,输出校正计数器1的预设值。DS18B20温度测量分辨率在正常使用是0.5℃,如果你需要一个更高的测量精度,要对DS18B20温度测量原理进行深入分析,然后使用DS18B20的直读方法,能使DS18B20温度分辨率达到0.1 到 0.01℃。
在这里插入图片描述

图2-3 测温原理图
DS18B20的存储命令,ROM命令通过每一个器件64位的ROM码,是主机CPU指定某一特定器件与之进行通行。RAM命令也可以称为功能命令,可对DS18B20进行读写、启动温度转换等操作。
DS18B20的应用范围也很广,比如一台电脑工作室,其主板、硬盘、显示器等的工作温度就需要同时都保持在正常温度范围内,否则电脑的整体工作就会受到影响。又比如一个家庭会用到很多台电器,若能同时获知这些电器工作温度,那么发现其中温度过高者是,用会就可以及时将电器电源关闭,从而避免出现电器损坏的故障问题等等这些应用范围。
2.3 键盘设置电路
键盘的按键电路图如图2-1所示。常用的单片机按键有4乘4的矩阵键盘和4个独立按键,这2个都可以设置温度的上下限,也可以设置预定温度值。本设计运用独立按键,S1是复位按键,S4是选择设置上下线或设置预定温度值,S2上调温度,S3下调温度。下面介绍4乘4矩阵键盘和独立按键。
在温度的设定之前,电路里已经设置了标准的温度值,这一温度值是在程序编程里面设定的。设定值也可以通过按键来设定好。并且其中的2个按键的作用是不一样的,一个按键的作用是加温度值在数码管显示,另一个按键是减温度值在数码管上面显示。这2个按键的每次按变化多少度,这个设置是在软件程序的设计中完成的。
本设计采用的是独立按键,因为本设计单片机的I/O口资源够用,而且设计时用的按键不多。当要用到多个按键的时候,就要考虑用4乘4的矩阵键盘了。4乘4矩阵键盘就是有16个按键,按键多,也可以节省I/O资源。但是,不论是用矩阵键盘还是用独立键盘,检测的原理是一样的,对应的是I/O是低电平。而且需要注意的是延时消除按键抖动的环节不能少。
2.4 数码管显示
数码管的显示工作机制大同小异,它们可以通过管脚的连接来实现多位数字一同实现,达到预期的效果。其中显示的部分就是发光二极管发光显示的。比如显示一个3字就需要点亮a、b、g、c、d这5个LED灯,其他的显示数字原理都是一样的。而且,数码管还有一个小数点,所以可以显示小数,这样就可以将测到的数精确到小数的后几位,提高设计的精确度。从下图2-4我们可以看出数码管一个有8个发光二极管,还有公共端。其中细分的话,可以分为共阳极和共阴极。
在这里插入图片描述

图2-4 一位共阴极数码管引脚图
首先数码管的原理很简单就是加一个一定量大的正向压降给数码管里面的发光二极管,然后就点亮了。当给了足够大的正向压降后,里面对应的LED就会发光。数码管一共有a、b、c、d、e、f、g、DP 八段,例如要是显示“1”只需要点亮b、c 两段LED即可;若要显示“A”则点亮a、b、c、e、f、g 这六段LED即可。因为LED被给予的是正向压降,所以其两端电压一定会有高低差别。之前已经提到共阳极和共阴极,共阳极是数码管里面发光二极管电压高的一段,数码管里面发光二极管电压低的一段是共阴极。如果为了点亮共阳极,就需要是公共端的电平大于非公共端,要是为了点亮共阴极,则反之,要非公共端的电平高于公共端。
本设计运用的是4个数码管连在一起,就是4位数码管显示温度。设计的精确度是小数点后一位,精确度的相关设计在后面的程序设计中。
2.5 蜂鸣器和LED灯
下面的部分原理图2-5,主要的功能是设定预设值和设置温度的上下限。当报警时,LED的灯会亮,蜂鸣器也会响。另外的一个LED灯用于加热信号的元件。
在这里插入图片描述

图2-5 蜂鸣器、发光二极管图
蜂鸣器的应用极广,一般的机器只要发出声音多数都是蜂鸣器的作用。它也属于通讯系统元件。一般用的的蜂鸣器可以分为交流的和直流的2种,直流也被称为也可以称为激式蜂鸣器。直流蜂鸣器的工作原理是加一定的驱动直流电压就可以使其工作。当时直流蜂鸣器是给一定的驱动直流电压就会响。但是交流蜂鸣器运行时要给蜂鸣器一个脉冲才能运作,就是相当于2个方向的切换。蜂鸣器需要脉冲,脉冲的产生是运用三极管的特性。若当电平是高的时候,蜂鸣器响,低电平的时候作为切换的状态。如下的方波脉冲图2-6:

在这里插入图片描述

图 2-6 方波脉冲图
IO口实现一种这样高低电平的方波,驱动蜂鸣器发音。
2.6 硬件部分总结
硬件方面的设计首先是温度元件和温度转换方面的设计。本设计采用的DS18B20温度传感器。因为要是用其他的传感器如热电偶等等,它们都需要在硬件电路上加一个模数转换电路,这样就会不必要地增加设计的难度。DS18B20可以自动地将温度值转换成数字信息。
然后就是温度设置电路的设计。本设计采用的是独立按键,其中有复位按键,还有加温度值的按键,还有减少温度值的按键,关键的一个按键时选调子程序按键。其次是温度显示部分电路。温度值显示可以采用LED将它显示,也可以用彩屏来显示。本设计的温度显示用的是多位的7段数码管来显示温度的。温度也精确到0.1摄氏度。
最后就是单片机和各个引脚连线方面的设计。将单片机的P1.0口到P1.7口连接数码管的显示电路,P3.4到P3.7连接数码管的驱动电路,将单片机的P2.4引脚和温度传感器的数据口连接。还有其他的端口连接都可以在后面的原理图中看出。这些就是硬件部分的总结分析。

3 控制系统

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

图3-1 系统总体设计流程图
3.2 功能实现模块设计
3.2.1 温度传感器DS18B20设计
遵循DS18B20的通讯协议,要玩策划能够DS18B20温度转换是需要经过几个步骤的。DS18B20单线时序要求是非常高的,因为其通讯时分时性的。但是,8051单片机是不具有单线传送数据这个功能的。要是实现这个功能就要运用到软件来模拟这个单线时序。模拟也需要遁寻规则,按照流程执行:首先是初始化DS18B20,然后是DS18B20收到脉冲反应后送到ROM,然后是存储器发送执行命令,最后是数据的传输。
这里附上DS18B20的初始化程序设计其他的可以见附录:
void init_18b20()
{
bit q;
dq = 1; //把总线拿高
delay_uint(1); //15us
dq = 0; //给复位脉冲
delay_uint(80); //750us
dq = 1; //把总线拿高,等待
delay_uint(10); //110us
q = dq; //读取18b20初始化信号
delay_uint(20); //200us
dq = 1; //把总线拿高 释放总线
}
DS18B20首先要复位,复位时要求DQ是低电平0,然后数据线置为高电平,时间范围是15到60us;在后面就是低电平给应答回复。下面就是进入读写操作。
写操作,数据线把1降至0,由此产生“写”的初始信号。DQ下降沿起对数据线进行检测。如果数据线高电平则1;若是低电平,就写0,然后就完成了一个写周期。另一个“写”周期之前,恢复是需要时间的。在写进行下一个周期运作的时候需要一个起始信号,在这之前的条件是把数据线的电平1置为电平0。
在读操作的时候,数据线的电平由1到0,时间超过1微秒,然后作为读的初始信号。主机读数据的时间60以内,这段时间对应着数据线从电平1到电平0的过程中。读操作也是有最短的时间周期的,大约是60微秒。而且,要超过一微秒的时间高电平作为恢复时间。
温度转换读取流程图3-2:
在这里插入图片描述

   图3-2 温度转换读取温度数值程序流程
  • 1

3.2.2 中断控制设计
本设计的中断用来设置重新输入温度的上下限。当中断信号产生,8051单片机被允许执行中断,主CPU会根据中断的种类,然后跳到中断的适量地址,然后去执行中断服务例程。
当CPU在没有进到这点之前,先把PC值暂存在内部的堆栈指针中,然后就会生成一个远程调用的方式,最后进入点地址。这时中断的程序和其他程序的写法是相同的。中断的程序运行完之后,RETI又会回到原程序的中断离开点。跳出中断,继续执行原程序。RETI是中断的结束,必须以它为结束。原先在堆栈区的PC值取回。中断服务程序也结束,CPU收到信号。
51单片机响应中断之后,执行中断服务程序,基本流程图如下图3-3:
在这里插入图片描述

图3-3 中断服务程序基本流程

3.2.3 键盘控制设计
在按键的软件设计时需要考虑了按键消抖得问题。如果按键不去抖的话,单片机对按键的操作就会出现识别错误,这样就现实不了预想的功能,所以必须要去抖。键盘的程序流程图如图3-4:
在这里插入图片描述

图3-4 键盘的程序流程

3.2.4 PID控制程序设计
本设计也可以运用PID模糊控制,当运用PID控制的时候可以提高产品的效率,大大地接近于实际,下图是它的流程图3-5:
在这里插入图片描述

图3-5 PID算法程序流程图

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

图3-6 主程序流程图
3.3 运算控制模块设计
3.3.1 PID控制算法
PID控制是一种相对成熟的控制方面的理论,它是应用比例、积分、微分的合理组合,然后采用比较简单的方法来达到人们相对满意的控制效果。
PID的数学模型如图3-7表示:
在这里插入图片描述

图3-7 PID数学模型
一般简单的控制器只需要比例部分就够了,因为只有比例部分,所以它产生输出信号与输入信号是成比例的。所以,要是产生误差的话,控制器能够及时的控制,改变被控制量,是误差变小。比例控制的效果是由比例控制系数KP决定。可是,比例控制也有缺点,因为他的设置点和反馈点没有静差。不能产生静差就不能输出有限的信号。变大KP也是不能起作用,而且过大的对系统的稳定性不好。
由于积分环节能记忆和积分误差,所以只要有偏差,就能将其积分然后后应用在操作部分,这样可以消除静差。可是,积分作用也有局限,它有滞后性。由于积分的滞后性,会给系统带来不稳定,也会使系统的调节度过大,不利于功能的实现。滞后使偏差不能得到有效的反馈。但是,积分可以用在补偿的控制系统,要求高的也可以。而微分控制能狗微分误差,准确的分析出误差的变化走势,根据这一趋势操作部分可以设定预期的动作,放大微分控制的作用可以使系统的响应速度提高,提高系统的稳定性。微分控制缺点是对干扰不能调节,这样系统抗干扰的能力减弱。微分控制一般应用于变化快的控制系统的补偿。
从生产和生活的例子中,可以看出PID控制应用管饭。生产过程中经常会出现比较复杂的操作系统。这些系统非常的难处理,运用常规的方法是解决不了的。对于以上这些系统,要是用常规的PID控制器来调整,那么不能整定PID参数。所以,要达到预期的控制效果是非常难得。PID控制经过人们不断的开发,在常规的PID控制的基础上进一步地研发出了模糊PID控制等。这样面对较复杂的参数整定时可以起到一定作用。
3.4 软件部分总结
软件设计部分首先是对主程序中系统进行初始化,就是开启中断,是DS18B20启动温度检测和数值的转换,就是将初始的温度值转换。[11]然后就是不断地检测温度,还有显示温度和检查预设的标准温度。启动DS18B20温度值的转换,延时一段时间,然后调用温度值显示之程序进行实时温度和标准的温度显示。然后调用预设温度的之程序,检查按键动作,返回前面的问检测。
温度值的显示实际是分为2块的,一块是实时温度的显示,还有一部分是设定温度的显示和加减显示。当各个温度值的显示位都完成以后,然后在判定实时温度和检测到的温度值之间的大小关系。当实时温度低于标准温度是,蜂鸣器响,LED灯亮,表示需要加热;当实时温度高于标准温度时候,蜂鸣器响,LED灯亮,表示需要降温;当实时的温度值在温度设定的上下限之间,蜂鸣器不工作,LED不亮。以上就是软件部分的大体总结。

4 软硬件调试

系统调试通常包括硬件调试、软件调试等环节。在总装系统之后,第一步就是要在电脑的条件下的进行系统硬件调试。当硬件调试成功以后,就有了硬件操作保证,这样就能容易发现软件在什么地方出错。在软件调试的过程中,也可以会发现硬件出现的故障,当处理掉软件问题后,硬件中的不易被发现的问题也会被发现和改正。在运用到现场之前,一定要在调试下充分发现存在的问题,然后解决它。可以先仿真,后调试。然后在不断地软硬件联合调试,当确定无误以后才能达到要求,才能运用到现场。现场安装后运行一定时间能够正常使用,这样才能算是完成全部系统的设计任务。
4.1 常见的硬件故障
首先是逻辑错误,它造成的原因是因为设计错误或者加工时出错。然后是元器件失效出错,这种故障有两方面的原因:一个原因是器件本身遭到破坏或着性能达不到要求;二十焊接的时候出错,比如极性接错等等。还有救可靠性能差,导致可靠性差的因素有很多,比如焊接不牢固导致接触不良使系统不灵敏,承受不了振动;干扰、电源纹波系数大、过负荷等导致逻辑电平稳定差;不合理的布局也会使系统可靠性差。电源故障,供电源没有接地,还要考虑到电源和其他器件的配对,要具有负载能力。
4.2 联机调试
有一些硬件故障可以经过脱机时就可以排除,但是,有一些不容易被发现的问题还是要经过联机调试才行。
联机前不要通电,首先检查一下线路,安装是否到位,接地什么的是否正常。当一切正常之后,即可打开电源。先执行读写程序,温度显示,温度上下限是否能显示。当能显示出来后,就能说明采用的硬件电路的存储器还有端口没有大问题,然后可以对其中的具体的一一检查,可以采用示波器等等。一般情况下会出现的问题有,线路的逻辑问题,电路线路不同等等。当主要电路调试好之后,就可以进一步来检测外围的部分了,包括按键,数码管,蜂鸣器等等。在调试过程中也会出现系统不稳的问题,有可能是干扰过大,电源不稳或者是各级电源的滤波不完善等等。这些问题,在本设计中有的遇到了,经过调试都一一解决了。
(1)采集电路调试
用一点的测试方法来设定设计数值,这设计数值可以符合温度采集电路输出电压和温度的关系。本设计用的温度采集元件是DS18B20元件,主要的调试部分都是在软件KEIL4上面进行的,根据画的原理图对应单片机端口在软件上进行调试。当编程的程序运行没有错误和警告之后,烧录到单片机中,数码管工作显示温度,可以得到测试的效果。温度的精确度也可以在程序中设计。附图4-1:

在这里插入图片描述

图4-1 DS18B20初始化和读写
(2)数码显示调试
数码管的效果非常重要,有的数码管显示不清楚,比如显示8时,只显示出了A,少了下面一个二极管的发光,严重影响了设计所要的效果。当其中的二极管的发光很弱时,通过测量里可以发现其2端的电压不能达到额定电压,原因一般都是负载很大,导致额定电压不足。本设计的数码管的调试也遇到了这个情况,可采用2种方法,一种以换一组数码管,测试后,用好的;还有就是加一个电压放大器来使其正常工作。
在这里插入图片描述

图4-2 数码管显示程序
4.3 脱机调试
样机测试的时候,首先要确保的是原理图和焊接电路图的线路是否正确。在然后就是比对元器件的型号和作用。脱机调试的关键就是要检查元器件的安装是否规范,尤其要注意线路走向,线与线之间有没有短路,器件的极性是否接正确。这些在脱机调试的时候需要一一检查。
样机的电源也很重要,首先端口设计正确,不过本设计用的是USB接口通电,只要电脑有电或者USB接口的充电器有电,所用的电源就不需要考虑。还需要检查时外围器件和主芯片的引脚上电位是否正常。若是不正常,联机功能就实现不了。
整个样机的复位也是非常关键的,要是不能正常复位,系统也是不完整的。但在这之前首先要接入复位电路。
4.4 软件调试
软件调试和软件的结构还有设计的程序等等密切相关。要是采用模块程序设计技术,就需要一个模块一个模块分开调试。调试各个子程序的时后必须要适合现场环境。当一个模块一个模块软件测试的时候即可以发现语句是否正确,还可以发现是否有死循环,转移地址是否有错等等。一些硬件问题也可以在软件调试的过程中发现。实际软件的调试就是需要硬件和软件不断的磨合,一步一步地调试好程序中的各个模块。
当每一个模块都没有错误之后,就能够把功能摸块整合在一起进行全面的调试。要是这个阶段有状况,那就要考虑其中出现的问题,子程序的运行现场是否被破坏,堆栈区域有没有出现溢出问题,设备是不是正常输入等等。下面附上一些关键的子程序的调试图片,用的是KEIL4软件调试,图4-3和图4-4:
在这里插入图片描述

图4-3 端口定义

在这里插入图片描述

图4-4 按键设置
4.5 误差分析
误差分析分为两个部分,一个是校正误差,还有一个是温度误差。误差分析的含义是温度传感器的误差校正。校正误差:校正误差就是实际温度和传感器感应到的实时温度两者间的误差,误差值和温度值是成正比例的。进行补偿的方法是采用外部电阻的调整。温度误差是在校正误差调整之后有的:它是由温度非线特性产生的误差。要是都不进行误差分析改进的话,那么校正误差与温度误差就是整个系统的误差,这样总误差会比较大。误差还包括固有误差、系统误差、元件误差等等。本设计的测控精度需要进一步的提升,误差也需要减小,进而提高系统的性能。

5 总结与展望

5.1 总结
本系统的设计目的就是保证设定的温度在一定的范围内变化,是整个系统稳定地运行。本设计的系统成本要求不高。采用温度传感器也使设计更加地具有实用性,性价比也变高了。运用这种恒温系统可以使工业上的生产成本减少,不论是在质量还是数量还是在工作环境上,这类系统都大大地改善了它们。经过分析表明,该系统是一个良好的性价比,无论对生产者和使用者,它可以带来良好的经济效益。这个设计是基于8051单片机为核心的,软件和硬件相结合实现控制效果。根据中国的科学技术和工业水平,系统设计符合工业生产的需要。所以,本设计系统能反应出社会效益良好。
在设计的过程中,失败过,在失败中我会找到自己在什么地方发生了错误,然后改掉它;在这个过程中也成功过,喜悦无以言表。这是第一次怎么系统地运用这几年学的知识来完成一个设计。在设计过程当中遇到不懂的知识时,我都会查阅资料。通过不断运用知识实践,使我对知识的理解更精了一步。实践和知识分不开。不久我们就要步入社会,社会是充满竞争的,这次的设计让我明白完成一件事情要有一定的知识专业储备和不断学习的目标。本次温度控制设计基本地完成了设计的要求,而且通过硬件的测试,可以得出这个方案是可行的。因为在设计中还有不懂得方面,知识能力有限,所以系统也有很多不足和缺陷。
5.2 展望
此次的设计还有很多不足的地方,设计中大多数的功能都是采用模拟的功能。模仿不能贴切的直接地运用到实际当中,设计和实际之间还有一段距离。恒温控制需要很好的降温功能,本设计中欠缺如风扇这样实际的降温实物,还有就是加热方面的话LED灯加热源并不理想。对于设计要是能运用到PID控制,就能提高设计在实际中的采用率。在以后的完善当中,向着这一方向发展,比如当温度接近于预设值时,能够启动风扇或者加热源。当越接近于预设值时,风扇的速度越小,加热源的功率越小,这样能够提高能源的利用率。以后的研究多涉及这一方面,这样才能和实际更加的贴切,运用于生产和生活中。

致 谢

在长达1个多月的时间里,经历了很多的事情,我从一个专业性知识结合不强的学生到一个知识运用环环相扣的学子,我学到了很多。在做这个恒温设计的过程中,不仅要求软件知识熟练,而且还要会硬件的动手能力。软件部分要求会单片机C语言的编译、修改和下载到单片机中,硬件部分要掌握其工作原理和功能。在整个设计中还有比较难得一块就是电路板的焊接,对应着于原理图焊接,不能出现一点的错误,错一点整个功能就实现不了。我要感谢我的指导老师金鑫老师,他对我们的毕业设计非常的责任,当遇到不懂的地方时,老师也会耐心指导。在设计的过程中也要感谢我的同学们,他们给了我支持,遇到困难他们都会乐于帮助。完成这次的设计,也让我知道要完成一个事情,自身的努力是至关总要的。
由于本设计者的知识有限,有很多方面都不足,而且也是第一次设计这样比较复杂的题目,设计过程中会出错。还恳请各位老师能够给出批评,谢谢各位老师。

[参考文献]

[1] 顾涵.基于51单片机的小型温度采集系统设计[D].常熟:常熟理工学院,2012.
[2] 王银玲.基于单片机的恒温箱控制系统设计[J].农机化研究,2009(9):103-105.
[3] 陈成义.基于AT89S51单片机的成空电源开关设计[J].电子科技,2014(5): 2-4.
[4] 陈志红.基于51单片机温度采集系统的设计与实现[D].郑州:郑州铁路职业技 术学院,2011.
[5] 陈菁,张小溪.基于单片机的小型恒温箱设计[D].北京:北京林业学院理学院, 2014.
[6] 王幸之,钟爱玲,王雷等.AT89系列单片机原理与接口技术[M].北京:北京航空航 天大学出版社,2004.
[7] 南建辉,熊鸣,王军茹.MCS-51单片机原理及应用实例[M].北京:清华大学出版 社,2004.
[8] 尹勇,李宇.μVision2单片机应用程序开发指南[M].北京:科学出版社,2005.
[9] 景鑫.51单片机的串行口扩展方法[J].微计算机信息,2005,(13):63-64.
[10] 于尔铿,韩放,谢开,等.电力市场[M].北京:中国电力出版社,1998.
[11] 肖婧.单片机系统设计与仿真[M].北京:航空航天大学出版社,2010:98-124.
[12] 胡汉才.单片机原理及其接口技术[M].北京:清华大学出版社,2002.
[13] 沈长生.常用电子元器件使用一通读[M].北京:人民邮电出版社,2003.
[14] 沙战友,王彦朋,孟志永.单片机外围电路设计[M].北京:电子工业出版社, 2003.
[15] 戴佳,戴卫恒,刘博文.51单片机C语言应用程序设计[M] .北京:电子工业 出版社,2008.
[16] Farouki R T,Sakkalis T.Pyhtagorean hodographs[J].IBM Journal of Reasearch and Development,1990,34(5):736-752.
[17] Farouki R T,Shahs.Real-time CNC interpolators for Pythagorean-hodograph curves[J].Computer Aided Geometric Design,1996,13(7):583-600.
[18] Tsai X F.Real-Time CNC Interpolators for precision machining of complex shapes with Pyhagrean- hodograph curves[D].University of Michigan,2000:1-40.

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/280858?site
推荐阅读
相关标签
  

闽ICP备14008679号