控制理论实验报告二阶系统的瞬态响应

控制理论实验报告二阶系统的瞬态响应
控制理论实验报告二阶系统的瞬态响应

控制理论实验报告二阶系统的瞬态响应

实验报告

课程名称:控制理论(乙)指导老师:成绩:__________________

实验名称:二阶系统的瞬态响应实验类型:________________同组学生姓名:__________ 一、实验目的和要求(必填)二、实验内容和原理(必填)

三、主要仪器设备(必填)四、操作方法和实验步骤

五、实验数据记录和处理六、实验结果与分析(必填)

七、讨论、心得

一、实验目的

1.通过实验了解参数ζ(阻尼比)、nω(阻尼自然频率)的变化对二阶系统动态性能的影响;

2.掌握二阶系统动态性能的测试方法。

二、主要仪器设备

1.THBDC-2型控制理论·计算机控制技术实验平台;

2.PC机一台(含“THBDC-2”软件)、USB 数据采集卡、37针通信线1根、16芯数据排线、USB接口线。

三、实验内容

1.观测二阶系统的阻尼比分别在0<ζ<1,ζ=1和ζ>1三种情况下的单位阶跃响应曲线;

2.调节二阶系统的开环增益K ,使系统的阻尼比2

1

=

ζ,测量此时系统的超调量p

δ、调节时间t s (Δ= ±0.05);

3.ζ为一定时,观测系统在不同n

ω时的响应曲线。

四、实验原理

1.二阶系统的瞬态响应

用二阶常微分方程描述的系统,称为二阶系统,其标准形式的闭环传递函数为

2

2

22)()

(n

n

n

S S S R S C ω

ζωω++= (2-1)

闭环特征方程:0

222

=++n n S

ωζω

其解 12

2

,1-±-=ζωζωn

n

S ,

针对不同的ζ值,特征根会出现下列三种情况:

1)0<ζ<1(欠阻尼),2

2

,11ζωζω-±-=n

n

j S

此时,系统的单位阶跃响应呈振荡衰减形式,其曲线如图2-1的(a)所示。它的数学表达式为:

)

(111)(2

βωζ

ζω+--

=-t Sin e t C d t n

式中2

ωω

-=n d

,ζ

ζ

β2

1

1-=-tg

2)1=ζ(临界阻尼)n

S

ω-=2

,1

此时,系统的单位阶跃响应是一条单调上升的指数曲线,如图2-1中的(b)所示。

3)1>ζ(过阻尼),12

2

,1-±-=ζωζωn

n

S 此时系统有二个相异实根,它的单位阶跃响应曲线如图2-1的(c)所示。

(a) 欠阻尼(0<ζ<1) (b) 临界阻尼(1=ζ) (c) 过阻尼(1>ζ)

图2-1 二

阶系统的动态响应曲线

虽然当ζ=1或ζ>1时,系统的阶跃响应无超调产生,但这种响应的动态过程太缓慢,故控制工程上常采用欠阻尼的二阶系统,一般取ζ=0.6~0.7,此时系统的动态响应过程不仅快速,而且超调量也小。

2.二阶系统的典型结构

典型的二阶系统结构方框图和模拟电路图如2-2、如2-3所示。

图2-2 二阶系统的方框图

图2-3 二阶系统的模拟电路图(电路参考单元

为:U7、U9、U11、U6) 图2-3中最后一个单元为反相器。 由图2-4可得其开环传递函数为:

)

