根据以下系统的传输函数G(s)=u(s)/r(s)=1/(s²+0.8s+1),用matlab中simulink设计一个PID控制,使得该系统输出稳定在期望值10,要求使用scope示波模块显示出系统偏差e(s)和PID控制器输出u(s)
时间: 2023-12-03 14:43:34 浏览: 106
【java毕业设计】智慧社区在线教育平台(源代码+论文+PPT模板).zip
以下是实现步骤:
1. 打开MATLAB软件,新建一个模型文件。
2. 从Simulink库中拖拽PID Controller模块和Scope模块到模型中。
3. 从Simulink库中拖拽Transfer Fcn模块到模型中,并设置传输函数为G(s)=1/(s²+0.8s+1)。
4. 连接模块,将PID Controller的输出连接到系统的输入,将系统的输出连接到PID Controller的反馈输入。将Scope模块连接到系统的输出。
5. 右键点击PID Controller模块,选择“PID Controller Block Parameters”设置P、I、D参数值。为了使系统输出稳定在期望值10,可以设置P=2,I=1,D=0.1。
6. 右键点击Scope模块,选择“Scope Parameters”设置显示参数,选择显示偏差e和PID控制器输出u。
7. 点击模型中的“运行”按钮,系统开始运行,Scope模块会显示出偏差e和PID控制器输出u的波形图。
下面是Matlab代码实现:
```matlab
% 新建模型文件
model = 'PID_Control';
open_system(model);
% 添加模块
add_block('simulink/Commonly Used Blocks/Transfer Fcn',[model '/Plant']);
add_block('simulink/Commonly Used Blocks/PID Controller',[model '/PID Controller']);
add_block('simulink/Commonly Used Blocks/Scope',[model '/Scope']);
% 设置模块参数
set_param([model '/Plant'],'Numerator','1','Denominator','[1 0.8 1]');
set_param([model '/PID Controller'],'P','2','I','1','D','0.1');
set_param([model '/Scope'],'NumInputPorts','2','InputSelect','[1 1]');
% 连接模块
add_line(model,'PID Controller/1','Plant/1');
add_line(model,'Plant/1','PID Controller/3');
add_line(model,'Plant/1','Scope/1');
add_line(model,'PID Controller/1','Scope/2');
% 运行模型
sim(model);
```
阅读全文