本科生上机作业之一

更新时间:2023-11-15 00:22:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

课程名称:MatLab与系统设计 指导教师:朴明伟

实验名称:MatLab与ADAMS协同平台实践

实验原理:对于线性时不变系统(LTI),MatLab提供了以下三个系统分析、设计和仿真平台:LTI Viewer、SISO Design和SimuLink。ADAMS是多体动力学系统建模仿真分析平台,其最有特色的是大位移非线性积分运算。将两者构建成互补分析设计工具,形成了MatLab与ADAMS协同平台。 实验指导书:以下三个上机作业需要写出书面报告!!!

本科生上机作业之一

题目:电机定位系统校正,满足如下要求: (1)过渡时间小于40ms;(2)超调量小于16%; (3)静态误差为零;(4)扰动静态误差为零。 目的:熟悉LTI viewer和SISO Design平台。 步骤:

1 创建M-file文挡,并输入如下程序,运行后生成LTI对象my_sys:

J=3.2284e-6; b=3.5077e-6; K=0.0274; R=4; L=2.75e-6; num=[0 0 0 K];

den=[(J*K) (J*R+(L*b)) ((b*R)+K^2) 0]; my_sys=tf(num,den);

2 启动LTI viewer,并画出开环BODE图(拷贝); 3 启动SISO Design,按照以下顺序进行校正: 加积分环节;加零点(60角频率);在截止频率附近加滞后环节。 用鼠标移动零点/极点的相对位置,观察相位裕度变化。

4 从analysis→respond to step调用LTI viewer分析闭环阶越响应,

同时,用鼠标上下移动观察阶越响应的超调量变化,直到满足校正要求,拷贝 5从analysis→closed loopbode调用LTI viewer分析闭环BODE图(拷贝)。

本科生上机作业之二

题目:过程控制系统的PID校正(PP219)

目的:熟悉SIMULNK平台,运用PID参数整定方法和非线性控制器参数优化(NCD模块) 步骤:

1 创建MODEL文件,按照以下顺序建立所需的模块: 传递函数模块(continuous/transfer FCN)根据装置传递函数定义相应的系数 PID模块(simulink extras/PID controller)

1

SUM模块(math operations/sum)定义PID参数(KP、KI、KD) 输入模块(sources/step) 输出模块(sinks/floating scope) 依次连线构成闭环反馈系统

2 设置初始值(KP=1、KI=0、KD=0),利用折中法找到这样比例环节系数KP,使系统刚好处于临界状态,再利用书PP219表6-1的经验公式计算整定参数; 3 观察参数整定后闭环系统的阶越响应;

4 用(NCD blockset/signal constraint)替换输出模块,并设置优化参数(KP、KI、KD),定义信号响应的边界,进行优化并观察结果; 5 对比参数整定与参数优化的阶越响应(拷贝)。

本科生上机作业之三

题目:应用根轨迹法校正某二阶系统,满足如下指标要求: (1)过渡时间小于1.5s;超调量小于30%; (3)开环增益大于10。

目的:熟悉SISODesign,运用根轨迹校正。 步骤:

1创建M-file文挡,并输入如下程序,运行后生成LTI对象my_sys:

clear all num=1; den=[1 2 0]; my_sys=tf(num,den);

2启动SISO Design,按照以下顺序进行校正: 根据过渡时间和超调量,设置校正边界; 添加实零点/极点,移动并观察闭环极点变化,确定主导极点位置,观察阶越响应; 添加偶极子,提高开环增益,观察阶越响应。 3 结合本题,理解主导极点和偶极子概念。

考试方法:(上机综合大作业)

本科生上机大作业(一)

题目:小球-杠杆控制问题

目的:熟悉ADAMS与MATLAB协同平台,运用LQG控制技术 步骤:

1 启动ADAMS,调入ball-beam模型,熟悉ADAMS界面、模型; 2 编写脚本文件,输出线性模型my_beam_ball_linmod_;

3 启动MATLAB,编写如下M-file(读入线性模型,简约均衡,可控可观,设计LQG,构成闭环);

4 利用LTI Viewer分析SIGMA-曲线;利用SIMULINK进行扰动仿真分析; 5 编写后处理文件,输出控制器模型;