1()(1+=

S T S K

s G ,其中:2

1T

k

K =, R

R k

X 1

=

(C

R T

X 1

=,

RC

T 2=)

其闭环传递函数为:

1

121

1)(T K S T S T K S W +

+=

与式2-1相比较,可得

RC T T k n

1211

==ω,X

R

R

T k T 221112

=

=ξ 五、实验步骤

根据图2-3,选择实验台上的通用电路单元设计并组建模拟电路。

1. n

ω值一定时,图2-3中取C=1uF ,R=100K(此时10=n

ω),Rx 阻值可调范围为0~470K 。系统输入一单位阶跃信号,在下列几种情况下,用“THBDC-2”软件观测并记录不同ξ值时的实验曲线。

1.1 当可调电位器R X =250K 时,ζ=0.2,系统处于欠阻尼状态,其超调量为53%左右;

1.2 若可调电位器R X =70.7K 时,ζ=0.707,系统处于欠阻尼状态,其超调量为4.3%左右;

1.3 若可调电位器R X =50K 时,ζ=1,系统处于临界阻尼状态;

1.4 若可调电位器R X =25K 时,ζ=2,系统处于过阻尼状态。

2.ξ值一定时,图2-4中取R=100K ,R X =250K(此时ζ=0.2)。系统输入一单位阶跃信号,在下列几种情况下,用“THBDC-2”软件观测并记录不同n

ω值时的实验曲线。

2.1 若取C=10uF 时,1=n

ω

2.2 若取C=0.1uF (将U7、U9电路单元改为U10、U13)时,100=n

ω

六、实验结果与分析 1、

C=1uF ,R=100K ,RC

T T k n

1

211==

ω

=10

1.1 R X =250K ,实验结果

X

R R

T k T 22

1112==

ξ=0.2,系统处于欠阻尼状态

此时开环增益2

Rx

K R C

==25 时间常数1

T RxC ==0.25,2

T

RC

==0.1

最大超调量理论值53% 实验值7.85100%56%5-?= 调整时间1.5s

1.2 R X =70.7K 时

ζ=0.707,系统处于欠阻尼状态,

此时开环增益2

Rx

K R C

==7.07 时间常数1

T RxC ==0.0707,2

T

RC

==0.1

最大超调量理论值4.3% 实验值5.25100%4%5-?= 调整时间0.42s

1.3 若可调电位器R X =50K 时,ζ=1,系统处于临界阻尼状态

此时开环增益2

Rx

K R C

==5 时间常数1

T RxC ==0.05,2

T

RC

==0.1

超调量为零 调整时间0.7s

1.4 若可调电位器R X =25K 时,ζ=2,系统处于过阻尼状态

此时开环增益2

Rx

K R C

==2.5 时间常数1

T RxC ==0.025,2

T

RC

==0.1

超调量为零 调整时间1.35s

分析结果:随着开环增益K 减小,时间常数T1减小,T2不变, 使得2

11

T 1

2K T ξ=超调量不断

减小,响应时间也不断变短,响应速度变快。

2、R=100K ,R X =250K ,X

R R

T k T 221

112==ξ=0.2

2.1 C=10uF ,

RC

T T k n 1

211==

ω

=1

此时开环增益2

Rx

K R C

==2.5 时间常数1

T RxC ==2.5,2

T

RC

==1

最大超调量理论值53% 实验值7.85100%56%5-?= 调整时间15s

2.2 C=0.1uF ,

RC

T T k n 1

211==

ω=100

此时开环增益2

Rx

K R C

==250 时间常数1

T RxC ==0.025,2

T

RC

==0.01

最大超调量理论值4.3% 实验值7.85100%56%5-?= 调整时间0.15s

2.3 C=1uF ,

RC

T T k n 1

211==

ω=10

此时开环增益2

Rx

K R C

==25 时间常数1

T RxC ==0.25,2

T

RC

==0.1

最大超调量理论值53% 实验值7.85100%56%5-?= 调整时间1.5s

实验结果分析:在ξ值一定时,随着开环增益K 增大,时间常数T1减小,T2减小,使得1

12

K TT ω=

增大,超调量几乎不变,而响应时间变短,响应速度变快

七、讨论与思考

1、如果阶跃输入信号的幅值过大,会在实验中产生什么后果?

如果输入信号的幅值过大,衰减率会很小,超调量很大,衰减速度很小,导致响应过程很慢,最终所需的响应时间很长。

2、在电路模拟系统中,如何实现负反馈和单位负反馈?

首先,反馈是建立在闭环系统上的,控制量Ui通过两个运算放大器,输出被调量UO,当被调量UO偏离给定值Ui时,偏离量通过闭合回路反馈给控制量Ui,控制作用的方向与被调量的变化方向相反,继续通过两个运算放大器,不断校正被调量UO,这样就实现了负反馈。当反馈通道的传递函数为1时,便是单位负反馈。3、为什么本实验中二阶系统对阶跃输入信号的稳态误差为零?

电路图中有一个积分器,只要对象的被调量不等于给定值,执行器就会不停的工作,只有当偏差等于零时,调节过程才结束。因此,积分调节又叫无差调节器。它不仅可以消除误差,还可以消除死区。

现代控制理论实验报告

实验报告 ( 2016-2017年度第二学期) 名称:《现代控制理论基础》 题目:状态空间模型分析 院系:控制科学与工程学院 班级: ___ 学号: __ 学生姓名: ______ 指导教师: _______ 成绩: 日期: 2017年 4月 15日

线控实验报告 一、实验目的: l.加强对现代控制理论相关知识的理解; 2.掌握用 matlab 进行系统李雅普诺夫稳定性分析、能控能观性分析; 二、实验内容 1 第一题:已知某系统的传递函数为G (s) S23S2 求解下列问题: (1)用 matlab 表示系统传递函数 num=[1]; den=[1 3 2]; sys=tf(num,den); sys1=zpk([],[-1 -2],1); 结果: sys = 1 ------------- s^2 + 3 s + 2 sys1 = 1 ----------- (s+1) (s+2) (2)求该系统状态空间表达式: [A1,B1,C1,D1]=tf2ss(num,den); A = -3-2 10 B = 1 C = 0 1

第二题:已知某系统的状态空间表达式为: 321 A ,B,C 01:10 求解下列问题: (1)求该系统的传递函数矩阵: (2)该系统的能观性和能空性: (3)求该系统的对角标准型: (4)求该系统能控标准型: (5)求该系统能观标准型: (6)求该系统的单位阶跃状态响应以及零输入响应:解题过程: 程序: A=[-3 -2;1 0];B=[1 0]';C=[0 1];D=0; [num,den]=ss2tf(A,B,C,D); co=ctrb(A,B); t1=rank(co); ob=obsv(A,C); t2=rank(ob); [At,Bt,Ct,Dt,T]=canon(A,B,C,D, 'modal' ); [Ac,Bc,Cc,Dc,Tc]=canon(A,B,C,D, 'companion' ); Ao=Ac'; Bo=Cc'; Co=Bc'; 结果: (1) num = 0 01 den = 1 32 (2)能控判别矩阵为: co = 1-3 0 1 能控判别矩阵的秩为: t1 = 2 故系统能控。 (3)能观判别矩阵为: ob = 0 1

操作系统实验报告--实验一--进程管理

实验一进程管理 一、目的 进程调度是处理机管理的核心内容。本实验要求编写和调试一个简单的进程调度程序。通过本实验加深理解有关进程控制块、进程队列的概念,并体会和了解进程调度算法的具体实施办法。 二、实验内容及要求 1、设计进程控制块PCB的结构(PCB结构通常包括以下信息:进程名(进程ID)、进程优先数、轮转时间片、进程所占用的CPU时间、进程的状态、当前队列指针等。可根据实验的不同,PCB结构的内容可以作适当的增删)。为了便于处理,程序中的某进程运行时间以时间片为单位计算。各进程的轮转时间数以及进程需运行的时间片数的初始值均由用户给定。 2、系统资源(r1…r w),共有w类,每类数目为r1…r w。随机产生n进程P i(id,s(j,k),t),0<=i<=n,0<=j<=m,0<=k<=dt为总运行时间,在运行过程中,会随机申请新的资源。 3、每个进程可有三个状态(即就绪状态W、运行状态R、等待或阻塞状态B),并假设初始状态为就绪状态。建立进程就绪队列。 4、编制进程调度算法:时间片轮转调度算法 本程序用该算法对n个进程进行调度,进程每执行一次,CPU时间片数加1,进程还需要的时间片数减1。在调度算法中,采用固定时间片(即:每执行一次进程,该进程的执行时间片数为已执行了1个单位),这时,CPU时间片数加1,进程还需要的时间片数减1,并排列到就绪队列的尾上。 三、实验环境 操作系统环境:Windows系统。 编程语言:C#。 四、实验思路和设计 1、程序流程图

2、主要程序代码 //PCB结构体 struct pcb { public int id; //进程ID public int ra; //所需资源A的数量 public int rb; //所需资源B的数量 public int rc; //所需资源C的数量 public int ntime; //所需的时间片个数 public int rtime; //已经运行的时间片个数 public char state; //进程状态,W(等待)、R(运行)、B(阻塞) //public int next; } ArrayList hready = new ArrayList(); ArrayList hblock = new ArrayList(); Random random = new Random(); //ArrayList p = new ArrayList(); int m, n, r, a,a1, b,b1, c,c1, h = 0, i = 1, time1Inteval;//m为要模拟的进程个数,n为初始化进程个数 //r为可随机产生的进程数(r=m-n) //a,b,c分别为A,B,C三类资源的总量 //i为进城计数,i=1…n //h为运行的时间片次数,time1Inteval为时间片大小(毫秒) //对进程进行初始化,建立就绪数组、阻塞数组。 public void input()//对进程进行初始化,建立就绪队列、阻塞队列 { m = int.Parse(textBox4.Text); n = int.Parse(textBox5.Text); a = int.Parse(textBox6.Text); b = int.Parse(textBox7.Text); c = int.Parse(textBox8.Text); a1 = a; b1 = b; c1 = c; r = m - n; time1Inteval = int.Parse(textBox9.Text); timer1.Interval = time1Inteval; for (i = 1; i <= n; i++) { pcb jincheng = new pcb(); jincheng.id = i; jincheng.ra = (random.Next(a) + 1); jincheng.rb = (random.Next(b) + 1); jincheng.rc = (random.Next(c) + 1); jincheng.ntime = (random.Next(1, 5)); jincheng.rtime = 0;

操作系统实验报告一

重庆大学 学生实验报告 实验课程名称操作系统原理 开课实验室DS1501 学院软件学院年级2013专业班软件工程2 班学生姓名胡其友学号20131802 开课时间2015至2016学年第一学期 总成绩 教师签名洪明坚 软件学院制

《操作系统原理》实验报告 开课实验室:年月日学院软件学院年级、专业、班2013级软件工 程2班 姓名胡其友成绩 课程名称操作系统原理 实验项目 名称 指导教师洪明坚 教师 评语教师签名:洪明坚年月日 1.实验目的: ?进入实验环境 –双击expenv/setvars.bat ?检出(checkout)EPOS的源代码 –svn checkout https://www.360docs.net/doc/c811391154.html,/svn/epos ?编译及运行 –cd epos/app –make run ?清除所有的临时文件 –make clean ?调试 –make debug ?在“Bochs Enhanced Debugger”中,输入“quit”退出调试 –调试指令,请看附录A 2.实验内容: ?编写系统调用“time_t time(time_t *loc)” –功能描述 ?返回从格林尼治时间1970年1月1日午夜起所经过的秒数。如果指针loc 非NULL,则返回值也被填到loc所指向的内存位置 –数据类型time_t其实就是long ?typedef long time_t; 3.实验步骤: ?Kernel space –K1、在machdep.c中,编写系统调用的实现函数“time_t sys_time()”,计算用户秒数。需要用到 ?变量g_startup_time,它记录了EPOS启动时,距离格林尼治时间1970年1午夜的秒数 ?变量g_timer_ticks

自动控制原理实验报告

《自动控制原理》 实验报告 姓名: 学号: 专业: 班级: 时段: 成绩: 工学院自动化系

实验一 典型环节的MATLAB 仿真 一、实验目的 1.熟悉MATLAB 桌面和命令窗口,初步了解SIMULINK 功能模块的使用方法。 2.通过观察典型环节在单位阶跃信号作用下的动态特性,加深对各典型环节响应曲线的理解。 3.定性了解各参数变化对典型环节动态特性的影响。 二、实验原理 1.比例环节的传递函数为 K R K R R R Z Z s G 200,1002)(211 212==-=-=- = 其对应的模拟电路及SIMULINK 图形如图1-3所示。 三、实验内容 按下列各典型环节的传递函数,建立相应的SIMULINK 仿真模型,观察并记录其单位阶跃响应波形。 ① 比例环节1)(1=s G 和2)(1=s G ; ② 惯性环节11)(1+= s s G 和1 5.01 )(2+=s s G ③ 积分环节s s G 1)(1= ④ 微分环节s s G =)(1 ⑤ 比例+微分环节(PD )2)(1+=s s G 和1)(2+=s s G ⑥ 比例+积分环节(PI )s s G 11)(1+=和s s G 211)(2+= 四、实验结果及分析 图1-3 比例环节的模拟电路及SIMULINK 图形

① 仿真模型及波形图1)(1=s G 和2)(1=s G ② 仿真模型及波形图11)(1+= s s G 和1 5.01)(2+=s s G 11)(1+= s s G 1 5.01 )(2+=s s G ③ 积分环节s s G 1)(1= ④ 微分环节

现代控制理论实验

华北电力大学 实验报告| | 实验名称状态空间模型分析 课程名称现代控制理论 | | 专业班级:自动化1201 学生姓名:马铭远 学号:2 成绩: 指导教师:刘鑫屏实验日期:4月25日

状态空间模型分析 一、实验目的 1.加强对现代控制理论相关知识的理解; 2.掌握用 matlab 进行系统李雅普诺夫稳定性分析、能控能观性分析; 二、实验仪器与软件 1. MATLAB7.6 环境 三、实验内容 1 、模型转换 图 1、模型转换示意图及所用命令 传递函数一般形式: MATLAB 表示为: G=tf(num,den),,其中 num,den 分别是上式中分子,分母系数矩阵。 零极点形式: MATLAB 表示为:G=zpk(Z,P,K) ,其中 Z,P ,K 分别表示上式中的零点矩阵,极点矩阵和增益。 传递函数向状态空间转换:[A,B,C,D] = TF2SS(NUM,DEN); 状态空间转换向传递函数:[NUM,DEN] = SS2TF(A,B,C,D,iu)---iu 表示对系统的第 iu 个输入量求传递函数;对单输入 iu 为 1。

例1:已知系统的传递函数为G(S)= 2 2 3 24 11611 s s s s s ++ +++ ,利用matlab将传递函数 和状态空间相互转换。 解:1.传递函数转换为状态空间模型: NUM=[1 2 4];DEN=[1 11 6 11]; [A,B,C,D] = tf2ss(NUM,DEN) 2.状态空间模型转换为传递函数: A=[-11 -6 -11;1 0 0;0 1 0];B=[1;0;0];C=[1 2 4];D=[0];iu=1; [NUM,DEN] = ss2tf(A,B,C,D,iu); G=tf(NUM,DEN) 2 、状态方程状态解和输出解 单位阶跃输入作用下的状态响应: G=ss(A,B,C,D);[y,t,x]=step(G);plot(t,x). 零输入响应 [y,t,x]=initial(G,x0)其中,x0 为状态初值。

嵌入式操作系统实验报告

中南大学信息科学与工程学院实验报告 姓名:安磊 班级:计科0901 学号: 0909090310

指导老师:宋虹

目录 课程设计内容 ----------------------------------- 3 uC/OS操作系统简介 ------------------------------------ 3 uC/OS操作系统的组成 ------------------------------ 3 uC/OS操作系统功能作用 ---------------------------- 4 uC/OS文件系统的建立 ---------------------------- 6 文件系统设计的原则 ------------------------------6 文件系统的层次结构和功能模块 ---------------------6 文件系统的详细设计 -------------------------------- 8 文件系统核心代码 --------------------------------- 9 课程设计感想 ------------------------------------- 11 附录-------------------------------------------------- 12

课程设计内容 在uC/OS操作系统中增加一个简单的文件系统。 要求如下: (1)熟悉并分析uc/os操作系统 (2)设计并实现一个简单的文件系统 (3)可以是存放在内存的虚拟文件系统,也可以是存放在磁盘的实际文件系统 (4)编写测试代码,测试对文件的相关操作:建立,读写等 课程设计目的 操作系统课程主要讲述的内容是多道操作系统的原理与技术,与其它计算机原理、编译原理、汇编语言、计算机网络、程序设计等专业课程关系十分密切。 本课程设计的目的综合应用学生所学知识,建立系统和完整的计算机系统概念,理解和巩固操作系统基本理论、原理和方法,掌握操作系统开发的基本技能。 I.uC/OS操作系统简介 μC/OS-II是一种可移植的,可植入ROM的,可裁剪的,抢占式的,实时多任务操作系统内核。它被广泛应用于微处理器、微控制器和数字信号处理器。 μC/OS 和μC/OS-II 是专门为计算机的嵌入式应用设计的,绝大部分代码是用C语言编写的。CPU 硬件相关部分是用汇编语言编写的、总量约200行的汇编语言部分被压缩到最低限度,为的是便于移植到任何一种其它的CPU 上。用户只要有标准的ANSI 的C交叉编译器,有汇编器、连接器等软件工具,就可以将μC/OS-II嵌入到开发的产品中。μC/OS-II 具有执行效率高、占用空间小、实时性能优良和可扩展性强等特点,最小内核可编译至2KB 。μC/OS-II 已经移植到了几乎所有知名的CPU 上。 严格地说uC/OS-II只是一个实时操作系统内核,它仅仅包含了任务调度,任务管理,时间管理,内存管理和任务间的通信和同步等基本功能。没有提供输入输出管理,文件系统,网络等额外的服务。但由于uC/OS-II良好的可扩展性和源码开放,这些非必须的功能完全 可以由用户自己根据需要分别实现。 uC/OS-II目标是实现一个基于优先级调度的抢占式的实时内核,并在这个内核之上提供最基本的系统服务,如信号量,邮箱,消息队列,内存管理,中断管理等。 uC/OS操作系统的组成 μC/OS-II可以大致分成核心、任务处理、时间处理、任务同步与通信,CPU的移植等5个部分。如下图:

操作系统实验报告-实验二

操作系统实验报告——实验二:C编程环境 实验目的 1.熟悉Linux下C程序设计的环境; 2.对系统调用有初步了解。 实验内容 1.Linux下C语言程序的开发过程 a、在用户主目录下用vi编辑C语言源程序(源程序已附后),如:$vi hello.c。 b、用gcc编译C语言源程序:$gcc ./hello.c -o example 这里gcc是Linux下的C语言程序编译器(GNU C Compiler),./hello.c表示待编译的源文件是当前工作目录下的hello.c,-o example表示编译后产生的目标代码文件名为example。 c、若编译不正确,则进入vi修改源程序,否则,运行目标代码:$./example 。注意: 这只是gcc最基本的用法,其他常用选项有:-c , -S , -O , -O2, -g 等。 2.编辑、调试下面c语言程序,说明该程序的功能。 #include #include int main() { int n,a[200],carry,temp,i,j,digit = 1; printf("Please input n:"); scanf("%d",&n); a[0] = 1; for( i = 2; i <= n; ++i) { for( j = 1, carry = 0; j <= digit; ++j) { temp = a[j-1] * i + carry; a[j-1] = temp % 10; carry = temp / 10; } while(carry) { a[++digit-1] = carry % 10; carry /= 10; } } printf("Result is:\n%d ! = ",n); for( i = digit; i >=1; --i) { printf("%d",a[i-1]); }

自动化控制实验报告(DOC 43页)

自动化控制实验报告(DOC 43页)

本科生实验报告 实验课程自动控制原理 学院名称 专业名称电气工程及其自动化 学生姓名 学生学号2013 指导教师 实验地点6C901 实验成绩 二〇一五年四月——二〇一五年五月

线性系统的时域分析 实验一(3.1.1)典型环节的模拟研究 一. 实验目的 1. 了解和掌握各典型环节模拟电路的构成方法、传递函数表达式及输出时域函数表达式 2. 观察和分析各典型环节的阶跃响应曲线,了解各项电路参数对典型环节动态特性的影响 二.典型环节的结构图及传递函数 方 框 图 传递函数 比例 (P ) K (S) U (S) U (S)G i O == 积分 (I ) TS 1 (S)U (S)U (S)G i O == 比例积分 (PI ) )TS 1 1(K (S)U (S)U (S)G i O +== 比例微分 (PD ) )TS 1(K (S) U (S) U (S)G i O +== 惯性 TS 1K (S)U (S)U (S)G i O += =

环节 (T) 比例 积分 微分 (PI D) S T K S T K K (S) U (S) U (S) G d p i p p i O + + = = 三.实验内容及步骤 观察和分析各典型环节的阶跃响应曲线,了解各项电路参数对典型环节动态特性的影响.。 改变被测环节的各项电路参数,画出模拟电路图,阶跃响应曲线,观测结果,填入实验报告 运行LABACT程序,选择自动控制菜单下的线性系统的时域分析下的典型环节的模拟研究中的相应实验项目,就会弹出虚拟示波器的界面,点击开始即可使用本实验机配套的虚拟示波器(B3)单元的CH1测孔测量波形。具体用法参见用户手册中的示波器部分。1).观察比例环节的阶跃响应曲线 典型比例环节模拟电路如图3-1-1所示。 图3-1-1 典型比例环节模拟电路 传递函数: 1 (S) (S) (S) R R K K U U G i O= = = ;单位阶跃响应:

