基于单片机的温度控制系统设计毕业论文 - 图文(7)

2019-08-30 15:55

中国农业大学学士论文 结果分析

5.1.2 温度采集仿真

根据DS18B20的时序图编好程序并在KEIL3里检查好语法没有错误后,链接到PROTEUS里进行仿真。开始在PROTEUS里设定改变温度的步长为1℃,在软件里也就相应的将采集到的温度设置为整数,上下限与这个整数相差为一度。这样会使误差加大,之后将仿真的步长改为0.1℃,程序也做出相应的的修改,使实际温度保留一位小数。仿真能够获取实际温度,这个实际温度可从DS18B20的仿真模型中设置。如图5-2所示,PROTEUS仿真温度采集,获取当前的环境温度为28.7℃。

图5-2 温度采集仿真

5.1.3 整体仿真

因为实际温度保留一位小数,在仿真的时候,就出现了一个错误,比如,我设定的温度为28摄氏度时,在正确的情况下,蜂鸣器会在实际温度小于27℃和大于29℃报警,但是仿真出来的结果是小于27℃时,蜂鸣器报警,但是当温度大于29℃时蜂鸣器并未报警,直至实际大于30℃时蜂鸣器才会报警。仔细检查程序后,我发现在读温度子程序模块中,我读取的是实际温度的10倍并取整,然后在我将其与实际值比较之前,又让其除以10,所得值赋给一个整形数,这样就出现了这样种情况,比如,我最初测得的实际值是27.8℃,10倍变为278℃,这是为了方便显示,为了判断是否报警,我要将其与设定值比较,又设定值是个整形数,因此,将此数缩小10倍,赋给一个整形数后实际温度就变为27℃。如此实际温度就当于自减了1℃,故要到实际值为30℃时才能报警。实际温度比设定小1℃能报警,又是因为,只有实际值比设定值小1℃才会报警,

28

中国农业大学学士论文 结果分析

实际温度等于设定的下限并不会报警,因此,(27.0-27.9)℃赋值给整形数始终是27℃,只有当实际温度小于27℃时,实际值才会小于下限(设定值28-1),蜂鸣器才会警报。找出问题的所在后,我将设定值扩大10倍,再与实际值的10倍比较,这样就很好的解决了这个问题。仿真总体完毕。

由上可知,在仿真调试过程中,我遇到了很大的麻烦。在仿真的过程中,有时会感觉程序和硬件都没有一点问题,但是就是不能实现系统所要实现的功能,因为它不允许软件和硬件有一点问题,哪怕是细小的一点问题都不允许。举一个最简单的例子,就拿数码管显示程序的调试仿真来说,PROTEUS 里单片机的I/O口可以直接驱动动态显示的数码管,但在实际中却是不可以的。

因为在PROTEUS中加热装置和实际出入大,所以在PROTEUS里进行加热仿真就是成功也没有太大的实际意义,所以我只进行了系统中两个重要部分的软件仿真,以及这两部分合起来的一个总体仿真。

5.2实际运行结果

仿真结果符合预期后,我就着手实物的制作,将所用到的元件焊接在电路板后,就开始测试系统性能。第一次因为焊接技术不过关,数码管显示时好时坏,为了求得个良好的结果,我又重新将元件焊接在另一块板子上,积累了上次焊接的经验后,第二次的焊接效果比之前好了很多,数码管显示正常。由于是动态显示,数码管的亮度不是很高。

加热装置我选择的是PTC加热器,其功率为120W,很小,只能在比较小的空间内才能进行温度控制。在实际的试验中,DS18B20在以此加热器为圆心,以半径20CM为圆,高度不超过15CM圆柱范围内,控制效果良好,误差较小。以下简述实际试验的一些情况。

首先,给单片机上电后,设定温度为29℃,这个值就是我的期望值了,与此同时,软件中相应的把系统能容忍的温度上下限分别定为30℃和28℃,按下温度的切换键,显示当前温度为27.6℃,低于温控系统要求的下限,产生报警。因为实际温度小于设定温度,PTC加热,一小段时间后,警报解除,说明温度已进入温度控制系统的上下限之间,又过了一段时间(时间长短由DS18B20离PTC加热器的距离而变,但当系统稳定后,时间的差异性变小),实际温度达到29℃,PTC关断,其余温使温度继续上升,但没有触发警报,一段时间后,温度又降到29度,比29℃稍低一点,PTC就会加热,因为PTC的加热很快,冷却较慢,实际温度在PTC关断后,下降超过设定值的幅度很小,即使再小,PTC也会进行加热,如此循环,经过多次长时间的试验,实际温度28.8℃

