基于单片机的水箱温度自动控制系统设计--张强

2022-05-23 15:55:47   文档大全网     [ 字体: ] [ 阅读: ]

#文档大全网# 导语】以下是®文档大全网的小编为您整理的《基于单片机的水箱温度自动控制系统设计--张强》,欢迎阅读!
张强,水箱,单片机,控制系统,温度








( )



机械与电气工程学院 电气自动化技术 专业



毕业设计(论文)题目 基于单片机的水箱温度自动控制系统设计



张强

08电气自动化技术



2008010024

贾兴建



2011 6 14












基于单片机的水箱温度自动控制系统设计





Design for Constant Temperature System Of Intelligent

Based on MCU System

总计 毕业设计(论文)











I



31 0 25




随着时代的进步和发展,单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术。 本文主要介绍了一个基于AT89C51单片机的恒温控制系统,详细描述了系统数学模型的建立过程和实现方法,画出了各个子程序的工作流程图。该系统通过硬件系统和软件系统实现了对水箱温度进行实时监测、实时控制、实时显示及越限报警等功能。DS18B20作为温度传感器与AT89C51结合实现温度检测系统,该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测量,有广泛的应用前景。

关键词:AT89C51 DS18B20 恒温水箱 PID





II




Abstract



With the era of progress and development, microcontroller technology has spread to our lives, work, research in various fields, has become a relatively mature technology. In this paper, based on AT89C51 microcontroller, a temperature control system, a detailed description of the process of building mathematical model and method, draw a flow chart of the various routines of work. The system hardware and software systems to achieve a real-time monitoring of water temperature, real-time control, real-time display and alarm function more limited. AT89C51 DS18B20 as a temperature sensor combined with the realization of the temperature detection system, the system is simple, anti-interference ability, suitable for harsh environments spot temperature measurement, a wide range of applications.



Key words: AT89C51; PID; constant temperature water tank; DS18B20





III




目录

.......................................................................................................................................... II Abstract ...................................................................................................................................... III 第一章 ........................................................................................................................ 1

1.1 课题背景 ...................................................................................................................................................... 1 1.2 国内外恒温控制技术发展现状及趋势 ............................................................................................. 1 1.2.1 国外恒温控制的发展现状及趋势 ............................................................................................. 1 1.2.2 国内恒温控制的发展现状及趋势 ............................................................................................. 2

第二章 恒温水箱控制系统总体方案设计 ..................................................................... 3

2.1系统方案选择与论证 ............................................................................................................................... 3 2.1.1 一位式的模拟控制方案 ................................................................................................................ 3 2.1.2 二位式的模拟控制方案 ................................................................................................................ 3 2.1.3 PID算法控制方案 ........................................................................................................................... 4 2.2 恒温水箱控制系统工作原理 ................................................................................................................ 5

第三章 恒温水箱控制系统硬件设计 .............................................................................. 6

3.1 单片机主控模块 ........................................................................................................................................ 6 3.1.1 AT89C51单片机简介 ...................................................................................................................... 6 3.1.2 AT89C51各引脚功能说明 ............................................................................................................. 6 3.1.3 AT89C51单片机主要性能参数 ................................................................................................... 7 3.1.4 AT89C51单片机最小系统 ............................................................................................................. 7 3.2 主电源模块 ................................................................................................................................................. 9 3.3 温度采集模块 ............................................................................................................................................. 9 3.3.1温度传感器DS18B20的测温原理 .............................................................................................. 9 3.3.2 DS18B20与单片机的接口电路 ................................................................................................. 10 3.4 按键输入模块 ........................................................................................................................................... 11 3.5 继电器控制模块 ...................................................................................................................................... 11 3.5.1 固态继电器SSR工作原理 ......................................................................................................... 11 3.5.2 继电器控制电路 ........................................................................................................................ 12 3.6 显示模块 .................................................................................................................................................... 13 3.7越限报警报模块....................................................................................................................................... 14 3.8 串行通信接口模块 ............................................................................................................................... 15

第四章 恒温水箱控制系统软件设计 ............................................................................ 16

4.1 工作流程 .................................................................................................................................................... 16 4.2 建立数学模型 ........................................................................................................................................... 16 4.2.1 模拟控制系统的PID算法 ......................................................................................................... 17 4.2.2 增量式PID算法 ............................................................................................................................ 18 4.3 程序模块 .................................................................................................................................................... 20 4.3.1 主程序 ............................................................................................................................................... 20 4.3.2 温度传感器驱动子程序 .............................................................................................................. 20 4.3.3 键盘扫描处理程序 ........................................................................................................................ 21



IV




4.3.4 温度检测与控制子程序 .............................................................................................................. 22 4.3.5温度显示子程序 .............................................................................................................................. 23

......................................................................................................................................... 25 参考文献 .................................................................................................................................... 26 ......................................................................................................................................... 27



V



南昌工程学院专科毕业设计(论文)

第一章

1.1 课题背景

