1、数字 PID 的计算机仿真课程名称: 计算机控制技术 学 院:电子信息与电气工程学部专 业: 自动化 班 级: 学 一. 数字 PID 的计算机仿真一、 目的加深理解 PID 调节器的特性及参数设定。二、 算法u(k)=q0*e(k)+q1*e(k-1)+q2*e(k-2)u(k)=u(k-1)+u(k)初始条件:u(k-1)=u(k-2)=0, e(k-1)=e(k-2)=0, y(k-1)=y(k-2)=0,R(k)为单位阶跃,且控制系统的结构图为:PID G(z)R(k)e(k) u(k) y(k)-三个被控对象:二阶振荡环节 21)(zabzG其中: =-1.5, =0.7, =1.0
2、, =0.5,T=2s1212b具有非最小相位特性的过程212)(zabzG其中: =-1.68364, =0.70469, =-0.07289, =0.09394,T=1s121b2b具有低通特性和纯滞后的过程 dzazabzG*)( 32103其中:d=4, =-2.48824, =2.05387, =-0.56203, =0, =0.00462, =0.00169,1230b12b=-0.00273,T=1s3b三、仿真要求:1、 采用 matlab 计算 40 步以上的 y(k) u(k),并画图显示。2、 对三个对象,在 T=1 或 2 时,整定出最佳的 PID 参数。3、 整定法,
3、凑试法。 (程序中要有上升时间,超调量和收敛时间的计算)在此,我们选取 T=2S,约定超调量 poss1.02*yss)ts=t(i);breakelseif (y(i)1.02*yss)ts=t(i);breakelseif (y(i)1.02*yss)ts=t(i);breakelseif (y(i)0.98*yss)ts=t(i);breakelse ts=0;endendts %显示调整时间for i=1:length(t)if(y(i)0.9*yss)tr1=t(i);elseif(y(i)=yp)breakendendfor i=1:length(t)if(y(i)0.1*yss)
4、tr2=t(i);elseif(y(i)=yp)breakendend tr=tr1-tr2b)、参数选择 Kp=0.62,Ti=15,Td=1.1c)、仿真图像d)、40 步仿真数据u(k)0 0 0 0 0 0 0 1.3433 0.7027 0.74400.7853 0.8267 0.8680 0.9010 0.9265 0.9510 0.9723 0.9907 1.0064 1.01951.0302 1.0389 1.0456 1.0506 1.0541 1.0563 1.0572 1.0572 1.0562 1.05461.0523 1.0495 1.0464 1.0429 1.03
5、93 1.0355 1.0316 1.0277 1.0239 1.02021.0165 1.0131 1.0098 1.0067 1.0038 1.0011 0.9986 0.9964 0.9944 0.9927y(k)0 0 0 0 0 0 0 0 0 00 0 0.0062 0.0210 0.0404 0.0638 0.0908 0.1209 0.1534 0.18800.2241 0.2613 0.2992 0.3374 0.3756 0.4134 0.4508 0.4873 0.5229 0.55730.5905 0.6222 0.6526 0.6814 0.7087 0.7343 0
6、.7584 0.7809 0.8019 0.82130.8393 0.8558 0.8709 0.8847 0.8973 0.9086 0.9189 0.9280 0.9362 0.9435Poss=0 ts=52 tr=26五、实验体会:通过此次数字PID的仿真实验,首先掌握了PID控制规律及控制器的实现,同时对MATLAB的运用也更加熟练。此次实验最大的收获就是通过自编写程序来实验PID的控制算法。而不仅仅局限于用Simulink模块实现PID算法。通过程序的编写,使得对PID的调节作用有了更深入的了解,尤其是对三个参数的改变对控制系统的影响有了更深刻的理解。而在整定参数的过程中,学会了整
7、定法,凑试法的方法,而非理论计算,使得更加贴近于工程。温度智能控制器一.设计说明书1.技术参数与指标:检测元件:热电偶(K 、E、 S、 R、 N 等) ,测量精度 0.2 级热电阻:Pt100:-200800、Cu50:-40140;控制对象:窑炉、锅炉等;控温手段:控制能源(煤、煤气、重油、过热蒸汽等)的流量(通过阀门)来控制炉内的温度;也可以通过电加热来控制温度,具体方法为,通过脉宽调制来调节电功率控制继电器的输出方式,或者是通过调节控制角来调节电压控制 420mA 方式;显示部分:实测温度值 PV;设定温度值 SV;OUT100%;电源指示灯;通讯指示灯;故障指示灯;报警指示灯(包括上
8、限、下限) ;操作部分:键盘按键;通讯:RS-485 Mod BUS 协议;电源:220V 交流;控制方式:PID 饱和不完全积分法。2.实现的功能:本设计主要是测量系统的温度,并对其进行控制,在要求的温度范围内,保证了准确度。可以根据不同的温度范围和精度要求选择不同的检测元件,可以使测温范围更加广。将温度控制器通过 RS-485 Mod BUS 协议与计算机连接,对温度进行集中分析和控制。在操作部分,通过按键设定上下限,确定了温度的范围。同时,利用数码管同时现实设定值和实测值,正常工作时,电源指示灯和通讯指示灯亮, 。当出现故障时,故障部分指示灯亮。当温度超过上下限时,报警指示灯亮,并且蜂鸣
9、器响。实现智能化。3.简单的操作使用说明: 根据不同的测温范围和精度要求选择不同的检测元件; 根据选定的检测原件设定温度值以及上下限:选择相应的工作方式,按 SET键进入模式选择,按移位键选择合适的模式,并在该模式下通过上下键设定设定温度值和上下限,最后按回车使其进入正常工作状态; 在无故障过程中计算机分析当前温度并进行合理的控制,并输出设定值和实测值。二.系统设计温度控制是工业生产中经常遇到的过程控制,在很多工艺生产中,温度控制效果直接影响到产品的质量,因而设计一种比较理想的温度控制系统是非常有价值的。日常生活中,温度值也是一个重要的参考量。此外,对温度信息的采集,检测,控制,步进保证产品质
10、量,还节约能源,安全生产方面有积极作用。1.系统总体设计:硬件系统以单片机为检测控制系统中心,温度控制采用改进的 PID 数字控制算法,显示采用 4 位 LED 实时显示。系统的结构框图如下:2.控制方法描述:不完全微分数字 PID: )1()(keTkUD)()(1zEzD若输入为单位阶跃: 1)(z即,若此时: ,则下一个周期:0)(1ke1)(ke温度采集和控制对象温度测量通道51 单片机420mA电流输出通道显示模块报警电路温度控制输出通道A/D 转换器按键输入微处理器监控电路-+ )(ky)(r)(e )(kuPID 1fTK)(1()uku)2(0 keqkeqU1)( sTKuf
11、 )()( tuKtdtuTff 得到差分方程: )()(1() kkuff )()()( uTTff 3.硬件模块设计:3.1 热电阻测温电路系统电路图中共有 4 路热电偶、1 路热电阻,可循环接收 5 路的温度信号(通过 P20P24 引出的 5 根地址线完成选择) ,并将电信号转换为对应代表的温度值(运用分段线性化方法) ,最后 5 组温度的均值(或根据实际情况加权平均)即为现场的实际温度。实际过程如下:首先,热电阻的电路如下:其中比较器输出为 2、3 引脚的电压差,再经运放放大后送入选择开关(热电偶电压信号经仪用放大电路接至选择开关) ,由于热电阻等器件的温度-阻值存在非线性,在将单片
12、机接收的电信号转换为对应的热电偶的阻值后,再将阻值对应成相应温度时,要运用分段线性化的方法,即将温度-阻值的非线性曲线划分为若干段,每一段内近似成线性关系,将实际的阻值对应找到其所在的段,则根据段内的线性关系,可得出阻值对应的温度。3.2 温度测量通道1 路热电阻、4 路热电偶和多路选择开关 CD4052、CD4051 的组合,可实现5 路温度测量的随意切换(;由热电偶、热电阻产生的电压信号经仪用放大电路放大、线性光耦隔离后,送入模数转换器 ICL7135;ICL7135 与单片机的连接采用了不常用的串行接收方式,而 ICL7135 的串行接法是通过计脉冲数的方法来获得测量转换结果的。由其时序
13、分析可知,在ICL7135 工作过程中的去积相,其脉冲数与转换结果具有一一对应关系。通过单片机的定时器 T0 来计脉冲器。由于,定时器 T0 所用的 CLK 频率是系统晶振频率的 1/12。因此可利用单片机的 ALE 信号作为 ICL7135 的脉冲(CLK)输入。至此,便可找到定时器所使用的频率与单片机系统晶振频率的关系,以及ICL7135 所需的频率输入与单片机系统晶振频率的关系。为了使定时器 T0 的计数脉冲的 ICL7135 工作所需的脉冲同步,可以将 ICL7135 的 BUSY 信号接至P3.2(INT0)引脚上,并且将定时器 T0 的选通控制信号 GATE 倍 1。此时定时器 T
14、0 是否工作将受 BUSY 信号的控制。当 ICL7135 开始工作时,也就是ICL7135 的 BUSY 信号跳高时,定时器 T0 才开始工作,且定时器 T0 的 TH0、TL0所记录的数据与 ICL7135 的测试脉冲存在一定的比例关系。要得到测量脉冲的个数,只需将定时器所记录的脉冲个数除以 2 即可。而要得到 A/D 转换结果所对应的脉冲数则应用测量脉冲的个数减去 10001。在温度测量通道,模拟信号与 A/D 转换器之间加入了线性光耦,起到隔离作用,线性光耦隔离部分如下:同样,在多路开关的选通线与地址线之间也加入了普通光耦,确保测量电路与单片机之间良好的电气隔离,电路如下:3.3 4
15、到 20mA 电流输出模块由 P0 口输出,经 DAC0832 转换成模拟电压输出,通过线性光耦隔离,进行V/I 变换,转换成标准的 420mA 电流输出;模块的电路图如下:其中 V/I 变换部分的电路如下:通过设置 Rc 阻值及调整滑动变阻器阻值,可使输出电流为 420mA,输出电流的表达式为:I=(Vin+Vrf)/Rc在 420mA 标准电流输出通道,D/A 转换器与后续电路之间也加入了线性光耦,确保两边的电气隔离,其隔离部分的电路图与温度曾两通道的线性光耦隔离完全相同,不再重复。3.4 温度控制输出通道将输出的 pwm 脉冲经光耦隔离,三极管的驱动放大后,控制继电器的开、关,进而控制功
16、能电路的开、关。3.5 显示模块3.6 按键输入模块本系统的四个按键,通过光耦隔离,经过 74LS244 三态缓冲器,连至单片机的 PI0P13 口;按键与单片机输入缓冲器间加入普通光耦进行电气隔离,电路图如上面的按键接收模块的电路图;为了去除按键抖动,在硬件上,按键后面加入了 RC 滤波电路,减少抖动的影响,如下图:在软件中,当判断按键按下后调用延时程序(几十毫秒) ,然后再判断开关的状态是否还是按下,是则代表确实开关被按下,否则不做相应的响应。3.7 报警模块控制输出与报警输出中都加入普通光耦进行隔离,继电器两端并入二极管,防止开关过程中反向电流的损害,如下:3.8 通讯模块 RS232
17、通讯电路4、软件功能分析软件主要功能:数据采集,数字滤波,标度变换,PID 控制,显示,报警,通讯。1) 数据采集按顺序采集 4 个点的温度信号,共采集多次并存储起来,采样周期 T=1s。2) 数字滤波将每个信号的测量值排序,去掉一个最大值和一个最小值,剩余求平均值即为该信号的测量结果,即采用中位值滤波法与平均值滤波法相结合来实现数字滤波3) 标度变换测温回路和控温回路,都是用 420mA 信号进行控制。将测量允许的上限和下限进行分段线性化,上限温度时对应电压输出转化为 20mA 电流输出,下限温度对应电压输出转化为 4mA 电流输出。标度变换的公式为:Y=Ymin + (Ymax-Ymin)
18、(D-Dmin)/(Dmax-Dmin)4) PID 控制采用增量型 PID 控制算式:u(k)=q0*e(k)+q1*e(k-1)+q2*e(k-2)u(k)=u(k-1)+u(k)采样周期为 1S5) 显示LCD 显示实测值 PV、设定值 SV、状态值 out。当所测值在程序设定的上限和下限之间,状态值显示正常6) 报警当所测值超出量程或程序出错,状态值显示异常,并报警出错。7) 通讯通过中断的方式,对设定温度值 SV 进行加减的操作,从而改变给定温度。三、总体电路设计1硬件电路设计单片机键盘LCD 显示 ADC0809DAC0832多路选择开关电路脱离测温电路脱离测温电路脱离测温电路脱离
19、测温电路控制输出电路变压器触发电路电源模块DAC0832 控制输出电路变压器触发电路电源模块2软件分析A.主流程BA/D 采样流程过程入口读状态 STS置采样值缓冲区首地址通道号和计数初值送通道号,启动 AD读结果,存入缓冲区修改通道号、计数器、采样缓冲区指针返回转换结束?通道循环结束C数据处理流程包括数字滤波,工程量转换,方程线性化,查表法等。其中,数字滤波、工程量转换上面已经提到。方程线性化是将连续信号转换成离散信号,对信号进行定周期采样,采样需满足香农定理,再进行量化,最后用采样保持器保持,常采用零阶保持器,因为当采样周期足够小时,零阶保持器可以达到预期的效果,而且方便计算机计算。一阶或
20、高阶保持器计算机的运算量会增大很多。查表法,在单片机中预存分度表,可以根据实测值直接读出所测温度。DPID 算法流程本系统的温度调控采用 PID 控制,整个控制过程各部分细节的总框图如下:按键设定的温度值 PID转换成对应的 pwm电信号执行器(控制输出通道)现场温度温度测量通道分段线性化、校准后-软件部分的主体结构: 界 面 程 序设 定 温 度判 断 是 否 有按 键 按 下接 收 温 度PID控 制将 输 出 转 换 为 相 应的 pwm信 号 , 输 出引入 PID 控制,以设定的预期温度值作为给定输入,测得的实际现场温度作为测量输入,调整出适宜的 PID 参数,则系统的输出即现场实际
21、温度会自动跟随设定温度。将输入温度与反馈温度的温度误差信号,经 PID 后的信号,按照不同大小,使单片机产生不同占空比的矩形波,送入温度控制通道,当矩形波为高电平时,继电器闭合,加热电路工作;矩形波低电平时,继电器断开,加热电路不工作,则不同占空比的矩形波控制了加热电炉的加热功率,进而控制维持不同的温度。四 实验总结通过此次计算机控制技术的课程设计,对计算机控制系统的基本概念基本组成以及信号流程有了更深入的了解。同时对通道接口技术中的数字量输入/输出通道,模拟量输入/输出通道有了更深入的探究。通过这些学习,对计算机控制系统的硬件模块更加熟练。而软件模块方面,通过对数字 PID 的调节算法,用程序的方法实现了计算机控制系统的各种功能。