【Servo】传递函数,工程例子,伺服系统bode

传递函数(Transfer Function)是控制系统领域最核心的概念之一。 用通俗语言+公式+实际工程例子讲明白。


一、什么是传递函数?

定义
传递函数是一个输入-输出系统的数学模型,用于描述输入信号和输出信号之间的关系,特别是在频域(s域)下的比例关系。

用公式表达,就是

G(s)=Y(s)U(s) G(s) = \frac{Y(s)}{U(s)} G(s)=U(s)Y(s)

其中,Y(s)Y(s)Y(s) 是输出的拉普拉斯变换,U(s)U(s)U(s) 是输入的拉普拉斯变换,G(s)G(s)G(s) 就是传递函数。

作用

  • 只要你知道了系统的传递函数,就能预测它对于任何输入的响应。
  • 传递函数包含了系统的所有动态信息(惯性、延迟、阻尼等)。

二、实际生活中的例子

例子1:水箱进水系统

假设你有一个大水箱,进水口流速可以调节,出水口很小几乎忽略。你想知道,如果你突然把进水流量调大,水箱的水位是怎么变化的。

建立数学模型
  • 设输入 u(t)u(t)u(t):进水流量(单位L/min)
  • 输出 y(t)y(t)y(t):水位高度(单位cm)
  • 假设水箱初始是空的。

根据物理定律(体积=流量×时间),水位的变化可以用一阶微分方程描述:

Adhdt=Qin A \frac{dh}{dt} = Q_{in} Adtdh=Qin

其中,AAA 是水箱截面积,hhh 是水位,QinQ_{in}Qin 是进水流量。

拉普拉斯变换得到传递函数

对上式拉氏变换,有:

AsH(s)=Qin(s) A s H(s) = Q_{in}(s) AsH(s)=Qin(s)

G(s)=H(s)Qin(s)=1As G(s) = \frac{H(s)}{Q_{in}(s)} = \frac{1}{A s} G(s)=Qin(s)H(s)=As1

这就是这个水箱系统的传递函数
它说明:输入是一个阶跃(如突然开水龙头),输出水位会线性增加。


例子2: 伺服驱动器的速度环传递函数

我们来看速度闭环结构(速度指令 -> 伺服驱动器 -> 电机 -> 速度反馈):

  • 输入 U(s)U(s)U(s):速度指令
  • 输出 Y(s)Y(s)Y(s):实际电机速度反馈

假设

  • 驱动器速度环采用PI调节
  • 电机、电流环带宽很高可近似忽略

那么常见的速度环传递函数如下:

G(s)=KvTvs+1 G(s) = \frac{K_v}{T_v s + 1} G(s)=Tvs+1Kv

  • KvK_vKv:速度环放大倍数(增益)
  • TvT_vTv:速度环时间常数,反映系统惯性/延迟

2. 具体数值举例

假设参数如下:

  • Kv=1K_v = 1Kv=1
  • Tv=0.05T_v = 0.05Tv=0.05

则传递函数是:

G(s)=10.05s+1 G(s) = \frac{1}{0.05s + 1} G(s)=0.05s+11


3. 工程实际意义

  1. 阶跃响应

    • 如果你把速度指令从0立刻改成1000rpm,电机实际速度会“平滑”地跟踪,而不是立刻到1000rpm,输出有一个惯性曲线。
  2. 频率响应(伯德图):

    • 低频段(慢慢变化):幅值接近1(理想跟随)
    • 高频段(快变指令):幅值迅速下降,说明高频扰动(噪声、震动)会被抑制

4. 在伯德图里的表现

  • 幅频特性

    20log⁡10∣G(jω)∣=20log⁡10∣10.05jω+1∣ 20\log_{10} |G(j\omega)| = 20\log_{10} \left|\frac{1}{0.05j\omega + 1}\right| 20log10G()=20log100.05+11

    • 低频幅值0dB
    • 高频时,幅值每十倍频率衰减20dB/dec
  • 相频特性
    相位从0°(低频)到-90°(高频)


5. 实际用途

  • 伺服驱动器厂家会用这个模型进行系统整定(比如自整定后自动识别出惯性和增益),用于评估闭环性能、抗扰能力。
  • 用户现场用扫频法测得的伯德图和这个理论模型对比,可以判断“调得是否好”,“带宽是多少”。

6. 简单代码例子(Python)

可以用以下代码画出这个传递函数的伯德图:

import numpy as np
import matplotlib.pyplot as plt

K = 1
T = 0.05
w = np.logspace(0, 3, 1000)  # 1~1000rad/s

H = K / (1j * w * T + 1)
mag = 20 * np.log10(np.abs(H))
phase = np.angle(H, deg=True)

plt.figure()
plt.subplot(2,1,1)
plt.semilogx(w, mag)
plt.ylabel('幅值[dB]')
plt.subplot(2,1,2)
plt.semilogx(w, phase)
plt.ylabel('相位[deg]')
plt.xlabel('角频率(rad/s)')
plt.show()

总结

  • 伺服驱动器的速度环/电流环等都能用传递函数描述!
  • 这样能用来做系统分析(如伯德图),也能更科学地进行控制器设计和整定。