温度是工业上常见的被控参数之一,特别是在冶金化工、建材、食品加工、机械造等领域,恒温控制系统被广泛应用于加热炉、热处理炉、反应炉等。在一些温控系统电路中,广泛采用的是通过热电偶、热电阻或PN结测温电路经过相应的信号调理电路,转换成AD转换器能接收的模拟量,再经过采样/保持电路进行AD转换,最终送入单片机及其相应的外围电路,完成监控。但是由于传统的信号调理电路实现复杂、易受干扰、不易控制且精度不高。本文介绍单片机通过数字温度传感器检测外部温度对水箱进行恒温控制的设计采用PID算法来控制PWM波形的产生,进而控制电炉的加热来实现恒温控制。因此,本系统采用一种新型的可编程温度传感器(DS18B20),不需复杂的信号处理电路AD转换电路就能直接与单片机完成数据采集和处理,实现方便、精度高,可根据不同需要用于各种场合。在日常生活中,也经常用到电烤箱、微波炉、电热水器、烘干箱等需要进行温度检测与控制的家用电器。采用单片机实现温度控制不仅具有控制方便、简单、灵活等优点,而且可以大幅度地提高被控温度的技术指标,从而大大提高产品的质量,现以恒温水箱控制系统的设计进行介绍。

1.2 国内外恒温控制技术发展现状及趋势

随着计算机控制技术的发展,恒温控制己在工业生产领域中得到了广泛应用,并取得了巨大的经济社会效益。在不同的领域内,由于控制环境、目标、成本等因素,需要针对具体情况来设计系统结构和功能,以取得最佳的控制效果。其中,恒温环境的自动化控制技术在工业生产商业运营中是一个重要研究课题。 1.2.1 国外恒温控制的发展现状及趋势

70年代以来,由于工业过程控制的需要,特别是在微电子技术和计算机技术的迅猛发展,以及自动控制理论设计方法发展的推动下,国外恒温控制系统发展迅速,并在智能化,自适应参数的自整定等方面取得了很大的科技成果。在这方面以日本、美国、德国、瑞典等国技术领先,并且都生产出了一批商品化的性能优异的温度控制器及仪器仪表

目前,国外温度控制系统及仪表正朝着高精度智能化、小型化等方面快速发展。虽然温度控制系统在国内各行各业的应用已经十分广泛,但从国内生产的温度控制器及技术来



1


第一章

讲,其总体发展水平仍然不高,同国外的日本、美国、德国等先进国家相比,仍然有着较大的差距。

1.2.2 国内恒温控制的发展现状及趋势



我国目前在恒温控制技术这方面总体技术水平处于20世纪80年代中后期水平,成熟产品主要以“点位”控制及常规的PID控制器为主,它只能适应一般温度系统控制,难于控制滞后、复杂、时变的温度系统控制。在适应于较高控制场合的智能化、自适应控制仪表领域内,国内技术还不十分成熟,形成商品化并广泛应用的控制仪表较少。因此,我国在恒温控制等控制仪表行业与国外还有着一定的差距。

从过程量的检测角度出发,温度是最常见的过程变量之一,它是一个非常重要的过程变量,因为它直接影响燃烧、化学反应、发酵、烘烤、煅烧、蒸馏、浓度、挤压成形,结晶以及空气流动等物理化学过程。而恒温控制技术在工业领域应用非常广泛,由于其具有工况复杂、参数多变、运行惯性大、控制滞后等特点,它对控制调节器要求较高。其温度控制不好就可能引起生产安全,产品质量和产量等一系列问题。尽管恒温控制很重要,但是要控制好温度常常会遇到意想不到的困难。

随着嵌入式系统开发技术的快速发展及其在各个领域的广泛应用,人们对电子产品的小型化和智能化要求越来越高,作为高新技术之一的单片机以其体积小、价格低、可靠性高、适用范围大以及本身的指令系统等诸多优势,在各个领域、各个行业都得到了广泛应用。



2


南昌工程学院专科毕业设计(论文)

第二章 恒温水箱控制系统总体方案设计

本章提出了对恒温控制的几种方案,根据恒温水箱控制系统的控制要求及技术指标,结合这几种方案的性能特点,最后选定以单片机为主控制器,增量式的PID算法进行调整控制PWM波形产生的方案三作为本控制系统的总体方案。

2.1系统方案选择与论证

2.1.1 一位式的模拟控制方案

此方案是传统的一位式模拟控制方案,选用模拟电路,用电位器设定给定值,反馈的温度值和设定值比较后,决定加热或不加热。其特点是电路简单,易于实现,但是系统所得结果的精度不高并且调节动作频繁,系统静差大,不稳定,受环境影响大,不能实现复杂的控制算法,难以用数码管显示,难以用键盘设定,其方案一框图如图2.1所示。



信号放大









温度预置

2.1 一位式模拟控制方案框图





2.1.2 二位式的模拟控制方案

此方案采用单片机系统来实现。单片机软件编程灵活、自由度大,可用软件编程实现各种控制算法和逻辑控制。单片机系统通过温度传感器ADC590对水箱内水温进行检测,得到模拟的温度信号,在经过A/D转换成数字信号之后,则可用数码管来显示水温的实际值,还能用键盘输入设定值,也可实现打印功能。本方案还可选用51单片机(内部含有4KBEEPROM,不需要外扩展存储器可使系统整体结构较为简单。但是它是一种传统的模拟控制方式,而模拟控制系统难以实现复杂控制规律,控制方案的修改也比较麻烦,其方案二框图如图2.2所示。









上限比较

温度预置

下限比较





3








第二章 恒温水箱控制系统总体方案设计

2.2 二位式模拟控制方案框图

2.1.3 PID算法控制方案

此方案采用单片机为控制核心的控制系统,尤其对温度控制,它可达到核心的控制作用,并且可方便实现数码显示、键盘设定及利用PID算法来控制PWM波形的产生,进而控制电炉的加热来实现恒温控制,其所测结果精度也大大的得到了提高,在利用PID算法来控制PWM波形的产生,是有效的控制数字脉冲的输出宽度,使固态继电器得到有效和有序的逻辑控制,不会使固态继电器产生误动作。因此利用PWM技术进行脉宽调制的优点是: 1)从处理器到被控系统信号都是数字形式的,无需进行数模转换。