现代控制理论实验报告

现代控制理论实验报告

实验一系统能控性与能观性分析 一、实验目的 1.理解系统的能控和可观性。 二、实验设备 1.THBCC-1型信号与系统·控制理论及计算机控制技术实验平台; 三、实验容 二阶系统能控性和能观性的分析 四、实验原理 系统的能控性是指输入信号u对各状态变量x的控制能力,如果对于系统任意的初始状态,可以找到一个容许的输入量,在有限的时间把系统所有的状态引向状态空间的坐标原点,则称系统是能控的。 对于图21-1所示的电路系统,设iL和uc分别为系统的两个状态变量,如果电桥中 则输入电压ur能控制iL和uc状态变量的变化,此时,状态是能控的。反之,当 时,电桥中的A点和B点的电位始终相等,因而uc不受输入ur的控制,ur只能改变iL的大小,故系统不能控。 系统的能观性是指由系统的输出量确定所有初始状态的能力,如果在有限的时间根据系统的输出能唯一地确定系统的初始状态,则称系统能观。为了说明图21-1所示电路的能观性,分别列出电桥不平衡和平衡时的状态空间表达式: 平衡时:

由式(2)可知,状态变量iL和uc没有耦合关系,外施信号u只能控制iL的变化,不会改变uc的大小,所以uc不能控。基于输出是uc,而uc与iL无关连,即输出uc中不含有iL的信息,因此对uc的检测不能确定iL。反之式(1)中iL与uc有耦合关系,即ur的改变将同时控制iL和uc的大小。由于iL与uc的耦合关系,因而输出uc的检测,能得到iL 的信息,即根据uc的观测能确定iL(ω) 五、实验步骤 1.用2号导线将该单元中的一端接到阶跃信号发生器中输出2上,另一端接到地上。将阶跃信号发生器选择负输出。 2.将短路帽接到2K处,调节RP2,将Uab和Ucd的数据填在下面的表格中。然后将阶跃信号发生器选择正输出使调节RP1,记录Uab和Ucd。此时为非能控系统,Uab和Ucd没有关系(Ucd始终为0)。 3.将短路帽分别接到1K、3K处,重复上面的实验。 六、实验结果 表20-1Uab与Ucd的关系 Uab Ucd

