完整word版基于单片机的PID温度控制系统.docx
- 文档编号:24162608
- 上传时间:2023-05-24
- 格式:DOCX
- 页数:17
- 大小:1.75MB
完整word版基于单片机的PID温度控制系统.docx
《完整word版基于单片机的PID温度控制系统.docx》由会员分享,可在线阅读,更多相关《完整word版基于单片机的PID温度控制系统.docx(17页珍藏版)》请在冰豆网上搜索。
完整word版基于单片机的PID温度控制系统
基于单片机的PID温度控制系统
【摘要】本设计在单片机的基础上,利用PID算法完成了温度控制系统的硬件设计和软件设计,实现更加精确高效的水的温度控制.本系统主要分为单片机控制模块,LCD显示模块,传感器检测模块,继电器控制模块等,通过传感器模块检测水温然后发送给单片机,单片机对数据进行处理后由LCD显示,同时反馈给继电器,继电器接收到信号后控制加热器进行对水温的加热,从而达到精确控制水的温度的目的。
该系统以节能高效为出发点,适用于小到热带鱼缸大到渔场养殖等多种场所.
【关键词】单片机、PID、温度控制
1.前言
1。
1课题的背景及研究意义
温度作为一个不可忽视的因素存在于现代工业的生产中,工业生产过程中的温度控制一直是十分重要的环节。
但控制在工业生产中已很难把握,并且对于那些以严格为目标的生产工艺,太高或太低的温度会对生产效率和质量造成显著的影响,从而导致生产效益的降低。
这就要求我们开发出一种能够很好控制并且可以随时将温度展示给客户观看的温度控制器。
单片机拥有着如同那些计算机一样强大的数据分析与处理能力,通过与PID相结合,我们可以很大程度上提高控制程序的能力,这样就能使生产效益得到提高[2]。
温度的测量、控制与保持是单片机温度测量系统中的重要部分,温度测量是工业生产中最要要的物理量之一。
而有效的测量温度的方法之一就是通过单片机,所以单片机温度测量系统能够广泛的应在工业生产中,在电力工程、化工、机械、冶金等重点行业,有一个重要的测量任务,在日常生活中也可以得到广泛的应用。
以热带鱼缸为例,系统设计不够周全、结构不够简单化、性价比不够高等问题普遍的存在于目前市场上的各种热带鱼缸中,很多的鱼缸在温度控制方面都存在着许多缺陷,比如对温度控制的不够精确,常常还没达到设定温度就停止加热等。
即使它达到了设定的温度,也有因加热时间长短不能有效地控制而导致能量的浪费问题。
本次设计的温度控制系统是以51单片机为基础利用PID算法进行精确的温度控制,功能主要有温度设定、显示与控制等方面。
此控制器和显示装置与以前的相比具有成本低,高精度的温度控制和显示,使用方便,性能稳定等优点,可以提高能源利用效率,在经济与社会效益上有一定的推动[3]。
1.2国内外现状及水平
这几年,我们在理论上对温度控制的研究已经比较成熟,但是在具体的温度测量与控制上,我们对于如何精确的对其进行控制等方面还存在着一些问题。
温度控制技术按照控制目标的不同可分为两类:
动态温度跟踪与恒值温度控制。
动态温度跟踪实现的控制目标是使被控对象的温度值按预先设定好的曲线进行变化。
在工业生产中很多场合需要实现这一控制目标,如在发酵过程控制,化工生产中的化学反应温度控制,冶金工厂中燃烧炉中的温度控制等。
恒值温度控制的目的是使被控对象的温度恒定在某一数值上,且要求其波动幅度不能超过某一给定值。
从工业温度控制器的发展过程来看,温度控制技术大致可分以下几种:
1。
2。
1定值开关温度控制法
所谓定值开关控温法,就是通过硬件电路或软件计算判别当前温度值与设定目标温度值之间的关系,进而对系统加热源或冷却装置进行通断控制这种控温方法操作相对来说比较简单,但是它对温度控制的精度比较低,受温度变化过程的滞后性影响较大。
1。
2。
2PID线性温度控制法
1922年美国的Minorshy在对船舶自动导航的研究中,提出了基于输出反馈的比例积分微分控制器的设计方法,标志了PID控制的诞生。
PID温度控制系统以结构简单,操作方便,工作稳定的特定被广泛的运用于生产生活中,但同时它也存在着依赖于对象模型,对于非线性、大滞后、时变系统控制效果不理想等缺点.
1。
2.3智能温度控制法
1971年,著名的美籍华裔科学家傅京孙教授最早公开指出了一个崭新的研究领域,并提出了相应的概念,这就是智能控制系统。
智能控制就是应用人工智能的理论与技术和运筹学的优化方法,并将其同控制理论方法与技术相结将智能控制与PID控制相结合,实现温度的智能控制。
目前国内温度控制的发展,相对国外而言在性能方面还存在一定的差距,它们之间最大的差别,主要还是在控制算法方面,具体表现为国内温度控制在全量程范围内温度控制精度低,自适应性较差。
这种不足的原因是多方面造成的,比如针对不同的温控对象,由于控制算法的不足而导致控制精度不稳定等。
[8
2。
系统整体设计
2。
1系统设计任务与要求
用STC89C52单片机作为该PID温度控制系统的主控芯片,配合温度传感器DS18B20,对温度进行控制与显示。
技术要求:
1)可以对水的温度值进行连续的检测,并将结果显示在LCD显示屏上.
2)能够在25到70摄氏度之间手动设定水要达到的温度.
3)可以保持水的温度处于目标温度值而不会随时间冷却。
4)控制系统使用单片机STC89C52,水温的设定使用按键的形式,用LCD显示屏来显示设定的温度.
2。
2硬件设计方案
该系统主要由单片机主控制电路、温度传感器电路、液晶显示电路、电源与指示灯电路、独立式按键电路、时钟与复位电路、固态继电器电路等部分组成。
系统模块总框图如下,因为DS18B20可以被编程,所以采用了双向箭头.采用了STC89C52单片机作为主控芯片,先通过传感器DS18B20进行实时温度采样,将结果发送给单片机,单片机反馈到LCD1602上将当前温度显示出来。
再通过键盘模块输入信号给单片机STC89C52,由传感器DS18B20接收到从单片机STC89C52发送过来的命令,同时单片机将键盘模块发送过来的信号传输给1602液晶显示屏显示设定温度。
接着传感器DS18B20对那些数据进行转换,然后再发送回STC89C52通过它对转换完成的数据进行分析处理,控制继电器驱动加热器运行。
本系统中采用了三个继电器来控制加热器工作,假如设定温度为70度,就先通过继电器模块1控制“600w热得快"将水温加热到60度,接着换成由继电器模块2控制“100w热得快"将水温继续加热到70度,最后由继电器模块3控制“50w热得快”来完成对水温的保持。
这样避免了由于加热器功率过小导致的加热效率低下或者功率过大时为了维持温度而频繁启动造成的元器件容易损坏的问题。
图2。
2系统模块总框图
3.硬件电路设计
3.1单片机控制模块
图3.1。
1单片机控制电路
3。
1。
1STC89C52单片机介绍
单片机为系统的核心部分,通过它来发送信号控制各个模块的运行.它总共有P0,P1,P2,P3四个8位双向输入输出端口,每个端口都有锁存器、输出驱动器和输入缓冲器。
P0口用于外部扩展存储时,用作地址总线或数据总线;P1口仅作为I/O,无第二功能;P2口作为扩展存储时,作为地址总线.P3口作为I/O的同时,其第二功能是一些特殊功能,非扩展存储。
RST/VPD为复位输入,当在此引脚加上两个机器周期的高电平时,就会实现复位操作。
ALE/PROG为地址锁存控制信号.当该引脚输入编程脉冲时,是FLASH编程。
XTAL1和XTAL2用于外接晶振引脚[4].
在该系统中,P2口的三个引脚P2。
0,P2.1,P2。
3连接的都是LCD1602的控制端,P1.0口连接的是DS18B20的总线端,并有一个10K的上拉电阻。
P1.1口连接的是固态继电器的控制引脚,P1。
4,P1。
5连接的是按键,当按键按下时,电平被拉低.RST脚接复位电路,当按键按下是,接收到高电平复位。
XTAL1与XTAL2接晶振时钟电路,由晶振提供跟单片机稳定的时钟周期.
3.2电源指示灯和电源接口模块
图3.2。
1电源指示灯电路图图3.2。
2电源接口电路图
当接通电源后,电源指示灯保持常亮.我们使用5V的电源为单片机供电。
3。
3液晶显示模块
3.3。
11602LCD:
图3。
3。
1LCD1602
显示容量为16*2个字符,模块最佳工作电压为5V,字符尺寸为2。
95*4.35mm。
1602LCD采用标准的14脚或16脚接口,
图3。
3。
2LCD1602实物图
LCD显示屏总共分为两行,第一行为传感器DS18B20检测到的温度,即当前水温.由上图可知此刻杯子中水的温度为26摄氏度;第二行为我们的目标温度,我们通过系统中的按键来对它进行设定,图中我们设定的温度为40摄氏度,设定完成后系统便会自动开始运行,直到检测到的温度达到设定的温度值,然后系统会停止加热,但是当水的温度随时间而降低的时候,系统又会自动检测到而继续开始对它加热,一直控制着水温保持在设定的温度值。
3。
4按键电路部分
图3。
4。
1按键电路图
图3。
4.2按键实物图
按键电路如上图3。
4。
1所示,与单片机的P1.4,P1。
5口相连接,为系统的温度设定部分。
我们通过它来调整想要设定的温度,接入电源后,LCD1602上会显示当前水的温度以及设定的温度,设定温度初始为0,按一下中间的按键则会使它上升1摄氏度,按一下左边的按键则会使它下降1摄氏度,右边的按键的作用是复位,按下后就能使设定温度归零.我们依靠它来设定好将要控制水温达到的度数,然后系统便会自动开始运行来控制温度的变化.
3。
5传感器电路部分
3.5.1DS18B20
图3.5。
1DS18B20
DS18B20是一种数字传输温度传感器,具体的温度数值需要配合单片机才能读出来.因为DS18B20只需要一个单线接口就能发送接收信息,所以我们将它的控制线接上一个10k的上拉电阻后与单片机的P1.0口相连接。
用于读写与转换温度所需的电源它也可以直接从数据线上获得,而无需额外的外接电源.作为本系统的温度采集与A/D转换的元件,它具有精度高、体积小、电压适用范围宽、系统设计灵活等优点。
为了精确的检测水的温度我们将传感器焊接于杯子内部,因此加水时必须保证水量能淹没整个传感器,以便于它进行测量。
3.6继电器电路模块
图3。
6.1固态继电器电路图
在继电器的选择上我们采用的是固态继电器,它与单片机的P1.1口相接,采用外接220V电源为其供电,当设定好温度时继电器的指示灯便会亮起,然后控制加热器对水进行加热.固态继电器具体可靠性高,使用寿命高,灵敏度高,切换速度快,电磁干扰小等优点[6]。
我们通过控制它的开关频率来实现控制温度的目的。
3.6复位电路和时钟电路模块
图3。
6。
1复位电路图图3。
6。
2时钟电路图
复位电路的RST脚与单片机的RST脚相接,作用是在上电或复位过程中,控制CPU的复位状态:
这段时间内让CPU保持复位状态,而不是一上电或刚复位完毕就工作,防止CPU发出错误的指令、执行错误操作,也可以提高电磁兼容性能。
我们采用的是手动按键复位的方式,当按下按键时,VCC的电平就会直接加到RST端,从而使单片机达到复位的目的。
在本系统中我们用它来进行设定温度值的归零.
几乎所有的数字系统在处理信号时都是按节拍一步一步地进行的,系统的各个部分也是按照节拍做的。
要使电路的各个部分统一节拍,就需要一个“时钟信号",产生这个时钟信号的电路就是时钟电路.时钟电路由两个电容一个晶振构成,本系统中我们使用了两个33PF的无极电容和一个12MHz的晶振.与单片机相连接后由XTAL1控制输入,XTAL2控制输出.
4。
PID过程控制部分
在检测过程中,由于来自外界的各种干扰不断产生,为了达到现场控制对象保持恒定的目的,就必须不断的进行控制。
如果干扰使得控制对象发生变化,现场检测元件会将这种变化采集后,经变送器送至PID控制器的输入端,并与其给定值进行比较得到偏差值,调节器会按此偏差并以预先设定的整定参数规律发出控制信号,去控制调节器的开度增加或减少,从而使现场控制对象值发生改变,并趋于给定值,达到控制目的。
将温度传感器输入作为当前输入,与设定值相减得到偏差,然后再对它进行PID运算产生输出结果fout,fout的值决定是否加热,加热时间是多少,进而控制加热器.
图4.1PID控制流程图
比例控制是在设计过程中最常用到的一种手段,但是很多控制对象都存在着滞后性,这会严重影响比例控制的控制效果。
比如我们设定温度为70度,当我们只使用比例控制时,会出现实际温度在70度上下一定范围内振荡的情况。
所以我们在比例控制的基础上加入了积分控制,积分控制的存在能帮助我们消除静态误差,达到准确的控制温度的目的。
但与此同时它也带来了一些负面的影响,会使整个控制系统的响应速度降低。
所以我们又加入了微分项,主要用来解决系统的响应速度的问题,其完整的公式如下:
在PID的调试过程中我们需要主意几个步骤:
首先关闭I和D,就是说将他们设定为0。
然后加大P,使系统产生振荡;再减小P,找到振荡的临界点;接着加大I,使他达到目标值;注意看超调、振荡和稳定时间是否符合要求;针对他们的情况可以适当的增加一些微分项;为了保证在全工作范围内调试完的结果都有效,我们应当在最大负载的情况下进行调试.[11]
5.软件设计说明
总程序流程图如下
我们先利用传感器DS18B20来对实时水温进行检测,然后通过LCD显示屏将其显示出来,接着使用按键来设定目标温度值,并且也通过LCD显示屏显示出来.同时判断设定温度与实际温度的大小,当设定的温度大于实际温度时,则通过PWM波占空比控制继电器运行,再由继电器操控加热器对水温进行持续加热,直到达到目标温度值.如果设定的温度值小于实际温度,则继电器不会控制加热器对水温加热。
因为时间关系导致水温下降时,传感器会继续读取温度反馈给系统,从而再次对水温进行加热保证它时刻处于目标温度值,如此循环。
系统的软件主要是采用C语言,使用keil软件进行编写。
主程序对模块进行初始化,而后调用读温度、处理温度、显示温度、键盘等模块。
用的是循环查询方式,来显示和控制温度,主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量的当前温度值并负责调用各子程序,其程序流程图如上所示。
6.整机调试与技术指标测量
如下图6.1,当前水温为31摄氏度,我们用按键设定目标温度值为60,然后系统通过固态继电器模块来对600w“热得快”进行控制从而对杯子中的水加热,大约5分钟后,水温状况如图6。
2所示,成功达到60摄氏度。
图6.3为按下复位键后的状态,设定温度值归零,同时水温开始下降不再保持。
我们进行多次调试,并对PID的参数进行设定来进一步改善该系统。
(1)因为是使用PID进行控制的,所以在检测控制的过程中温度控制的静态误差很小。
(2)水的当前温度及目标温度值通过LCD1602液晶显示屏来显示,能稳定直观的表现出来。
(3)进行了许多次的检测与修改,该系统的各方面参数都达到了预计目标,满足了既定的要求。
图6。
1初始状态
图6.25分钟后的状态
图6。
3复位后的状态
7.设计总结
毕业设计已经快要结束了,这也代表着我将要结束我的大学生活,四年的大学生活转眼间就走到了尽头,想想过去的日子,心里充满了各种情绪.当我完成这篇毕业设计论文时,就好像卸下了一个大包袱,感触十分深刻。
通过这次的毕业设计,我学到了许多,在一定的程度上增强了我们的单独动手能力,提高了我们思维的宽度还丰富了我们的专业知识。
虽然完成设计的过程是十分辛苦的,但是我们同时也深刻的了解到了工作的不易,并且经过了不断的努力后终于完成设计的那种满足感无以言表。
我们相信经过这样的一个历程,在以后的日子里我们会在工作中做得更好。
我们所设计的基于单片机的PID温度控制系统本着节能环保的要求,顺应国内外工业生产的发展趋势,使用了自动化的设计模式,实现对水温的自动检测与控制.系统中的核心部件采用了STC89C52单片机,借助它完成了对水温信号的接收、处理与显示。
并且通过PID算法来达到准确控制的目的。
该系统具有以下几个特点:
1)可适用的范围较广,对于用户对不同水温的需要我们只要设置好界面参数并正常启动系统运行就可以,可以实时监控水温的状态。
通过它我们既节约了电力力资源,又缓解了能源的紧缺问题。
2)将水温的处理与分析交由单片机和温度传感器负责,单片机控制决定不需要对被控对象的数学模型进行建立,系统拥有很强的适应性,适合对各种变化的系统的控制。
3)系统的成本十分低,操作也相对比较简单,可扩展性很强,只要有一点点的改变,就可以增加其他功能。
本系统有利于现代工业的发展:
首先,缓解了现如今能源的紧缺问题,尤其是在这几年,我国东部沿海地区的电力资源缺失的情况十分严重,对它的压力有一定程度的缓解。
另外,因为基本上通过火力发电是我国绝大多数电力资源的来源,所以本系统对自然资源的节约以及对环境的保护有着重要的意义。
通过本次毕业设计,培养了我们理论知识联系实际行动的设计思想,熟练了对单片机的控制,加深了我们对有关知识的认知,并更深刻的认识与了解了如今的各种温度传感器.对于我们结合实际的动手能力以及巩固、加深和补充相关方面的知识等有着不可忽视的作用。
完成毕业论文是对专业知识又一次学习的过程,毕业论文的结束,就意味着将要开始新的生活。
希望大家能在以后的工作中永不放弃,坚定的朝着我们最初的梦想而前进。
【Abstract】Inthispaper,single—chip,basedontheuseofPIDalgorithmtocompletethetemperaturecontrolsystemhardwareandsoftwaredesign,toachieveamoreprecisetemperaturecontrolofthewater.ThispapercompletedthePIDtemperaturecontrolhardwaredesignandsoftwaredesign,implementationcanbemoreprecisecontrolofwatertemperature.Thesystemisenergyefficientasthestartingpointforavarietyofoccasions。
【Keywords】SCM、PID、Temperature Control
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整 word 基于 单片机 PID 温度 控制系统
![提示](https://static.bdocx.com/images/bang_tan.gif)