2)让信号保持为数字形式可将噪声影响降到最小,并且噪声只有在强到足以将逻辑1”改变为逻辑“0”或将逻辑“0”改变为逻辑“1”时,才能对数字信号产生影响。 3)对噪声抵抗能力的增强也是PWM相对于模拟控制的另外一个优点,而且这也是在某些时候将PWM用于通信的主要原因。

4PWM经济、节约空间、抗噪性能强,是一种值得广大工程师在许多设计应用中使用的有效技术。

再加上单片机的软件编程灵活、自由度大,可用软件编程实现各种控制算法和逻辑控制。它可以通过用数字温度传感器采集到的实际水温温度直接进行数码管显示,还能用键盘输入设定值,并且内部含有4KBEEPROM,不需要外扩展存储器,可使系统整体结构更为简单,其方案三框图如图2.3所示。

键盘设定



单片机

数字PID调整

LED数码显示

复位电路

固态继电器 加热装置

温度采集

电源电路

2.3方案三 基于单片机控制的方框图



由于方案一和方案二是传统的模拟控制方式,而模拟控制系统难以实现复杂控制规



4


南昌工程学院专科毕业设计(论文)

律,控制方案的修改也比较麻烦,而方案三是采用单片机为控制核心的控制系统,利用PID控制原理和PWM技术实现对水箱内水温的控制。基于这样的控制原理和PWM技术的优越性,在对温度控制的系统中,它可达到采用其他控制系统所达不到的控制效果,并且可方便实现数码实时显示、键盘设定、直接可以驱动固态继电器,其测量结果的准确性和精度是非常高的,故经过对三种方案的比较论证,本设计采用方案三,利用单片机按增量式的PID控制算法对采集的温度数据进行处理,得到控制量,利用增量式的PID控制算法来控制PWM波形的产生进而控制固态继电器,从而达到控制电炉的功率进行加热,实现对水箱内水温的恒温控制。

2.2 恒温水箱控制系统工作原理

根据恒温水箱控制系统的设计任务和要求,确定了系统总体方案之后,现对该方案的具体原理进行详细介绍,它是采用闭环控制结构进行控制的,其具体控制图如图2.4所示。

按键输入

驱动电路

LED显示

ATAT8899CC5511

数字PID 继电器控制电路 电炉

智能温度传感器DS18B20 水箱

2.4 恒温控制原理图



本系统是采用闭环负反馈的控制方式进行控制的,它通过数字温度传感器检测水箱内的水温温度,把采集到的数据直接送到单片机进行处理,由于数字式温度传感器能在极短时间内把采集到的模拟量转换成数字量,这样被它处理的数据直接送到数字PID模块进行调整和控制PWM波形的产生。然后,把检测到的数据与预先设定的温度值进行比较,根据不同的差值去控制控制固态继电器的通断,以采取不同的加热方式进行加热升温。另外,还设置了温度实时显示的装置,可以同时显示预先设定的温度值和实际检测到的温度值。





5


第三章 恒温水箱控制系统硬件设计

第三章 恒温水箱控制系统硬件设计

恒温水箱控制系统主要由八部分组成:单片机主控制模块、主电源电路、温度采集模块、按键输入电路、继电器控制模块、显示模块、越限报警模块、串行通信接口模块。 本章对各模块的硬件电路设计作了详细说明。

3.1 单片机主控模块

单片机主控制模块采用AT89C51芯片,把数字温度传感器采集到的温度信号与原预先设定值进行比较,然后根据其差值通过PID调节整定,控制继电器的通断进行不同加热方式,能用键盘进行输入数据的处理以及温度信号的实时显示。 3.1.1 AT89C51单片机简介

AT89C514KFPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。AT89C51是一种带4K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8CPU和闪速存储器组合在单个芯片中,ATMELAT89C51是一种高效微控制器,AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 3.1.2 AT89C51各引脚功能说明 VCC:供电电压。 Vdd:接地。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL电流。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4TTL门电流。RST复位输入。

ALE/PROG:当访问外部存储器时,地址锁存允许的输出



6


南昌工程学院专科毕业设计(论文)

电平用于锁存地址的低位字节。

/PSEN:外部程序存储器的选通信号。在由外部程序存储 器取指期间,每个机器周期两次/PSEN有效。

/EA/VPP:当/EA保持低电平时,则在此期间外部程序存 储器(0000H-FFFFH),不管是否有内部程序存储器。 /EA端保持高电平时,从内部程序存储器开始读取。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 3.1.3 AT89C51单片机主要性能参数

3.1 40引脚双列直插封装图

