当前位置:文档之家› 基于单片机的PID温度控制系统

基于单片机的PID温度控制系统

基于单片机的PID温度控制系统【摘要】本设计在单片机的基础上,利用PID算法完成了温度控制系统的硬件设计和软件设计,实现更加精确高效的水的温度控制。

本系统主要分为单片机控制模块,LCD显示模块,传感器检测模块,继电器控制模块等,通过传感器模块检测水温然后发送给单片机,单片机对数据进行处理后由LCD显示,同时反馈给继电器,继电器接收到信号后控制加热器进行对水温的加热,从而达到精确控制水的温度的目的。

该系统以节能高效为出发点,适用于小到热带鱼缸大到渔场养殖等多种场所。

【关键词】单片机、PID、温度控制1.前言1.1课题的背景及研究意义温度作为一个不可忽视的因素存在于现代工业的生产中,工业生产过程中的温度控制一直是十分重要的环节。

但控制在工业生产中已很难把握,并且对于那些以严格为目标的生产工艺,太高或太低的温度会对生产效率和质量造成显著的影响,从而导致生产效益的降低。

这就要求我们开发出一种能够很好控制并且可以随时将温度展示给客户观看的温度控制器。

单片机拥有着如同那些计算机一样强大的数据分析与处理能力,通过与PID相结合,我们可以很大程度上提高控制程序的能力,这样就能使生产效益得到提高[2]。

温度的测量、控制与保持是单片机温度测量系统中的重要部分,温度测量是工业生产中最要要的物理量之一。

而有效的测量温度的方法之一就是通过单片机,所以单片机温度测量系统能够广泛的应在工业生产中,在电力工程、化工、机械、冶金等重点行业,有一个重要的测量任务,在日常生活中也可以得到广泛的应用。

以热带鱼缸为例,系统设计不够周全、结构不够简单化、性价比不够高等问题普遍的存在于目前市场上的各种热带鱼缸中,很多的鱼缸在温度控制方面都存在着许多缺陷,比如对温度控制的不够精确,常常还没达到设定温度就停止加热等。

即使它达到了设定的温度,也有因加热时间长短不能有效地控制而导致能量的浪费问题。

本次设计的温度控制系统是以51单片机为基础利用PID算法进行精确的温度控制,功能主要有温度设定、显示与控制等方面。

此控制器和显示装置与以前的相比具有成本低,高精度的温度控制和显示,使用方便,性能稳定等优点,可以提高能源利用效率,在经济与社会效益上有一定的推动[3]。

1.2国内外现状及水平这几年,我们在理论上对温度控制的研究已经比较成熟,但是在具体的温度测量与控制上,我们对于如何精确的对其进行控制等方面还存在着一些问题。

温度控制技术按照控制目标的不同可分为两类:动态温度跟踪与恒值温度控制。

动态温度跟踪实现的控制目标是使被控对象的温度值按预先设定好的曲线进行变化。

在工业生产中很多场合需要实现这一控制目标,如在发酵过程控制,化工生产中的化学反应温度控制,冶金工厂中燃烧炉中的温度控制等。

恒值温度控制的目的是使被控对象的温度恒定在某一数值上,且要求其波动幅度不能超过某一给定值。

从工业温度控制器的发展过程来看,温度控制技术大致可分以下几种:1.2.1定值开关温度控制法所谓定值开关控温法,就是通过硬件电路或软件计算判别当前温度值与设定目标温度值之间的关系,进而对系统加热源或冷却装置进行通断控制这种控温方法操作相对来说比较简单,但是它对温度控制的精度比较低,受温度变化过程的滞后性影响较大。

1.2.2 PID线性温度控制法1922年美国的Minorshy在对船舶自动导航的研究中,提出了基于输出反馈的比例积分微分控制器的设计方法,标志了PID控制的诞生。

PID温度控制系统以结构简单,操作方便,工作稳定的特定被广泛的运用于生产生活中,但同时它也存在着依赖于对象模型,对于非线性、大滞后、时变系统控制效果不理想等缺点。

1.2.3智能温度控制法1971年,著名的美籍华裔科学家傅京孙教授最早公开指出了一个崭新的研究领域,并提出了相应的概念,这就是智能控制系统。

智能控制就是应用人工智能的理论与技术和运筹学的优化方法,并将其同控制理论方法与技术相结将智能控制与PID控制相结合,实现温度的智能控制。

目前国内温度控制的发展,相对国外而言在性能方面还存在一定的差距,它们之间最大的差别,主要还是在控制算法方面,具体表现为国内温度控制在全量程范围内温度控制精度低,自适应性较差。

这种不足的原因是多方面造成的,比如针对不同的温控对象,由于控制算法的不足而导致控制精度不稳定等。

[82.系统整体设计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.1 STC89C52单片机介绍单片机为系统的核心部分,通过它来发送信号控制各个模块的运行。

它总共有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.1 1602LCD:图3.3.1 LCD1602显示容量为16*2个字符,模块最佳工作电压为5V,字符尺寸为2.95*4.35mm。

1602LCD采用标准的14脚或16脚接口,图3.3.2 LCD1602实物图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.1 DS18B20图3.5.1 DS18B20DS18B20是一种数字传输温度传感器,具体的温度数值需要配合单片机才能读出来。

因为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端,从而使单片机达到复位的目的。

在本系统中我们用它来进行设定温度值的归零。

几乎所有的数字系统在处理信号时都是按节拍一步一步地进行的,系统的各个部分也是按照节拍做的。

要使电路的各个部分统一节拍,就需要一个“时钟信号”,产生这个时钟信号的电路就是时钟电路。

相关主题