[机电一体化实验指导书
实验一计算机控制系统时间响应分析
一、 实验目的
1. 培养学生初步的MATLAB编程能力;
2. 培养学生初步利用MATLAB对离散控制系统进行时域、频域分析的能力。
二、 实验原理及方法
1.对如下离散控制系统进行单位阶跃响应、单位脉冲响应的仿真:
8.06.15.14.32)(22+?+?=ZZZzzG
2.用到的控制系统工具箱函数有: dstep( ) 离散时间阶跃响应
dbode() 离散波特图
dimpulse( ) 离散时间单位脉冲响应
dnyquist() 离散Nyquist图
3.可参考如下MATLAB语言仿真样例程序进行编程:
num=[2 -3.4 1.5];
den=[1 -1.6 0.8];
%画离散单位阶跃响应曲线
[y,x]=dstep(num,den)
subplot(2,2,1)
plot(y,'.r')
grid
xlabel('Time/s');
ylabel('Amplitude');
title('Discrete step response')
%画离散单位脉冲响应曲线
[y,x]=dimpulse(num,den);
subplot(2,2,2)
plot(y,'.g')
grid
xlabel('Time/s');
ylabel('Amplitude');
title('Discrete impulse response')
%画离散系统bode图
subplot(2,2,3)
1
dbode(num,den,0.1);
title('Discrete Bode Plot')
grid
%画离散系统的nyquist图
subplot(2,2,4)
dnyquist(num,den,0.1)
title('Discrete Nyquist Plot')
grid
4.参考仿真结果曲线如下:
0204060-0.500.511.52Time/sAmplitudeDiscrete step response010203040-1012Time/sAmplitudeDiscrete impulse response-20020Magnitude (dB)10-1100101102-90090Phase (deg)-2024-4-2024-2 dB-4 dB0 dB10 dB6 dB-10 dB4 dB2 dB-6 dBDiscrete Bode PlotFrequency (rad/sec)Discrete Nyquist PlotReal AxisImaginary Axis
三、实验仪器及材料
1. 计算机一台;
2. MATLAB平台;
3. 打印机一台。
四、实验步骤
1.开机,进入MATLAB记事本窗口;
2.新建“**.M”文件,输入程序,保存“**.M”文件;
3. 进入命令窗口,运行“**.M”文件,实现仿真;
2
实验二伺服电机控制系统仿真
一、 实验目的
1. 初步掌握在MATLAB环境下,用Simulink建立系统模型
2. 培养学生对系统线性化模型进行仿真的能力。
二、 实验原理及方法
Simulink是MATLAB里的一个实现动态系统建模、仿真与分析的仿真集成环境软件工具包(Dynamic System Simulation),是控制系统计算与仿真最先进的高效工具。主要的功能是实现动态系统建模、仿真与分析,从而可以在实际系统制作出来之前,预先对系统进行仿真与分析,并可以对系统做适当的实时修正或者按照仿真的最佳效果来调试及整定控制系统的参数,以提高系统的性能,减少系统设计过程中反复修改的时间,实现高效率地开发系统的目标。
Simulink过利用模块组合的方法可以方便用户快速、准确地创建动态系统的计算机模型。它可以用来模拟线性与非线性系统,连续与非连续系统,或者这些混合的系统,是强大的系统仿真工具。
Simulink的每一个模块实际上都是一个系统,一个典型的Simulink模块包括输入、状态和输出三个部分:
●输入模块:即信号源模块,包括常数信号源、函数信号发生器和用户自定义信号;
●状态模块:即被模拟的系统模块,它是Simulink的中心模块,是系统建模的核心和主要部分;Simu1ink的状态模块可以是连续的、离散的,或者是它们二者的结合。在MATLAB中,用函数tf()来建立控制系统的传递函数模型,或者将零极点模型或或者状态空间模型转换为传递函数模型。函数命令的调用格式为:
sys=tf(mun,den)
sys=tf(mun,den,ts)
sys=tf(mun,den)函数返回的变量sys为连续系统的传