(1)MCS51产品指令系统完全兼容; (7)32个可编程I/O口线; (2)4K字节可重复擦写Flash闪速存储器; (8)216位定时/计数器; (3)1000次擦写周期; (9)6个中断源;

(4)全静态操作:0Hz24MHz (10)可编程串行UART通道; (5)三级加密程序存储器; (11)低功耗空闲和掉电模式。 (6)128×8字节内部RAM 3.1.4 AT89C51单片机最小系统

单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统.51系列单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路. 下面给出一个51单片机的最小系统电路3.2.

7


第三章 恒温水箱控制系统硬件设计



3.2 AT89C51单片机的最小系统电路

说明

复位电路:由电容串联电阻构成,由图并结合"电容电压不能突变"的性质,可以知道,当系统一上电,RST脚将会出现高电平,并且,这个高电平持续的时间由电路RC值来决定.典型51单片机当RST脚的高电平持续两个机器周期以上就将复位,所以,适当组合RC的取值就可以保证可靠的复位.一般教科书推荐C 10u,R8.2K.当然也有其他取法的,原则就是要让RC组合可以在RST脚上产生不少于2个机周期的高电平.至于如何具体定量计算,可以参考电路分析相关书籍.

晶振电路: 单片机内部带有时钟电路,只需要在片外通过XTAL1XTAL2引脚接入定时控制单元(晶体振荡和电容),即可构成一个稳定的自激振荡器。振荡器的工作频率一般1.2~12MHz之间,当然在一般情况下频率越快越好,可以保证程序运行速度即保证了控制的实时性。一般采用石英晶振作定时控制元件,在不需要高精度参考时钟时,也可以用电感代替晶振,有时也可以引入外部时钟脉冲信号。接在晶振上的电容虽然没有严格要求,但电容的大小会影响振荡器的稳定性和起振的快速性。因此,通常选择在10~30pF左右,在此次设计时钟电路时,晶振频率选用(12MHz,电容选用(30pF,并且它们应尽可能靠近芯片,以减小分布电容,保证振荡器振荡的稳定性



8


南昌工程学院专科毕业设计(论文)

3.2 主电源模块

控制系统主控制部分电源需要用5V直流电源供电,其电路如图3.3所示,把频率为50Hz、有效值为220V的单相交流电压转换为幅值稳定的5V直流电压。其主要原理是把单相

交流电经 过电源变压器、整流电路、滤波电路、稳压电路转换成稳定的直流电压。

由于输入电压为电网电压,一般情况下所需直流电压的数值和电网电压的有效值相差较大,因而电源变压器的作用显现出来起到降压作用。降压后还是交流电压,所以需要整电路把交流电压转换成直流电压。由于经整流电路整流后的电压含有较大的交流分量,会影响到负载电路的正常工作。需通过低通滤波电路滤波,使输出电压平滑。稳压电路功能是使输出直流电压基本不受电网电压波动和负载电阻变化的影响,从而获得稳定性足够高的直流电压。本电路使用集成稳压芯片7805解决了电源稳压问题。

3.3主电源电路





3.3 温度采集模块

由于在传统的模拟信号远距离温度测量系统中,需要很好的解决引线误差补偿问题、多点测量切换误差问题和放大电路零点漂移误差问题等技术问题,才能够达到较高的测量精度。而且一般监控现场的电磁环境都非常恶劣,各种干扰信号较强,模拟温度信号容易受到干扰而产生测量误差,影响测量精度。因此,在本设计中的温度测量系统中,采用美Dallas半导体公司的DS18B20温度芯片对水箱内的水温进行采集温度数据,并且由于它抗干扰能力强,是解决这些问题的最有效方案。 3.3.1温度传感器DS18B20的测温原理

DS18B20的测温原理用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入,当计数



9


第三章 恒温水箱控制系统硬件设计

门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55℃所对应的基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在-55 所对应的一个基数值。减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时温度寄存器的值将加1,减法计数器1的预置将重新被装入,法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数2计数到0,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度,由于它内部的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值,其内部测温电路3.4所示。



3.4 内部测温电路

高温度系数振荡器

减法计数器2

增加

减到零

温度寄存器

停止 减到零

低温度系数振荡器

减法计数器1

预置

设置/清除 最低有效位

预置

计数比较器

斜率累加器

3.3.2 DS18B20与单片机的接口电路

DS18B20的引脚图及与AT89C51的接口电路如图3.5所示,其中DS18B20工作在外部电源供电方式,AT89C51单片机采用P1.2DS18B20通信

10


南昌工程学院专科毕业设计(论文)



3.5 DS18B20AT89C51单片机的接口电路

3.4 按键输入模块

本系统设计三个按键,采用查询方式,一个用于选择切换设置报警温度和当前温度,另外两个分别用于设置报警温度的加和减。均采用软件消抖。



3.6按键输入模块



3.5 继电器控制模块

3.5.1 固态继电器SSR工作原理

本系统采用固态继电器进行控制,它的控制原理是:固态继电器只有两个输入端(+和“-)及两个输出端,是一种四端器件。工作时只要在“+”、“-”上加上一定的控制信号,就可以控制输出两端之间的“通”和“断”,实现“开关”的功能,其中耦合电路的功能是为“+”、“-”端输入的控制信号提供一个输入/输出端之间的通道,但又在电气上断开SSR中输入端和输出端之间的()联系,以防止输出端对输入端的影响,耦合电路用的元件是“光耦合器”,它动作灵敏、响应速度高、输入/输出端间的绝缘(耐压)级高;由于输入端的负载是发光二极管,这使固态继电器的输入端很容易做到与输入信号



11


第三章 恒温水箱控制系统硬件设计

电平相匹配,在使用可直接与计算机输出接口相接,即受“1”与“0”的逻辑电平控制。触发电路的功能是产生合乎要求的触发信号,驱动开关电路工作,但由于开关电路在不加特殊控制电路时,将产生射频干扰并以高次谐波或尖峰等污染电网,为此特设“过零控制电路”。

所谓“过零”是指,当加入控制信号,交流电压过零时,固态继电器即为通态;而当断开控制信号后,固态继电器要等待交流电的正半周与负半周的交界点(零电位)时,固态继电器才为断态。这种设计能防止高次谐波的干扰和对电网的污染。吸收电路是为防止从电源中传来的尖峰、浪涌(电压)对开关器件双向可控硅管的冲击和干扰(甚至误动作)而设计的,一般是用“R-C”串联吸收电路或非线性电阻(压敏电阻器)。下图为一种典型的交流型SSR电路原理图,其内部结构图如图3.7所示。



3.7 继电器内部结构图

3.5.2 继电器控制电路

下图是一个控制电阻丝加热的电路图,单片机通过P3.1口的输出控制继电器的开合并进行通讯,当继电器的开关闭合时,晶闸管的门极触发电路导通,即晶闸管导通,220V的交流电压直接加在加热装置上进行全加热,其电路图如图3.8所示。

12


南昌工程学院专科毕业设计(论文)



3.8继电器控制模块及加热装置

3.6 显示模块

在单片机控制系统中,常用LED 显示器来显示各种数字或符号。这种显示器显示清晰,亮度高,接口方便,广泛应用于各种控制系统中八段LED数码管连接电路。图3.9实验板上所用共阳型LED 数码管的电路原理图,从图中可以看出:一个字块中的8 个发光二极管的阳极都连在一起的,共阴和共阳结构的LED 显示器各笔划段名的位置及名称是相同的。当二极管导通时,相应的笔划段发亮,由发亮的笔划段组合而显示出各种字符。如图3.108 个笔划段h g f e d c b a 对应于一个字节(8 位)的D7 D6 D5 D4 D3 D2 D1 D0于是用8 位二进制码就可以表示欲显示字符的字形代码。数码管二极管的正极连在一起,构成公共端,即片选端,对于这种数码管的驱动,要求在片选端提供电流。



3.9



13


第三章 恒温水箱控制系统硬件设计

3.10



数码管除了与AT89C51原件的管脚直接相连外,还需要添加2PNP三极管和2个二极管。在片选端提供电流如图

3.11





3.7越限报警报模块

报警电路如图3-11所示,该电路采用一个小功率三极管Q1驱动蜂鸣器BELL,当单片机接收到超额温度信号或危险信号时,输出脚BELL输出高点平,Q1导通,致使蜂鸣器BELL得电工作,发出报警声。同时,电路中的发光二极管指示出电路工作状态。

VCC

BELL

Q1

BELL



3.11 报警电路

14


南昌工程学院专科毕业设计(论文)

3.8 串行通信接口模块

AT89C51单片机通过管脚RXD(串行数据接收端)和管脚TXD(串行数据发送端)与外通信SBUF是串行口缓冲寄存器,包括发送寄存器和接收寄存器。它们有相同的名字和地址空间,但不会出现冲突,因为它们一个只能被CPU读出数据,一个只能被CPU写入数据。

AT89C51芯片虽然已有串行输入/输出管脚可以做串行通信,但为了使PCAT89C51的电压保持一致,时通信距离更远、通信效果更好,所以还要加上MAX232芯片。

设计中的串行接口是一个可编程的全双工串行通信接口。它可用做异步通信方式,与串行传送信息的外部设备相连接,或用于通过标准异步通信协议进行全双工通信AT89C51多机系统也可以通过同步方式,使用TTLCOMS移位寄存器来扩充I/O口。电路如图3.12

3.1







15


第四章 恒温水箱控制系统软件设计

第四章 恒温水箱控制系统软件设计

对单片机控制的软件设计是系统设计任务中的重点和难点。因此,本章在建立系统各部分软件流程的基础上,设计了各部分的软件控制流程。由于系统的操作过程和工作过程在程序设计的过程中起着很重要的指导作用,因此在软件设计之前应分析加热炉的工作流程。

4.1 工作流程

当上电复位后电阻丝先处于停止加热状态,但也可以直接启动运行。运行过程中,系统不断检测当前温度,并送往显示器显示,达到预定值后停止加热;当温度下降到下限(比预定值低5℃)时再启动加热。这样不断地重复上述过程,使温度保持在预定温度范围之内。运行过程中也可以随时改变设定温度,温度设定好后随即生效,系统按新的设定温度运行。

4.2 建立数学模型

控制算法即控制器的操作方式,是控制器对过程变量的实测值与设定值之间的误差信号的响应。温度控制在工业领域应用非常广泛,由于其具有工况复杂、参数多变、运行惯性大、控制滞后等特点,它对控制调节器要求较高。温度控制不好就可能引起生产安全,产品质量和产量等一系列问题。因此长期以来国内外科技工作者对温度控制器进行了广泛深入的研究,产生了大批温度控制器,如性能成熟应用广泛的PID调节器、智能控制PID调节器、自适应控制等。此处主要对一些控制器特性进行分析以便选择适合的控制方法应用于改造。再加上PID控制具有原理简单,易于实现,适用面广,控制参数相互独立,参数的选定比较简单等优点;而且在理论上可以证明,对于过程控制的典型对象──“一阶滞后+纯滞后”与“二阶滞后+纯滞后”的控制对象,PID控制器是一种最优控制。其调节规律是连续系统动态品质校正的一种有效方法,它的参数整定方式简便,结构改变灵活PIPD、„)。它的控制框图如图4.2所示。

4.1 PID控制框图



16




南昌工程学院专科毕业设计(论文)

4.2.1 模拟控制系统的PID算法

模拟控制系统的PID控制规律表达式为:

u(t)kc[e(t)

1tde(t)

e(t)dtT] 4.1 D

T0dt

式(4.1)中,u(t)为控制器的输出;e(t)为偏差,设定值与反馈值之差;kc为控制器的放大系数,即比例增益;T为控制器的积分时间常数;TD为控制器的微分时间常数。

对于DDC控制系统,它是对被控对象进行断续控制,因此要对上式进行离散化。 令:



t

0

e(t)dt

i0

k

(e )i

de(t)

dt

e(k)



e(k1)

4.2

可得第K计算机输出的位置型PID控制算式为

u(k)kc{e(k)



T1

e(i)

i0

I

k

TD



[e(k)e(k1)]}

e()j

K[e(k)

4.3 e( k 1 ) ]

u(k)K(k)ce

K

i0

k

D

式(4.3)表示的控制算法提供了执行机构的位置u(k)(如阀门开度),所以称为位置PID控制算法。

为程序设计方便,将式(4.11)作进一步的改进,设比例项输出:

uc(k)Kce(k) 4.4

积分项输出:

uI(k)KIe(j)

j0k

KIe(k)KIe(j) 4.5

j0

k1

KIe(k)uI(k1)

微分项输出:

uDKD[e(k)e(k1)] 4.6 所以,4.3)可写为

