现代控制实验报告一亚微米超精密车床振动控制系统的状态空间法设计Word下载.doc
《现代控制实验报告一亚微米超精密车床振动控制系统的状态空间法设计Word下载.doc》由会员分享,可在线阅读,更多相关《现代控制实验报告一亚微米超精密车床振动控制系统的状态空间法设计Word下载.doc(11页珍藏版)》请在冰点文库上搜索。
超精密机床是实现超精密加工的关键设备,而环境振动又是影响超精密加工精度的重要因素。
为了充分隔离基础振动对超精密机床的影响,目前国内外均采用空气弹簧作为隔振元件,并取得了一定的效果,但是这属于被动隔振,这类隔振系统的固有频率一般在2Hz左右。
这种被动隔振方法难以满足超精密加工对隔振系统的要求。
为了解决这个问题,有必要研究被动隔振和主动隔振控制相结合的混合控制技术。
其中,主动隔振控制系统采用状态空间法设计。
图1车床简化模型图
图1表示了亚微米超精密车床隔振控制系统的结构原理,其中被动隔振元件为空气弹簧,主动隔振元件为采用状态反馈控制策略的电磁作动器。
此为一个单自由度振动系统,空气弹簧具有一般弹性支承的低通滤波特性,其主要作用是隔离较高频率的基础振动,并支承机床系统。
主动隔振系统具有高通滤波特性,其主要作用是有效地隔离较低频率的基础振动。
主、被动隔振系统相结合可有效地隔离整个频率范围内的振动。
经物理过程分析得出床身质量的运动方程为:
(1)
——空气弹簧所产生的被动控制力;
——作动器所产生的主动控制力。
假设空气弹簧内为绝热过程,则被动控制力可以表示为:
(2)
——标准压力下的空气弹簧体积;
——相对位移(被控制量);
——空气弹簧的参考压力;
——参考压力下单一弹簧的面积;
——参考压力下空气弹簧的总面积;
——绝热系数。
电磁作动器的主动控制力与电枢电流、磁场的磁通量密度及永久磁铁和电磁铁之间的间隙面积有关,这一关系具有强非线性。
由于系统工作在微振动状况,且在低于作动器截止频率的低频范围内,因此主动控制力可近似线性化地表示为:
(3)
——力-电流转换系数;
——电枢电流。
其中,电枢电流满足微分方程:
(4)
——控制回路电枢电感系数;
——控制回路电枢电阻;
——控制回路反电动势;
——控制电压。
二、实验目的
通过本次上机实验,使同学们熟练掌握:
1.控制系统机理建模;
2.时域性能指标与极点配置的关系;
3.状态反馈控制律设计;
4.MATLAB语言的应用。
三、性能指标
要求闭环系统单位阶跃响应的超调量不大于,过渡过程时间不大于()。
四、实际给定参数
某一亚微米超精密车床隔振系统的各个参数为:
五、车床振动系统的开环状态空间模型的建立
首先假定为常数,将式两边求关于时间的二阶导数可得:
(5)
记为:
(6)
其中:
。
对式(6)两边求导得:
(7)
由式(6)可得:
(8)
由式(7)可得:
(9)
将式(8)和(9)代入式(4)可得:
即:
将非线性项视为干扰信号,略去不计,可得线性化模型为:
(10)
令状态变量为:
可得系统开环状态方程为:
由此得开环系统的状态空间表达式为:
(11)
系统给定的各个参数为:
代入式(11)得开环系统的状态空间表达式为:
六、状态反馈控制律的设计
根据性能指标,解得。
留出裕量,取,则:
为此得两共轭极点。
取第三个极点。
得出系统期望特征多项式为:
(12)
设状态反馈控制律为:
则闭环状态空间表达式为:
此时闭环系统的特征多项式为:
(13)
将式(12)与式(13)比较得:
解得:
状态反馈控制律设计完毕。
七、闭环系统的数字仿真
1.闭环系统的单位阶跃响应仿真
由以上设计过程,借助Matlab画出的系统的simulink仿真图如图2:
图2simulink仿真图
系统的响应曲线如图3、图4:
图3系统阶跃响应曲线
图4系统阶跃响应曲线
由仿真结果可以看出,系统的超调量为,调整时间为,满足指标要求。
2.闭环系统的全状态响应仿真
假设存在某一初始振动状态:
根据闭环齐次状态方程:
用Matlab仿真得到系统各状态变量变化曲线如图5:
图5系统状态响应曲线
由仿真结果可以看出系统达到设计标准。
八、实验结论及心得
系统的超调量为,调整时间为,满足指标要求。
从本次的实验中我对实际系统的理论设计方法有了更清晰的认识与更深刻的体会。
首先是从实际问题中抽象出其重点,搭建数学模型,建立状态方程,然后根据性能指标的要求选择合适的校正方法,计算其参数,最后进行仿真以检验结果是否达到标准。
从本实验结果中可以看出,全量状态反馈对这一类问题具有很好的效果。
九、附录
Matlab仿真源程序:
functiondx=simu(t,x)
A=[010;
001;
-22500-2625-124];
dx=A*x;
functiondo_simu
[t,x]=ode45('
simu'
[0,1],[3*10^-5,(-1)*10^-5,2*10^-5]);
subplot(3,1,1);
plot(t,x(:
1),'
r-'
);
legend('
x_1'
grid;
subplot(3,1,2);
2),'
b-'
x_2'
subplot(3,1,3);
3),'
k-'
x_3'