自动控制理论实验指导书

自动控制理论实验指导书
自动控制理论实验指导书

前言

自动控制原理是自动化、自动控制、电子电气技术等专业教学中的一门重要专业基础课程。它可以处理时变、非线性以及多输入、多输出等复杂的控制系统等问题。本套EL-AT-III型自动控制实验系统克服了以前做自动控制理论实验时,连线复杂,连接不稳定的缺点,通过对单元电路的灵活组合,可构造出各种型式和阶次的模拟环节和控制系统。可以使学生把主要精力集中在系统电路和系统特性的研究上。

本系统采用DA/AD卡通过USB口和计算机连接实现信号源信号的输出和系统响应信号的采集,采集后的信号通过计算机显示屏显示,省去了外接信号源和示波器测量相应信号的麻烦。EL-AT-III型自动控制实验系统支持自动控制理论课的所有实验,通过这套仪器可使学生进一步了解和掌握自动控制理论的基本概念、控制系统的分析方法和设计方法,学习和掌握系统模拟电路的构成和测试技术,提高应用计算机的能力和水平。

本书分为三章,第一章为EL-AT-III型实验箱硬件资源,主要介绍实验箱的硬件组成和系统单元电路。第二章为系统集成操作软件,主要介绍系统软件的安装,操作以及计算机和实验箱的通讯设置。第三章为实验系统部分,主要介绍各个实验的电路组成,原理和实验步骤。另外,在附录部分由部分实验的说明和参考结果。

目录

第一章硬件资源 (2)

第二章软件安装及使用 (5)

第三章实验系统部分 (11)

实验一典型环节及其阶跃响应 (12)

实验二二阶系统阶跃响应 (17)

实验三控制系统的稳定性分析 (21)

实验四系统频率特性测量 (24)

实验五连续系统串联校正 (30)

实验六数字PID控制 (35)

实验七采样实验 (38)

第一章 硬件资源

EL-AT-III 型实验系统主要由计算机、AD/DA 采集卡、自动控制原理实验箱、打印机(可选)组成如图1,其中计算机根据不同的实验分别起信号产生、测量、显示、系统控制和数据处理的作用,打印机主要记录各种实验数据和结果,实验箱主要构造被控模拟对象。

图1 实验系统构成

实验箱面板如图2:

图2 实验箱面板

显示器

计算机

打印机

实验箱电路

AD/DA 卡

下面主要介绍实验箱的构成:

一、系统电源

EL-AT-III系统采用本公司生产的高性能开关电源作为系统的工作电源,其主要技术性能指标为:

1.输入电压:AC 220V

2.输出电压/电流:+12V/0.5A,-12V/0.5A,+5V/2A

3.输出功率:22W

4.工作环境:-5℃~+40℃。

二、AD/DA采集卡

AD/DA采集卡如图3采用EZUSB2131芯片做为主控芯片,负责数据采集和USB通信,用EPM7128作为SPI总线转换,AD为TL1570I其采样位数为10位,采样率为1KHz。DA为MAX5159转换位数为10位,转换速率为1K。AD/DA采集卡有两路输出(DA1、DA2)和两路输入(AD1、AD2),其输入和输出电压均为-5V~+5V。

图3 AD/DA采集卡

三、实验箱面板

AD/DA卡

输入输出

模块

实验模块1 实验模块2

电源模块

模拟开关

二极管区

图4 实验箱面板布局

实验箱面板主要由以下几部分构成:

1.实验模块

本实验系统有八组由放大器、电阻、电容组成的实验模块。每个模块中都有一个由UA741构成的放大器和若干个电阻、电容。这样通过对这八个实验模块的灵活组合便可构造出各种型式和阶次的模拟环节和控制系统。

2.二极管,电阻、电容、二极管区

这些区域主要提供实验所需的二极管、电阻和电容。

3.AD/DA卡输入输出模块

该区域是引出AD/DA卡的输入输出端,一共引出两路输出端和两路输入端,分别是DA1、DA2,AD1、AD2。有一个按钮复位,按下一次对AD/DA卡进行一次复位。20针的插座用来和控制对象连接。

4.电源模块

电源模块有一个实验箱电源开关,有四个开关电源提供的DC电源端子,分别是+12V、-12V、+5V、GND,这些端子给外扩模块提供电源。

5.变阻箱、变容箱模块

变阻箱、变容箱是本实验系统的一个突出特点,只要按动数字旁边的“+”、“-”

按钮便可调节电阻电容的值,而且电阻电容值可以直接读出。

第二章软件安装及使用

一、软件安装

软件安装(分两大部分)

一、安装应用软件

1.按照软件提示,一步一步完成安装

图1进入安装界面图2选择安装路径

图3单击Install 图4安装完毕界面

2.完成应用软件的安装; 应用软件会自动出现在“开始—>程序”列表中。

二、USB驱动安装(操作系统不同安装步骤有差别)

Windows 2000 操作系统下:

1.通过USB硬件接口,连接实验箱与计算机,计算机将自动显示图5

图5 进入安装界面图6 选择单选按钮后,单击下一步2.图6的驱动安装文件在第一步安装的应用程序文件中,所以应选择第一步安装应用程序的路径和文件名,然后单击"确定",系统将会自动查找驱动安装文件。

图7 选择如图的复选按钮后,单击下一步图8选择驱动安装文件路径

图9 单击下一步图10安装完成界面Windows XP 操作系统下:

1.通过USB硬件接口,连接实验箱与计算机,计算机将自动显示图1

2.图2的驱动安装文件在第一步安装的应用程序文件中,所以应选择第一步安装应用程序的路径和文件名,然后单击"确定",系统将会自动搜索驱动安装文件。

图11 选择如图的单选按钮后,单击下一步图12选择驱动安装文件路径

图13单击“仍然继续”图14安装完成界面

应用软件和USB驱动都安装完成后,可以运行实验系统.

Windows 98 操作系统下:

1.通过USB硬件接口,连接实验箱与计算机,计算机将自动显示图1

图1 进入安装界面图2 选择如图的单选按钮后,单击下一步2. 图3的驱动安装文件在第一步安装的应用程序文件中,所以应选择第一步安装应用程序的路径和文件名,然后单击"下一步",系统将会自动搜索驱动安装文件。

图3 选择驱动安装文件路径图4 单击下一步

图5 安装完成界面

二、软件启动与使用说明

1.软件启动

在Windows桌面上或“开始-程序”中双击“快捷方式到 Cybernation_A.exe”快捷方式,便可启动软件如图15

2.实验前计算机与实验箱的连接

用实验箱自带的USB线将实验箱后面的USB口与计算机的USB口连接,启

动“Cybernation_A”软件。

3.软件使用说明

本套软件界面共分为三个组画面

A.软件说明和实验指导书画面(如图15)

B.数据采集显示画面(如图16)

图15

图16

下面介绍软件具体操作和功能:

一:工具栏按钮:

1.点击〖或按F1〗可以选择实验项目作为当前实验项目,系统在指导书

窗口显示相应的实验指导书,在实验进行过程中处于禁止状态。

2.点击〖或按F2〗切换回"指导书"窗口。

3.点击〖或按F3〗切换到"示波器"窗口。

4.点击〖或按F4〗切换到"频率特性"窗口。

5.点击〖或按F5〗开始/放弃当前实验项目,在没有选择任何实验项目

的时候为禁止状态。

6.点击〖或按F6〗弹出"关于"对话框,显示程序信息、版本号和版权信

息。

二:示波器操作:

1.测量在"示波器"窗口单击鼠标右键,在弹出菜单中选择"测量"打开测量

游标(重复前述步骤隐藏测量游标),拖动任一游标到感兴趣的位置,

图表区下方会显示当前游标的位置和与同类的另一游标之间距离的

绝对值。如果想精确定位游标只需用鼠标左键单击相应的游标位置栏

并在编辑框中输入合法值回车即可。

2.快照在"示波器"窗口单击鼠标右键,在弹出菜单中选择"快照"将当前图像

复制到剪贴板,以便粘贴到画图或其他图像编辑软件中编辑和保存。

3.打印目前尚不支持。

4.线型在"示波器"窗口单击鼠标右键,在弹出菜单中可点击"直线"、"折

线"或"点线"来选择数据点和数据点之间的连接方式,体会各种连接

方式的差异。

5.配色用鼠标左键双击图表区除曲线之外的元素会弹出标准颜色对话框,

用户可以更改相应元素的颜色(比如将网格颜色改成与背景相同颜

色)。

6.缩放用鼠标左键单击图表区刻度区的边界刻度并在编辑框中输入和法

值回车即可改变当前显示范围。

第三章实验系统部分

本套实验系统一共提供了12个实验:典型环节及其阶跃响应、二阶系统阶跃响应、控制系统的稳定性分析、系统频率特性测量、连续系统串联校正、数字PID控制、状态反馈及状态观测器实验、解耦控制实验、采样系统实验、非线性实验、相轨迹观测实验和数据采集实验。除了我们公司配套的这12个实验外,各高校可自己灵活地组合各种形式的实验系统,以满足教学的要求。

实验一典型环节及其阶跃响应

一、实验目的

1. 掌握控制模拟实验的基本原理和一般方法。

2. 掌握控制系统时域性能指标的测量方法。

二、实验仪器

1.EL-AT-III型自动控制系统实验箱一台

2.计算机一台

三、实验原理

1.模拟实验的基本原理:

控制系统模拟实验采用复合网络法来模拟各种典型环节,即利用运算放大器不同的输入网络和反馈网络模拟各种典型环节,然后按照给定系统的结构图将这些模拟环节连接起来,便得到了相应的模拟系统。再将输入信号加到模拟系统的输入端,并利用计算机等测量仪器,测量系统的输出,便可得到系统的动态响应曲线及性能指标。若改变系统的参数,还可进一步分析研究参数对系统性能的影响。

2.时域性能指标的测量方法:

超调量ó %:

1)启动计算机,在桌面双击图标 [自动控制实验系统] 运行软件。

%100%max ?-=

Y Y Y σ2) 检查USB 线是否连接好,在实验项目下拉框中选中任实验,点击按钮,出

现参数设置对话框设置好参数按确定按钮,此时如无警告对话框出现表示通信 正常,如出现警告表示通信不正常,找出原因使通信正常后才可以继续进行实验。

3) 连接被测量典型环节的模拟电路。电路的输入U1接A/D 、D/A 卡的DA1 输出,电路的输出U2接A/D 、D/A 卡的AD1输入。检查无误后接通电源。 4)

在实验项目的下拉列表中选择实验一[典型环节及其阶跃响应] 。 5) 鼠标单击

按钮,弹出实验课题参数设置对话框。在参数设置对话框中设置

相应的实验参数后鼠标单击确认等待屏幕的显示区显示实验结果。 6) 用软件上的游标测量响应曲线上的最大值和稳态值,代入下式算出超调量: T P 与T S :

利用软件的游标测量水平方向上从零到达最大值与从零到达95%稳态值所需的时间值,便可得到T P 与T S 。 四、实验内容

构成下述典型一阶系统的模拟电路,并测量其阶跃响应: 1. 比例环节的模拟电路及其传递函数如图1-1。

G (S )= -R2/R1

2. 惯性环节的模拟电路及其传递函数如图1-2。

G (S )= - K/TS+1 K=R2/R1,T=R2C

3. 积分环节的模拟电路及传递函数如图1-3。

G(S)=1/TS

T=RC

4.微分环节的模拟电路及传递函数如图1-4。

G(S)= - RCS

5.比例+微分环节的模拟电路及传递函数如图1-5(未标明的C=0.01uf)。

G(S)= -K(TS+1)

K=R2/R1,T=R2C

6.比例+积分环节的模拟电路及传递函数如图1-6。

G(S)=K(1+1/TS)

K=R2/R1,T=R2C

五、实验步骤

1.启动计算机,在桌面双击图标 [自动控制实验系统] 运行软件。

2.测试计算机与实验箱的通信是否正常,通信正常继续。如通信不正常查找原因使通信正常后才可以继续进行实验。

比例环节

3.连接被测量典型环节的模拟电路(图1-1)。电路的输入U1接A/D、D/A卡的DA1

输出,电路的输出U2接A/D、D/A卡的AD1输入。检查无误后接通电源。

4.在实验项目的下拉列表中选择实验一[一、典型环节及其阶跃响应] 。

5.鼠标单击按钮,弹出实验课题参数设置对话框。在参数设置对话框中设置

相应的实验参数后鼠标单击确认等待屏幕的显示区显示实验结果

6.观测计算机屏幕显示出的响应曲线及数据。

7.记录波形及数据(由实验报告确定)。

惯性环节

8.连接被测量典型环节的模拟电路(图1-2)。电路的输入U1接A/D、D/A卡的DA1

输出,电路的输出U2接A/D、D/A卡的AD1输入。检查无误后接通电源。

9.实验步骤同4~7

积分环节

10.连接被测量典型环节的模拟电路(图1-3)。电路的输入U1接A/D、D/A卡的DA1

输出,电路的输出U2接A/D、D/A卡的AD1输入,将积分电容两端连在模拟开关上。检查无误后接通电源。

11.实验步骤同4~7

微分环节

12.连接被测量典型环节的模拟电路(图1-4)。电路的输入U1接A/D、D/A卡的DA1

输出,电路的输出U2接A/D、D/A卡的AD1输入。检查无误后接通电源。

13.实验步骤同4~7

比例+积分环节

14.连接被测量典型环节的模拟电路(图1-6)。电路的输入U1接A/D、D/A卡的DA1

输出,电路的输出U2接A/D、D/A卡的AD1输入,将积分电容连在模拟开关上。

检查无误后接通电源。

15.实验步骤同4~7

16. 测量系统的阶跃响应曲线,并记入上表。

六、实验报告

1.由阶跃响应曲线计算出惯性环节、积分环节的传递函数,并与由电路计算的结

果相比较。

2.将实验中测得的曲线、数据及理论计算值,整理列表。

七、预习要求

1.阅读实验原理部分,掌握时域性能指标的测量方法。

2.分析典型一阶系统的模拟电路和基本原理。

实验数据测试表(学生填写)

实验二二阶系统阶跃响应

一、实验目的

1.研究二阶系统的特征参数,阻尼比ζ和无阻尼自然频率ωn对系统动态性能的影响。

定量分析ζ和ωn与最大超调量Mp和调节时间t S之间的关系。

2.进一步学习实验系统的使用方法

3.学会根据系统阶跃响应曲线确定传递函数。

二、实验仪器

1.EL-AT-III型自动控制系统实验箱一台

2.计算机一台

三、实验原理

1.模拟实验的基本原理:

控制系统模拟实验采用复合网络法来模拟各种典型环节,即利用运算放大器不同的输入网络和反馈网络模拟各种典型环节,然后按照给定系统的结构图将这些模拟环节连接起来,便得到了相应的模拟系统。再将输入信号加到模拟系统的输入端,并利用计算机等测量仪器,测量系统的输出,便可得到系统的动态响应曲线及性能指标。若改变系统的参数,还可进一步分析研究参数对系统性能的影响。

2. 域性能指标的测量方法:

超调量ó%:

1)启动计算机,在桌面双击图标 [自动控制实验系统] 运行软件。

2) 检查USB线是否连接好,在实验项目下拉框中选中实验,点击按钮,出

现参数设置对话框设置好参数,按确定按钮,此时如无警告对话框出现表示通

信正常,如出现警告表示通信不正常,找出原因使通信正常后才可以继续进行

实验。

3)连接被测量典型环节的模拟电路。电路的输入U1接A/D、D/A卡的DA1输

出,电路的输出U2接A/D、D/A卡的AD1输入,将两个积分电容连在模拟开关

上。检查无误后接通电源。

4)在实验项目的下拉列表中选择实验二[二阶系统阶跃响应] 。

5)鼠标单击按钮,弹出实验课题参数设置对话框。在参数设置对话框中设置

相应的实验参数后鼠标单击确认等待屏幕的显示区显示实验结果

6)利用软件上的游标测量响应曲线上的最大值和稳态值,代入下式算出超调量: Y MAX - Y∞

ó%=——————×100%

Y∞

T P与T P:

利用软件的游标测量水平方向上从零到达最大值与从零到达95%稳态值所需的时间值,便可得到T P与T P。

四、实验内容

典型二阶系统的闭环传递函数为

ω2n

?(S)= (1)

s2+2ζωn s+ω2n

其中ζ和ωn对系统的动态品质有决定的影响。

构成图2-1典型二阶系统的模拟电路,并测量其阶跃响应:

图2-1 二阶系统模拟电路图

电路的结构图如图2-2:

图2-2 二阶系统结构图

系统闭环传递函数为

(2)式中 T=RC,K=R2/R1。

比较(1)、(2)二式,可得

ωn=1/T=1/RC

ζ=K/2=R2/2R1 (3)

由(3)式可知,改变比值R2/R1,可以改变二阶系统的阻尼比。改变RC值可以改变无阻尼自然频率ωn。

今取R1=200K,R2=100KΩ和200KΩ,可得实验所需的阻尼比。电阻R取100KΩ,电容C分别取1μf和0.1μf,可得两个无阻尼自然频率ωn。

五、实验步骤

1.连接被测量典型环节的模拟电路。电路的输入U1接A/D、D/A卡的DA1输出,电路