u(k)uP(k)uI(k)uD(k) 4.7 (4.7)为离散化的位置型PID编程公式,若采用浮点运算,当KPKIKD分别求出(并转成三字节浮点数),且存放在指定的内部RAM中,则完成式(4.7)位置型浮点运[15],位置型PID运算程序流程见图4.2

17


第四章 恒温水箱控制系统软件设计

4.2.2 增量式PID算法

当执行机构需要的不是控制量的绝对数值,而是其增量(例如驱动步进电机)时,由式(4.1)可导出提供增量PID算法,这只要将式

T

uiK[ei

Ti



ui1

ei

j0

i

Td

(eiei1)]u0 4.8 T

T

K[ei1

Ti

ei

j0

i1

Td

(ei1ei2)]u0 4.9 T

相减就可以得到下面的公式

uiuiui1K[eiei1

TT

eid(ei2ei1ei2)] 4.10 TiT

式(4.10)称为增量式PID控制算法,也可以进一步改写为:

uid0eid1ei1d2ei2 4.11

其中

d0K(1

TTd

)TiT2Td

)T



d1K(1d2K

TdT

可见增量式算法只需要保持现时以前的3个时刻的偏差值即可。 由式(4.10)可知,增量型PID算式为:

uiuiui1K[eiei1设:

TT

eid(ei2ei1ei2)] 4.12 TiT

uP(k)KP[e(k)e(k1)]uI(k)KDe(k)

uD(k)KD[e(k)2e(k1)e(k2)]所以



u(k)uP(k)uI(k)uD(k) 4.13 (4.13)为离散化的增量型PID编程表达式。当系数KPKIKD求出后,分别存在指定的RAM单元中。在初始化程序中,将e(k-1)e(k-2)uP(k)单元清零,而后编程同位置型PID程序编制出增量型浮点运算PID程序,增量型浮点PID运算程序流程见图4.3



18


南昌工程学院专科毕业设计(论文)





输入M(k)R(k)

输入M(k)R(k)

计算e(k)=r(k)-m(k)

计算e(k)=r(k)-m(k)

计算uP(k)=KPe(k) 计算uI(k)=KIe(k)+uI(k-1) 计算uD(k)=KD[e(k)+e(k-1)]

计算uP(k)=KP[e(k)-e(k-1)]

计算uI(k)=KIe(k)

计算u(k)=uP(k)+uI(k)+uD(k) u(k)转换成双字节整数

放入内存单元中

计算uD(k)=KD[e(k)-2e(k-1)+e(k+2)]

计算u(k)=uP(k)+uI(k)+uD(k)

e(k-1)e(k)





4.2 位置式PID运算程序流程图

4.3 增量式PID运算程序流程图



采用PID控制其优点是理论和技术都很成熟,在单片机上用软件较易实现,可以达到较小的静态误差,但必须仔细调整控制参数,才能获得较好的效果。并且它能够在控制过程中根据预先设定好的控制规律不停地自动调节控制量以使被控系统朝者设定的平衡状态过度,最后达到控制范围精度内的稳定的动态平衡状态。

最后,我们通过比较位置式和增量式的PID算法可以得出增量式控制的优点:误动作时影响小,手动/自动切换时冲击小,便于实现无扰动切换,此外,当计算机发生故障时,由于输出通道或执行装置具有信号的锁存作用,仍然能保持原值;算式中不需要累加,控制增量uc(k)的计算仅与最近三次的采样值有关,所以较容易通过加权处理而获得比较好的控制效果。

因此,基于增量式数字PID的特性和结合本控制系统的技术指标和要求,我们采用增量式的数字PID进行调整运算控制PWM波形的产生,达到控制继电器的通断进行加热。

19


第四章 恒温水箱控制系统软件设计

4.3 程序模块

系统软件由主程序、键盘输入子程序、设定温度子程序、温度检测子程序、温度控制子程序和显示子程序组成。 4.3.1 主程序

主程序完成系统的初始化,调用温度模块程序,对其预置值及其合法性进行检查,预置温度的显示,调用键盘扫描模块等。若正常执行完三个子程序,则返回初始化进入到其它状态,主程序的流程图见图4.4所示。





调用显示子程序



4.4 主程序流程图

调用键盘扫描处理子程序 调用温度传感器数据采集子程序



4.3.2 温度传感器驱动子程序

根据DS18B20的通讯协议,单片机控制DS18B20完成温度转换必须经过三个步骤:每次读写之前都要对DS18B20进行复位,复位成功后再发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求单片机将数据线下拉500us然后释放,DS18B20收到信号后等待1660us左右,再发出60240us的存在低脉冲,CPU收到此信号表示复位成功。

本系统对DS18B20的操作分为3个步骤:初始化、ROM命令和DS18B20功能命令。单片机要与DS18B20通信,首先必须完成初始化:单片机产生复位信号,DS18B20返回响应脉冲。

20


南昌工程学院专科毕业设计(论文)

ROM命令完成单片机与总线上的某一DS18B20建立联系,有搜寻ROM、读ROM匹配ROM、忽略ROM、报警查找等命令。这里,单片机只连接1DS18B20,因此只使用读ROM命令来读取DS18B2048ID号。

DS18B20功能命令在该步骤中完成温度转换、写暂存寄存器、读暂存寄存器、拷贝暂存寄存器、装载暂存器寄存器、读供电模式命令[16]。本系统不用温度报警功能,因此在本步骤中只需完成温度转换,然后通过读暂存寄存器命令完成温度转化的结果。

所以,本系统对DS18B20进行的操作主要包括两个子过程:1)读取DS18B20的序列号。主机首先发一复位脉冲,等收到返回的存在脉冲后,发出搜索器件的序列号命令,读DS18B20的序列号;2)启动DS18B20作温度转换并读取温度值。主机在收到返回的存在脉冲后,发出跳过器件的序列号命令,跟着发出温度转换命令,再次复位并收到返回的存在脉冲后,发送DS18B20的序列号,读出数据(如图4.5所示)