实时操作系统报告

实时操作系统课程实验报告 专业:通信1001 学号:3100601025 姓名:陈治州 完成时间:2013年6月11日

实验简易电饭煲的模拟 一.实验目的: 掌握在基于嵌入式实时操作系统μC/OS-II的应用中,基于多任务的模式的编程方法。锻炼综合应用多任务机制,任务间的通信机制,内存管理等的能力。 二.实验要求: 1.按“S”开机,系统进入待机状态,时间区域显示当前北京时间,默认模式“煮饭”; 2.按“C”选择模式,即在“煮饭”、“煮粥”和“煮面”模式中循环选择; 3.按“B”开始执行模式命令,“开始”状态选中,时间区域开始倒计时,倒计时完成后进入“保温”状态,同时该状态显示选中,时间区域显示保温时间; 4.按“Q”取消当前工作状态,系统进入待机状态,时间区域显示北京时间,模式为当前模式; 5.按“X”退出系统,时间区域不显示。 6.煮饭时长为30,煮粥时长为50,煮面时长为40. 三.实验设计: 1.设计思路: 以老师所给的五个程序为基础,看懂每个实验之后,对borlandc的操作有了大概的认识,重点以第五个实验Task_EX为框架,利用其中界面显示与按键扫描以及做出相应的响应,对应实现此次实验所需要的功能。 本次实验分为界面显示、按键查询与响应、切换功能、时钟显示与倒计时模块,综合在一起实验所需功能。 2.模块划分图: (1)界面显示: Main() Taskstart() Taskstartdispinit() 在TaskStartDispInit()函数中,使用PC_DispStr()函数画出界面。

(2)按键查询与响应: Main() Taskstart() 在TaskStart()函数中,用if (PC_GetKey(&key) == TRUE)判断是否有按键输入。然后根据key 的值,判断输入的按键是哪一个;在响应中用switch语句来执行对应按键的响应。 (3)切换功能: l计数“C”按 键的次数 M=l%3 Switch(m) M=0,1,2对应于煮饭,煮粥,煮面,然后使用PC_DispStr()函数在选择的选项前画上“@”指示,同时,在其余两项钱画上“”以“擦出”之前画下的“@”,注意l自增。 四.主要代码: #include "stdio.h" #include "includes.h" #include "time.h" #include "dos.h" #include "sys/types.h" #include "stdlib.h" #define TASK_STK_SIZE 512 #define N_TASKS 2 OS_STK TaskStk[N_TASKS][TASK_STK_SIZE]; OS_STK TaskStartStk[TASK_STK_SIZE]; INT8U TaskData[N_TASKS];

操作系统lab2实验报告

HUNAN UNIVERSITY 操作系统实验报告

目录 一、内容 (3) 二、目的 (3) 三、实验设计思想和练习题 (3) 练习0:填写已有实验 (3) 练习1:实现 first-fit 连续物理内存分配算法(需要编程) (3) 练习2:实现寻找虚拟地址对应的页表项(需要编程) (8) 练习3:释放某虚地址所在的页并取消对应二级页表项的映射(需要编程) (11) 运行结果 (13) 四、实验体会 (13)