的输出U2接A/D、D/A卡的AD1输入,将两个积分电容得两端连在模拟开关上。

检查无误后接通电源。

2.启动计算机,在桌面双击图标 [自动控制实验系统] 运行软件。

3.测查USB线是否连接好,在实验项目下拉框中选中任实验,点击按钮,出

现参数设置对话框设置好参数按确定按钮,此时如无警告对话框出现表示通信

正常,如出现警告表示通信不正常,找出原因使通信正常后才可以继续进行实验。

链表实验报告

C语言程序设计实验报告 实验一:链表的基本操作一·实验目的 1.掌握链表的建立方法 2.掌握链表中节点的查找与删除 3.掌握输出链表节点的方法 4.掌握链表节点排序的一种方法 5.掌握C语言创建菜单的方法 6.掌握结构化程序设计的方法 二·实验环境 1.硬件环境:当前所有电脑硬件环境均支持 2.软件环境:Visual C++6.0 三.函数功能 1. CreateList // 声明创建链表函数 2.TraverseList // 声明遍历链表函数 3. InsertList // 声明链表插入函数 4.DeleteTheList // 声明删除整个链表函数 5. FindList // 声明链表查询函数 四.程序流程图 五.程序代码 #include #include typedef int Elemtype; typedef int Status; typedef struct node//定义存储节点 { int data;//数据域 struct node *next;//结构体指针 } *linklist,node;//结构体变量,结构体名称 linklist creat (int n)//创建单链表 { linklist head,r,p;//定义头指针r,p,指针 int x,i; head=(node *)malloc(sizeof(node));//生成头结点

r=head;//r指向头结点 printf("输入数字:\n"); for(i=n;i>0;i--)//for 循环用于生成第一个节点并读入数据{ scanf("%d",&x); p=(node *)malloc(sizeof(node)); p->data=x;//读入第一个节点的数据 r->next=p;//把第一个节点连在头结点的后面 r=p;//循环以便于生成第二个节点 } r->next=0;//生成链表后的断开符 return head;//返回头指针 } void output (linklist head)//输出链表 { linklist p; p=head->next; do { printf("%3d",p->data); p=p->next; } while(p); printf("\n") } Status insert ( linklist &l,int i, Elemtype e)//插入操作 { int j=0; linklist p=l,s; while(jnext; ++j; } if(!p || j>i-1) return -1; else { s=(node *)malloc(sizeof(node)); s->data=e; s->next=p->next; p->next=s; return 1; } } Status delect ( linklist &l,int i, Elemtype &e)//删除操作 { int j=0; linklist p=l,q; while(jnext) { p=p->next; ++j; } if(!p->next || j>i-1) return -1;

《数据结构》实验报告 设计循环单链表

《数据结构》实验报告 1、实验名称:设计循环单链表 2、实验日期: 2013-3-26 3、基本要求: 1)循环单链表的操作,包括初始化、求数据元素个数、插入、删除、取数据元素; 2)设计一个测试主函数实际运行验证所设计循环单链表的正确性。 4、测试数据: 依次输入1,2,3,4,5,6,7,8,9,10,删除5,再依次输出数据元素。 5、算法思想或算法步骤: 主函数主要是在带头结点的循环单链表中删除第i个结点,其主要思想是在循环单链表中寻找到第i-1个结点并由指针p指示,然后让指针s指向a[i]结点,并把数据元素a[i]的值赋给x,最后把a[i]结点脱链,并动态释放a[i]结点的存储空间。 6、模块划分: 1)头文件LinList.h。头文件LinList.h中包括:结点结构体定义、初始化操作、求当前数据个数、插入一个结点操作、删除一个结点操作以及取一个数据元素操作; 2)实现文件dlb.cpp。包含主函数void main(void),其功能是测试所设计的循环单链表的正确性。

7、数据结构: 链表中的结点的结构体定义如下: typedef struct Node { DataType data; struct Node *next; }SLNode; 8、源程序: 源程序存放在两个文件中,即头文件LinList.h和实现文件dlb.cpp。//头文件LinList.h typedef struct Node { DataType data; struct Node *next; }SLNode; void ListInitiate(SLNode **head) //初始化 { *head=(SLNode *)malloc(sizeof(SLNode)); //申请头结点,由head指示其地址 (*head)->next=*head; }

自动控制原理实验

自动控制原理实验 实验报告 实验三闭环电压控制系统研究 学号姓名 时间2014年10月21日 评定成绩审阅教师

实验三闭环电压控制系统研究 一、实验目的: (1)通过实例展示,认识自动控制系统的组成、功能及自动控制原理课程所要解决的问题。 (2)会正确实现闭环负反馈。 (3)通过开、闭环实验数据说明闭环控制效果。 二、预习与回答: (1)在实际控制系统调试时,如何正确实现负反馈闭环? 答:负反馈闭环,不是单纯的加减问题,它是通过增量法实现的,具体如下: 1.系统开环; 2.输入一个增或减的变化量; 3.相应的,反馈变化量会有增减; 4.若增大,也增大,则需用减法器; 5.若增大,减小,则需用加法器,即。 (2)你认为表格中加1KΩ载后,开环的电压值与闭环的电压值,哪个更接近2V? 答:闭环更接近。因为在开环系统下出现扰动时,系统前部分不会产生变化。故而系统不具有调节能力,对扰动的反应很大,也就会与2V相去甚远。 但在闭环系统下出现扰动时,由于有反馈的存在,扰动产生的影响会被反馈到输入端,系统就从输入部分产生了调整,经过调整后的电压值会与2V相差更小些。 因此,闭环的电压值更接近2V。 (3)学自动控制原理课程,在控制系统设计中主要设计哪一部份? 答:应当是系统的整体框架及误差调节部分。对于一个系统,功能部分是“被控对象”部分,这部分可由对应专业设计,反馈部分大多是传感器,因此可由传感器的专业设计,而自控原理关注的是系统整体的稳定性,因此,控制系统设计中心就要集中在整个系统的协调和误差调节环节。 二、实验原理: (1)利用各种实际物理装置(如电子装置、机械装置、化工装置等)在数学上的“相似性”,将各种实际物理装置从感兴趣的角度经过简化、并抽象成相同的数学形式。我们在设计控制系统时,不必研究每一种实际装置,而用几种“等价”的数学形式来表达、研究和设计。又由于人本身的自然属性,人对数学而言,不能直接感受它的自然物理属性,这给我们分析和设计带来了困难。所以,我们又用替代、模拟、仿真的形式把数学形式再变成“模拟实物”来研究。这样,就可以“秀才不出门,遍知天下事”。实际上,在后面的课程里,不同专业的学生将面对不同的实际物理对象,而“模拟实物”的实验方式可以做到举一反三,我们就是用下列“模拟实物”——电路系统,替代各种实际物理对象。

