1、-1基于PID算法和51单片机的温度控制系统设计-2 研研 究究 意意 义义 研研 究究 背背 景景 研研 究究 内内 容容 研研 究究 方方 法法 硬硬 件件 电电 路路 软软 件件 设设 计计 小小 插插 曲曲 结结 论论目录-3研究意义研究意义温度是生活及生产中最基本的物理量,它表征的是物体的冷热程度。自然界中任何物理、化学过程都紧密的与温度相联系。在很多生产过程中,温度的测量和控制都直接和安全生产、提高生产效率、保证产品质量、节约能源等重大技术指标相联系。因此,温度的测量与控制在国民经济各个领域中均受到了相当程度的重视。-4研究背景研究背景近年来,温度的检测在理论上发展比较成熟,但在实
2、际测量和控制中,如何保证快速实时地对温度进行采样,确保数据的正确传输,并能对所测温度场进行较精确的控制,仍然是目前需要解决的问题。从工业控制器的发展过程来看,温度控制技术大致可分以下几种:定值开关温控法、PID线性温控法、智能温控法。-5研究内容研究内容本次设计控制对象是1L水的温度,主要要求如下:(1)能够连续测量水的温度值,用LCD1602显示水的实际温度。(2)能够设定水的温度值,设定范围是3090。(3)能够实现水温的自动控制,如果设定水温为85,则能使水温保持恒定在85的温度下运行。(4)用DS18B20做温度传感器,用单片机AT89C52和PID算法控制电加热器,通过矩阵键盘的输入
3、来控制水温的设定值,数值采用LCD1602显示。-6研究方案研究方案-7电路设计电路设计USB供电-8电路设计电路设计晶振和复位电路-9电路设计电路设计程序下载电路-10电路设计电路设计报警电路-11电路设计电路设计显示电路-12电路设计电路设计矩阵键盘-13电路设计电路设计温度传感器电路-14电路设计电路设计负载驱动电路-15软件设计软件设计主程序-16软件设计软件设计PID算法-17软件设计软件设计按键程序-18软件设计软件设计软件设计还有许多的小程序和一些小技巧比如初始化程序,DS18B20的时序电路,如何命名变量,如何程序模块化等,就在此略过。-19小插曲小插曲1.困惑与PID三个参数
4、的调节,本来我是想从纯理论的方面去思索这个问题的后面与老师交谈了下才知道PID的参数调节是与实际环境相关的。2.鬼影,LCD1602出现鬼影。本来我并不知道这个是鬼影,在网上搜索也就不知道检索什么关键词。后面请教了公司的一个毕业不久的学长得知是鬼影,解决方法是在VDD端和地之间串联个10K的电位器,发现鬼影可调。-20小插曲小插曲3.以前我用单片机烧写程序的时候都是用M8下载器,这次我是用的串口烧写,需要的条件是USB转串口驱动,和一个STC-ISP软件,注意要调节好对应的USB口。4.在实习的时候我看了公司的不少程序蛮有感触的,我发现他对变量的命名很好让人看到这个变量知道这个变量的作用,方法
5、是下划线和大小写。还有一个是扫描程序,用定时器让一个变量自加,就等于到了某个时间单片机会去检查某个部位,本来我是打算用中断写这些程序的。本次毕业设计我就用上了这些学到的东西。初次用比较生疏。-21小插曲小插曲5.矩阵键盘这块焊接的时候倒是发了我不少时间,以前都是看着的以为自己会。这次我真正的感受到动手和不动手的区别。矩阵键盘的程序也让我纠结了点时间。这里有个思维过程。首先我确定了我的这个电路是有按键按下是高电平的IO口会被拉低,比如说11110000会变成1011000,让P0口和00001111继续位或运算在按位取反,就可以得到是第二列有按键按下,在赋值00001111就可以等到行 就能确定
6、是哪个按键按下。这里要理清硬件电路的关系才能编程。-22小插曲小插曲6模块的综合,以前变成的时候都是写小程序,这次我把这些小模块加在了一起,中间出现了许多的小问题,使得编译通过不了。总能马上解决的那种。7.MOC3051和BTA08的电路图我开始不会接,不懂原理后来问了公司的一个经验比较老道的大哥。弄清原理后,然后我就按照MOC3051的经典案例接了硬件电路。最后却忽略了焊锡能通过的最大电流问题。用焊锡部分用比较粗的导线代替。-23总结总结同时本设计还存在着一些不足,例如:系统的硬件设计方面有待完善,可以增加各种保护功能和故障检测功能。还有可以用12864显示温度曲线,或者用电脑和单片机描出图形,使得PID参数更好的调节。通过本次毕业设计我感受很深,从中学到了很多东西。通过本次实践,不但培养了我们独立思考问题的能力,同时也增强了我的动手能力,为以后步入工作岗位奠定了基础。-24敬请老师批评指正敬请老师批评指正谢谢!