一、内容 本次实验包含三个部分。首先了解如何发现系统中的物理内存;然后了解如何建立对物理内存的初步管理,即了解连续物理内存管理;最后了解页表相关的操作,即如何建立页表来实现虚拟内存到物理内存之间的映射,对段页式内存管理机制有一个比较全面的了解。 二、目的 1.理解基于段页式内存地址的转换机制; 2.理解页表的建立和使用方法; 3.理解物理内存的管理方法。 三、实验设计思想和练习题 练习0:填写已有实验 使用eclipse中的diff/merge工具将实验1的代码填入本实验中代码中有“LAB1”的注释相应部分。 练习1:实现 first-fit 连续物理内存分配算法(需要编程) 在实现first fit 内存分配算法的回收函数时,要考虑地址连续的空闲块之间的合并操作。提示:在建立空闲页块链表时,需要按照空闲页块起始地址来排序,形成一个有序的链表。可能会修改default_pmm.c 中的default_init,default_init_memmap,default_alloc_pages, default_free_pages等相关函数。请仔细查看和理解default_pmm.c中的注释。 请在实验报告中简要说明你的设计实现过程。请回答如下问题: 你的first fit算法是否有进一步的改进空间。 解答: 分析思路: (1)数据结构: A.每个物理页利用一个Page结构体表示,查看kern/mm/memlayout.h包括:

自动控制原理实验报告

实验报告 课程名称:自动控制原理 实验项目:典型环节的时域相应 实验地点:自动控制实验室 实验日期:2017 年 3 月22 日 指导教师:乔学工 实验一典型环节的时域特性 一、实验目的 1.熟悉并掌握TDN-ACC+设备的使用方法及各典型环节模拟电路的构成方法。