自动控制原理实验报告

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

实验一 典型环节的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= ④ 微分环节

单链表实验报告

计算机与信息技术学院综合性、设计性实验报告 一、实验目的 (1)熟悉顺序表的创建、取值、查找、插入、删除等算法,模块化程序设计方法。 二、实验仪器或设备 (1)硬件设备:CPU为Pentium 4 以上的计算机,内存2G以上 (2)配置软件:Microsoft Windows 7 与VC++6.0 三、总体设计(设计原理、设计方案及流程等) 设计原理: 单链表属于线性表,线性表的存储结构的特点是:用一组任意存储单元存储线性表的数据元素,这组存储单元可以是连续的,也可以是不连续的。因此,对于某个元素来说,不仅需要存储其本身的信息,还需要存储一个指示其直接后继的信息。 设计方案: 采用模块化设计的方法,设计各个程序段,最终通过主函数实现各个程序段的功能。设计时,需要考虑用户输入非法数值,所以要在程序中写入说可以处理非法数值的代码。 设计流程: 1. 引入所需的头文件; 2. 定义状态值; 3. 写入顺序表的各种操作的代码; 写入主函数,分别调用各个函数。在调用函数时,采用if结构进行判断输 入值是否非法,从而执行相应的程序 四、实验步骤(包括主要步骤、代码分析等) #include // EOF(=A Z 或F6),NULL #in clude // srand( ) ,rand( ),exit (n) #in clude // malloc( ),alloc( ),realloc() 等 #in clude // INT_MAX 等 #in clude #in clude #in clude // floor(),ceil( ),abs() #in clude // cout,ci n #in clude // clock( ),CLK_TCK,clock_t #defi ne TRUE 1 #defi ne FALSE 0 #defi ne OK 1 #defi ne ERROR 0 #defi ne INFEASIBLE -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= = = ;单位阶跃响应:

单链表的插入和删除实验报告

. 实验一、单链表的插入和删除 一、目的 了解和掌握线性表的逻辑结构和链式存储结构,掌握单链表的基本算法及相关的时间性能分析。 二、要求: 建立一个数据域定义为字符串的单链表,在链表中不允许有重复的字符串;根据输入的字符串,先找到相应的结点,后删除之。 三、程序源代码 #include"stdio.h" #include"string.h" #include"stdlib.h" #include"ctype.h" typedef struct node //定义结点 { char data[10]; //结点的数据域为字符串 struct node *next; //结点的指针域 }ListNode; typedef ListNode * LinkList; // 自定义LinkList单链表类型 LinkList CreatListR1(); //函数,用尾插入法建立带头结点的单链表

ListNode *LocateNode(); //函数,按值查找结点 void DeleteList(); //函数,删除指定值的结点void printlist(); //函数,打印链表中的所有值 void DeleteAll(); //函数,删除所有结点,释放内存 //==========主函数============== void main() { char ch[10],num[10]; LinkList head; head=CreatListR1(); //用尾插入法建立单链表,返回头指针printlist(head); //遍历链表输出其值 printf(" Delete node (y/n):");//输入“y”或“n”去选择是否删除结点scanf("%s",num); if(strcmp(num,"y")==0 || strcmp(num,"Y")==0){ printf("Please input Delete_data:"); scanf("%s",ch); //输入要删除的字符串 DeleteList(head,ch); printlist(head); } DeleteAll(head); //删除所有结点,释放内存 } //==========用尾插入法建立带头结点的单链表

自动控制原理实验1-6

实验一MATLAB 仿真基础 一、实验目的: (1)熟悉MATLAB 实验环境,掌握MATLAB 命令窗口的基本操作。 (2)掌握MATLAB 建立控制系统数学模型的命令及模型相互转换的方法。 (3)掌握使用MATLAB 命令化简模型基本连接的方法。 (4)学会使用Simulink 模型结构图化简复杂控制系统模型的方法。 二、实验设备和仪器 1.计算机;2. MATLAB 软件 三、实验原理 函数tf ( ) 来建立控制系统的传递函数模型,用函数printsys ( ) 来输出控制系统的函数,用函数命令zpk ( ) 来建立系统的零极点增益模型,其函数调用格式为:sys = zpk ( z, p, k )零极点模型转换为多项式模型[num , den] = zp2tf ( z, p, k ) 多项式模型转化为零极点模型 [z , p , k] = tf2zp ( num, den ) 两个环节反馈连接后,其等效传递函数可用feedback ( ) 函数求得。 则feedback ()函数调用格式为: sys = feedback (sys1, sys2, sign ) 其中sign 是反馈极性,sign 缺省时,默认为负反馈,sign =-1;正反馈时,sign =1;单位反馈时,sys2=1,且不能省略。 四、实验内容: 1.已知系统传递函数,建立传递函数模型 2.已知系统传递函数,建立零极点增益模型 3.将多项式模型转化为零极点模型 1 2s 2s s 3s (s)23++++=G )12()1()76()2(5)(332 2++++++= s s s s s s s s G 12s 2s s 3s (s)23++++= G )12()1()76()2(5)(3322++++++=s s s s s s s s G

自动控制原理实验报告

实验报告 课程名称:自动控制原理 实验项目:典型环节的时域相应 实验地点:自动控制实验室 实验日期: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

链表实验报告

链表实验报告

————————————————————————————————作者: ————————————————————————————————日期:

《数据结构》实验报告二 系别:嵌入式系统工程系班级:嵌入式11003班 学号:11160400314姓名:孙立阔 日期:2012年4月9日指导教师:申华 一、上机实验的问题和要求: 单链表的查找、插入与删除。设计算法,实现线性结构上的单链表的产生以及元素的查找、插入与删除。具体实现要求: 1.从键盘输入10个字符,产生不带表头的单链表,并输入结点值。 2.从键盘输入1个字符,在单链表中查找该结点的位置。若找到,则显示“找到了”;否则, 则显示“找不到”。 3.从键盘输入2个整数,一个表示欲插入的位置i,另一个表示欲插入的数值x,将x插 入在对应位置上,输出单链表所有结点值,观察输出结果。 4.从键盘输入1个整数,表示欲删除结点的位置,输出单链表所有结点值,观察输出结果。 5.将单链表中值重复的结点删除,使所得的结果表中个结点值均不相同,输出单链表所有结 点值,观察输出结果。 6.删除其中所有数据值为偶数的结点,输出单链表所有结点值,观察输出结果。 7.(★)将单链表分解成两个单链表A和B,使A链表中含有原链表中序号为奇数的元素, 而B链表中含有原链表中序号为偶数的元素,且保持原来的相对顺序,分别输出单链表A和单链表B的所有结点值,观察输出结果。 二、程序设计的基本思想,原理和算法描述: (包括程序的结构,数据结构,输入/输出设计,符号名说明等) 创建一个空的单链表,实现对单链表的查找,插入,删除的功能。 三、源程序及注释: #defineOK 1 #define ERROR 0 #define INFEASIBLE -1 #define OVERFLOW -2 #define TRUE 1

自动控制原理_实验2(1)

实验二 线性系统时域响应分析 一、实验目的 1.熟练掌握step( )函数和impulse( )函数的使用方法,研究线性系统在 单位阶跃、单位脉冲及单位斜坡函数作用下的响应。 2.通过响应曲线观测特征参量ζ和n ω对二阶系统性能的影响。 3.熟练掌握系统的稳定性的判断方法。 二、基础知识及MATLAB 函数 (一)基础知识 时域分析法直接在时间域中对系统进行分析,可以提供系统时间响应的全部 信息,具有直观、准确的特点。为了研究控制系统的时域特性,经常采用瞬态响应(如阶跃响应、脉冲响应和斜坡响应)。本次实验从分析系统的性能指标出发,给出了在MATLAB 环境下获取系统时域响应和分析系统的动态性能和稳态性能的方法。 用MATLAB 求系统的瞬态响应时,将传递函数的分子、分母多项式的系数分 别以s 的降幂排列写为两个数组num 、den 。由于控制系统分子的阶次m 一般小于其分母的阶次n ,所以num 中的数组元素与分子多项式系数之间自右向左逐次对齐,不足部分用零补齐,缺项系数也用零补上。 1.用MATLAB 求控制系统的瞬态响应 1) 阶跃响应 求系统阶跃响应的指令有: step(num,den) 时间向量t 的范围由软件自动设定,阶跃响应曲线随 即绘出 step(num,den,t) 时间向量t 的范围可以由人工给定(例如t=0:0.1:10) [y ,x]=step(num,den) 返回变量y 为输出向量,x 为状态向量 在MATLAB 程序中,先定义num,den 数组,并调用上述指令,即可生成单位 阶跃输入信号下的阶跃响应曲线图。 考虑下列系统: 25 425)()(2++=s s s R s C 该系统可以表示为两个数组,每一个数组由相应的多项式系数组成,并且以s 的降幂排列。则MATLAB 的调用语句:

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

自动控制原理实验报告 一、实验名称:一、二阶系统的电子模拟及时域响应的动态测试 二、实验目的 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

单链表实验报告

数据结构 课程设计 设计题目:单链表 专业班级:11软会四班 指导教师:吉宝玉 日期:2012 目录 一、实验目的 (2) 1、 (2) 2、 (2) 二、实验内容 (3)

三、实验基本要求(软、硬件) (3) 四、算法设计思想 (3) 1、 (3) 2、 (3) 3、 (3) 4、 (3) 5、 (3) 6、 (3) 7、 (3) 8、 (3) 五、算法流程图 (4) 六、算法源代码 (4) 七、运行结果 (9) 1、 (9) 2、 (10) 3、 (11) 4、 (11) 5、 (11) 6、 (12) 7、 (12) 8、 (13) 9、 (13) 八、收获及体会 (14) 一、实验目的 1、理解并掌握单链表的结构特点和相关概念; 2、学会单链表的基本操作:建立、插入、删除、查找、 输入、撤销、逆置、求前驱和后继等并实现其算法。

二、实验内容 利用头插建立一个带头结点的单链表,并用算法实现该单链表的插入、删除查找、输出、求前驱和后继、再把此单链表逆置,然后在屏幕上显示每次操作的结果当所有操作完成后能撤销该单链表。 三、实验基本要求(软、硬件) 用VC++6.0软件平台,操作系统:Windows XP 硬件:内存要求:内存大小在256MB,其他配置一般就行。 四、算法设计思想 1、定义一个创建链表的函数,通过该函数可以创建一个链表,并为下面的函数应用做 好准备。 2、定义输出链表的算法,通过对第一步已经定义好的创建链表函数的调用,在这一步 通过调用输出链表的函数算法来实现对链表的输出操作。 3、定义一个遍历查找的算法,通过此算法可以查找到链表中的每一个节点是否存在。 4、定义查找链表的每一个前驱和后继,通过定义这个算法,可以很容易的实现对链表 的前驱和后继的查找工作。 5、定义插入节点的算法,通过定义这个算法,并结合这查找前驱和后继的算法便可以 在连链表的任意位置进行插入一个新节点。 6、定义删除节点的操作,这个算法用于对链表中某个多余节点的删除工作。 7、定义一个逆置单链表的操作,通过定义这个算法,可以逆置输出单链表。 8、定义一个撤销链表的算法,这个算法用于删除单链表中的所有节点,使链表为空。

链表实现多项式相加实验报告

实验报告 课程名称:数据结构 题目:链表实现多项式相加 班级: 学号: 姓名: 完成时间:2012年10月17日

1、实验目的和要求 1)掌握链表的运用方法; 2)学习链表的初始化并建立一个新的链表; 3)知道如何实现链表的插入结点与删除结点操作; 4)了解链表的基本操作并灵活运用 2、实验内容 1)建立两个链表存储一元多项式; 2)实现两个一元多项式的相加; 3)输出两个多项式相加后得到的一元多项式。 3、算法基本思想 数降序存入两个链表中,将大小较大的链表作为相加后的链表寄存处。定义两个临时链表节点指针p,q,分别指向两个链表头结点。然后将另一个链表中从头结点开始依次与第一个链表比较,如果其指数比第一个小,则p向后移动一个单位,如相等,则将两节点的系数相加作为第一个链表当前节点的系数,如果为0,则将此节点栓掉。若果较大,则在p前插入q,q向后移动一个,直到两个链表做完为止。 4、算法描述 用链表实现多项式相加的程序如下: #include #include #include struct node{ int exp; float coef; struct node*next; };