开始

初始

读取48ID

启动温度

发送读暂存器命令



4.5温度传感器驱动

4.3.3 键盘扫描处理程序

键盘模块的处理是通过对 K2K3K4进行操作的。K2是温度上调按钮, K3是温度下调按钮, K4是输入数据确认按钮。首先对K4数据输入确认键进行扫描判断是否被按下,并且对K4键设置了一个标志位,当其标志位为1时,表示K4被按下,否则K4没有被按下,具体流程图4.6所示。





21


第四章 恒温水箱控制系统软件设计

开始



K4数据输入确认键是否按下



确认键标志位1



是否是K4按下



是否K2键按下





K4键子程序



是否K3按下



上调子程序

下调子程序

数码显示

返回主程序

4.6键盘扫描处理流程图



4.3.4 温度检测与控制子程序

读取DS18B20的实时数据与设定值的比较,开始进行加热,在加热的过程中需要进行2秒一次的跟踪检测,并把检测到的实时数据与设定值比较,根据比较结果进行不同方式的加热,其具体流程如图4.7所示。





22


南昌工程学院专科毕业设计(论文)



PID调整加热

检测实际温度与设定温

度相等否?

每隔2秒检测1

调用按键设定温度值并进行开始加热

DS18B20,调显示子程序

开始

