计算机控制仿真
- 格式:doc
- 大小:153.04 KB
- 文档页数:10
计算机控制技术与系统仿真课程设计课程背景计算机控制技术与系统仿真课程旨在培养学生对计算机控制技术的理解和应用,并通过系统仿真的方式加深对计算机控制系统的认识和理解。
在课程设计阶段,学生需要通过理论学习和实践操作,设计、实现和仿真计算机控制系统,加深对计算机控制技术与系统的认知与理解,为未来从事相关领域的工作做好准备。
课程内容计算机控制技术与系统仿真课程主要包括以下内容:1.计算机控制技术的基本概念和原理;2.计算机控制系统的结构和组成;3.控制系统设计的基本方法和流程;4.程序设计语言的基础;5.计算机控制系统仿真理论和方法;6.计算机控制系统仿真工具的使用。
课程设计任务在完成以上课程内容的学习后,学生需要完成本课程设计任务,设计并实现一个计算机控制系统,然后通过系统仿真工具进行仿真。
具体任务要求如下:任务要求1.设计一个计算机控制系统,能够完成对温度、湿度等环境参数的检测和控制;2.根据需求设计系统的控制算法,编写程序进行控制;3.使用仿真工具进行系统仿真,验证设计的控制算法是否正确;4.提交课程设计报告,包括系统的设计与实现、仿真结果分析和总结等。
设计要求1.设计系统的结构和组成,包括传感器、执行机构、控制器等;2.选择合适的控制算法,保证系统的稳定性和响应速度;3.编写程序代码,实现控制算法;4.使用仿真工具对系统进行仿真,记录仿真结果和分析结果数据。
设计思路在控制系统设计过程中,首先需要设计系统的结构和组成。
根据设计要求,以温度、湿度为控制参数,需要选取合适的传感器进行检测,以及选取合适的执行机构进行控制。
控制器的选取需要考虑控制要求的稳定性和响应速度等特点。
在确定了系统的结构后,需要选择合适的控制算法进行程序设计。
对于温度和湿度控制,最常用的控制算法是比例-积分-微分控制(PID控制),它能够根据检测到的温湿度数据自动调节控制器输出,实现系统的自动控制。
在编写控制程序之后,需要使用仿真工具进行系统仿真,以验证程序的正确性和系统稳定性。
《计算机控制技术》数字PID控制器设计与仿真实验报告课程名称:计算机控制技术实验实验类型:设计型实验项目名称:数字PID控制器设计与仿真一、实验目的和要求1. 学习并掌握数字PID以及积分分离PID控制算法的设计原理及应用。
2. 学习并掌握数字PID控制算法参数整定方法。
二、实验内容和原理图3-1图3-1是一个典型的 PID 闭环控制系统方框图,其硬件电路原理及接线图可设计如图1-2所示。
图3-2中画“○”的线需用户在实验中自行接好,对象需用户在模拟实验平台上的运放单元搭接。
图3-2上图中,ADC1为模拟输入,DAC1为模拟输出,“DIN0”是C8051F管脚 P1.4,在这里作为输入管脚用来检测信号是否同步。
这里,系统误差信号E通过模数转换“ADC1”端输入,控制机的定时器作为基准时钟(初始化为10ms),定时采集“ADC1”端的信号,得到信号E的数字量,并进行PID计算,得到相应的控制量,再把控制量送到控制计算机及其接口单元,由“DAC1”端输出相应的模拟信号,来控制对象系统。
本实验中,采用位置式PID算式。
在一般的PID控制中,当有较大的扰动或大幅度改变给定值时,会有较大的误差,以及系统有惯性和滞后,因此在积分项的作用下,往往会使系统超调变大、过渡时间变长。
为此,可采用积分分离法PID控制算法,即:当误差e(k)较大时,取消积分作用;当误差e(k)较小时才将积分作用加入。
图3-3是积分分离法PID控制实验的参考程序流程图。
图3-3三、主要仪器设备计算机、模拟电气实验箱四、操作方法与实验步骤1.按照图3-2搭建实验仿真平台。
2.确定系统的采样周期以及积分分离值。
3.参考给出的流程图编写实验程序,将积分分离值设为最大值0x7F,编译、链接。
4.点击,使系统进入调试模式,点击,使系统开始运行,用示波器分别观测输入端R以及输出端C。
5.如果系统性能不满意,用凑试法修改PID参数,再重复步骤3和4,直到响应曲线满意,并记录响应曲线的超调量和过渡时间。
《计算机控制技术》课程中控制算法仿真平台设计【摘要】本文基于MATLAB建立了《计算机控制技术》课程控制算法仿真平台,通过友好的人机交互界面,实现控制算法的选择、参数的设置、动态仿真以及算法改进前后的控制效果对比等。
将抽象的理论知识变成直观的感性认识,使学生能更直观、高效地理解和掌握所学内容,培养学习兴趣和能力,取得了良好的教学效果。
【关键词】控制;算法;仿真0 引言《计算机控制技术》是工业电气自动化、自动控制、计算机应用等专业的主要专业课程之一[1]。
具有实践性和综合性强、课程抽象、学习难度大等特点。
尤其是其中的控制算法,既是计算机控制系统的核心,也是整个计算机控制系统设计中的难点,并且由于控制算法数量多,理论性强,采用常规的讲授方法,学生不易理解,教学效果不是很理想。
基于此,本文以MATLAB为工具,通过编写M文件、构建SIMULINK框图对主要算法进行仿真实现,并通过GUI (图形用户界面)设计友好的人机交互界面,实现控制算法的选择、参数的设置、动态仿真以及不同算法的控制效果对比等。
在建模仿真的过程中将抽象的理论知识变成直观的感性认识,使学生可以更直观、高效地理解和掌握所学知识,培养学生的学习兴趣和能力,提高教学质量。
1 仿真平台规划MATLAB是目前应用最广泛的科学工程运算软件,内嵌的SIMULINK是MATLAB的重要组件之一,无需大量的程序代码,只需建立仿真框图即可实现对复杂系统的交互式动态建模、仿真以及综合分析,令繁琐的仿真实现过程变得清晰可见。
MATLAB的M文件工作方式,可以将MATLAB的语言代码全部写在一个文本文件——M文件中运行,用户还可以根据需要自编一些函数,方便程序的修改与维护,提高代码的可重用性。
MATLAB GUI是MATLAB的图形用户界面开发环境[2],使用它,用户无需了解图形实现的细节内容,便可以绘制复杂的图形以及设计出美观、方便的菜单化和控件式的人机交互界面。
控制系统计算机仿真课程设计前言计算机仿真作为一个重要的工具,在控制系统的设计和实现中发挥着重要作用。
本文将介绍控制系统计算机仿真课程设计的内容和步骤,并结合一个实际的案例阐述如何利用计算机仿真技术进行控制系统设计。
设计内容和步骤设计内容控制系统计算机仿真课程的设计内容通常包括以下几个方面:1.系统建模:选择合适的控制模型,建立数学模型和仿真模型。
2.系统分析:分析系统的稳态和暂态响应,优化控制系统的性能。
3.控制器设计:设计合适的控制器结构和参数,实现闭环控制。
4.系统仿真:利用计算机仿真软件进行系统仿真,并分析仿真结果。
5.实验验证:通过实验验证仿真结果的正确性,进一步优化控制系统的性能。
设计步骤控制系统计算机仿真课程的设计步骤可以分为以下几个部分:1.系统建模掌握控制系统建模方法,能够从实际物理系统中抽象出控制对象、控制器等模型,建立相应的数学模型和仿真模型。
2.系统分析使用数学分析方法,分析系统的稳态和暂态响应,评估控制系统的性能。
包括评估系统的稳定性、快速性、抗干扰性等。
3.控制器设计使用控制理论,设计合适的控制器结构和参数,实现闭环控制。
掌握 PID、根轨迹、频域等控制器设计方法,能够根据系统要求选择合适的控制器。
4.系统仿真使用计算机仿真软件,进行系统仿真,验证控制系统的性能和预测实际系统行为。
掌握仿真软件的使用方法,能够进行仿真实验设计、仿真模型编写、仿真实验执行等。
5.实验验证在实验室、车间等实际环境中,利用实验设备和仪器对控制系统进行实验验证,验证仿真结果的正确性。
并通过实验优化控制器参数,提高控制系统的性能。
实例分析在本节中,我们将结合一个实际的案例,介绍控制系统的计算机仿真课程设计。
案例背景某高速公路入口处的车道管理系统由计算机控制,通过红绿灯控制车辆的通行。
系统从入口指示车辆能否进入高速公路,在出口将车辆计数和收费。
由于车辆的流量较大,系统的控制效果受到影响,需要进行优化。
控制系统仿真简介控制系统仿真是指通过使用计算机软件模拟和分析各种控制系统的工作原理和性能。
它可以帮助工程师们在设计和优化控制系统之前,预先评估系统的性能,并对其中可能存在的问题进行分析和改进。
控制系统仿真通常包含建模、仿真和分析三个主要阶段。
在建模阶段,工程师们将实际的控制系统抽象为数学模型,并将其转化为计算机可识别的形式。
在仿真阶段,利用计算机软件运行模型,模拟控制系统在不同输入和工作条件下的行为。
最后,在分析阶段,工程师们对仿真结果进行评估和分析,以便理解控制系统的性能并提出改进措施。
仿真平台常用的控制系统仿真平台包括MATLAB/Simulink、LabVIEW等。
MATLAB/Simulink是一个强大的数学计算和仿真环境,提供了丰富的工具箱和模型库,可用于建模和仿真各种控制系统。
LabVIEW是一种图形化编程环境,具有易于使用的界面和丰富的模块,使得控制系统仿真变得简单而高效。
这些仿真平台都提供了模型搭建、仿真运行和结果分析等功能。
工程师们可以通过使用这些平台,进行控制系统的整体仿真和性能评估。
建模在进行控制系统仿真之前,首先需要对实际系统进行建模。
建模是指将实际系统的物理过程抽象为数学方程或传递函数的形式,以便于计算机运算和仿真。
常用的建模方法包括物理建模和数据建模。
物理建模是基于实际系统的物理过程和原理,通过利用物理方程或控制方程来描述系统的动态行为。
数据建模则是通过对实际系统进行数据采集,建立数学模型来描述系统的行为。
在建模过程中,需要确定系统的输入、输出和状态变量,并根据系统的特性选择适当的数学模型。
常用的系统模型包括常微分方程模型、状态空间模型和传递函数模型等。
仿真运行建立完控制系统的数学模型后,就可以通过仿真运行来模拟系统的行为。
仿真运行是指利用计算机软件运行建立的模型,并通过对不同输入和工作条件的设定,观察系统的响应和输出结果。
在仿真运行中,可以通过指定系统的输入信号来模拟不同的工作情况。
广东工业大学华立学院2014-2015学年第2学期
计算机控制技术课程
课题:PID控制算法的MATLAB仿真研究
题目:抗积分饱和的PID控制算法及其仿真
学生姓名:陈焜权、张宇浩、黎敏华、
陈家灏、袁浩然、梁耀康
班级:12电气2班
任课老师:王赟
一、PID算法的抗积分饱和
积分作用虽能消除控制系统的静差,但它也有一个副作用,即会引起积分饱和。
在偏差始终存在的情况下,造成积分过量。
当偏差方向改变后,需经过一段时间后,输出u(n)才脱离饱和区。
这样就造成调节滞后,使系统出现明显的超调,恶化调节品质。
这种由积分项引起的过积分作用称为积分饱和现象。
克服积分饱和的方法:
1、积分限幅法
积分限幅法的基本思想是当积分项输出达到输出限幅值时,即停止积分项的计算,这时积分项的输出取上一时刻的积分值。
其算法流程如图1所示。
2、积分分离法
积分分离法的基本思想是在偏差大时不进行积分,仅当偏差的绝对值小于一预定的门限值ε时才进行积分累积。
这样既防止了偏差大时有过大的控制量,也避免了过积分现象。
其算法流程如图2。
图1积分限幅法程序流程 图2积分分离法程序流程
3、变速积分法
变速积分法的基本思想是在偏差较大时积分慢一些,而在偏差较小时积分快一些,以尽快消除静差。
即用)(n e '代替积分项中的)(n e )())(()(n e n e f n e =' ⎪⎩⎪⎨⎧-=0)())((A n e A n e f A n e A n e ><)()(
式中 A 为一预定的偏差限。
二、消除积分不灵敏区
1、积分不灵敏区产生的原因
)()(n e T T K n u I P I =∆
当计算机的运行字长较短,采样周期T 也短,而积分时间TI 又较长时,)(n u I ∆)容易出现小于字长的精度而丢数,此积分作用消失,这就称为积分不灵敏区。
三、控制程序
仿真程序:chap1_15.m.
%PID Controller with intergration saturation
Clear all;
Close all;
Ts=0.001;
Sys=tf(5.235e005,[1.87,1.047e004,0]);
Days=c2d(sys,ts,’z ’);
[num,den]=tfdata(dsys,’v ’);
U_1=0.0;u_2=0.0;u_3=0.0;
Y_1=0;y_2=0;y_3=0;
X=[0.0.0]’;
Error_1=0;
Um=6;
Kp=0.85;ki=9.0;kd=0.0;
Rin=30; %step signal
For k=1;1;800
Time(k)=k*ts;
U(k)=kp*x(1)+kd*x(2)+ki*(3); %pid controller
If u(k)>=um
U(k)=um;
End
If u(k)<=-um
U(k)=-um;
End
%linear model
Yout(k)=-den(2)*y_1-den(3)*y_2-den(4)*y_3+num(2)*u_1+num(3) ;
Error(k)=rin-yout(k);
m=2;
If m==1 %using intergration sturation
If u(k)>=um
If error(k)>0
alpha=1;
Else
Alpha=1;
End
Elseif u(k)<=-um
If error(k)>0
Alpha=1;
Else
Alpha=0;
End
Else
Alpha=1;
End
Elseif m==2 %not using intergration sturation Alpha=1;
End
%return of PID parameters
u_3=u_2;u_2=u_1;u1=u(k);
y_3=y_2;y_2=y_1;y_1=you(k);
error_1error(k);
X(1)=error(k); %calculating P
X(2)=(error(k)-error_1)/ts; %calculating D
X(3)=x(3)+alpha*error(k)*ts; %calculating I
Xi(k)=x(3);
end
Figure(1);
Subplot(311);
Plot(time,rin,’b’,time,yout,’r’);
Xlabel(‘time(s)’};ylabel{‘position tracking’}; Subpiot(312);
Piot(time,u,’r’);
Xlabel(‘time(s)’};ylabel(‘controller output’); Subpiot(313);
Plot(time,xi,’r’);
Xlabel(‘time(s)’);ylabel(‘integration’);
四、仿真结果
抗积分饱和的PID控制
红色线代表抗积分饱和控制
有超调的绿线代表传统PID控制
五、结论分析
从上面的图形对照可以得出抗积分饱和的超调量较小,达到稳定时间较短,稳定性较好。