6 回到ADAMS环境,修改模型名称,并依照顺序定义:输入变量组、输出变量组,(A,B,

2

C,D)矩阵。

7 定义线性状态方程LSE,定义控制信号变量,修改杠杆力矩变量, 8 进行闭环控制系统仿真,协同仿真。

附录:

线性系统分析设计程序:

load my_beam_ball_linmod_a;load my_beam_ball_linmod_b; load my_beam_ball_linmod_c;load my_beam_ball_linmod_d; SS=ss(my_beam_ball_linmod_a,my_beam_ball_linmod_b, ...

my_beam_ball_linmod_c,my_beam_ball_linmod_d); SS=ssbal(SS);SS=minreal(SS); A=SS.a;B=SS.b;C=SS.c;D=SS.d; V=eig(SS);disp( 'eigen value');disp(V); rank(ctrb(SS))rank(obsv(SS))

K_lqry=lqry(SS,[1e+6 0;0 1e+4],[1]); PP=SS(:,[1,1]);

Qn=1e+6;Rn=[0.01 0;0 0.01];

Kest = kalman(PP,Qn,Rn); rsys = lqgreg(Kest,K_lqry); CL_SS=feedback(SS,rsys,+1);

控制器模型后处理程序:

A=rsys.a;B=rsys.b;C=rsys.c;D=rsys.d; [m n]=size(A);fid=fopen('AAA','w'); for i=1:m for j=1:n

fprintf(fid,'%6.5e ,',A(i,j)); end end

fclose(fid);

[m n]=size(B);fid=fopen('BBB','w'); for i=1:m for j=1:n

fprintf(fid,'%6.5e ,',B(i,j)); end end

fclose(fid);

[m n]=size(C);fid=fopen('CCC','w'); for i=1:m for j=1:n

fprintf(fid,'%6.5e ,',C(i,j)); end end

fclose(fid);

[m n]=size(D);fid=fopen('DDD','w'); for i=1:m for j=1:n

fprintf(fid,'%6.5e ,',D(i,j)); end end

fclose(fid);

3

本科生上机大作业(二)

题目:集装箱平车垂向弹性振动偏大问题

目的:熟悉ADAMS/RAIL平台,运用刚柔耦合仿真技术 步骤:

1 启动ADAMS/RAIL,调入K6X转向架模板模型,熟悉ADAMS/RAIL的模板建模界面,并应用MNF文件建立柔性车体模型及接口定义;

2 熟悉ADAMS/RAIL的标准建模界面,建立转向架、柔性车体子系统并组装整车模型; 3 设置有关求解器参数,进行预载分析,定义心盘和旁承预载;

4 转到ADAMS/VIEW界面,在摇枕上施加垂向激扰力(加载/减载,低频谐振);

5 进行整车仿真得到摇振变摩擦悬挂加载/减载曲线和相位图,并分析其变摩擦特性和低频粘-滑振动;

6 将激扰力去掉,进行轨道不平顺激扰仿真,并进行车体垂向加速度的时域/频域分析,得到谱密度PSD。

7 以表格对比形式,给出车体垂向加速度时域统计特征(如MAX、MIN、RMS),和垂向平稳性指标Wzz。

8 根据上述分析数据,给出引起车体弹性振动偏大原因的结论。

附录:

1 K6X交叉杆支撑转向架

轮对 侧架 平面心盘 前部加速度测试点 中部加速度测试点 ??X,X ??Z,Z ??Y,Y 后部加速度测试点 常接触旁承 斜楔及减振弹簧 摇枕及枕簧 约束自由度5×2+1×4=14: ?Y?Z?,YZ)×2 平面心盘(X常接触旁承(Z)×4 轴箱、承载鞍及橡胶垫 交叉杆(柔性体)及橡胶连接 K6X三大件转向架刚柔耦合模板模型 三箱重载柔性车体模型

2 车体柔性体是基于有限元FEM模型建立的[8],其中,约束自由度(14);固有模态:取前13阶,包括:(1)垂向弯曲模态(7Hz,18Hz);(2)局部模态(2个,中间鱼复板);(3)侧扭模态(38Hz);…等等。由于集装箱地脚锁存在一定程度简化,实际的垂向弯曲模态频率要比计算值稍高一些。

4

本文来源:https://www.bwwdw.com/article/9bmv.html

Top