系列自动控制原理
来自学习资源up主DR_CAN自动控制原理 需要复习信号和系统的知识
开环系统和闭环系统
- 导入 水壶热水的例子:
- 输入为热量Q,输出为水温T
- 最常见的热水壶,开关一直烧水,Q与T无关,是开环系统
- 当传感器传回的实际温度数据实际温度数据与设定阈值误差小于一定限度时,控制器停止工作。 Q = f ( T ) Q=f(T) Q=f(T),是闭环系统。
- 具体公式推导的例子
- 可能需要看up3、6(可选)主动态系统建模分析
- 闭环系统传输函数
稳定性分析
- 稳定定义
视频中给出了三个关于小球的例子
- 不稳定: lim x → ∞ x ( t ) = ∞ \lim_{x \to \infty} x(t) = \infty x→∞limx(t)=∞
- 临界稳定marginal stable: lim x → ∞ ∣ x ( t ) ∣ < M \lim_{x \to \infty} \left | x(t) \right | < M x→∞lim∣x(t)∣<M
- 稳定: lim x → ∞ x ( t ) = 0 \lim_{x \to \infty} x(t) = 0 x→∞limx(t)=0
- 系统稳定性
- 考虑系统输入:有界输入->有界输出
- 上述即为BIBO稳定:bounded-input bounded-output
- BIBO稳定条件: ∫ − ∞ ∞ ∣ h ( τ ) ∣ < ∞ \int_{-\infty}^{\infty} \left | h(\tau )\right | < \infty ∫−∞∞∣h(τ)∣<∞
- 分析问题时注意明确稳定性分析对象
- 复习信号与系统:
- 拉氏变换
- 系统稳定性:(一般是物理可实现系统)稳定,传递函数收敛域包含虚轴。
- 根据这样的经典控制理论,我们的目的是要设计合适的D,使得闭环传递函数极点在左边(这样收敛域ROC就包含了虚轴)
系统分析实例:数学模型之燃烧卡路里
- 人类体重变化主要与热量有关
- 热量摄入 E i E_{i} Ei: 饮食摄入,单位kcal/day
- 热量支出 E e E_{e} Ee: E e = E a + α P E_{e} = E_{a} + \alpha P Ee=Ea+αP
- E a E_{a} Ea为额外运动消耗, α P \alpha P αP为日常消耗
- P表示BMR(基础代谢率):维持生命所需消耗的最低能量, 单位kcal/day
- α \alpha α值:轻体力劳动者≈1.3;中体力劳动者≈1.5;重体力劳动者≈1.9。
- P的估算公式(MSJ公式): P = 10 m ( 体重 k g ) + 6.25 h ( 身高 c m ) − 5 a ( 年龄 ) + s ( 调整系数:男 s = 5 ,女 s = − 161 ) P = 10m(体重kg) + 6.25h(身高cm) - 5a(年龄) + s(调整系数:男s=5,女s=-161) P=10m(体重kg)+6.25h(身高cm)−5a(年龄)+s(调整系数:男s=5,女s=−161)
- 热量净输入: E N = E i − E e E_{N} = E_{i} - E_{e} EN=Ei−Ee
- 燃烧7000kcal可以大约瘦1kg
- 代公式
- d m d t ( 一天体重变化 ) = E i − E a − α ( 10 m + 6.25 h − 5 a + s ) 7000 \frac{dm}{dt}(一天体重变化) = \frac{E_{i} - E_{a} - \alpha(10m + 6.25h-5a+s)}{7000} dtdm(一天体重变化)=7000Ei−Ea−α(10m+6.25h−5a+s)
-
6.25 h − 5 a + s 6.25h - 5a + s 6.25h−5a+s 从时间尺度看,这里可以看作常数
- d m d t ( 一天体重变化 ) = E i − E a − α 10 m − α C 7000 \frac{dm}{dt}(一天体重变化) = \frac{E_{i} - E_{a} - \alpha10m - \alpha C}{7000} dtdm(一天体重变化)=7000Ei−Ea−α10m−αC
- 重新定义输入输出
- 输入: u = E i − E a − α C u = E_{i} - E_{a} - \alpha C u=Ei−Ea−αC
- 输出: d m d t = u − 10 α m 7000 \frac{dm}{dt} = \frac{u - 10\alpha m}{7000} dtdm=7000u−10αm
- 输出等式两边同时做拉氏变换
- s m ( s ) = u ( s ) − 10 α m ( s ) 7000 sm(s) = \frac{u(s) - 10\alpha m(s)}{7000} sm(s)=7000u(s)−10αm(s)
- 传递函数 H ( s ) = 1 7000 s + 10 α = 1 7000 10 α 7000 + s H(s) = \frac{1}{7000s + 10\alpha} = \frac{\frac{1}{7000}}{\frac{10\alpha}{7000} + s} H(s)=7000s+10α1=700010α+s70001
- 极点小于零,是稳定系统
- Matlab/simulink搭体重变化数学模型
具体操作可见up视频
- Control System Toolbox需要安装
- ctrl+下拉模块->相当于复制
- MUX:数据选择器
- scope可以观察输出变化
- 对系统施加反馈控制:比例控制
-
换一种方式定义系统
- 输出:体重m
- 输入: u = E i − E a u = E_{i} - E_{a} u=Ei−Ea
- 扰动: d = − α C d = -\alpha C d=−αC
-
公式:
- d m d t = u − 10 α m + d 7000 \frac{dm}{dt} = \frac{u - 10\alpha m + d}{7000} dtdm=7000u−10αm+d
- 拉氏变换 s m ( s ) = u ( s ) − 10 α m ( s ) + D ( s ) 7000 sm(s) = \frac{u(s) - 10\alpha m(s) + D(s)}{7000} sm(s)=7000u(s)−10αm(s)+D(s)
- 传递函数 H ( s ) = M ( s ) u ( s ) + D ( s ) = 1 7000 s + 10 α H(s) = \frac{M(s)}{u(s) + D(s)} = \frac{1}{7000s + 10\alpha} H(s)=u(s)+D(s)M(s)=7000s+10α1
-
带有扰动的开环系统:
-
引入:
- 目标体重reference value = r
- 误差 e = r − m e = r - m e=r−m,根据e调整u,也即误差e进入控制器得到系统输入u
- 比例控制器
- u = K p e u = K_{p}e u=Kpe
- K p K_{p} Kp,p->proportional
-
带有扰动的闭环系统:
-
引入比例控制器后,闭环系统响应:
-