基于单片机得PID控制器设计
更新时间:2024-05-13 15:18:01 阅读量: 综合文库 文档下载
基于单片机的PID控制器设计
摘 要
工业控制器作为过程控制系统的核心,在现代工业过程控制中起着至关重要的作用。PID控制是迄今为止最为通用的控制方法,是经典控制理论在实际控制系统中的典型应用。作为最早发展起来的控制策略之一,PID控制算法简单、鲁棒性好、可靠性高??已经被广泛应用于工业过程控制。
本文叙述了现在几种成熟的PID控制算法,对PID控制器的设计进行了研究,包括对控制器的硬件选型和软件设计,对合适的硬件给予详细的介绍,对程序的运行给出详细的程序流程图。
PID控制器的核心选用了ATMEL公司的AT89C51单片机,通过合适的外接硬件来完成模拟数据量的采集处理,数据的模数数模转换,液晶显示,按键输入等功能。
关键字:单片机,PID算法,控制器
I
The design of SCM PID controller
Abstract
Industrial controller as the core of process control system in modern industrial process control plays a vital role. PID control is by far the most common diabolic method, is classical control theory in practical control system of a typical application. As the earliest one of the control strategy developed, PID control algorithm is simple and good robustness and high reliability... it was been widely used in industrial process control.
This paper describes the now several mature PID control algorithm, the design of PID controller is studied. Including controller hardware selection and software design of suitable hardware, to the detailed introduction of program running give detailed flow chart.
The core of the PID controller choosing the AT89C51 of ATMEL company, through the appropriate external hardware to complete simulation amount of data acquisition and processing, data module analog-to-digital conversion, LED display, keystroke function etc..
Key words: Microcomputer, PID algorithm, controller
II
目录
摘要 .................................................................................................................................... I Abstract ............................................................................................................................ II 第1章绪论 ....................................................................................................................... 1
1.1 本课题的研究背景和意义 ................................................................................. 1 1.2 PID控制器的研究现状 ...................................................................................... 2
1.2.1国内研究动态 ............................................................................................ 3 1.2.2 国外研究动态 ........................................................................................... 3 1.3 本论文的主要研究内容 ..................................................................................... 4 1.4 本章小结 ............................................................................................................. 4 第2章 PID控制器原理及简介 ..................................................................................... 5
2.1 PID控制器的简单介绍 ...................................................................................... 5 2.2完整的基于单片机的PID控制器的基本构成 ................................................. 6 2.3 本章小结 ............................................................................................................. 7 第3章给予单片机的PID控制器的硬件设计 .............................................................. 8
3.1 键盘输入电路 ..................................................................................................... 8 3.2 LED显示器 ......................................................................................................... 9
3.2.1LED数码管显示器结构和原理 ................................................................ 9 3.2.2 LED数码显示器的接入 ......................................................................... 10 3.3 多路选择器 ....................................................................................................... 12 3.4 AT89C51单片机 ......................................................................................... 15
III
3.4.1 AT89C51单片机的基本组成 ................................................................. 15 3.4.2 89C51单片机的引脚 .............................................................................. 15 3.4.389C51单片机中的CPU结构 ................................................................. 19 3.4.489C51单片机的存储器 ........................................................................... 19 3.5A/D、D/A转换器 .............................................................................................. 21
3.5.1A/D转换器MAX187 .............................................................................. 21 3.5.2D/A转换器MAX531 .............................................................................. 23 3.6本章小结 ............................................................................................................ 26 第4章 基于单片机的PID控制器的软件设计 .......................................................... 27
4.1 主程序流程图 ................................................................................................... 27 4.2PID控制算法 ..................................................................................................... 32
4.2.1常规PID控制 ......................................................................................... 32 4.2.2数字式PID控制 ..................................................................................... 34 4.3PID控制器的参数整定 ..................................................................................... 37 4.4本章小结 ............................................................................................................ 39 第5章 结束语 ............................................................................................................... 40 参考文献 ......................................................................................................................... 41 谢辞 ................................................................................................. 错误!未定义书签。
IV
第1章 绪论
在工业生产过程中,自动化技术一直都发挥着重要的作用。工程上通过工业过程控制系统来操作和控制实际的工业生产过程,而过程控制系统作为生产自动化的最重要组成部分,常采用测量仪表和计算机等自动化工具,应用控制理论设计而成。工业控制器是专门针对控制参数进行现场控制的装置,应用非常广泛。
1.1 本课题的研究背景和意义
本论文控制器的设计是以现在单片机的广泛应用为背景,以单片机为控制核心来设计的利用PID控制理论为控制程序基础的控制器。
在科学技术不断发展和人们物质生活水平不断提高的今天,一方面,为了满足优质、高产、低消耗及安全生产、保护环境等要求,制造产品的工艺变得越来越复杂;另一方面,工业过程不仅要求控制的精确性,更加注重控制的鲁棒性、实时性、容错性以及控制参数的自适应和自学习能力。
工业过程控制领域中常用的现场仪表主要包括:(1)变送器(压力/差压、温度、流量、物位等);(2)执行器(电动执行器机构、阀门定位器、电动气动调节阀门等);仪表为溶入自动化控制系统中必须从仪表的智能化、数字化、模块化、低功耗、多变量、多参数等方面改进,而替代“一对一”的单向的通信方式,总线化的智能仪表不仅应具有起始值、量程、阻尼特性的调整、非线性的校正、多变量的补偿、工程单位的换算等功能,而且还有故障自我诊断、PID调节和运算、自动报警以及同系统双向通信的功能。
1
PID控制器,也称作PID调节器,因其实现简单、精度稳定而被广泛地应用于工业过程控制,通过调节整定PID控制器的比例参数、积分参数、微分参数来使其能够适应于各种不同的对象,成为一种较为通用的调节器。PID控制是经典控制理论在实际控制系统中的典型应用(统计至今在全球过程控制中所使用的84%是纯PID控制器,若改进型也包含在内的话则超过90%)。随着计算机技术的发展,现代控制理论在实用性方面获得了很大进展,解决了许多经典控制理论不断解决的问题,这使很多人认为,新的理论和技术可以取代PID控制,但后来的发展说明,PID控制并没有让位。
目前,PID控制仍然是在工业控制中应用得最为广泛的一种控制方法。这一方面是由于其结构简单,鲁棒性和适应性较强;另一方面,它的调节整定较少依赖于系统的具体模型。随着计算机技术的发展,人们先后将模糊控制,自适应控制,专家控制,神经网络控制等自动控制理论应用于PID控制,使PID控制的性能不断得到提高,可以逐步克服不能同时很好地满足稳态精度与动态稳定性,平稳性与快速性的要求以及对于存在强非线性、快速时变不确定性、强干扰等特性地现象,控制效果较差等缺点,适用范围越来越广。
1.2 PID控制器的研究现状
PID控制器因为结构简单、容易实现,并且具有较强的鲁棒性,因而被广泛应用于各种工业过程控制中。作为一种广泛的控制规律,PID控制在相当长的一段时间内,并没有因为各种先进控制算法的出现而遭到淘汰,相反,经过时间的考验,PID控制仍然在各种控制技术中占主导地位。PID控制器参数整定的优劣
2
与否,是PID控制器能否在实用中得到好的闭环控制效果的一个前提。迄今为止,各种先进PID控制器参数整定方法层出不穷,给PID控制器参数整定的研究带来了活力与契机。
1.2.1国内研究动态
目前来讲,我国商品化自整定控制器的研究仍然处在起步阶段,主要原因有两个:第一,自整定技术是一门集自适应控制、智能控制、自动化控制为一体的高科技工程的新技术,由于商业保密性,国外许多重要设计技术的细节都没有公开。想要利用最少的被控过程数学模型信息来自动获取鲁棒性强且可靠的最优化PID整定参数,从而适应不同的被控过程,这种理论及实践在国内还处在理论分析和仿真试验阶段;第二,自整定控制器是结合未处理计算机、新型精密电子元器件及、高密度的工艺制作为一体的高集成度的自动化仪表,国内在这些方面与国外同类技术差距甚远,影响了国内自整定控制器商品化的研制和发展。
1.2.2 国外研究动态
目前,自动化仪表生产厂家主要集中在美国、日本、德国等工业发达国家。这些公司大多是实力雄厚的跨国公司,代表着自动化仪表领域的最高成就,而且在智能仪表的设计方面也体现出了以下几点特点:
1) 良好的可靠性设计。 国外产品在设计阶段就十分注意可靠性分析与设计,
运用可靠性分配理论,将可靠性指标逐级分配,从而使整机的可靠性得到了保证。
3
2) 注重可维护设计。 高的可维护设计可使仪表便于生产调试和维修,包括
在设计中实施与自动检测系统。
3) 产品的通用化和系列化。 产品系列主要体现在功能性、量程范围、精度
等方面。这样会对用户产生巨大的吸引力。先进的智能仪表,通用性很强。体现在大多数产品的通用接口系统,可以方便地将系统互联与计算机组成测试系统,将用途和使用范围大大地扩展。
1.3 本论文的主要研究内容
应用AT89C51单片机为核心进行PID控制器的整体设计规划,独立完成PID控制器的硬件设计和软件设计。
1.4 本章小结
本章主要介绍了PID控制器的应用历程和发展前景,对比了PID控制算法与当今流行控制理论的优缺点及其相互结合的趋势,总结了国内和国外PID控制器产品的特点,给出了本文所设计的PID控制器的主要概况。
4
第2章 PID控制器原理及简介
2.1 PID控制器的简单介绍
近年来,尽管控制理论在控制技术领域有了很大的发展,各种先进控制方法层出不穷,但是PID控制仍然广泛地应用于工业控制系统。这主要是因为绝大多数被控过程而言,PID控制器可以提供较好的闭环控制特性:在工作环境有较大变化时,PID控制器表现出了较好的鲁棒性。使用模拟和数字器件可以很方便地实现PID控制,但是实践表明将PID控制器用于具有振荡、积分或不稳定传递函数的被控过程时,无法得到较好的闭环特性,系统的阶跃响应往往具有较大的超调而且会产生振荡。所以,现今也有了很多关于改进PID控制方法的研究,比如将智能控制、专家控制等现代控制方法与传统PID控制方法相结合。PID控制器是应用最广泛的控制器之一,根据不完全统计,在工业过程控制等领域中,PID控制器的使用占80%以上,是唯一大规模商品化生产的控制器。
在模拟系统中,最常使用的控制器规律是PID控制。它是一种线性控制器,将给定值与实际输出值之间偏差的比例、积分和微分通过线性组合构成控制量,对被控对象进行控制。比例环节成比例地反映误差信号,偏差一旦产生,控制器立刻产生控制作用,以减小偏差;积分环节主要用于消除静差,提高系统的无差度;微分环节反映偏差信号的变化趋势,并能在偏差信号变得太大之前,在系统引入一个有效的早期修正信号,从而加快系统的变化趋势,并能在偏差信号变得太大之前,在系统引入一个有效的早期修正信号,从而加快系统的动作速度,减
5
少调节时间。三个环节,各有各的作用,而其各项系数均可以在现场灵活调试,以达到预期的控制性能。由于其结构简单,控制效果好,所以应用较广。但是,由于PID控制器的结构限制,将它用于具有振荡、积分或不稳定传递函数的被控过程时,无法得到良好的闭环特性,系统的阶跃响应往往具有大的超调而且会产生振荡。
2.2完整的基于单片机的PID控制器的基本构成
一个完整的控制器,包含有数据采集部分,数据处理部分和数据执行部分,在本论文中,以下图为依据,来进行控制器的设计。
图2.1基于单片机的PID控制器的基本构成
6
2.3 本章小结
在本章节中,对市面上出现的PID控制器的控制原理和应用情况给予了简单的介绍,并且列出了所要设计的PID控制器的基本硬件图,为下面章节中控制器的选型和设计提供了一定的参考。
7
第3章单片机的PID控制器的硬件设计
3.1 键盘输入电路
在单片机控制器的设计中,需要操作者对系统进行干预,如设置或修改参数、选择操作功能、对系统进行人工控制等,这就要求系统中有键盘输入的功能。 在本论文的设计中,由于不需要经常和大量地进行键盘操作,同时为了简化硬件电路,往往采用非编码键盘,利用软件来进行按键的识别和功能的散转。根据需要按键的多少,又可以选择独立式或行列矩阵式的键盘。鉴于所需要的按键不多,往往只需要几个功能键,此时,可采用独立式按键结构。独立式键盘是直接用I/O口线构成的单个按键电路,其特点是每个按键单独占用一根I/O口线,每个按键的工作不会影响其他I/O口线的状态。
在本论文的键盘设计中,利用P3端口的P3.2、P3.3、P3.4、P3.5作为四个按键的输入端。电路连接图如图3.1所示:
图3.1 PID控制器的按键电路连接图
8
3.2 LED显示器
在单片机应用系统中,显示器是人机对话的重要组成部分,它将系统的运行状态、输出和结果直观地显现出来。在本论文中,基于89C51单片机的硬件结构,采用了电路简单、对硬件及I/O接口的要求少的特点的LED显示器作为其输出单元。
在本论文所应用的显示电路中,利用扩展芯片8255A来连接一个6位共阴极的LED显示器。
3.2.1 LED数码管显示器结构和原理
LED(Light Emitting Diode)数码管显示器的每一位由八个发光二极管组成。其中,7个发光二极管构成字型“8”的各个笔画,依次称为a-g段,另一个发光二极管作为小数点,称为dp。
当在某发光二极管上施加一定的正向电压时,该段比画即亮;不加电压则不点亮。为了保护各段LED不被破坏,需外加限流电阻。每管驱动电流3-10mA(平均值),发光二极管将管压降为约1.8V。单片机中通常使用的LED数码管有共阴极和共阳极两种。
图3.2 LED显示器实物图
9
以共阴极LED显示管为例,各LED公共阴极KO接地。若向各段的控制端加上高电压(信号“1”),则该段发光二极管发亮,加上信号“0”,则该段发光二极管熄灭。公共端接地时,向各段控制输出端输出不同的信号,就会显示出不同的信号,就会显示出不同的代码。鉴于管数目有限,这种LED数码显示器智能显示0-9、A、B、C、D、E、F、H、L、P、U等字符和小数点。共阳极LED数码管与共阴极LED数码管相反。
3.2.2 LED数码显示器的接入
在本论文中,选择共阴极LED数码管显示器作为以单片机为核心的PID控制器的显示器,其中,有六个LED数码管显示数据,为了减少硬件连线,采用LED动态扫描显示方式。
图3.3数码管引脚图
为了实现上述功能,在系统中扩展了一片通用的并行接口8255A。Intel 公
10
司的8255A使一个通用的可编程并行接口芯片,它具有3个独立的8位I/O接口(A口、B口、C口),提供TTL兼容的并行接口。作为输入时提供三态缓冲器功能,作为输出时提供数据锁存功能。8255有3种工作方式:方式0、方式1、方式2,能使用无条件、查询和中断等多种数据传送方式完成CPU与I/O设备之间的数据交换。
在单片机外部扩展的8255A,令它的A、B、C口均工作方式0,即简单输入/输出方式。8255A的A、B口控制LED显示器,LED显示器采用动态扫描显示方式。其中,A口8条线输出LED显示器的端码(a、b、c、d、e、f、g、dp),B口输出LED的位选信号,用PB0-PB5这6条线控制6个LED数码管
图3.4 LED显示器与89C51单片机的电路连接
11
3.3 多路选择器
模拟量输入是单片机控制系统的关键部分,需要单片机进行处理的信号可以是温度、压力、气体或液体的流量、浓度等连续变化的物理量,这些信号必须经过单片机的数据采集系统来转换成连续变化的电信号,单片机才能对其进行处理。
基于单片机89C51为核心的控制系统的模拟量输入开关,可以选择多路选择器CD4051。多路选择器CD4051是一个8选1的模拟开关电路。通过它可以由软件分时选通各个模拟通道的输入。
模拟开关电路4051的介绍:
CD4051相当于一个单刀八掷开关,开关接通哪一通道,由输入的3 位地址码ABC 来决定。其真值表如下。“INH”是禁止端,当“INH”=1 时,各通道均不接通。
图3.5 CD4051实物图
12
INH 0 0 0 0 0 0 0 0 1 C 0 00 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 A 0 1 0 1 0 1 0 1 输出 “0” “1” “2” “3” “4” “5” “6” “7” 均不接通 图3.6 4051真值表
图3.7 4051引脚图
13
引脚号 1,2,4,5,12,13,14,15 9,10,11 3 6 7 8 16 符号 IN/OUT A,B,C OUT/IN INH VEE VSS VDD 功能 输入/输出端 地址端 公共输出/输入端 禁止端 模拟信号接地端 数字信号接地端 电源+ 图3.8 CD4051引脚功能说明表
图3.9 CD4051与89C51单片机的电路连接图
14
3.4 AT89C51单片机
3.4.1 AT89C51单片机的基本组成
89C51单片机的基本组成包括: (1)一个8位的微处理器
(2)片内数据存储器RAM为128B,有21个特殊功能寄存器(SFR) (3)片内程序存储器Flash ROM有4KB
(4)可寻址片内统一编址的64KB的ROM,可寻址片外64KB的RAM (5)4个8位并行I/O接口(P0-P3);一个全双工通用异步串行接口UART; (6)两个16位的定时器/计数器;
(7)5个中断源、两个优先级的中断控制系统; (8)具有位操作功能的布尔处理机及位寻址功能; (9)片内振荡器和时钟产生电路
3.4.2 89C51单片机的引脚
VCC:电源电压 GND:地 P0口:
P0口是一组8位漏极开路双向I/O口,即地址/数据总线复用口。作为输出口时,每一个管脚都能够驱动8个TTL电路。当“1”被写入P0口时,每个管脚都能够作为高阻抗输入端。P0口还能够在访问外部数据存储器或程序存储器时,转换地
15
址和数据总线复用,并在这时激活内部的上拉电阻。P0口在闪烁编程时,P0口接收指令,在程序校验时,输出指令,需要接电阻。
图3.10 AT89C51单片机的引脚图
P1口:
P1口是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动4个TTL电路。对端口写“1”,通过内部的电阻把端口拉到高电平,此时可作为输入口。因为内部有电阻,某个引脚被外部信号拉低时输出一个电流。闪烁编程时和程序校验时,P1口接收低8位地址。 P2口:
P2口是一个内部带有上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动4个TTL电路。对端口写“1”,通过内部的电阻把端口拉到高电平,此时,可作为输入口。因为内部有电阻,某个引脚被外部信号拉低时会输出一个电流。在访问
16
外部程序存储器或16位地址的外部数据存储器时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器时,P2口线上的内容在整个运行期间不变。闪烁编程或校验时,P2口接收高位地址和其它控制信号。 P3口:
P3口是一组带有内部电阻的8位双向I/O口,P3口输出缓冲故可驱动4个TTL电路。对P3口写入“1”时,它们被内部电阻拉到高电平并可作为输入端时,被外部拉低的P3口将用电阻输出电流。
P3口除了作为一般的I/O口外,更重要的用途是它的第二功能,如下表所示: 端口引脚 第二功能 P3.0 RXD P3.1 TXD P3.2 INT0 P3.3 INT1 P3.4 T0 P3.5 T1 P3.6 WR P3.7 RD
P3 口还接收一些用于闪烁存储器编程和程序校验的控制信号。 RST:
复位输入。当震荡器工作时,RET引脚出现两个机器周期以上的高电平将使单片机复位。
17
ALE/ :
当访问外部程序存储器或数据存储器时,ALE输出脉冲用于锁存地址的低8位字节。即使不访问外部存储器,ALE以时钟震荡频率的1/16输出固定的正脉冲信号,因此它可对输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲时,闪烁存储器编程时,这个引脚还用于输入编程脉冲。如果必要,可对特殊寄存器区中的8EH单元的D0位置禁止ALE操作。这个位置后只有一条MOVX和MOVC指令ALE才会被应用。此外,这个引脚会微弱拉高,单片机执行外部程序时,应设置ALE无效。 PSEN:
程序储存允许输出是外部程序存储器的读选通信号,当AT89C51由外部程序存储器读取指令时,每个机器周期两次PSEN 有效,即输出两个脉冲。在此期间,当访问外部数据存储器时,这两次有效的PSEN 信号不出现。 EA/VPP:
外部访问允许。欲使中央处理器仅访问外部程序存储器,EA端必须保持低电平。需要注意的是:如果加密位LBI被编程,复位时内部会锁存EA端状态。如EA端为高电平,CPU则执行内部程序存储器中的指令。闪烁存储器编程时,该引脚加上+12V的编程允许电压VPP,当然这必须是该器件是使用12V编程电压VPP。 XTAL1:震荡器反相放大器及内部时钟发生器的输入端。 XTAL2:震荡器反相放大器的输出端。
18
3.4.389C51单片机中的CPU结构
89C51单片机的CPU包括运算器和控制器两部分。运算器中,包括了一个8位算术/逻辑运算单元(ALU)、8位的暂存寄存器、8位的累加器、8位的寄存器、程序状态标志寄存器、十进制调整电路和布尔处理单元等。控制器中,包括了一个16位的程序计数器,由两个8位的计数器PCH和PCL组成,还包括接受指令代码的指令寄存器和进行译码的指令译码器,89C51内有片内振荡电路和定时电路。
3.4.489C51单片机的存储器
89C51单片机内采用了哈佛结构,在物理结构上分为程序存储器和数据存储器。程序存储器,用来存放编好的程序和一些固定不变的表格常数。在应用时,这些程序代码一般要永久存放在ROM中,即固化到ROM中。数据存储器RAM用来存放运算的中间结果各个数据的缓存、缓冲等。它的特点是可读写,但是断电后信息会消失。在单片机中使用的等都是半导体静态RAM。
由于89C51单片机的偏内数据存储器只有128B,往往不够用,89C51可以扩展片外数据存储器。89C51的片外数据存储器(RAM)的存储空间为64KB,地址范围为0000H-FFFFH。
外部RAM的扩展可以使用静态RAM芯片6264(8K×8),这时,89C51由P0端口分时复用提供低8位地址A0-A7和数据总线D0-D7,由P2端口提供高8位地址A8-A15。
19
访问外部数据存储器时,使用专门的指令MOVX。采用寻址方式为寄存器间接寻址,数据指针寄存器(DPTR)的内容作为间接寻址的地址指针,DPTR为16位,其寻址范围为64KB。当外部扩展的数据存储器的地址小于256B时,可以使用工作寄存器中的R0和R1做间接寻址寄存器的地址指针。
DPTR数据指针寄存器是一个16位的特殊功能寄存器,它的高位字节寄存器用DPH表示(地址为83H),低位字节寄存器用DPL表示(地址为82H)。
内部数据存储器和外部数据存储器采用独立编址,这样它们的低256B地址有重叠,但是,访问这两部分RAM时所用的指令形式和寻址方式不同,访问内部RAM用MOV指令,访问外部RAM用MOVX指令。因此能保证CPU对内部、外部数据存储器的正确访问。
单片机89C51读写外部数据RAM的操作使用MOVX指令。
图3.11 6264存储器与89C51单片机的电路连接
由图3.11可见,ALE把P0端口输出的低8位地址A0-A7锁存在74L373中,P2端口的P2.0-P2.4直接输出高五位地址A8-A12,由于单片机的RD和WR分别
20
与6264的输出允许OE和写信号WE相连,执行读操作指令时,RD使OE有效,6264RAM中指定地址单元的数据经DO-D7由P0口读入,执行写指令时,WR使 WE有效,由P0口提供的要写入RAM的数据经D0-D7写入6264的指定地址单元中。
3.5 A/D、D/A转换器
多路模拟开关所输出的信号是不能被单片机直接进行处理的模拟信号,需要经过A/D转换器将其转换成能够被单片机处理的数字信号。在单片机将由A/D转换器送来的信号进行系统所要的处理后,输出数字信号,此时,就需要D/A转换器,将所接收到的数字信号转换成能够调节执行器的模拟信号,来完成控制系统的功能。
在本论文中,分别选用了A/D转换器MAX187和D/A转换器MAX531
3.5.1 A/D转换器MAX187
MAX187是一个12位精度的A/D转换器(ADC),具有如下特点: (1)12位的A/D转换精度;
(2)内部采样/保持电路,采样保频率为75Hz;
(3)三线串行接口和处理器通信,并且兼容SPI、QSPI和Micro wire同步串行接口标准;
(4)低功耗,待机电流为2uA,工作电流为1.5mA; (5)小封装,8个引脚的DIP(双列直插)封装芯片。
21
图3.12 MAX187引脚图
MAX187利用输入的采样/保持电路和逐次比较寄存器将输入的模拟信号转换成12位的 数字信号输出,它的采样/保持电路不需要外接电容。
图3.13 MAX187操作时序图
MAX187的A/D转换过程在SCLK为低电平、CS端的输入信号由电平高变低(下降沿)时启动。DOUT端编程高电平,表示A/D转换完成。转换的结果在DOUT端单向串行输出。DOUT端输出12个数据位,一共要经过13个SCLK周
22
期。在每个SCLK的下降沿后移出一位。串行输出由数据的最高位开始。完成数据传送后,CS变为高电平,DOUT端成为高阻抗状态。MAX端允许输入信号频率最大为75kHz。 引脚 1 2 3 4 5 10 11 6 7 8 符号 VDD AIN SHDN REF GND AGND DGND DOUT CS SCLK 功能 电源电压 采样模拟输入 三态关断输入 参考电压输出端 模拟和数字地 模拟地 数字地 串行数据输出 片选信号 串行时钟输入 图3.14 MAX引脚功能说明表
3.5.2 D/A转换器MAX531
MAX531芯片是Maxim公司推出的性能优越、高分辨率的D/A转换集成电路。它具有功耗低、转换速率快、内部带基准电压等特点,能完成12位D/A转换,数字输入为串行。MAX531为14脚DIP封装,能够与本论文中的89C51单片机接口,构成单片机处理系统,引脚图如下:
23
D/A转换器MAX531在输入数据之前必须把CLR清楚端口置1,然后才能输入数据,从时序图中可以看出,当片选信号CS来一个下降沿时,才开始进行数据输入。CS的下降沿之后再时钟的作用下可使数据输入寄存器。因为数据中的每一位,都在各个时钟上升沿之后输入寄存器。由于有十二位数据,所以输入这些数据至少需要12个时钟上升沿。当片选信号CS来一个上升沿是,将使D/A转换器开始进行模数转换,转换结果以电压的方式从Vout端口输出。
图3.15 MAX531引脚图 引脚 1 2 3 4 5
符号 BIPOFF DIN CLR SCLK CS 24
功能 空端口 串行数据输入 清楚端 串行时钟信号输入 片选端 6 7 8 9 10 11 12 13 14 DOUT DGND AGND REFIN REFOUT VSS VOUT VDD RFB 图4.16 MAX531引脚功能表
串行数据输出 数据地 模拟地 基准电压输入 基准电压输出 公共接地端 模拟电压输出 电源输入端 反馈输入端
图4.17 MAX531的工作时序图
25
图4.18 MAX531与89C51单片机的电路连接图
在本论文的设计中,选择了8路输入则需要同时输出8路模拟信号来控制8个对象,由于选择的D/A转换器只能输出一路的模拟控制信号,所以需要连接8个D/A转换器来完成控制器的功能,与单片机之间串接一个74LS138译码器通过时钟信号的分时选通来辅助完成控制器所需要的功能。
3.6本章小结
在论文的本章中,对PID控制器所涉及的硬件装置进行了正确的选型,并且对各个硬件在原理、应用和连接等方面给予了详细的介绍,给控制器的软件设计指明了方向。
26
第4章 基于单片机的PID控制器的软件设计
在控制器的软件设计中,按照功能模块化的思想,将整个控制器分为几个模块,每一个模块来实现以各个具体的任务,比如数据采集模块负责将接受到的模拟信号转变为可供单片机进行处理运算的数字信号,而数据处理模块即是将需要进行运算的数据通过计算转变成可对执行器发出有效控制的数据。在各个子模块的功能已经成功实现的基础上,设计节点监控主程序,协调各个模块的功能,它是系统程序的框架。节点编程语言采用C语言,它是一种结构化程序设计语言且具有完善的模块程序结构,与汇编语言相比,采用C语言可以大大缩短开发周期,便于改进和扩充、可移植性、可维护性好,且不需要了解处理器的指令集,不必了解存储器结构,更符合人们的思考习惯。开发环境用Keil C51 uVision3,它是基于80C51内核的微处理器软件开发平台,内嵌多种符合当前工业标准的开发工具,可以完成从工程建立到管理,编译,连接,目标代码的生成,软件仿真,硬件仿真等完整的开发流程,尤其是其C编译工具在产生代码的准确性和效率方面达到了很好的水平,而且可以附加灵活地控制选项,能极大提高单片机软件开发的效率,拥有Keil这个强大的开发平台也是8051系列单片机与其他系列单片机相比的一个非常重要的优势。
4.1主程序流程图
主程序完成初始化和显示控制向总线发送数据等功能,程序流程见图初始化包括设置堆栈和程序状态字、为各个变量赋初值、设置外部中断和定时器的工作
27
方式以及各外设芯片的设置。开机后,通过键盘设定各控制器所要控制需要的参数值,然后系统开始采集数据并显示,对控制量进行计算和输出,接下来将将得到的输出信号传送到执行器来完成控制器的控制功能,并将需要显示器显示的数据及时准确地显示出来。
图4.1 主程序流程图
28
在本论文的控制器设计中,相当于主程序来说,数据采集模块、数据处理模块和LED显示控制模块也是相对来水比较重要的模块,下面分别给出这三个模块的程序流程图:
(1)数据采集系统流程图
单片机控制器的数据采集模块的任务包括系统的初始化,数据的A/D转换,输入数据的显示,键盘处理,超限报警的检测和处理和合理数据的传送等,根据所要完成的任务可以编写如下的程序流程图。
图4.2 数据采集流程图
29
数据处理流程图
相对于数据采集系统来说,单片机控制器的数据处理系统包括了对接收到的信号调用相应的子程序来进行计算,检查输出数据的合理行,并将合理数据送入D/A转换,然后传送到执行器来完成系统的控制任务。
图4.3 数据处理流程图
在单片机的控制系统中,显示单元已经成为不可或缺的一部分,在本论文的设计中,应用扩展接口8255A来连接LED显示器,完成控制器的显示功能,下图给出了89C51的LED动态显示流程图,由流程图可以看出显示程序包括8255A的初始化、数据和段码的查表变换、向LED送选定的段码、延时、反复循环等。
30
图4.4 89C51的LED动态显示流程图
31
4.2 PID控制算法
在PID控制器的软件设计中,单片机要处理的数据需要相应的功能子程序来执行,在本论文中,控制的基础理论为PID控制理论,下面简单介绍最常应用的PID控制算法。
4.2.1常规PID控制
在模拟控制系统中,控制器最常用的控制理论是PID控制。PID控制规律的 基本输入输出关系可用微分方程表示为:
(4.1)
式中,KP为比例系数; Ti为积分时间常数; TD为微分时间常数;
e(t)为控制系统的偏差信号,e(t)=r(t)-y(t)。 此外,控制规律还可写成传递函数的形式:
(4.2)
图中KP、KI和KD分别为比例、积分和微分系数,由式(4.2)可知,KI=KP/TI,KD=KPTD 。
传统的PID控制系统原理框图如图所示,系统由PID控制器和被控对像组成。
32
图4.5 传统的模拟PID控制系统原理框图 这三种基本控制环节各具特点:
(1) P比例控制:成比例的反映控制系统的误差信号,偏差一旦产生,控制器立即产生控制作用,以减小偏差。比例控制器在信号变换时,只改变信号的幅值而不改变信号的相位,采用比例控制可以提高系统的开环增益,是系统的主要控制部分。需要注意的是,过大的比例系数会使系统产生比较大的超调,并产生振荡,使稳定性变坏。
(2) I积分控制:积分控制主要用于消除静差,提高系统的无差度,但是会使系统的震荡加剧,超调增大,损害动态性能,一般不单独作用,而是与PD 控制相结合。积分作用的强弱取决于积分时间常数TI,时间常数越大,积分作用就越弱,反之则越强。
(3) D微分控制:反映误差信号的变化趋势(变化速率),并能在误差信号变得太大之前,在系统中引入一个有效的早期修下信号,从而加快系统的运作速度,减少调节时间。微分控制可以预测系统的变化,增大系统的阻尼ξ,提高相角裕度,起到改善系统动态性能的作用,但是微分对干扰有很大的放大作用,过大的
33
微分会使系统震荡加剧,降低系统信噪比。
为了实现控制目的和达到控制指标,需要选择适宜的控制算法。常用的控制方法有反馈控制、顺馈控制、P 控制、PD 控制、PI 控制、PID 控制等,其中PID控制是应用最为广泛的控制方法之一。PID的复合控制,可以综合这几种控制规律的各自特点,使系统同时获得很好的动态和稳态性能
4.2.2数字式PID控制
随着计算机技术和电子设备的发展,控制技术已经从模拟控制逐步转变成数字控制。使得控制速度和精度都得到了大大的提高。数字PID就是对上面讲述的模拟PID控制的离散化,通常数字PID控制分为位置式PID控制算法和增量式PID控制算法。
在数字控制器中,控制量是通过采样方式,根据采样时刻的偏差值计算控制量,故对式(4.1)中的积分和微分项不能直接使用,需要对其进行离散化处理。按模拟PID控制算法的算式(4.1),现以一系列的采样时刻点kT代表连续时间t,以和式代替积分,以增量代替微分,则可以作如下的近似变换:
(4.3)
式中,T--采样周期。
34
在离散化过程中,采样周期T的取值必须满足采样定理,即采样周期T必须小于信号频率的一半。只有满足这个条件才能准确的反映信号的特点。同时为了书写方便和便于理解,将e(kT)简化表示成e(k)。然后再将式(4.2)代入式(4.1),可以得到离散的PID表达式为: 或
式中,k--采样序号,k= 0,1,2,...;
u(k)--第k次采样时刻的被控对象输出值,即反馈量;e(k)--第k次采样时刻输入的偏差值; e(k-1)--第(k-1)次采样时刻输入的偏差值; Ki—积分系数, Ki=Kp*T/Ti Kd—微分系数,Kd=Kp*Td/T 由z变换的性质。
得到式(4.5)的z变换式为:
从而可以得到数字PID控制器的Z传递函数为:
35
我们常称式(4.4)或式(4.5)为位置式PID控制算法。
对于位置式PID控制算法来说,由于是全量输出,所以每次输出均与过去的状态有关,计算时要对误差进行累加,所以运算工作量大。而且如果执行器一一计算机出现故障,则会引起执行机构位置的大幅度变化,而这种情况是生产场合不允许的,因而产生了增量式PID控制算法。
所谓增量式PID是指数字控制器的输出只是控制量的增量Δu(k)。当执行机构需要的是控制量的增量时,可以由式(4.5)导出提供增量的PID控制算式。根据递推原理可得:
用式(4.5)减去式(4.8),可得
(4.9)
式中:
式(4.9)称为增量式PID控制算法。
增量式控制与位置式控制相比,虽然只是算法上作了一些改进,却带来了不少优点:
36
正在阅读:
基于单片机得PID控制器设计05-13
《逻辑学》重点知识整合01-22
家教广告语02-09
家庭装修必知系列之家装全套施工工艺01-04
塑料容器项目可行性研究报告(发改立项备案+2013年最新案例范文03-27
山西省农业大学附属中学2015-2016学年八年级下学期期末学业水平测试数学试题12-09
小型民用飞机颤振适航性研究 - 图文04-16
新形势下高校辅导员魅力提升的路径探讨09-11
(上海)2011年车险核保细则05-08
小六壬完整解释整理04-24
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 单片机
- 控制器
- 基于
- 设计
- PID
- 1700多种食品的升糖指数(GI)和血糖负荷(GL)—中文版
- 2015年中考附答案
- 通信原理习题(有关的题弄懂肯定及格)
- 2011小学六年级语文毕业调研考试
- 广东省云浮中学2016届高三毕业班综合测试(一)语文试卷
- BMP085大气压传感器程序
- 2009年 陕西省高考数学试卷(理科)
- 03--10成语运用中考考试成语
- 微机原理与接口技术(苏州大学出版社) - 习题答案
- 近代史社会实践调查报告
- 废水处理岗位职责及操作指示
- 栾家坪中心小学创建文明校园实施方案01
- 政治生活 综合检测题2(人教版必修2)
- 法理学常见问题
- KC-6 PST B5电路仿真实验台-宿迁 - 图文
- 教案-商务英语阅读-Unit 16-叶兴国
- 用爱呵护童心教育故事
- 创业计划书模板
- 用爱心播种 用智慧耕耘
- 地基处理与基础设计啊