图5-3,为本次毕业设计的实物显示设定温度 图5-4,为本次毕业设计的实物显示实际温度

29

中国农业大学学士论文 结果分析

图5-3 系统运行显示设定温度

图5-4 系统运行显示实际温度

30

中国农业大学学士论文 总结与展望

第六章 总结与展望

6.1总结

无论仿真还是在实际试验中,本系统都达到了预期的要求。本次毕业设计主要完成的工作有:硬件电路图设计、软件编程与仿真调试、硬件制作等。以下是具体的总结:

(1)以AT89C51单片机为核心进行系统设计,输入通道采用DS18B20芯片,完成温度的采集以及输出数字量;输出通道采用光电耦合器控制双向可控硅作为开关管理PTC加热器的通断。通过双位控制调节可实现对温度的自动控制。由于输入端与输出端有光电隔离,能够有效地抑制干扰;

(2)在温度控制系统中采用双位控制算法,将单片机的某个口线作为双位控制器,通过置“0”或置“1”控制输出通道的通断。

(3)采用C51进行编程,通用性强。在原理图设计过程中使用了PROTEUS仿真,这些都节约了设计的时间,而且便于编写、调试、修改和增删,系统软件的编制采用了模块化的设计方法。

(4)制作硬件的时候采用双面的焊接板,辅于焊锡膏,焊接可靠,在完成时,用万用表对焊接件进行“虚焊”与短路测试。减少硬件调试不成功寻找因素的麻烦。

(5)根据温控空间的大小选择加热装置功率的大小。

(6)使用温度计对18B20所测得的温度进行校正,可使结果更接近真实情况。

6.2展望

本系统使用的AT89C51属于与C51系列兼容的8位单片机,这种单片机共4个I/O口,32根口线,资源较少,运用于较复杂的系统中需要扩展,而且扩展的空间也极为有限。随着工业的发展,对象的复杂程度不断加深,双位控制的缺陷也逐渐暴露出来,而另一方面随着智能控制如模糊控制、神经网络控制等先进控制技术的迅速发展,它们与常规PID控制相结合,扬长避短,发挥各自的优势,形成所谓的智能PID控制。

结合上面的论述,今后还需要做进一步的研究和解决的问题有: (1)硬件方面,采用性能更优良的单片机对系统的硬件进行重新设计;

(2)控制算法方面,如要用于精确控制,双位控制不是好的选择,尝试采用现在得到快速发展的智能控制方法,如模糊控制、神经网络控制和模糊PID控制等等;

(3)在按键方面,采用4×4键盘,占用了I/O口的十二根口线,对于资源本身就少的89C51单片机来说,不是很经济,在复杂的系统中,按键应尽可能少占用I/O口。

31

中国农业大学学士论文 致谢

致 谢

本次毕业设计是在导师苏亦白老师的细心指导下完成的。在论文的总体方案的设计、元件的选择、程序的编写和论文的撰写过程中,苏老师都给予了大力支持和细心指导。苏老师治学严谨,知识渊博、为人谦虚,每次在毕业设计遇到难题找她答疑的时候,她都会耐心地给我解答,提出了很多建设性的意见。更重要的是,苏老师在帮助我的时候,都是给我一个大概的方向,然后让我自己去探索,培养了我独立完成任务的能力。朴实无华的人格魅力,扎实的学术和理论水平使我受益匪浅。借此之际,祝苏老师身体健康,工作顺利。同时也特别感谢我的班主任谭彧老师在中期答辩期间给我指出了许多不足,才促使我很快找到设计方向。

除了老师的帮助,我们班的同学也给了我很多帮助。陆鑫同学在温度传感器上的选择给了我一些启示,并在程序编写时给了我很多的指导;李文勤同学在我画原理图过程中教我如何使用PROTEUS仿真软件;孙思同学在我焊接电路板时告诉了我一些重要的焊接技巧,才使我在实物制作上顺利完成。在此,一并向这三位同学表示真诚的感谢。

32


基于单片机的温度控制系统设计毕业论文 - 图文(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:东莞市区域集优直接债务融资 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: