弹簧系统运动控制方案及simulink仿真

  • 一、题目描述
  • 二、弹簧系统运动方程求解
  • 三、弹簧系统运动控制方案分析
  • 3.1 弹簧系统传递函数
  • 3.2 弹簧系统稳定性分析
  • 3.3 弹簧系统运动控制闭环框图
  • 3.4 伺服电机选型
  • 四、simulink仿真
  • 4.1 基于PID控制的simulink连线框图
  • 4.2 PID调参结果及位置跟踪曲线
  • 4.3 加入测速反馈控制的simulink框图
  • 4.4 PID控制结果对比
  • 4.5 测试系统在噪声下的响应
  • 总结


一、题目描述

如图 ,物块和滑轮的质量分别为 m1 和 m2,两弹簧的弹性系数分别为 k1 和 k2,滑轮的半径为 r;物块位移和滑轮的角位移分别为x和θ。绳与圆盘无相对滑动,滑轮所在的圆平面平行于水平面(位移x非重力方向)。

问题 1:列写该系统的运动方程;

问题 2:现对滑块位移 x 进行运动控制,需获取滑轮角度和滑块位移等信息或数据,请自行设计运动控制系统方案。

recyclerview 弹簧效果滑动 android_matlab

二、弹簧系统运动方程求解

解:设两弹簧弹力分别为recyclerview 弹簧效果滑动 android_2d_02recyclerview 弹簧效果滑动 android_matlab_03,对应的伸长量分别为recyclerview 弹簧效果滑动 android_matlab_04recyclerview 弹簧效果滑动 android_matlab_04(拉伸正,压缩负),物体初始位移为0 ,滑轮初始转动角度为 0(顺时针为正,逆时针为负)由牛顿第二定律 recyclerview 弹簧效果滑动 android_matlab_06 和转动定律 recyclerview 弹簧效果滑动 android_运动控制_07 可得下列方程:recyclerview 弹簧效果滑动 android_框图_08recyclerview 弹簧效果滑动 android_matlab_09且有:recyclerview 弹簧效果滑动 android_matlab_10recyclerview 弹簧效果滑动 android_2d_11则由式(1)、(3)、(4)得:recyclerview 弹簧效果滑动 android_运动控制_12将式(1)、(4)、(5)带入式(2),化简即可得弹簧系统的运动方程recyclerview 弹簧效果滑动 android_框图_13

三、弹簧系统运动控制方案分析

3.1 弹簧系统传递函数

对式(6)进行拉氏变换:recyclerview 弹簧效果滑动 android_matlab_14即可得弹簧系统位置与控制力的传递函数:recyclerview 弹簧效果滑动 android_matlab_15

3.2 弹簧系统稳定性分析

首先定义弹簧系统的物理参数,以便后续simulink仿真与系统分析:

recyclerview 弹簧效果滑动 android_matlab_16


那么, 弹簧系统的传递函数可以写出来:

recyclerview 弹簧效果滑动 android_框图_17


用matlab的函数判断弹簧系统稳定性:

recyclerview 弹簧效果滑动 android_框图_18


输出1,说明弹簧系统本身是稳定的(可以想象到静态无外力下,弹簧系统自身保持稳定,但也许吹弹可破…)。

3.3 弹簧系统运动控制闭环框图

问题2要求对物块位置进行控制,也就是位置控制。一般闭环控制系统包括控制器、执行器、被控对象三部分组成,此问题弹簧系统就是我们的被控对象,那么系统运动控制闭环框图如下:

recyclerview 弹簧效果滑动 android_matlab_19

3.4 伺服电机选型

为了将控制力加在物块上,我们需要选择一个能够输出力的控制装置,这里我选择直流力矩电机(百度图片搜索的,侵权请联系删除):

recyclerview 弹簧效果滑动 android_2d_20

它的输出力与输入电流成正比,即正常工作时转矩=转矩常数×电流recyclerview 弹簧效果滑动 android_matlab_21重要参数如下(与上图无关):

recyclerview 弹簧效果滑动 android_运动控制_22

四、simulink仿真

4.1 基于PID控制的simulink连线框图

recyclerview 弹簧效果滑动 android_运动控制_23


其中,I2M.m函数将PID控制器输出的电流 I 转化为电机的转矩 M,且根据峰值转矩限制了电流的大小:

recyclerview 弹簧效果滑动 android_运动控制_24


M2F.m函数将电机转矩 M 转化为输出力 F:

recyclerview 弹簧效果滑动 android_matlab_25

4.2 PID调参结果及位置跟踪曲线

调整PID参数,测试闭环系统的阶跃响应,此部分在matlab下写代码完成:

recyclerview 弹簧效果滑动 android_matlab_26


在simulink中,测试效果如下:

recyclerview 弹簧效果滑动 android_框图_27

recyclerview 弹簧效果滑动 android_框图_28


可以看出,通过合理的设置PID参数,闭环系统能够较好的跟踪输入的位置信号。

4.3 加入测速反馈控制的simulink框图

recyclerview 弹簧效果滑动 android_运动控制_29


测速反馈控制将输出量的速度信号采用负反馈的形式反馈到输入端并与误差信号比较,构成的回路称为速度反馈控制(velocity feedback control)。如果输出量是机械位移,可采用测速装置将机械量转换成正比于输出速度的电信号,从而获得速度反馈,即通过引入速度反馈来改善系统性能。它具有的如下特点

  • 可以有效地抑制作用在内回路各元件上的各种扰动,减小元件参数变化和非线性特性对系统性能的影响
  • 可以分别调整前向通道和反馈通道的参数,以期单独改变系统某一方面的性能
  • 由于反馈校正信号是从高功率点向低功率点传递,通常可不必另加放大器

我们可以对比加入测速反馈控制前后系统Bode图,加入测速反馈控制后,相角裕度有所提升,动态性能更好:

recyclerview 弹簧效果滑动 android_matlab_30

4.4 PID控制结果对比

recyclerview 弹簧效果滑动 android_框图_31


可以看出,加入测速反馈控制后,系统阶跃响应的超调量有明显下降。

4.5 测试系统在噪声下的响应

我们可以在simulink中加入Band-Limited White Noise,它是模块服从正态分布N(μ,σ)的随机数,它的能量可以视为σ2(即它的方差):

recyclerview 弹簧效果滑动 android_运动控制_32


噪声在示波器的显示:

recyclerview 弹簧效果滑动 android_框图_33

加入噪声以后的闭环系统框图 :

recyclerview 弹簧效果滑动 android_2d_34


系统在噪声干扰下的跟踪效果(有可能会跟踪失效,需要调整PID参数):

recyclerview 弹簧效果滑动 android_运动控制_35

总结

  1. 建模并求解弹簧系统的运动方程及传递函数
  2. 分析并设计弹簧系统闭环运动控制方案
  3. 运用matlab和simulink对闭环系统建模和仿真,调优PID参数以提高系统性能,并对比了位置环控制和位置环+测速反馈控制方案的效果,且验证了系统在有噪声环境下也能实现位置跟踪。

至此完成了弹簧系统运动控制方案的设计及simulink仿真,希望能对读者有一点点帮助。由于笔者学识尚浅,文中不正当之处欢迎指出!