2.熟悉各种典型环节的理想阶跃相应曲线和实际阶跃响应曲线。对比差异,分析原因。 3.了解参数变化对典型环节动态特性的影响。 二、实验设备 PC 机一台,TD-ACC+(或TD-ACS)实验系统一套。 三、实验原理及内容 下面列出各典型环节的方框图、传递函数、模拟电路图、阶跃响应,实验前应熟悉了解。 1.比例环节 (P) (1)方框图 (2)传递函数: K S Ui S Uo =) () ( (3)阶跃响应:) 0()(≥=t K t U O 其中 01/R R K = (4)模拟电路图: (5) 理想与实际阶跃响应对照曲线: ① 取R0 = 200K ;R1 = 100K 。 ② 取R0 = 200K ;R1 = 200K 。

2.积分环节 (I) (1)方框图 (2)传递函数: TS S Ui S Uo 1 )()(= (3)阶跃响应: ) 0(1)(≥= t t T t Uo 其中 C R T 0= (4)模拟电路图 (5) 理想与实际阶跃响应曲线对照: ① 取R0 = 200K ;C = 1uF 。 ② 取R0 = 200K ;C = 2uF 。

1 Uo 0t Ui(t) Uo(t) 理想阶跃响应曲线 0.4s 1 Uo 0t Ui(t) Uo(t) 实测阶跃响应曲线 0.4s 10V 无穷 3.比例积分环节 (PI) (1)方框图: (2)传递函数: (3)阶跃响应: (4)模拟电路图: (5)理想与实际阶跃响应曲线对照: ①取 R0 = R1 = 200K;C = 1uF。 理想阶跃响应曲线实测阶跃响应曲线 ②取 R0=R1=200K;C=2uF。 K 1 + U i(S)+ U o(S) + Uo 10V U o(t) 2 U i(t ) 0 0 .2s t Uo 无穷 U o(t) 2 U i(t ) 0 0 .2s t

上海大学操作系统(二)实验报告(全)

评分: SHANGHAI UNIVERSITY 操作系统实验报告 学院计算机工程与科学 专业计算机科学与技术 学号 学生姓名

《计算机操作系统》实验一报告 实验一题目:操作系统的进程调度 姓名:张佳慧学号 :12122544 实验日期: 2015.1 实验环境: Microsoft Visual Studio 实验目的: 进程是操作系统最重要的概念之一,进程调度又是操作系统核心的主要内容。本实习要求学生独立地用高级语言编写和调试一个简单的进程调度程序。调度算法可任意选择或自行设计。例如,简单轮转法和优先数法等。本实习可加深对于进程调度和各种调度算法的理解。实验内容: 1、设计一个有n个进程工行的进程调度程序。每个进程由一个进程控制块(PCB)表示。进程控制块通常应包含下述信息:进程名、进程优先数、进程需要运行的时间、占用CPU的时间以及进程的状态等,且可按调度算法的不同而增删。 2、调度程序应包含2~3种不同的调度算法,运行时可任意选一种,以利于各种算法的分析比较。 3、系统应能显示或打印各进程状态和参数的变化情况,便于观察诸进程的调度过程。 操作过程: 1、本程序可选用优先数法或简单轮转法对五个进程进行调度。每个进程处于运行R(run)、就绪W(wait)和完成F(finish)三种状态之一,并假设起始状态都是就绪状态W。为了便于处理,程序进程的运行时间以时间片为单位计算。进程控制块结构如下: 进程控制块结构如下: PCB 进程标识数 链指针 优先数/轮转时间片数 占用 CPU 时间片数 进程所需时间片数 进程状态 进程控制块链结构如下:

其中:RUN—当前运行进程指针; HEAD—进程就绪链链首指针; TAID—进程就绪链链尾指针。2、算法与框图 (1) 优先数法。进程就绪链按优先数大小从高到低排列,链首进程首先投入运行。每过一个时间片,运行进程所需运行的时间片数减 1,说明它已运行了一个时间片,优先数也减 3,理由是该进程如果在一个时间片中完成不了,优先级应该降低一级。接着比较现行进程和就绪链链首进程的优先数,如果仍是现行进程高或者相同,就让现行进程继续进行,否则,调度就绪链链首进程投入运行。原运行进程再按其优先数大小插入就绪链,且改变它们对应的进程状态,直至所有进程都运行完各自的时间片数。 (2) 简单轮转法。进程就绪链按各进程进入的先后次序排列,进程每次占用处理机的轮转时间按其重要程度登入进程控制块中的轮转时间片数记录项(相当于优先数法的优先数记录项位置)。每过一个时间片,运行进程占用处理机的时间片数加 1,然后比较占用处理机的时间片数是否与该进程的轮转时间片数相等,若相等说明已到达轮转时间,应将现运行进程排到就绪链末尾,调度链首进程占用处理机,且改变它们的进程状态,直至所有进程完成各自的时间片。 (3) 程序框图

北航自动控制原理实验报告(完整版)

自动控制原理实验报告 一、实验名称:一、二阶系统的电子模拟及时域响应的动态测试 二、实验目的 1、了解一、二阶系统阶跃响应及其性能指标与系统参数之间的关系 2、学习在电子模拟机上建立典型环节系统模型的方法 3、学习阶跃响应的测试方法 三、实验内容 1、建立一阶系统的电子模型,观测并记录在不同时间常数T时的响应曲线,测定过渡过程时间T s 2、建立二阶系统电子模型,观测并记录不同阻尼比的响应曲线,并测定超调量及过渡过程时间T s 四、实验原理及实验数据 一阶系统 系统传递函数: 由电路图可得,取则K=1,T分别取:0.25, 0.5, 1 T 0.25 0.50 1.00 R2 0.25MΩ0.5M Ω1MΩ C 1μ1μ1μ T S 实测0.7930 1.5160 3.1050 T S 理论0.7473 1.4962 2.9927 阶跃响应曲线图1.1 图1.2 图1.3 误差计算与分析 (1)当T=0.25时,误差==6.12%; (2)当T=0.5时,误差==1.32%; (3)当T=1时,误差==3.58% 误差分析:由于T决定响应参数,而,在实验中R、C的取值上可能存在一定误差,另外,导线的连接上也存在一些误差以及干扰,使实验结果与理论值之间存在一定误差。但是本实验误差在较小范围内,响应曲线也反映了预期要求,所以本实验基本得到了预期结果。 实验结果说明 由本实验结果可看出,一阶系统阶跃响应是单调上升的指数曲线,特征有T确定,T越小,过度过程进行得越快,系统的快速性越好。 二阶系统 图1.1 图1.2 图1.3

系统传递函数: 令 二阶系统模拟线路 0.25 0.50 1.00 R4 210.5 C2 111 实测45.8% 16.9% 0.6% 理论44.5% 16.3% 0% T S实测13.9860 5.4895 4.8480 T S理论14.0065 5.3066 4.8243 阶跃响应曲线图2.1 图2.2 图2.3 注:T s理论根据matlab命令[os,ts,tr]=stepspecs(time,output,output(end),5)得出,否则误差较大。 误差计算及分析 1)当ξ=0.25时,超调量的相对误差= 调节时间的相对误差= 2)当ξ=0.5时,超调量的相对误差==3.7% 调节时间的相对误差==3.4% 4)当ξ=1时,超调量的绝对误差= 调节时间的相对误差==3.46% 误差分析:由于本试验中,用的参量比较多,有R1,R2,R3,R4;C1,C2;在它们的取值的实际调节中不免出现一些误差,误差再累加,导致最终结果出现了比较大的误差,另外,此实验用的导线要多一点,干扰和导线的传到误差也给实验结果造成了一定误差。但是在观察响应曲线方面,这些误差并不影响,这些曲线仍旧体现了它们本身应具有的特点,通过比较它们完全能够了解阶跃响应及其性能指标与系统参数之间的关系,不影响预期的效果。 实验结果说明 由本实验可以看出,当ωn一定时,超调量随着ξ的增加而减小,直到ξ达到某个值时没有了超调;而调节时间随ξ的增大,先减小,直到ξ达到某个值后又增大了。 经理论计算可知,当ξ=0.707时,调节时间最短,而此时的超调量也小于5%,此时的ξ为最佳阻尼比。此实验的ξ分布在0.707两侧,体现了超调量和调节时间随ξ的变化而变化的过程,达到了预期的效果。 图2.2 图2.1 图2.3

现代控制理论实验报告河南工业大学

河南工业大学 现代控制理论实验报告姓名:朱建勇 班级:自动1306 学号:201323020601