细节

这些参数是一阶系统传递函数的典型参数,在伯德图、控制系统、伺服驱动应用里非常常见,下面我详细解释:


1. K 是什么?

  • K = 1
    这是系统的增益(Gain),也叫“放大倍数”。
  • 通俗理解:输入一个单位阶跃,稳态输出就是K。
  • 实际伺服驱动器里,如果K不是1,可能是有缩放关系(比如位置单位换算、传感器灵敏度等)。

2. T 是什么?

  • T = 0.05
    这是系统的时间常数(Time constant),单位秒(s)。

  • 一阶惯性环节传递函数通常为:

    G(s)=KTs+1 G(s) = \frac{K}{T s + 1} G(s)=Ts+1K

  • T越小,系统越快(带宽越高);T越大,系统越慢。

举例:

  • T=0.05秒,对应系统带宽约20Hz(带宽 ≈ 1/(2πT))。

3. w 是什么?

  • w = np.logspace(0, 3, 1000)
  • 这里的**w(ω)**是角频率(rad/s),常用于频率特性分析。
  • np.logspace(0, 3, 1000) 生成了从 10^0 = 1 到 10^3 = 1000 的1000个点(对数均匀分布)。

这些参数从哪来?

理论建模
  • 这些参数通常来自你对系统的数学建模,比如通过系统辨识、厂商手册、频率响应实验得到。
  • 比如某伺服系统实际传递函数大致是一阶惯性,你就可以用K和T来拟合。
实测辨识
  • 也可以通过扫频实验+伯德图分析,逆向推算K、T:

    • 低频段幅值≈0dB,对应K
    • -3dB处对应的频率,算出T
仿真/设计
  • 有时做理论仿真(比如MATLAB/Simulink里)也会假设一组典型参数(比如K=1,T=0.05),方便分析。

伺服驱动器应用举例

假设你的速度环近似为一阶系统:

G(s)=KTs+1 G(s) = \frac{K}{T s + 1} G(s)=Ts+1K

  • K 由伺服放大器、速度环增益等决定。
  • T 由负载惯量、摩擦、伺服参数共同决定。
  • 你扫频做完伯德图后,可以拟合出这两个参数(K、T)。

总结

  • K —— 系统输出对输入的放大倍数
  • T —— 响应快慢的时间常数
  • w —— 扫频/分析用的频率点

你实际用什么K、T,取决于你的实际系统或实验数据
理论仿真时随便设定一组也可以(常用K=1,T=0.05之类)。


为什么是-3db

“为什么用 -3dB 频率点算时间常数 T?”


一阶系统和 -3dB

一阶系统幅频特性:

G(jω)=K1+jωT G(j\omega) = \frac{K}{1 + j\omega T} G()=1+TK

它的幅值响应(以 dB 计):

∣G(jω)∣dB=20log⁡10∣K1+jωT∣ |G(j\omega)|_{dB} = 20\log_{10}\left|\frac{K}{1 + j\omega T}\right| G()dB=20log101+TK


-3dB 频率的物理意义

-3dB 的物理含义:
信号幅值下降到原来的 12\frac{1}{\sqrt{2}}21(约0.707)时,对应的频率。

-3dB带宽,是自动控制、信号处理、电子工程中定义“有效频带”的国际标准。


对一阶系统的意义

对一阶系统来说,-3dB点的频率 ωc 正好等于 1T\frac{1}{T}T1

推导如下:

  1. 幅值下降到 12\frac{1}{\sqrt{2}}21

    ∣11+jωT∣=11+(ωT)2 \left| \frac{1}{1 + j\omega T} \right| = \frac{1}{\sqrt{1 + (\omega T)^2}} 1+T1=1+(ωT)21

    11+(ωT)2=12  ⟹  1+(ωT)2=2  ⟹  (ωT)2=1  ⟹  ωT=1  ⟹  ω=1T \frac{1}{\sqrt{1 + (\omega T)^2}} = \frac{1}{\sqrt{2}} \implies 1 + (\omega T)^2 = 2 \implies (\omega T)^2 = 1 \implies \omega T = 1 \implies \omega = \frac{1}{T} 1+(ωT)21=211+(ωT)2=2(ωT)2=1ωT=1ω=T1

  2. 换算成 Hz:

    fc=ωc2π=12πT f_c = \frac{\omega_c}{2\pi} = \frac{1}{2\pi T} fc=2πωc=2πT1


为什么叫 -3dB?

因为:

20log⁡10(0.707)≈−3dB 20\log_{10}(0.707) \approx -3 \text{dB} 20log10(0.707)3dB


用法总结
  • 伯德图上,幅值从0dB开始,在某个频率点下降到-3dB
  • 这个频率点的横坐标就是系统的截止频率(带宽),其倒数就是时间常数T
  • 所以常用**-3dB点**来判定一阶系统的响应带宽和T

一句话总结

-3dB点频率是衡量一阶惯性环节“速度”的标准,等于 ωc=1/T\omega_c = 1/Tωc=1/T。在伯德图上,这个点很容易找到,所以就用它来推算T!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值