初始化

Y

N

N

相差5℃否?

Y

全加热



4.3.5温度显示子

4.7温度检测与控制流程图4.7温度检测与控制流程图

程序

该模块首先判断系统是否处于设定状态,如果处于设定状态则显示设定温度,否则显示当前实际温度。显示子程序的功能是将显示缓冲区内的二进制数据先转化成对应的BCD码,分别存入十位和个位显示区,然后通过串行通信口送出显示。显示模块程序的流程见4.8







23


第四章 恒温水箱控制系统软件设计



开始

设定状态有效

显示实际温度

调用二进制转 换成BCD码程序

设定状态有效

设置串口方式

设置显示位数

串口发送显示

返回

4.8温度显示模块流程图





24


南昌工程学院专科毕业设计(论文)



本次设计的新型PID调节恒温水箱,是基于单片机为控制中心的恒温系统,利用温度传感变送器,将采样到的温度信号输入到单片机中,再由单片机作为核心控制器,根据测量温度与设定温度的差值和增量式的PID算法生成控制信号,控制固态继电器的通电与断电。整个系统结构紧凑、所用芯片少、控制精度高、响应速度快,体积小,成本低。系统硬件上采用以单片机为中心的结构,充分利用单片机片上及扩展的硬件资源,在满足技术要求的前提下最大限度地减小硬件系统的体积,并具备一定的扩展升级能力。在键盘、显示电路上都采用了串行方式,从而减小了单片机口线的使用,也使使用口线小的单片机成为可能,减小了成本开支。虽然在主电源电路未采用流行的开关稳压电源,但也经济惠,性能稳定。

