智能仪表课程设计.docx
《智能仪表课程设计.docx》由会员分享,可在线阅读,更多相关《智能仪表课程设计.docx(32页珍藏版)》请在冰豆网上搜索。
智能仪表课程设计
智能仪表综合训练设计说明书
题目:
数字PID控制器设计(LCD显示)
学生姓名:
学号:
专业:
测控技术与仪器
班级:
指导教师:
摘要
目前工业自动化水平已成为衡量各行各业现代化水平的一个重要标志。
同时,控制理论的发展也经历了古典控制理论、现代控制理论和能控制理论三个段。
在工业过程控制中,由于控制对象的精确数学模型难以建立,系统的参数又经常发生变化,运用现代控制理论分析综合要耗费很大代价进行模型辨识,建立系统的数学模型十分困难,应用直接数字控制方法比较困难,所以人们在过程控制系统中大部分采用PID(ProportionIntegrationDifferentiation.比例-积分-微分控制器)数字调节器。
此次智能仪表课程设计要求是设计一种数字PID控制器,该数字调节器采用STC89C51单片机作为主控单元,采用ADC0832作为A/D转换器,具有数字滤波等功能,通过PID算法实现调节功能,调节器设定值、参数可通过四个独立按键设置,采用DS1602LCD数字显示,用PWM脉宽调制电路输出电压信号。
关键词:
数字调节器;A/D转换器;PID控制算法;四独立按键;PWM脉宽调制电路。
第一章前言
1.1数字PID控制器概述
在过程控制中按偏差的比例(P)、积分(I)和微分(D)进行控制的PID调节器(亦称PID控制器)是应用颇为广泛的一种调节器。
它具有原理简单,易于实现,健壮性强和适用面广等优点。
在计算机应用于生产过程以前,过程控制中采用的气动、液动和电动PID调节器几乎一直占垄断地位。
计算机的出现和它在过程控制中的应用使这种情况开始有所改变。
20多年来相继出现一批复杂的、只有计算机才能实现的控制算法。
然而目前在工业过程控制中,由于工业对象的动态特性未被完全掌握,得不到精确的数学模型,难以满足控制理论的分析要求,在决定系统参数时,往往要借助现场调试及经验,在这种场合,PID调节器就更能显示出它的威力,应用范围越来越广。
即使在过程计算机控制中,PID控制仍然是应用最广泛的控制算法。
不过,用计算机实现PID控制,就不仅仅是简单地把PID控制规律数字化,而是进一步与计算机的逻辑判断能力结合起来,使PID控制更加灵活多样,更能满足生产过程提出的各种各样的要求。
PID调节的实质就是根据输入的偏差值,按比例、积分、微分的函数关系进行运算,运算结果用以控制输出。
这里需要说明的是数字式PID应用是有条件的。
在系统的时间常数远远大于系统的采样周期的场合,应用数字化PID能取得良好的控制效果。
如果系统的时间常数与其采样周期相当,则不宜采用数字PID控制,必须寻找其他方法。
在现代工业控制中,过程控制技术是一历史较为久远的分支。
目前,在某些工业及其他领域的过程控制系统中,简单的单回路控制已不能满足控制的要求。
因此又设计出了串级控制系统、比值控制系统、均匀控制系统、前馈控制系统、选择性控制系统、分程及阀位控制系统和一些新型控制系统等来对一些参数(如压力、流量、温度、成分、物位等)进行检测控制。
在各种控制系统中控制器是必不可少的部分,数字PID控制器更是发挥着它灵活多样的特性。
在实际应用中,根据被控对象的特性和控制要求,可以灵活地改变PID的结构,取其中的一部分环节构成控制规律,比如比例(P)调节、比例积分(PI)调节、比例积分微分(PID)调节等。
特别是在计算机控制系统中,更可以灵活应用,以充分发挥计算机作用。
1.2PID调节器简介
1.2.1比例调节(P)
比例调节器的微分方程为:
(1-1)
式中:
y为调节器的输出,e(t)为调节器的输入,一般为偏差值,即e(t)=U(R)-Ui(k),kp为比列系数。
由上式可以看出,调节器的输出y与输入偏差e(t)成正比。
因此,只要偏差e(t)一出现,就能及时地产生与之成比例的调节作用,具有调节及时的特点,它是最基本的一种调节规律。
比例调节的特性曲线,如图1.1所示。
比例调节作用的大小,除了与偏差e(t)有关外,主要取决于比例系数Kp,比例系数愈大,调节作用愈强,动态特性也愈好。
反之,比例系统愈小,调节作用愈弱。
但对于大多数惯性环节Kp太大时会引起白激振荡。
[1]
图1.1阶跃响应特性曲线
1.2.2比例-积分调节器(PI)
积分作用是指调节器的输出与输入偏差的积分成比例的作用,其积分方程为:
(1-2)
Ti为积分时间常数,它表示积分速度的大小,Ti越大,积分速度越慢,积分作用越弱。
反之Ti越小,积分速度越快,积分作用越强,积分作用的响应特性曲线,如图1.2所示。
积分作用的特点是调节器的输出与偏差存在时间有关,只要有偏差存在,输出就会随时间不断增长,直到偏差消除,调节器的输出才不再变化。
因此,积分作用能消除静差,这是它的主要优点。
但从图1.2中可以看出,积分作用的动作缓慢,而且在偏差刚一出现时,调节器作用很弱,不能及时克服扰动的影响,致使被调参数的动态偏差增大,调节过程增长,因此,它很少被单独使用。
图1.2积分作用相应曲线图
PI调节器综合了P、I两种调节的优点,利用P调节快速抵消干扰的影响,同时利用I调节消除静差。
1.2.3比例-微分调节器(PD)
自动控制系统在克服误差的调节过程中可能会出现振荡甚至失稳。
解决的办法是使抑制误差的作用的变化“超前”,即在误差接近零时,抑制误差的作用就应该是零。
这就是说,在控制器中仅引入“比例”项往往是不够的,比例项的作用仅是放大误差的幅值,而目前需要增加的是“微分项”,它能预测误差变化的趋势,这样,具有比例+微分的控制器,就能够提前使抑制误差的控制作用等于零,甚至为负值,从而避免了被控量的严重超调。
所以对有较大惯性或滞后的被控对象,比例+微分(PD)控制器能改善系统在调节过程中的动态特性。
微分方程为:
(1-3)
式中,TD为微分时间常数。
微分作用响应曲线,如图1.3所示。
图1.3微分作用相应特性曲线图1.4PD调节器的阶跃响应特性曲线
从图1.3中可以看出,在t=to时加入阶跃信号,此时输出值y变化的速度很大(理论上为无穷大),当t>to时,其输出值y迅速变为0。
这里需要说明,微分作用的特点是,输出只能反应偏差输入变化的速度,而对于一个固定不变的偏差,不管其数值多大,根本不会有微分作用输出。
因此,微分作用不能消除静差,而只能在偏差刚刚出现的时刻产生一个很大的调节作用。
微分调节只能起辅助的调节作用,需要与比例作用配合使用,构成PD调节器。
实际PD调节器的阶跃响应曲线,如图1.4所示,从图1.4曲线可以看出,当偏差刚出现的瞬间,PD调节器输出一个很大的阶跃信号,然后按指数下降,以至最后微分作用完全消失,变成一个纯比例调节。
微分作用的强弱可以用改变微分时间常数Td来进行调节。
1.2.4比例-积分-微分调节器(PID)
为了进一步改善调节品质,往往把比例、积分、微分三种作用组合起来,形成PID三作用调节器。
理想的P1D微分方程为:
(1-4)
对于一个PID三作用调节器,在阶跃信号作用下,首先是比例和微分作用,使其调节作用加强,然后再进行积分,直到最后消除静差为止。
因此,采用PID调节器,无论从静态,还是从动态的角度来说,调节品质均得到了改善,从而使得PID调节器成为一种应用最为广泛的调节器。
这里要说明的是,并非所有系统都需要使用PID调节器,在工业控制系统中,PI、PD调节器也常常被人们所采用,因为它们比较简单。
究竞使用哪一种调节器合适,只有根据具体情况,并根据现场实验进行选定。
第二章数字PID控制器总体方案设计
2.1数字PID调节器的构成
数字PID调节器就是将模拟信号(包括电流、电压)通过AD转换变为数字信号,微处理器(本设计采用单片机)再将数字信号通过一定的算法进行一定的处理,然后将处理过后的数字信号通过DA转换为模拟信号输出。
该数字调节器采用STC89C51单片机作为主控单元,采用ADC0832作为A/D转换器,具有数字滤波等功能,通过PID算法实现调节功能,调节器的参数可通过四个独立按键设置,采用DS1602LCD数字显示,用PWM脉宽调制电路输出电压信号以驱动执行机构。
传统的调节器多为模拟调节器,这种调节器多用电动或气动单元组合仪表来完成随着微机的不断发展和应用,特别是单片机在控制领域广泛应用,利用计算机软件实现控制算法,具有更大的灵活性、可靠性和更好的控制效果。
因此,以单片机为中心、采用数字算法的数字调节器正不断代替模拟调节器。
如图2.1所示单片机系统首先通过转换电路采集过程变量,然后计算偏差和输出控制变量,最后将控制变量、经转换后输出到执行机构控制输入量,使过程变量稳定在设定值,达到控制目的。
图2.1所示的PID调节器以单片机STC89C51(实现PID算法)为核心,其他还包括:
A/D模块、1602LCD显示模块、按键模块和PWM输出模块。
图2.1调节器结构框图
2.2PID调节器的控制原理
在工程实际中,应用最为广泛的调节器控制规律为比例、积分、微分控制,简称PID控制。
PID控制器自问世以来以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。
当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,控制理论的其它技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确定,这时应用PID控制技术最为方便。
即当我们不完全了解一个系统和被控对象﹐或不能通过有效的测量手段来获得系统参数时,最适合用PID控制技术。
PID控制器实质就是根据输入的偏差值,按比例、积分、微分的函数关系进行运算,运算结果用以控制输出,其输出值再经过PWM输出电压信号送给执行机构进行调节控制。
3.1主处理器的选择
本次课程设计的主处理器是宏晶科技推出的新一代超强抗干扰、高速、低功耗的STC89C51RC单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可任意选择。
其主要参数如下:
最高时钟频率范围为:
0~80M
FLASH存储器:
4K
片上集成1280字节/512字节RAM
E2PROM:
2K+
工作电压:
5.5V~3.4V(5V单片机)
共三个16位定时器/计数器,其中定时器0还可以当成2个8位定时器使用。
通用I/O口(32/36个),复位后为:
P1/P2/P3/P4是准双向口/弱上拉(普通8051传统I/O口),P0口是开漏输出,作为总线扩展时,不用加上拉电阻,作为I/O口时需加上拉电阻。
中断源:
8个,优先级:
4个。
其管脚图如下图3.1所示。
图3.1STC89C51管脚图
3.2A/D转换器ADC0832简介
3.2.1ADC0832的特点
ADC0832为8位分辨率A/D转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。
其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在0~5V之间。
芯片转换时间仅为32μS,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。
独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便。
通过DI数据输入端,可以轻易的实现通道功能的选择。
其主要参数如下:
8位分辨率;
双通道A/D转换;
输入输出电平与TTL/CMOS相兼容;
5V电源供电时输入电压在0~5V之间;
工作频率为250KHZ,转换时间为32μS;
一般功耗仅为15mW;
8P、14P—DIP(双列直插)、PICC多种封装;
商用级芯片温宽为0°C~+70°C,工业级芯片温宽为−40°C~+85°C;
芯片接口说明:
片选使能,低电平芯片使能;
CH0模拟输入通道0,或作为IN+/-使用;
CH1模拟输入通道1,或作为IN+/-使用;
GND芯片参考0电位(地);
DI数据信号输入,选择通道控制;
DO数据信号输出,转换数据输出;
CLK芯片时钟输入;
Vcc/REF电源输入及参考电压输入(复用)。
3.2.2单片机对ADC0832的控制原理
正常情况下ADC0832与单片机的接口应为4条数据线,分别是
、CLK、DO、DI。
但由于DO端与DI端在通信时并未同时有效并与单片机的接口是双向的,所以电路设计时可以将DO和DI并联在一根数据线上使用。
当ADC0832未工作时其
输入端应为高电平,此时芯片禁用,CLK和DO/DI的电平可任意。
当要进行A/D转换时,须先将
使能端置于低电平并且保持低电平直到转换完全结束。
此时芯片开始转换工作,同时由处理器向芯片时钟输入端CLK输入时钟脉冲,DO/DI端则使用DI端输入通道功能选择的数据信号。
在第1个时钟脉冲的下沉之前DI端必须是高电平,表示启始信号。
在第2、3个脉冲下沉之前DI端应输入2位数据用于选择通道功能。
作为单通道模拟信号输入时ADC0832的输入电压是0~5V且8位分辨率时的电压精度为19.53mV。
如果作为由IN+与IN-输入的输入时,可是将电压值设定在某一个较大范围之内,从而提高转换的宽度。
但值得注意的是,在进行IN+与IN-的输入时,如果IN-的电压大于IN+的电压则转换后的数据结果始终为00H。
3.2.3标度变换
由于种物理参数有不同的量纲,如温度为℃;压力采用Pa;流量用m3/n等。
这些参数经A/D转换后,变成数字量信息输出,这个数字量虽然代表参数值的大小,但并不一定等于原来带有量纲的参数值,必须将它转换成原来参数的真实值才能进行显示,打印或使用,而这就需要标度变换。
线性标度变换公式如下:
Ax:
参数测量值
Ao:
参数量程起点值
Am:
参数量程终点值
No:
量程起点对应的A/D转换值
Nm:
量程终点对应的A/D转换值
Nx:
测量值对应的A/D值(采样值),即滤波器的输出值
此次课程设计要求将4-20mA的电流信号转化为1-5V电压信号,8位的ADC0832对应的数字量是51-255,(AD-51)/(255-51)=(v-1)/(5-1)变换完的电压电压v=AD/51,而要显示的是液位信号,1-5v电压对应液位0-500mm,即:
(Ax-Ao)/(Am-Ao)=(V-1)/(5-1)(Ao=0液位最小值,Am=500mm最大值)
Ax=(V-1)*(Am-Ao)/4+Ao=(AD-51)*(Am-Ao)/204.0+Ao
3.3PID算法的实现
3.3.1PID算法的数字化
在模拟系统中,PID算法的表达式为:
(3-1)
式中p(t)—调节器的输出信号;
e(t)—调节器的偏差信号,它等于给定值与测量值之差;
kp—调节器的比例系数;
Ti—调节器的积分时间;
TD—调节器的微分时间。
由于计算机控制是一种采样控制,它只能根据采样时刻的偏差来计算所需控制量。
因此,在计算机控制系统中,必须首先对式(3-1)进行离散化处理,用数字形式的差分方程代替连续系统的微分方程,此时积分项和微分项可用求和及增量式表示:
(3-2)
(3-3)
将式(3-2)和式(3-3)代入式(3-1),则得到离散化的PID表达式:
(3-4)式中△t=T—采样周期,必须使T足够小,才能保证系统有一定的精度;
E(k)—第k次采样时的偏差值;
E(k-1)—第(k-1)次采样时的偏差值;
k—采样序号,k=0,1,2,….;
p(k)—第k次采样时的调节器的输出。
由式(3-4)可以看出,要想计算p(k),不仅需要本次与上次的偏差信号E(k)和E(k-1),而且还要在积分项中把历次的偏差信号E(j)进行相加,即
E(j)。
这样,不仅计算烦琐,而且为保存E(j)还要占用很多内存。
因此,用式(3-4)直接进行控制很不方便。
为此,我们做如下改动
(3-5)
用式(3-4)减去式(3-5),可得:
(3-6)
式中,
----积分系数;
----微分系数。
由式(3-6)可知,要计算第k次输出值p(k),只需知道p(k-1),E(k),E(k-1),E(k-2)即可。
在很多控制系统中,由于执行机构式采用步进电机或多圈电位器进行控制的,所以,只要给一个增量信号即可。
=
(3-7)
式(3-7)表示第K次输出的增量△p(k),等于第K-1次调节器的输出值,即在第(K-1)次的基础上增加(或减少)的量,所以式(3-7)叫增量型PID控制式。
3.3.2PID算法的程序设计
由式(3-7)可知,增量型PID算式为:
(3-8)
=
设
所以,有
△p(k)=△Pp(k)+△Pi(k)+△PD(k)(3-9)
上式为离散化的增量型PID编程表达式。
3.4四独立按键设计
用四个独立按键K1、K2、K3、K4实现PID调节器的设定值及Kp,Ki和Kd三个参数的设定。
按键位置如图(3.2)所示,仿真如图(3.3)所示。
PID调节的实质就是根据输入的偏差值,按比例、积分、微分的函数关系进行运算,运算结果用以控制输出。
K1K2K3K4
图3.2按键位置图
图3.3按键仿真图
四个按键:
K1接P1.4、K2接P1.5、K3接P1.6、K4接P1.7。
K1是功能键,实现Sv、Kp、Ki、Kd四种模式选择。
K2是确认键,当键按下时可进行相应参数设置,设置完后按下键即可确认保存相应数据。
K3是加计数键,K4是减计数键。
通过键盘更改PID参数来选择不同的PID控制算法。
3.5LCD显示模块
LCD1602是指显示的内容为16*2,即可以显示两行,每行16个字符液晶模块。
1602字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,一般1602字符型液晶显示器实物如下图3.4所示:
图3.4LCD1602实物图
1602采用标准的16脚接口,其中:
1脚:
VSS为电源地;
2脚:
VCC接5V电源正极;
3脚:
V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高。
4脚:
RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。
5脚:
RW为读写信号线,高电平1时进行读操作,低电平0时进行写操作。
6脚:
EN端为使能端。
7~14脚:
D0~D7为8位双向数据端。
15~16脚:
空脚或背灯电源。
15脚背光正极,16脚背光负极。
3.6PWM电路
PWM脉宽调制(PulseWidthModulation,PWM)是通过对一系列脉冲的宽度进行调制,等效地获得所需要的波形(含形状和幅值)。
脉宽调制是一种应用比较普通的控制方式,脉宽调制是保持逆变器的工作频率不变,即载波频率不变,而通过改变导通时间或截至时间来改变占空比的调制方式。
三个参量:
幅值,载波,占空比,主要是传函于占空比,即脉冲的宽度。
PWM信号进行RC处理输出电压信号,一般用于电机调速控制。
PWM变频电路具有以下特点:
1.可以得到相当接近正弦波的输出电压。
2.整流电路采用二极管,可获得接近1的功率因数。
3.电路结构简单。
4.通过对输出脉冲宽度的控制可改变输出电压,加快了变频过程的动态响应。
此次设计所用PWM电路板是同学自己设计焊接而成,将输出电压信号进行放大2倍,用以驱动执行机构。
第四章数字PID控制器软件设计
4.1单回路调节器主程序流程图
图4.1单回路调节器主程序流程图
4.2各部分子程序流程图
4.2.1A\D转换子程序流程图
图4.2A\D转换子程序流程图
4.2.2PID算法子程序流程图
图4.3PID算法子程序流程图
4.2.3四独立按键子程序流程图
图4.4四独立按键子程序流程图
4.2.4LCD显示子程序流程图
图4.5LCD显示子程序流程图
4.2.5PWM子程序流程图
图4.6PWM子程序流程图
第五章总结
通过此次PID数字控制器设计,对控制系统总体方案设计、硬件设计、软件设计以及编程调试有了整体详尽的了解,对数字PID控制技术有了更加深刻的认识。
在整个设计过程中,硬件大部分都是本专业老师提供的,只有PWM脉宽调制电路是同学自己焊的。
主处理器选用的芯片是STC89C51/2RC。
A/D转换部分选用的芯片是ADC0832,A/D接收的模拟信号来自电位器,将0-5V的模拟量转换成0-255的数字量。
PID算法采用增量型算式,用数字形式的差分方程代替连续系统的微分方程。
LCD显示部分选用DS1602显示模块。
四个独立按键实现对调节器参数的设定功能。
此次设计是以小组为单位进行的,我们五个人一组,每个人负责一部分。
在组长的带领下,经过讨论将各子程序模块以子程序调用的方式组合到一起,软件编程调试最终成功。
在程序调试过程中,我深刻认识到团队合作精神的重要性,团队合作的力量是无穷尽的,只有融入集体我们才能将自身的价值最大化,进而推动社会更好更快发展。
参考文献
[1]潘新民,《微型计算机控制技术》,北京:
电子工业出版社,1988年03月第二版。
[2]王凌强.基于数字PID控制器的仿真[J].科技信息(学术版).2006(04)
[3]王燕芳、潘新民,《微型计算机控制技术》,北京:
电子工业出版社,2006.1。
[4]姚永平,《STC89C51/RC+系列单片机器件手册》,宏晶科技,2007年11月17日。
[5]董永祥,智能仪器的设计及发展,山西电子技术,2006年第1期。
[6]郝长胜,《C语言程序设计》,内蒙古大学出版社,2005年12月第一版。
[7]赵茂泰,《智能仪器原理及应用》,北京:
电子工业出版社,2004年7月第二版。
[8]潘永雄,《新编单片机原理与应用》,西安电子科技大学出版社,2007年02月第二版。
[9]雷力鸣,单片机在数字调节器中的应用,西南自动化研究所,兵工自动化,1997年第3期。
[10]蔡杏山,《Protel99SE电路设计》,北京:
人民邮电出版社,2007年07月第一版。
[11]俞云奎,《可编程序调节器、控制器原理与应用》,1997年05月第一版。
附录A
硬件原理图
附录B
源程序
#include
#include
#defineuintunsignedint
#defineucharunsignedchar
#definedelay4us(){_nop_();_nop_();_nop_();_nop_();}
sbitRS=P1^0;
sbitRW=P1^1;
sbitE=P1^2;
sbitCS=P2^3;
sbitCLK=P2^4;
sbitDIO=P2^5;
ucharZKB1=0;
ucharDisplay_Buffer[]="0000";
voidinit_sys(void);/*系统初始化函数*/
voidPWMOUT(void);
voidbutton(void);
voidSet_Disp_Pos(ucharpos);
voidL1602_char(ucharrow,ucharcol,charsign);
voidL1602_s