基于单片机的PID控制器设计毕业设计正文.docx
《基于单片机的PID控制器设计毕业设计正文.docx》由会员分享,可在线阅读,更多相关《基于单片机的PID控制器设计毕业设计正文.docx(87页珍藏版)》请在冰豆网上搜索。
![基于单片机的PID控制器设计毕业设计正文.docx](https://file1.bdocx.com/fileroot1/2023-4/17/d59a06ec-e2ea-4d76-b4bc-68f3f67725be/d59a06ec-e2ea-4d76-b4bc-68f3f67725be1.gif)
基于单片机的PID控制器设计毕业设计正文
第1章绪论
第1.1节概述
目前工业自动化水平已成为衡量各行各业现代化水平的一个重要标志。
PID控制器的特点是结构简单,适应性强,特别是不依赖对象的精确模型,对系统参数的变化具有较好的鲁棒性,可以解决在工业过程中精确建模的困难。
目前,PID控制及其控制器或智能PID控制器已经很多,产品已在工程实际中得到了广泛的应用,各大公司均开发了具有PID参数自整定功能的智能调节器,其中PID控制器参数的自动调整是通过智能化调整或自校正、自适应算法来实现。
温度是生活及生产中最基本的物理量,它表征的是物体的冷热程度。
在很多生产过程中,温度的测量和控制都直接和安全生产、提高生产效率、保证产品质量、节约能源等重大技术经济指标相联系。
因此,温度的测量与控制在国民经济各个领域中均受到了相当程度的重视。
PID温度控制器作为一种重要的控制设备,在化工、食品等诸多工业生产过程中得到了广泛的应用。
下面就简要介绍一下温度测控技术。
第1.2节温度测控技术的发展与现状
温度测控技术包括温度测量技术和温度控制技术两个方面。
在温度的测量技术中,接触式测温发展较早,这种测量方法的优点是:
简单、可靠、低廉、测量精度较高,一般能够测得真实温度;但由于检测元件热惯性的影响,响应时间较长,对热容量小的物体难以实现精确的测量,并且该方法不适宜于对腐蚀性介质测温,不能用于超高温测量,难于测量运动物体的温度。
另外的非接触式测温方法是通过对辐射能量的检测来实现温度测量的方法,其优点是:
不破坏被测温场,可以测量热容量小的物体,适于测量运动物体的温度,还可以测量区域的温度分布,响应速度较快。
但也存在测量误差较大,仪表指示值一般仅代表物体表观温度,测温装置结构复杂,价格昂贵等缺点。
因此,在实际的温度测量中,要根据具体的测量对象选择合适的测量方法,在满足测量精度要求的前提下尽量减少投入。
温度控制技术按照控制目标的不同可分为两类:
动态温度跟踪与恒值温度控制。
动态温度跟踪实现的控制目标是使被控对象的温度值按预先设定好的曲线进行变化。
在工业生产中很多场合需要实现这一控制目标;恒值温度控制的目的是使被控对象的温度恒定在某一给定数值上,且要求其波动幅度(即稳态误差)不能超过某允许值。
本文所讨论的基于单片机的温度控制系统就是要实现对温控箱的恒值温度控制要求,故以下仅对恒值温度控制进行讨论。
从工业控制器的发展过程来看,温度控制技术大致可分以下几种:
1.2.1定值开关控温法
所谓定值开关控温法,就是通过硬件电路或软件计算判别当前温度值与设定目标温度值之间的关系,进而对系统加热装置(或冷却装置)进行通断控制。
这种开关控温方法比较简单,在没有计算机参与的情况下,用很简单的模拟电路就能够实现。
由于这种控制方式是当系统温度上升至设定点时关断电源,当系统温度下降至设定点时开通电源,因而无法克服温度变化过程的滞后性,致使被控对象温度波动较大,控制精度低,完全不适用于高精度的温度控制。
1.2.2PID线性控温法
这种控温方法是基于经典控制理论中的PID调节器控制原理,PID控制是最早发展起来的控制策略之一,由于其算法简单、鲁棒性好、可靠性高等优点被广泛应用工业过程控制中,尤其适用于可建立精确数学模型的确定性控制系统。
由于PID调节器模型中考虑了系统的误差、误差变化及误差积累三个因素,因此,其控制性能大大地优越于定值开关控温。
其具体控制电路可以采用模拟电路或计算机软件方法来实现PID调节功能。
前者称为模拟PID控制器,后者称为数字PID控制器。
其中数字PID控制器的参数可以在现场实现在线整定,因此具有较大的灵活性,可以得到较好的控制效果。
采用这种方法实现的温度控制器,其控制品质的好坏主要取决于三个PID参数(比例值、积分值、微分值)。
只要PID参数选取的正确,对于一个确定的受控系统来说,其控制精度是比较令人满意的。
但是,它的不足也恰恰在于此,当对象特性一旦发生改变,三个控制参数也必须相应地跟着改变,否则其控制品质就难以得到保证。
1.2.3智能温度控制法
为了克服PID线性控温法的弱点,人们相继提出了一系列自动调整PID参数的方法,如PID参数的自学习,自整定等等。
并通过将智能控制与PID控制相结合,从而实现温度的智能控制。
智能控温法以神经网络和模糊数学为理论基础,并适当加以专家系统来实现智能化。
其中应用较多的有模糊控制、神经网络控制以及专家系统等。
尤其是模糊控温法在实际工程技术中得到了极为广泛的应用。
所谓第三代智能温控仪表,就是指基于智能控温技术而研制的具有自适应PID算法的温度控制仪表。
目前国内温控仪表的发展,相对国外而言在性能方面还存在一定的差距,它们之间最大的差别主要还是在控制算法方面,具体表现为国内温控仪在全量程范围内温度控制精度比较低,自适应性较差。
第1.3节系统总体设计方案
本论文所讨论的基于单片机的温度控制系统是某型号气相色谱仪的温度控制子系统,其目的是对两个温控箱[1]的温度进行恒值温度控制。
温控箱的温度控制范围在室温到摄氏600度之间,温度控制的精度要求为
0.1℃。
下面讨论系统的总体设计方案,包括:
系统的性能要求及特点以及系统的软、硬件方案分析。
1.3.1系统性能要求及特点
(l)系统性能要求:
可以人为方便地通过控制面板或PC机设定控制期望的温度值,系统应能自动将温控箱加热至此设定温度值并能保持,直至重新设定为另一温度值,即能实现温度的自动控制;
能够实现对温控箱温度的测量并且通过控制面板上的液晶显示实时的显示出来;
具有加热保护功能的安全性要求;
模块化设计,安装拆卸简单,维修方便;
系统可靠性高,不易出故障;
(2)系统特点:
鉴于上述系统功能要求以及智能仪表应具有的体积小、成本低、功能强、抗干扰并尽可能达到更高精度的要求。
本系统在硬件设计方面具有如下特点:
控制主板采用AT89C52作为核心芯片。
根据温控箱测温范围的要求,本系统适合采用Pt100铂电阻作为温度传感器,而Pt100铂电阻在大温度范围内测温时表现出的不可忽视的非线性不容忽视,因此在温度测量的过程中必须对铂电阻温度传感器的非线性进行优化,从而提高系统温度测量的精确度。
本文采用最小二乘法[2]拟合的方法对铂电阻的非线性进行优化。
为了简化系统硬件,控制量采用双向可控硅输出,这样就省去了D/A转换环节。
1.3.2系统硬件方案分析
目前,温度控制仪的硬件电路一般采用模拟电路和单片机两种形式。
模拟控制电路的各控制环节一般由运算放大器、电压比较器、模拟集成电路以及电容、电阻等外围元器件组成。
它的最大优点是系统响应速度快,能实现对系统的实时控制。
在本系统中,由于温度的变化是一个相对缓慢的过程,对温控系统的实时性要求不是很高,所以模拟电路的优势得不到体现。
单片机是大规模集成电路技术发展的产物,属于第四代电子计算机。
它是把中央处理单元CPU、随机存取存储器RAM、只读存储器ROM、定时/计数器以及I/O输入输出接口电路等主要计算机部件都集成在一块集成电路芯片上的微型计算机,它的特点是:
功能强大、运算速度快、体积小巧、价格低廉、稳定可靠、应用广泛。
由此可见,采用单片机设计控制系统,不仅可以降低开发成本,精简系统结构,而且控制算法由软件实现,还可以提高系统的兼容性和可移植性。
目前,市面上的单片机不仅种类繁多,而且在性能方面也各有所长。
AT89C52单片机[8]是ATMEL公司出品的与MCS-51系列兼容的低电压、高性能CMOS8位单片机。
本系统选择AT89C52为核心器件组成的控制系统。
1.3.3系统软件方案分析
目前,MCS51单片机的开发主要用到两种语言:
汇编语言和C语言。
与汇编语言相比,C语言具有以下的特点:
(1)具有结构化控制语句;
(2)适用范围大和可移植性好;
由于整个系统软件比较复杂,为了便于编写、调试、修改和增删,系统程序的编制适合采用模块化的程序结构,故要求整个控制系统软件由许多独立的小模块组成,它们之间通过软件接口连接,遵循模块内数据关系紧凑,模块间数据关系松散的原则,将各功能模块组织成模块化的软件结构。
温度控制算法方面,结合本温控系统的要求采用了经典的PID控制算法,这主要是由于PID控制相对来说算法简单、鲁棒性好和可靠性高。
第1.4节本文主要工作及章节安排
1.4.1本文主要工作
(l)在对温度控制发展现状、系统控制要求进行研究的基础上,选择了整个控制系统的控制方案;
(2)完成系统的硬件设计,包括采样电路、A/D转换电路、主控制电路、保护电路等等的设计;
(3)完成该系统的软件设计,包括主程序模块、控制运算模块、数据输入输出及处理模块等一些子功能模块的设计;
(4)研究了该系统的控制策略,建立了PID控制算法;
(5)完成了系统的软、硬件调试工作。
1.4.2章节安排
本论文由以下几部分组成:
第1章绪论主要介绍本文的背景知识及系统的总体设计方案,以及本文所完成的主要工作;
第2章硬件设计主要介绍系统各部分的硬件组成和特点,包括信号输入输出电路、单片机系统等等;
第3章软件设计介绍了系统软件各主要功能模块的设计;
第4章控制方案确立PID算法;
第5章系统调试介绍了TKS仿真器和集成开发环境KEILIDE
Vision2,以及使用TKS仿真器在KEIL环境中对系统的调试;
第6章结论全文工作的总结和展望。
第2章硬件电路
第2.1节系统硬件总体结构
本文所研究的温度控制系统硬件部分按功能大致可以分为以下几个部分:
单片机主控模块、输入通道、输出通道、保护电路等。
硬件总体结构框图如图2.1所示。
由结构框图可见,温度控制系统以AT89C52单片机为核心,并扩展外部存储器构成主控模块。
温控箱的温度由Pt100铂电阻[13]温度传感器检测并转换成微弱的电压信号,再通过16位的A/D转换器AD7705转换成数字量。
此数字量经过数字滤波之后,一方面将温控箱的温度通过控制面板上的液晶显示器显示出来;另一方面将该温度值与设定的温度值进行比较,根据其偏差值的大小,采用PID控制算法进行运算,最后通过控制双向可控硅控制周期内的通断占空比(即控制温控箱加热平均功率的大小),进而达到对温控箱温度进行控制的目的。
如果实际测得的温度值超过了系统给定的极限安全温度,保护电路会做出反应,从而保护温控箱。
图2.1硬件总体结构框图
第2.2节主控模块器件选型及设计
2.2.1单片机的选用
对于明确的应用对象,选择功能过少的单片机,无法完成控制任务;选择功能过强的单片机,则会造成资源浪费,使产品的性能价格比下降。
目前,市面上的单片机不仅种类繁多,而且在性能方面也各有不同。
在实际应用中,针对不同的需求要选择合适的单片机,选择单片机时要注意下几点:
(1)单片机的基本性能参数;
(2)单片机的增强功能;
(3)单片机的存储介质;
(4)芯片的封装形式;
(5)芯片工作温度范围符合工业级、军品级还是商业级;
(6)单片机的工作电压范围;
(7)单片机的抗干扰性能好;
(8)编程器以及仿真器的价格,单片机开发是否支持高级语言以及编程环境要好用易学;
(9)供货渠道是否畅通,价格是否低廉,是否具有良好的技术服务支持。
根据上面所述的原则,结合本系统实际情况综合考虑,本文讨论的温度控制系统选用ATMEL公司生产的AT89C52单片机作为主控模块的核心芯片。
2.2.2单片机介绍
本系统选用ATMEL公司生产的AT89系列单片机中的AT89C52。
AT89C52是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合,AT89C52的主要特点有:
(l)内部程序存储器为电擦除可编程只读存储器EEPROM,容量8KB,内部数据存储器容量256字节,最大寻址空间64KB;
(2)AT89C52有40个引脚;三个16位定时/计数器;
(3)可利用两根I/O口线作为全双工的串行口,有四种工作方式,可通过编程设定;
(4)内部ROM中开辟了四个通用工作寄存器区,共32个通用寄存器,以适应多种中断或子程序嵌套的情况;
(5)6个中断源分为两个中断优先级,每个中断源优先级都是可编程的;
(6)内部有一个由直接可位寻址组成的布尔处理机,在指令系统中包含了一个指令子集,专门用于对布尔处理机的各位进行各种布尔处理,特别适用于控制目的和解决逻辑问题;
(7)AT89C52的状态周期由晶体振荡器2分频后获得,作为芯片工作的基本时间单位,在采用12MHz晶振时,AT89C52的状态周期为(2/12)
=167ns。
AT89C52单片机DIP封装的引脚如图2.2所示。
图2.2DIP封装的AT89C52引脚图
2.2.3主控模块设计
主控模块电路由AT89C52单片机、外部时钟电路、复位电路、存储器扩展电路组成。
由于AT89C52内部存储器容量不能满足本系统的需求,所以需要对其存储器进行扩展。
这里选择用紫外线擦写的64K
8的EPROM27512和静态数据存储器8K
8的SRAM6264扩展单片机的存储器。
存储器扩展时,AT89C52的P0口作为数据总线和低8位地址线,P2口作为高8位地址线。
由于P0口的分时复用,所以需要使用地址锁存器74HC373对低8位地址进行锁存。
存储器扩展部分电路如图2.3所示。
图2.3存储器扩展电路
单片机的复位是由外部复位电路来实现的。
在单片机的复位引脚RST(9脚)上保持两个机器周期的高电平就能使AT89C52完全复位。
系统时钟电路设计采用内部方式,AT89C52内部有一个用于构成振荡器的高增益反相放大器,引脚XTAL1(19脚)和XTAL2(18脚)分别是此放大器的输入端和输出端,这个放大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器,外接晶体谐振器以及电容构成并联谐振电路,接在放大器的反馈回路中。
本系统电路采用的晶体振荡器频率为11.0592MHz。
复位电路和时钟电路如图2.4所示。
图2.4复位电路和时钟电路
第2.3节输入通道设计
系统输入通道的作用是将温控箱的温度(非电量)通过传感器电路转化为电量(电压或电流)输出,本系统就是将温度转化为电压的输出。
由于此时的电量(电压)还是单片机所不能识别的模拟量,所以还需要进行A/D转换,即将模拟的电量转化成与之对应的数字量,提供给单片机判断和控制。
输入通道由传感器、A/D转换等电路组成。
2.3.1Pt100温度传感器[14]
温度传感器的种类比较繁杂,各种不同的温度传感器由于其构成材料、构成方式及测温原理的不同,使得其测量温度的范围、测量精度也各不相同。
Ptl00型铂电阻,在-200
到850
范围内是精度最高的温度传感器之一。
由于在本系统中,测温范围较大(在室温到600
之间)且要求检测精度高、稳定性好,因此选用Pt100铂电阻作为本温度控制系统的温度传感器。
铂电阻温度传感器主要有两种类型:
标准铂电阻温度传感器和工业铂电阻温度传感器。
在测量精度方面,工业铂电阻的测量稳定性和复现性一般不如标准铂电阻。
这主要有两个方面的原因,其一是高温下金属铂与周围材料之间的扩散使其纯度受到污染;其二是因为高温条件下的应力退火影响了其复现性能。
但是标准铂电阻温度传感器也存在价格昂贵,维护起来较为困难等缺点。
考虑到成本,故在本系统中采用工业级Pt100铂电阻作为温度传感器。
铂电阻测温电路的工作方式一般分为恒压方式和恒流方式两种。
按照接线方式的不同又可以分为二线制、三线制和四线制几种。
本系统采用的是恒流四线制接法对Pt100铂电阻进行采样。
铂电阻温度传感器采样电路如图2.5所示。
该电路将温控箱的温度转化为电压输出。
采用恒流四线制接法的测温电路中需要用到一个稳定的基准电压源。
本系统采用精密基准电压源LM399H产生基准电压,图中参考电压
即来自LM399H。
基准电压源电路如图2.6所示。
LM399H是内置恒温槽高精度基准电压源,输出电压6.9999V。
本系统中基准电压源产生的电压不仅提供给铂电阻采样电路而且还提供给A/D转换电路使用。
图2.5温度传感器电路图2.6基准电压源电路
铂电阻温度传感器是利用其电阻值随温度的变化而变化这一特性进行温度测量的,根据IEC标准751-1983:
-200
(2.1)
0
(2.2)
其中,
为t
时的电阻值,
为0
时的电阻值。
图2.7所示为铂电阻温度电阻曲线。
图2.7铂电阻温度/电阻曲线
由于本系统中温控箱的温度范围在室温到600℃之间,故只针对(2.2)式进行讨论。
2.3.2A/D转换
在单片机控制系统中,控制或测量对象的有关变量,往往是一些连续变化的模拟量,如温度、压力、流量、位移、速度等物理量。
但是大多数单片机本身只能识别和处理数字量,因此必须经过模拟量到数字量的转换(A/D转换),才能够实现单片机对被控对象的识别和处理。
完成A/D转换的器件即为A/D转换器。
A/D转换器的主要性能参数有:
(1)分辨率分辨率表示A/D转换器对输入信号的分辨能力。
A/D转换器的分辨率以输出二进制数的位数表示;
(2)转换时间转换时间指A/D转换器从转换控制信号到来开始,到输出端得到稳定的数字信号所经过的时间;
(3)转换误差转换误差表示A/D转换器实际输出的数字量和理论上的输出数字量之间的差别,常用最低有效位的倍数表示;
(4)线性度线性度指实际转换器的转移函数与理想直线的最大偏移。
温度控制中A/D转换是非常重要的一个环节。
综合考虑,本系统选用AD(ANALOGDEVICES)公司生产的16位AD转换芯片AD7705[4]作为本温控系统的A/D转换器。
AD7705是AD公司生产的16位Σ-Δ型A/D转换器。
它包括由缓冲器和增益可编程放大器(PGA)组成的前端模拟调节电路、Σ-Δ调制器、可编程数字滤波器等部件组成。
能直接将传感器测量到的多路微小信号进行A/D转换。
AD7705采用三线串行接口,具有两个全差分输入通道,能达到0.003%非线性的16位无误码输出,其增益和输出更新率均可编程设定,还可以选择输入模拟缓冲器,以及自校准和系统校准方式。
工作电压3V或5V,在3V工作电压时,器件的最大功耗仅为lmW。
AD7705引脚如图2.8所示。
图2.8AD7705引脚图
AD7705引脚功能描述如下:
(1)SCLK串行时钟,将一个外部的串行时钟加于这一输入端口,以访问AD7705的串行数据。
该串行时钟可以是连续时钟以连续的脉冲串传送所有数据,反之,它也可以是非连续时钟,将信息发送给AD7705;
(2)MCLKIN为转换器提供主时钟信号,能以晶体八皆振器或外部时钟的形式提供。
晶体/谐振器可以接在MCLKIN和MCLKOUT两引脚之间,时钟频率的范围为500kHz-5MHz;
(3)MCLKOUT,当主时钟为晶体/谐振器时,晶体/谐振器被接在MCLKIN和MCLKOUT之间,如果在MCLKIN引脚处接上一个外部时钟,MCLKOUT将提供一个反向时钟;
(4)
片选信号,低电平有效;
(5)
复位输入,低电平有效;
(6)AIN2(+)差分模拟输入通道2的正输入端;
(7)AIN1(+)差分模拟输入通道l的正输入端;
(S)AIN1(-)差分模拟输入通道1的负输入端;
(9)AIN2(-)差分模拟输入通道2的负输入端;
(10)REFIN(+)差分基准输入的正输入端,基准输入是差分的,并规定REFIN(+)必须大于REFIN(-),REFIN(+)可以取VDD和GND之间的任何值;
(10)REFIN(-)差分基准输入的负输入端,REFIN(-)可以取VDD和GND之间的任何值,且必须满足REFIN(+)大于REFIN(-);
(11)
逻辑输出,这个输出端上的逻辑低电平表示可以从AD7705的数据寄存器获取新的输出字。
完成对一个完全的输出字的读操作后,该引脚立即回到高电平。
当该引脚处于高电平时,不能进行读操作,当数据更新后,该引脚又返回低电平;
(12)DOUT串行数据输出端,从片内的输出移位寄存器读出的串行数据由此端输出。
根据通信寄存器中的寄存器选择位,移位寄存器可以容纳来自通信寄存器、时钟寄存器或数据寄存器的信息;
(13)DIN串行数据输入端,向片内的输入移位寄存器写入的串行数据由此输入。
A/D转换电路如图2.9所示。
其中,AD7705的SCLK信号接AT89C52的Pl.2引脚;复位信号
接AT89C52的P1.3引脚;
接P1.1引脚;DOUT串行数据输出端接P1.0脚;AINI(+)差分模拟输入通道1的正输入端接到CD4051的AOUT(3脚),CD4051的输入端分别接Pt100温度传感器。
CD4051是8选1电子开关,CD4051的控制端和地址锁存器74HC373相连,从而受到单片机的控制。
通道选择电路如图2.10所示。
图2.9A/D转换电路
图2.10通道选择电路
第2.4节输出通道设计
2.4.1温控箱[13]的功率调节方式
目前多数温控系统均采用可控硅来实现功率调节。
可控硅的控制模式有两种:
相位控制和零位控制(分配式零位控制、时间比例零位控制)。
(l)相位控制:
作用于每一个交流正弦波,改变正弦波每个正半波和负半波的导通角来控制电压的大小,进而可以调节输出电压和功率的大小。
(2)零位控制:
在设定的周期Tc内,触发信号使主回路接通几个周波,再断开几个周波,改变可控硅在设定周期内的通断时间比例,以调节负载上的交流电的平均功率,即可达到调节负载功率的目的。
根据输出电压分布的不同,零位控制又分为分配式零位控制和时间比例零位控制。
它多用于大惯性的加热器负载,采用这种控制,既实现了温度控制,又消除了相位控制时带来的高次谐波污染电网。
本系统采用分配式零位控制的模式,控制温控箱的加热电阻的平均加热功率,进而控制温控箱的温度。
2.4.2可控硅输出电路
可控硅是一种功率半导体器件,简称SCR,也称晶闸[11]。
可控硅具有控制功率小、无触点、长寿命等优点,在交流电机调速、调功、随动等系统有着广泛的应用。
双向可控硅相当于两个单向可控硅反向并联。
双向可控硅与单向可控硅的区别是:
(l)它在触发之后是双向导通;
(2)在控制极上不管是加正的还是负的触发信号,一般都可以使双向可控硅导通。
本系统中与可控硅配套使用的是MOC3041光电藕合双向可控硅驱动器,与一般的光祸器件不同之处是MOC3041输出部分是硅光敏双向可控硅,还带有过零触发检测器以保证电压接近零时触发可控硅。
可控硅输出电路如图2.12所示。
图2.12可控硅输出电路
第2.5节保护电路
保护电路的作用是对温控箱进行过温保护,其电路如图2.13所示。
图2.13保护电路
当Ptl00测得的温度(电压信号)与设定的极限温度(通过电位器可调的电压信号)经过电压比较器LM339比较,如果发生温控箱温度超过设定的极限温度的情况,由于电压比较器LM339非常灵敏(电压比较器的两个输入端电压差别大于10mV就能确保输出能从一种状态可靠地转换到另一种状态),则电压比较器的输出端输出低电平,该低电平使高速光电隔离器6N315的3脚变为低电平,从而使RELAY_DRY信号为低电平,继而驱动RELAY_DRY信号控制继电器,断开加热电阻丝电源,保护温控箱。
电路中增加的达林顿管TIP122是一个电流驱动型器件