现代控制理论 实验报告 专业: 自动化 班级: 自动1306 姓名: 朱建勇 学号: 201323020601 成绩评定: 一、实验题目: 线性系统状态空间表达式的建立以及线性变换 二、实验目的 1. 掌握线性定常系统的状态空间表达式。学会在MATLAB 中建立状态空间模型的方法。 2. 掌握传递函数与状态空间表达式之间相互转换的方法。学会用MATLAB 实现不同模型之 间的相互转换。 3. 熟悉系统的连接。学会用MATLAB 确定整个系统的状态空间表达式和传递函数。 4. 掌握状态空间表达式的相似变换。掌握将状态空间表达式转换为对角标准型、约当标准 型、能控标准型和能观测标准型的方法。学会用MATLAB 进行线性变换。 三、实验仪器 个人笔记本电脑 Matlab R2014a 软件 四、实验内容 1. 已知系统的传递函数 (a) ) 3()1(4)(2++=s s s s G

(b) 3486)(22++++=s s s s s G

(c) 6 1161)(232+++++=z z z z z z G (1)建立系统的TF 或ZPK 模型。 (2)将给定传递函数用函数ss( )转换为状态空间表达式。再将得到的状态空间表达式用函 数tf( )转换为传递函数,并与原传递函数进行比较。 (3)将给定传递函数用函数jordants( )转换为对角标准型或约当标准型。再将得到的对角 标准型或约当标准型用函数tf( )转换为传递函数,并与原传递函数进行比较。 (4)将给定传递函数用函数ctrlts( )转换为能控标准型和能观测标准型。再将得到的能控标 准型和能观测标准型用函数tf( )转换为传递函数,并与原传递函数进行比较。

嵌入式实时操作系统实验报告

嵌入式实时操作系统实验报告 任务间通信机制的建立 系别计算机与电子系 专业班级***** 学生姓名****** 指导教师 ****** 提交日期 2012 年 4 月 1 日

一、实验目的 掌握在基于嵌入式实时操作系统μC/OS-II的应用中,任务使用信号量的一般原理。掌握在基于优先级的可抢占嵌入式实时操作系统的应用中,出现优先级反转现象的原理及解决优先级反转的策略——优先级继承的原理。 二、实验内容 1.建立并熟悉Borland C 编译及调试环境。 2.使用课本配套光盘中第五章的例程运行(例5-4,例5-5,例5-6),观察运行结果,掌握信号量的基本原理及使用方法,理解出现优先级反转现象的根本原因并提出解决方案。 3.试编写一个应用程序,采用计数器型信号量(初值为2),有3个用户任务需要此信号量,它们轮流使用此信号量,在同一时刻只有两个任务能使用信号量,当其中一个任务获得信号量时向屏幕打印“TASK N get the signal”。观察程序运行结果并记录。 4. 试编写一个应用程序实现例5-7的内容,即用优先级继承的方法解决优先级反转的问题,观察程序运行结果并记录。 5.在例5-8基础上修改程序增加一个任务HerTask,它和YouTask一样从邮箱Str_Box里取消息并打印出来,打印信息中增加任务标识,即由哪个任务打印的;MyTask发送消息改为当Times为5的倍数时才发送,HerTask接收消息采用无等待方式,如果邮箱为空,则输出“The mailbox is empty”, 观察程序运行结果并记录。 三、实验原理 1. 信号量 μC/OS-II中的信号量由两部分组成:一个是信号量的计数值,它是一个16位的无符号整数(0 到65,535之间);另一个是由等待该信号量的任务组成的等待任务表。用户要在OS_CFG.H中将OS_SEM_EN开关量常数置成1,这样μC/OS-II 才能支持信号量。

操作系统实验报告

操作系统教程 实 验 指 导 书 姓名: 学号: 班级:软124班 指导老师:郭玉华 2014年12月10日

实验一WINDOWS进程初识 1、实验目的 (1)学会使用VC编写基本的Win32 Consol Application(控制台应用程序)。 (2)掌握WINDOWS API的使用方法。 (3)编写测试程序,理解用户态运行和核心态运行。 2、实验内容和步骤 (1)编写基本的Win32 Consol Application 步骤1:登录进入Windows,启动VC++ 6.0。 步骤2:在“FILE”菜单中单击“NEW”子菜单,在“projects”选项卡中选择“Win32 Consol Application”,然后在“Project name”处输入工程名,在“Location”处输入工程目录。创建一个新的控制台应用程序工程。 步骤3:在“FILE”菜单中单击“NEW”子菜单,在“Files”选项卡中选择“C++ Source File”, 然后在“File”处输入C/C++源程序的文件名。 步骤4:将清单1-1所示的程序清单复制到新创建的C/C++源程序中。编译成可执行文件。 步骤5:在“开始”菜单中单击“程序”-“附件”-“命令提示符”命令,进入Windows“命令提示符”窗口,然后进入工程目录中的debug子目录,执行编译好的可执行程序: E:\课程\os课\os实验\程序\os11\debug>hello.exe 运行结果 (如果运行不成功,则可能的原因是什么?) : 有可能是因为DOS下路径的问题 (2)计算进程在核心态运行和用户态运行的时间 步骤1:按照(1)中的步骤创建一个新的“Win32 Consol Application”工程,然后将清单1-2中的程序拷贝过来,编译成可执行文件。 步骤2:在创建一个新的“Win32 Consol Application”工程,程序的参考程序如清单1-3所示,编译成可执行文件并执行。 步骤3:在“命令提示符”窗口中运行步骤1中生成的可执行文件,测试步骤2中可执行文件在核心态运行和用户态运行的时间。 E:\课程\os课\os实验\程序\os12\debug>time TEST.exe 步骤4:运行结果 (如果运行不成功,则可能的原因是什么?) : 因为程序是个死循环程序 步骤5:分别屏蔽While循环中的两个for循环,或调整两个for循环的次数,写出运行结果。 屏蔽i循环: 屏蔽j循环: _______________________________________________________________________________调整循环变量i的循环次数:

西安交大自动控制原理实验报告

自动控制原理实验报告 学院: 班级: 姓名: 学号:

西安交通大学实验报告 课程自动控制原理实验日期2014 年12月22 日专业班号交报告日期 2014 年 12月27日姓名学号 实验五直流电机转速控制系统设计 一、实验设备 1.硬件平台——NI ELVIS 2.软件工具——LabVIEW 二、实验任务 1.使用NI ELVIS可变电源提供的电源能力,驱动直流马达旋转,并通过改变电压改变 其运行速度; 2.通过光电开关测量马达转速; 3.通过编程将可变电源所控制的马达和转速计整合在一起,基于计算机实现一个转速自 动控制系统。 三、实验步骤 任务一:通过可变电源控制马达旋转 任务二:通过光电开关测量马达转速 任务三:通过程序自动调整电源电压,从而逼近设定转速

编程思路:PID控制器输入SP为期望转速输出,PV为实际测量得到的电机转速,MV为PID输出控制电压。其中SP由前面板输入;PV通过光电开关测量马达转速得到;将PID 的输出控制电压接到“可变电源控制马达旋转”模块的电压输入控制端,控制可变电源产生所需的直流电机控制电压。通过不断地检测马达转速与期望值对比产生偏差,通过PID控制器产生控制信号,达到直流电机转速的负反馈控制。 PID参数:比例增益:0.0023 积分时间:0.010 微分时间:0.006 采样率和待读取采样:采样率:500kS/s 待读取采样:500 启动死区:电机刚上电时,速度为0,脉冲周期测量为0,脉冲频率测量为无限大。通过设定转速的“虚拟下限”解决。本实验电机转速最大为600r/min。故可将其上限值设为600r/min,超过上限时,转速的虚拟下限设为200r/min。 改进:利用LabVIEW中的移位寄存器对转速测量值取滑动平均。

相关文档
最新文档