void add_node(struct node*h1,struct node*h2); void print_node(struct node*h); struct node*init_node() { struct node*h=(struct node*)malloc(sizeof(struct node)),*p,*q; int exp; float coef=1.0; h->next=NULL; printf("请依次输入多项式的系数和指数(如:\"2 3\";输入\"0 0\"时结束):\n"); p=(struct node*)malloc(sizeof(struct node)); q=(struct node*)malloc(sizeof(struct node)); for(;fabs(coef-0.0)>1.0e-6;) { scanf("%f %d",&coef,&exp); if(fabs(coef-0.0)>1.0e-6) { q->next=p; p->coef=coef; p->exp=exp; p->next=NULL; add_node(h,q); } } free(p); free(q); return(h); } void add_node(struct node*h1,struct node*h2) { struct node*y1=h1,*y2=h2; struct node*p,*q; y1=y1->next; y2=y2->next; for(;y1||y2;) if(y1) { if(y2) { if(y1->expexp) y1=y1->next; else if(y1->exp==y2->exp) { y1->coef+=y2->coef; if(y1->coef==0)

自动控制原理实验一

《自动控制原理》MATLAB仿真实验控制系统理论、计算方法与计算机技术的结合是当代控制理论发展的标志,因此在以MATLAB为代表的软件平台上,对控制系统进行分析、设计与仿真就成了控制工程师必须熟练掌握的重要知识与技能。 控制系统CAD及仿真是建立在古典控制理论、现代控制理论、计算方法、计算机技术等多方面知识上的综合性学科,是一门综合性与实践性较强的专业课,目前已成为自动化学科重要的研究分支,灵活地掌握与运用它有助于我们深刻理解已学过的有关课程内容,为今后从事控制系统领域的研究与开发工作提供坚实的基础。 本书是编者们对教学、实验与科研工作的总结,并在借鉴国内外控制领域专家、学者研究成果的基础上编写而成的。在内容编排上具有如下几方面的特点: 1、将MATLAB的使用方法和程序设计以简练的篇幅进行介绍,使得直接、快速地了解和掌握MATLAB软件平台成为可能,并采用由浅到深,由易到难逐步深入的方式对控制系统应用MATLAB软件进行刻化; 2、在已学习的古典与现代控制理论的基础上,介绍在MATLAB软件平台上对系统进行分析和设计的方法; 3、重点介绍目前控制系统仿真技术中状态空间法和Simulink仿真的主要思想,达到学以致用的效果; 4、所有的实验、习题都经过精心选择,书中所有的用MATLAB描述的程序都经过严格的上机调试,保证所写程序的可用性,是本书的最重要的特色。

准备工作 熟悉MATLAB的仿真实验环境 一、实验目的 1.学习了解MATLAB的仿真实验环境 2.练习MATLAB命令的基本操作; 3.练习MATLAB的m文件的基本操作。 二、实验步骤 1.学习了解MATLAB仿真实验环境 开机执行程序进入MATLAB环境 在命令提示符位置键入下述命令: help 显示MATLAB的功能目录.并浏览内容。 intro 显示MATLAB语言的基本介绍,如矩阵输人、数值激位计算、曲线绘图等,阅读命令平台上的注释,内容,以尽快MATLAB函数的应用方法。内容,以尽快了解毗LAn函数的应用方法。 help heLp 显示联机帮助查阅功能(要求用中文作简要记录)。 info 显示工具箱中各种工具箱组件信息和开发商的联络信息; demo MATLAB的各种功能演水。 help control 阅读控制系统工具箱命令清单,阅读如下命令的帮助文件内容: help step help impule help cloop help printsys 2.练习MATLAB命令的基本操作 键人常数矩阵输人命令 a=[1 2 3]与a=[1;2;3] 记录结果,比较显示结果有何不同、 b=[1 2 5]与b=[l 2 5]; 记录结果,比较显示结果有何不同! a a’ b b’ 记录结果,比较变量加“'”后的区别。

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

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

西安交通大学实验报告 课程自动控制原理实验日期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中的移位寄存器对转速测量值取滑动平均。

数据结构实验报告 - 答案汇总

数据结构(C语言版) 实验报告

专业班级学号姓名 实验1 实验题目:单链表的插入和删除 实验目的: 了解和掌握线性表的逻辑结构和链式存储结构,掌握单链表的基本算法及相关的时间性能分析。 实验要求: 建立一个数据域定义为字符串的单链表,在链表中不允许有重复的字符串;根据输入的字符串,先找到相应的结点,后删除之。 实验主要步骤: 1、分析、理解给出的示例程序。 2、调试程序,并设计输入数据(如:bat,cat,eat,fat,hat,jat,lat,mat,#),测试程序 的如下功能:不允许重复字符串的插入;根据输入的字符串,找到相应的结点并删除。 3、修改程序: (1)增加插入结点的功能。 (2)将建立链表的方法改为头插入法。 程序代码: #include"stdio.h" #include"string.h" #include"stdlib.h" #include"ctype.h" typedef struct node //定义结点 { char data[10]; //结点的数据域为字符串 struct node *next; //结点的指针域 }ListNode; typedef ListNode * LinkList; // 自定义LinkList单链表类型 LinkList CreatListR1(); //函数,用尾插入法建立带头结点的单链表 LinkList CreatList(void); //函数,用头插入法建立带头结点的单链表 ListNode *LocateNode(); //函数,按值查找结点 void DeleteList(); //函数,删除指定值的结点 void printlist(); //函数,打印链表中的所有值 void DeleteAll(); //函数,删除所有结点,释放内存

自动控制原理实验报告 (1)

实验1 控制系统典型环节的模拟实验(一) 实验目的: 1.掌握控制系统中各典型环节的电路模拟及其参数的测定方法。 2.测量典型环节的阶跃响应曲线,了解参数变化对环节输出性能的影响。 实验原理: 控制系统模拟实验采用复合网络法来模拟各种典型环节,即利用运算放大器不同的输入网络和反馈网络模拟各种典型环节,然后按照给定系统的结构图将这些模拟环节连接起来,便得到了相应的模拟系统。再将输入信号加到模拟系统的输入端,并利用计算机等测量仪器,测量系统的输出,便可得到系统的动态响应曲线及性能指标。 实验内容及步骤 实验内容: 观测比例、惯性和积分环节的阶跃响应曲线。 实验步骤: 分别按比例,惯性和积分实验电路原理图连线,完成相关参数设置,运行。 ①按各典型环节的模拟电路图将线接好(先接比例)。(PID先不接) ②将模拟电路输入端(U i)与阶跃信号的输出端Y相连接;模拟电路的输出端(Uo)接至示波器。 ③按下按钮(或松开按钮)SP时,用示波器观测输出端的实际响应曲线Uo(t),且将结果记下。改变比例参数,重新观测结果。 ④同理得积分和惯性环节的实际响应曲线,它们的理想曲线和实际响应曲线。 实验数据

实验二控制系统典型环节的模拟实验(二) 实验目的 1.掌握控制系统中各典型环节的电路模拟及其参数的测定方法。 2.测量典型环节的阶跃响应曲线,了解参数变化对环节输出性能的影响。 实验仪器 1.自动控制系统实验箱一台 2.计算机一台 实验原理 控制系统模拟实验采用复合网络法来模拟各种典型环节,即利用运算放大器不同的输入网络和反馈网络模拟各种典型环节,然后按照给定系统的结构图将这些模拟环节连接起来,便得到了相应的模拟系统。再将输入信号加到模拟系统的输入端,并利用计算机等测量仪器,测量系统的输出,便可得到系统的动态响应曲线及性能指标。 实验内容及步骤 内容: 观测PI,PD和PID环节的阶跃响应曲线。 步骤: 分别按PI,PD和PID实验电路原理图连线,完成相关参数设置,运行 ①按各典型环节的模拟电路图将线接好。 ②将模拟电路输入端(U i)与方波信号的输出端Y相连接;模拟电路的输出端(Uo)接至示波器。 ③用示波器观测输出端的实际响应曲线Uo(t),且将结果记下。改变参数,重新观测结果。 实验数据 实验结论及分析

C语言链表实验报告

链表实验报告 一、实验名称 链表操作的实现--学生信息库的构建 二、实验目的 (1)理解单链表的存储结构及基本操作的定义 (2)掌握单链表存储基本操作 (3)学会设计实验数据验证程序 【实验仪器及环境】计算机 Window XP操作系统 三、实验内容 1、建立一个学生成绩信息(学号,姓名,成绩)的单链表,按学号排序 2、对链表进行插入、删除、遍历、修改操作。 3、对链表进行读取(读文件)、存储(写文件) 四、实验要求 (1)给出终结报告(包括设计过程,程序)-打印版 (2)对程序进行答辩

五、实验过程、详细内容 1、概念及过程中需要调用的函数 (1)链表的概念结点定义 结构的递归定义 struct stud_node{ int num; char name[20]; int score; struct stud_node *next; }; (2)链表的建立 1、手动输入 struct stud_node*Create_Stu_Doc() { struct stud_node *head,*p; int num,score; char name[20]; int size=sizeof(struct stud_node); 【链表建立流程图】

2、从文件中直接获取 先建立一个 (3)链表的遍历 (4 )插入结点 (5)删除结点 (6)动态储存分配函数malloc () void *malloc(unsigned size) ①在内存的动态存储区中分配一连续空间,其长度为size ②若申请成功,则返回一个指向所分配内存空间的起始地址的指针 ③若申请不成功,则返回NULL (值为0) ④返回值类型:(void *) ·通用指针的一个重要用途 ·将malloc 的返回值转换到特定指针类型,赋给一个指针 【链表建立流程图】 ptr ptr ptr->num ptr->score ptr=ptr->next head pt r s s->next = ptr->next ptr->next = s 先连后断 ptr2=ptr1->next ptr1->next=ptr2->next free (ptr2)

相关文档
最新文档