软件上,本系统实现了传感器自动识别、故障自动诊断、PID控制参数自整定以及自动调整等高级功能,极大地方便了用户使用,为了全面达到技术要求,设计过程中对软硬件作了大量优化设计。实际应用表明,经过标定的新型PID恒温控制器的控温准确性、重复性以及可靠性均达到了设计指标。并且在此次设计中基于PID算法的温度控制系统采用了经典的增量式PID算法,从某个角度上说这种算法优于传统的控制算法,具有更稳定、控制精度更高等优点,而在控制量的输出上采用了数字式的PWM变换,免去了D/A转换器,减小了成本,且简单易行。在程序的编写过程中特别注意了人机的交互性及各种功能的实现,如键盘控制管理程序和增量式PID运算程序都是经过深思熟虑而精心设计,使系统的操作界面更容易让人理解,同时使用键盘输入控制温度,虽然一定程度上增加了程序的复杂性,但同时也使系统的温度更容易设定。另外,加了E2PROM使系统能够在掉电重启动后继续完成加热。

当然,系统同时也存在几处缺点,在选择增量式PID算法时用了速度相对较慢的单片机,而没有采用速度更快的工控机,一定程度上降低了采样频率。采用了89C51,一方面系统更紧凑但同时系统的可扩展性有所降低。另外采用了经典的增量式PID控制算法,虽然算法简单,但如果采用更先进的算法,如模糊PID,则控制精度会更高。

因此,基于PID算法的恒温控制系统能够满足一般温度控制系统的要求,其有着控制精度高、算法简单、成本低的优点,有着很大的市场前景。当然,如果在其中加入更高级的算法,如模糊PID等,再将压力等参数考虑到系统中,且控制范围控大到其它的领域中去,其将有着不可估量的应用前景。



25


参考文献

参考文献

[1] 吴金戎. 8051单片机实践与应用[M].北京:清华大学出版社,2005

[2] 黄正祥,邓怀雄,郭延文,周书. 基于MCS-51单片机的温度控制系统[J].现代电子技术,2005620-21

[3]郁有文,程继红.传感器原理及工程应用[M].西安:西安电子科技大学,2003 [4]姚富安.电子电路设计实践[M].济南:山东科学技术出版社,2001

[5]汪孝国,王婉丽.高精度PID温度控制器[J]电子与自动化.200051315 [6]催东剑.多点恒温自动控制系统设计[J].电工技术.200375960 [7]康华光.电子技术基础(第四版)[M].北京:高等教育出版社,1998 [8]胡斌.图表细说电子元器件[M].北京:电子工业出版社,2005 [9]姜志海.电片机原理及应用[M].北京:电子工业出版社,2005

[10]夏红,赏星耀. PID参数自整定方法综述. 浙江科技学院学报. 20031541 [11]何立民. 单片机应用系统设计[M].北京:清华大学出版社,2005 8

[12]关平,刘红,林强.可实现的基于MCS-51单片机的恒温控制系统的设计[J].自动化技术与应用200827(10)108-110

[13]赵晶. PROTEL高级应用[M]. 人发邮电出版社,2002.12:224-226 [14]潘永雄.新编单片机原理与应用[M].西安:西安电子科技大学出版社,2003 [15]徐凤霞,赵成安.AT89C51单片机温度控制系统[J].齐齐哈尔大学学报,2004,3



26


南昌工程学院专科毕业设计(论文)



经过几个月的毕业设计终于可以画上一个句号了,但是现在回想起来做毕业设计的整个过程,颇有心得,其中有苦也有甜,不过乐趣尽在其中。通过自己动手实现了恒温水箱的温度控制系统的设计,其功能基本符合设计要求。虽然已经完成了此次毕业设计,但是我要感谢在整个毕业设计过程中帮助过我的老师,同学。

首先我要衷心地感谢我的指导老师贾兴建,她治学严谨,学识渊博,品德高尚,平易近人,在我学习设计期间不仅传授我做学问的正确态度,这些都将使我终生受益。无论是在理论学习阶段,还是在论文的选题、资料查询、开题、研究和撰写的每一个环节,我无不得到她的悉心指导和帮助,在她的帮助下我的毕业设计进展顺利。我想借此机会向贾老师和其他帮助过我的老师表示衷心的感谢。

今天的努力必定换来明天的丰收,在未来的学习研究过程中,我将以更加丰厚的成果来答谢曾经关心、帮助和支持过我的所有领导、老师、同学和朋友。

27


本文来源:https://www.wddqxz.cn/c5ed230b4b2fb4daa58da0116c175f0e7cd1198e.html

相关推荐