自动控制原理入门:从反馈控制到数学模型的完整梳理
2026/9/9 12:44:37 网站建设 项目流程

很多人第一次翻开《自动控制原理》教材,第一节课就被“自动控制的一般概念”和“数学模型的建立”这两块内容砸晕。明明每个字都认识,串起来却完全不知道在说什么:反馈、偏差、被控对象、传递函数……直到后来自己动手做过几个控制系统,再回头看才发现,这门课真正的逻辑非常朴素——先搞清楚什么叫自动控制,再把物理世界翻译成数学语言。这篇笔记就是沿着这条主线整理的:前半部分梳理自动控制的一般概念,后半部分说清控制系统的数学模型是怎么搭起来的。适合正在啃教材、觉得概念零散、想建立整体框架的初学者,也适合做项目时快速回顾基础知识。

1. 自动控制的起点:一个系统什么时候才算“自动”

1.1 从人工控制到自动控制:把人的工作拆给机器

讲自动控制之前,先想一个最简单的水箱水位例子。如果让你手动把水箱水位保持在50%,你会怎么做?

你要先用眼睛读刻度,知道当前水位是35%,心里跟目标值50%比一下,发现差了15%,然后伸手去开大进水阀;等水位到了接近50%,再慢慢关小阀门。整个过程看起来平常,但拆开就是三个动作:观测、判断、执行。

自动控制干的事,就是把这三步分别交给测量元件、控制装置和执行机构。眼睛换成液位传感器,大脑换成控制器,手换成调节阀。这时候系统就能自己完成“保持水位50%”这件事了。

这里有几个贯穿全书的概念必须先立住:

  • 被控对象:被控制的设备或过程,比如水箱、电机、加热炉。
  • 被控量:你真正关心的输出量,比如水位、转速、温度。
  • 给定量/参考输入:希望被控量达到的值,比如水位50%、转速1500转。
  • 扰动:让被控量偏离期望值的外部因素,比如用水量突然变大、电网电压波动。
  • 控制量:控制器输出给执行机构的量,比如阀门开度、电机电压。

你会发现,后面所有章节的推导,本质上都绕不开这五个词。学控制理论最大的门槛不是数学,而是你能不能把任何一个实际问题都精准地映射到这五个词上。

1.2 开环控制与闭环控制:一个反馈带来的质变

根据控制信号的通路,控制系统可以分为开环控制和闭环控制。这个分类几乎是全书的起点。

开环控制的结构非常简单:输入直接经过控制器和执行机构到达被控对象,输出端不再回头影响输入。经典例子是定时洗衣机——你设定好洗涤时间,电机就按程序正转反转,洗完之后停。它不管衣服到底洗干净没有。

闭环控制则多了一条从输出端返回到输入端的通路,这条通路叫反馈。电热水器就是典型:温度传感器测到水温,和目标温度比较,有偏差就继续加热,到温度了就停止。整个过程不需要人干预,系统自己在修正。

两者的差异我用一张表说明:

对比项开环控制闭环控制
结构单向通路,无反馈有反馈通路
精度低,受扰后无法修正高,按偏差自动修正
成本较高,需要传感器和比较环节
稳定性不存在稳定问题可能产生振荡甚至不稳定
适用场景扰动小、精度要求低的场合扰动大、性能要求高的场合
典型例子步进电机定位、普通程序控制空调温控、电机调速、无人机姿态

开环并不等于“落后”。精度要求不高、外部干扰又可控的场合,开环结构简单可靠、成本低,很多工业设备至今仍在使用。但如果你面临的是负载突变、电源波动、参数漂移,开环就无能为力了,这时候必须上闭环。

1.3 为什么负反馈是闭环系统的灵魂

闭环里用的反馈绝大多数是负反馈,也就是把输出信号反相后与给定值做比较。比较结果是偏差:偏差 = 给定值 - 反馈值。

系统按偏差工作:偏差大,控制作用就强;偏差小了,控制作用就减弱;偏差为零,控制作用稳定下来。正因为负反馈天生就有“自己跟自己过不去”的纠错能力,它才能自动抑制扰动的影响,也能在被控对象参数发生变化时维持输出基本不变。

代价是什么?代价是引入了稳定性问题。负反馈信号绕一圈回来,如果相位不对,可能变成正反馈——不但不纠偏,反而越纠越偏,最终振荡起来。所以“闭环”不是灵丹妙药,它把开环没有的稳定性问题一并带进来了。这一点在后面分析系统动态特性时,会成为贯穿始终的主线。

顺带提一句,正反馈也不是毫无用处,很多振荡器、信号发生器就是靠正反馈工作的。但在自动控制的主回路里,几乎总是负反馈,这一点建议直接记住。

2. 看穿一台控制设备:组成、分类与信号流向

2.1 典型控制系统的“六件套”

几乎所有闭环控制系统,都可以抽象成同一套结构。教科书上通常列出一大串元件名称,看着吓人,其实就六类:

给定元件给出参考输入,比较元件完成给定值与反馈值的相减,串联在校正位置的是控制器或校正装置,它后面跟着放大元件和执行机构,执行机构直接驱动被控对象,而测量元件从输出端取样并送回比较元件。

用一个蒸汽加热器温度控制来串一遍:你设定温度80℃,这个设定值由给定电位器给出;温度传感器测到实际温度75℃,反馈电压和设定电压在比较器里相减,得到偏差信号;偏差经过控制器运算后送给晶闸管调压器,改变加热丝功率;温度上升,传感器反馈值变大,偏差变小,直到稳定在80℃附近。

这里面有一个很容易被忽略的关键点:测量元件的精度决定了整个系统的控制上限。你控制器算得再准,执行机构做得再精细,如果温度传感器本身误差有±3℃,那系统最终的稳态精度也最多就±3℃。我做项目时习惯先确认“测得到、测得准”,再去设计控制器,这能省下后面一大半调试时间。

2.2 从三个维度看控制系统的分类

教材上给控制系统分类的角度很多,没必要一次全记住,但下面三个维度一定要留个印象:

按给定信号的形式分:

  • 恒值控制系统:给定值是固定的,任务是克服扰动把被控量稳住。稳压电源、恒温箱、调速系统都属于这一类。
  • 随动控制系统:给定值不断变化,要求输出快速、准确地跟随给定值。雷达天线跟踪目标、伺服电机定位都算。
  • 程序控制系统:给定值按预先设定的时间程序变化,比如数控机床按G代码走刀。

按系统是否满足叠加原理分:

  • 线性系统:可以用线性微分方程描述,满足齐次性和叠加性。经典控制理论研究的大多数对象都假设是线性系统。
  • 非线性系统:含有饱和、死区、间隙、摩擦等非线性特性,叠加原理失效,分析方法完全不同。

按信号时间特性分:

  • 连续系统:各处信号都是连续时间函数。
  • 离散系统:系统中存在采样开关或数字计算机,信号以脉冲序列或数字序列形式传递。

现在很多实际系统都是“数字控制器 + 连续被控对象”的混合结构,分析时通常用采样周期把连续对象离散化,再统一处理,这也是后面离散控制章节的入口。

2.3 拿到一台设备,先回答三个问题

在项目里看到一个控制系统,我习惯先做一道“三问”:

  • 被控对象到底是什么?是电机轴、温度场还是液体流量?
  • 被控量是哪个物理量?转速、位移、温度还是压力?
  • 执行机构和测量元件分别在哪?是伺服电机加编码器,还是加热丝加热电偶?

这三个问题回答清楚了,控制系统的框架就自动浮出来了。举两个例子。无人机俯仰姿态控制:被控对象是机体,被控量是俯仰角,执行机构是舵机/电机带动螺旋桨,测量元件是陀螺仪和加速度计。变频空调:被控对象是房间空气,被控量是室内温度,执行机构是变频压缩机,测量元件是温度传感器。

你可以试试,随便找一个带自动功能的设备,只要能答全这三问,它的控制逻辑大概就懂了一半。

3. 控制系统的性能尺度:稳、准、快

3.1 稳定性:一切性能的前提

一个控制系统连稳定都做不到,后面谈什么都白搭。稳定性说的是:系统在扰动作用下偏离了原来的平衡状态,当扰动消失后,它能自动回到原来的平衡状态。

最常见的生活类比是小球。凹面底部的小球,你推它一下,它滚出去又滚回来,最终停在最低点,这是稳定的平衡状态。凸面顶部的小球,你轻轻一推就滚走回不来,这就不稳定。系统不稳定时,哪怕输入只有一点点变化,输出也可能越摆越大,最终撞到物理限幅或者彻底发散。

在经典控制理论里,稳定性判定最终会归结到特征方程的根在复平面上的位置,也就是后面根轨迹法和奈奎斯特判据要解决的问题。现在只需要先有这个概念:稳定性描述的是系统固有的动态性质,跟输入信号是什么形式基本无关。

3.2 动态性能:从阶跃响应看“快”和“稳”

给一个系统输入一单位阶跃信号,观察它的输出响应曲线,就能看出系统的动态品质。常用的指标包括:

  • 上升时间:输出从稳态值的10%上升到90%所需的时间(也有定义成从0到第一次到达稳态值的时间),它反映了响应的快慢。
  • 峰值时间:输出到达第一个峰值的时间。
  • 超调量:输出最大值超出稳态值的百分比。超调大说明系统“冲过头”了,动态过程不那么平稳。
  • 调节时间:输出进入并停留在稳态值±5%(或±2%)误差带内所需的最短时间,它是动态过程总体快慢的综合指标。
  • 振荡次数:调节时间内输出波动的次数。

这几个指标之间的关系其实是一体两面。系统阻尼偏小时,超调量大、振荡次数多,但上升时间短;阻尼偏大时,响应平稳但慢吞吞。实际工程里常见的选择是把阻尼比调在0.4到0.8之间,兼顾快速性和平稳性。

3.3 稳态精度:系统跑完多久才能“准”

动态过程结束之后,系统进入稳态,这时输出与给定值之间往往还残留一个差值,叫稳态误差。稳态误差为零的系统当然最理想,但实际系统因为增益有限、结构限制,通常达不到。

这里引出控制系统“型别”的概念:开环传递函数里有几个积分环节,系统就是几型系统。0型系统跟踪阶跃输入时有有限稳态误差;1型系统跟踪阶跃输入误差为零,但跟踪斜坡输入仍有常数误差;2型系统跟踪斜坡输入误差为零,跟踪加速度输入有常数误差。换句话说,积分环节越多,系统消除稳态误差的能力越强,但稳定性也越容易被破坏。

这个“型别”概念跟后面静态误差系数的计算是绑在一起的,现在先理解成“系统吃不吃得下某种输入信号”就行。

3.4 稳、准、快是三个互相打架的指标

初学者最容易踩的坑是以为这三个指标可以同时做到最好,实际上它们彼此制约:

  • 提高开环增益可以减小稳态误差,但增益一大,系统阻尼比下降,超调量增大,甚至不稳定。
  • 加入积分环节能消除某个典型输入的稳态误差,但积分环节带来相位滞后,通常会让系统的稳定性恶化,容易振荡。
  • 想加快响应速度,减小上升时间,往往就要牺牲超调量和调节时间。

我用PID参数整定举个直观例子。温控系统P值太小,温度慢慢蹭上去,半天到不了目标;P值调大,升温快了,但温度开始过冲,反复振荡;加I之后静差没了,但超调又变大;再加D提前刹车,才把振荡压住。整定的过程本质就是在稳准快之间找一个平衡点,不存在一个参数能把这三点同时推到最优。

4. 从物理系统到数学模型:微分方程的建立

4.1 为什么要绕这么大一圈去建模

真实系统是看得见摸得着的,为什么非要用数学式子去描述它?因为不写成数学模型,你就没法做定量计算,没法预测系统在某种输入下的响应。就像医生不能光靠一句“感觉不太好”来诊断,必须看体温、血压、血液指标这些量化数据,控制工程师也需要把系统的动态行为用数学语言固定下来,才能分析、仿真、设计控制器。

控制领域绝大多数数学工具,从拉普拉斯变换到传递函数,从根轨迹到频域分析,全都建立在被控对象有数学模型这个前提上。模型错了,后面一切分析都是空中楼阁。

4.2 列写微分方程的四个通用步骤

用机理法建模,本质上就是按物理定律列方程,步骤非常固定:

  1. 明确输入量和输出量。先分清谁是原因、谁是结果,这是建模的边界条件。
  2. 根据物理规律列写原始方程。力学系统用牛顿第二定律,电路系统用基尔霍夫定律,热力系统用能量守恒定律,流体系统用流量连续性方程。
  3. 消去中间变量。把方程组里不想要的中间量一点点带掉,只保留输入、输出以及系统参数。
  4. 整理成标准形式。把输出量及其各阶导数放左边,输入量放右边,系数归一化,写成类似m y'' + c y' + k y = F(t)的形式。

第四步非常重要,标准形式能让后面求传递函数时直接“照抄”系数,还能顺便判断系统阶数。

4.3 力学系统实例:质量—弹簧—阻尼

几乎所有机械振动系统最后都会化成一个质量-弹簧-阻尼模型,它的应用范围从汽车悬挂到建筑抗震都在覆盖。假设外力 F(t) 作用在质量 m 上,弹簧刚度 k,阻尼系数 c,输出是位移 y(t)。对质量块做受力分析:

  • 外力 F(t) 是输入;
  • 弹簧产生与位移成正比的恢复力 ky;
  • 阻尼器产生与速度成正比的阻力 c y';
  • 根据牛顿第二定律,合力等于 m y''。

于是得到方程:

m y''(t) + c y'(t) + k y(t) = F(t)

每一项的物理意义都清晰对应。二阶系统之所以在工程里到处都是,就是因为大量系统同时包含“储能”和“耗能”两个要素,储能对应惯性项或弹性项,耗能对应阻尼项,自然就凑出二阶微分方程。

4.4 电学系统实例:RLC电路

再看一个外行觉得完全不同、但数学家一看就笑的电路例子。RLC串联电路,输入电压 u(t),输出电容两端电压 u_c(t)。基尔霍夫电压定律给出:

u(t) = R i(t) + L di/dt + u_c(t)

再由电容的电流关系i = C du_c/dt,代进去整理得到:

LC u_c''(t) + RC u_c'(t) + u_c(t) = u(t)

把这个式子跟质量-弹簧-阻尼的方程对比一下:电感对应质量,电阻对应阻尼,电容的倒数对应弹簧刚度。两边结构完全一样,只是物理量替换了一下。这种“力-电压类比”非常有用,因为你在一个领域积累的直觉,可以迁移到另一个看起来毫无关系的领域。

4.5 线性化:为什么教材都围绕线性系统转

上面两个例子是理想的线性模型,但真实世界几乎没有绝对的线性。弹簧在大载荷下会非线性,电阻会随温度变化,阀门流量特性本身就不是直线。如果方程是非线性的,经典控制理论那一整套解析工具基本都用不了了。

所以工程上引入了一个非常重要的手段:在工作点附近做线性化处理。把非线性函数在平衡工作点处做泰勒展开,保留一阶项,忽略高阶小量,得到一个小偏差范围内的线性方程。

这个做法有一个必须遵守的前提:系统只能在工作点附近做小范围运动。如果被控量来回大跳、结构上有不可忽略的饱和特性或死区,线性化模型就会失真。比如一个继电器控制系统,输出只有开和关两个状态,你怎么线性化都不像一条直线,这种对象就不能硬套线性模型。

5. 拉普拉斯变换与传递函数:数学模型的“工作语言”

5.1 拉普拉斯变换到底解决了什么问题

微分方程虽然能精确描述系统,但解起来太麻烦。尤其遇到高阶系统、初始条件复杂的情况,手动解微分方程解到怀疑人生。

拉普拉斯变换的核心作用,是把时域里的微分方程变成复频域里的代数方程。原来要做的微积分运算,全部变成关于复数变量 s 的乘除法。解完代数方程之后,再反变换回时域,就能得到系统的时间响应。

初学阶段真的不需要死记那个定义式,更实用的做法是记一张常用变换表:

时域函数 f(t)拉氏变换 F(s)
单位冲激 δ(t)1
单位阶跃 1(t)1/s
单位斜坡 t1/s^2
指数函数 e^{-at}1/(s+a)

真正做分析时,手算反变换也是查表加部分分式展开。脑子里有这张表,后面所有传递函数相关的推导就顺了。

5.2 传递函数:系统结构的“身份证”

在零初始条件下,对系统的线性定常微分方程两边做拉普拉斯变换,整理后得到输出拉氏变换 Y(s) 与输入拉氏变换 R(s) 之比:

G(s) = Y(s) / R(s)

这个 G(s) 就叫传递函数。它有两条重要性质值得单独划重点:

第一,传递函数只取决于系统本身的结积参数,与输入信号无关。同一个系统,不管输入是阶跃、斜坡还是正弦,传递函数都不变。它是系统的固有属性,相当于系统的“身份证”。

第二,传递函数分母多项式叫特征多项式,分母等于零就是特征方程,特征方程的根决定了系统的稳定性。以后学劳斯判据、根轨迹、奈奎斯特判据,追根溯源都是围着特征方程转。

这里还想多说一个容易踩的坑:教材里为了简化计算,经常允许分子分母约掉公共因子。但在工程实际中,约掉的零极点可能意味着某些内部状态从输入端不可控制,或者从输出端不可观测,直接约分会掩盖真实系统的隐患。初学阶段跟着教材约分没问题,做项目写报告时至少要意识到这一步不是无代价的。

5.3 典型环节:控制系统的“零件库”

任何复杂系统,传递函数拆开之后都是由若干典型环节组合而成的。熟悉这些环节,等于手里有了一套标准零件库。

环节名称传递函数时域响应特征常见物理实例
比例环节K输出与输入成比例、无延迟电位器、齿轮副、放大器
惯性环节K/(Ts+1)阶跃响应指数上升,时间常数TRC电路、电机发热过程
积分环节K/s阶跃响应随时间直线上升水箱液位、电容充电
微分环节Ks输出正比于输入变化率测速发电机(近似)
振荡环节ω_n^2/(s^2+2ζω_n s+ω_n^2)阶跃响应可能振荡,取决于ζ质量-弹簧-阻尼、RLC电路
延迟环节e^{-τs}输出延迟τ后才开始响应管道传输、输送带
一阶微分环节K(Ts+1)输出含输入导数项RC超前校正网络

这里有个值得说的细节:纯粹的微分环节在物理上无法独立实现,因为理想微分器会放大高频噪声,实际做到的都是“带惯性的微分”。学这几类环节时,最好把每个环节都对应到一个你能想到的实物上,否则后面方块图化简你就是会算,也不知道算出来的东西对不对。

5.4 方块图化简与闭环传递函数

把多个环节用信号线连起来,就成了方块图。方块图里有四种元素:信号线、表示环节的方框、表示信号相加的求和点、表示信号分路的分支点。

化简规则不多,三条够用:

  • 串联环节相乘:两个传递函数首尾相接,等效传函为G1(s) * G2(s)
  • 并联环节相加:等效传函为G1(s) + G2(s)
  • 负反馈连接:前向传函 G(s),反馈传函 H(s),等效闭环传函G(s)/(1+G(s)H(s))

举一个非常常见的例子:电机转速开环特性近似为一阶惯性K/(Ts+1),加入单位负反馈后,闭环传递函数为:

G(s)/(1+G(s)) = K/(Ts+1) / (1 + K/(Ts+1)) = K/(Ts+1+K)

整理一下,闭环系统仍然是一个惯性环节,时间常数变成了T/(1+K)。这意味着什么?加入负反馈之后,系统响应变快了,因为等效时间常数变小了;但稳态增益也变成了K/(1+K),小于1,说明跟着跟着就会差一点。想消除这个静差,就得加入积分环节提升系统型别。这一小段分析,已经把“反馈改变系统动态性能”这个核心结论清清楚楚地推到公式层面了。

实际化简方块图时,建议每做一步就检查一次量纲,至少确认信号在求和点处是同一物理量、单位一致。这是新手最容易忽略的坑。

6. 建模实操中的坑与我的使用习惯

6.1 三个让你白干一夜的小问题

理论推导做得再漂亮,落到实际建模和仿真时,翻车的往往是几个“小问题”。

单位不统一。我见过真实项目里有人把电机轴惯量用kg·cm^2表示,而力矩常数用N·m/A,最后算出来的加速度差了好几个数量级。建模前先把所有物理量统一到国际单位制,转速用 rad/s,惯量用 kg·m^2,力矩用 N·m,这是最省事的办法。

参考方向不统一。力学系统里力的正方向、位移正方向、速度正方向要一致;电路系统里电流参考方向、电压参考方向要一致。建模时一旦方向反了,方程的符号就全乱,闭环一加就直接发散。

初始条件遗漏。传递函数是在零初始条件下定义的,但实际系统上电时可能有初速度、有初始位移、电容有初始电压。这些初值不会进入传递函数,但会影响仿真初始响应,对比理论曲线时长就对不上。

6.2 模型参数从哪里来:三条路径

微分方程的形式容易搭,困难的是参数。对一个一阶惯性环节K/(Ts+1),K 和 T 从哪来?

第一条路是查厂家资料和铭牌。电机有额定转矩、额定转速,加热器有功率,这些参数可以直接写进模型。但要注意厂家给的都是标称值,实际设备可能存在 ±10% 的偏差。

第二条路是实验辨识。最经典的是阶跃响应法:给系统输入一个阶跃信号,记录输出曲线。对一阶惯性环节,输出从初始值上升到稳态值的63.2%处所花的时间就是时间常数 T;稳态输出增量除以输入阶跃幅值就是比例系数 K。这个方法的优点是不需要任何额外设备,一个数据采集器加一个阶跃激励就够了。

第三条路是仿真拟合法。在仿真软件里搭建模型,调参数让仿真响应跟实测数据拟合,目标函数可以是绝对误差平方和。这本质上是一个优化问题,有经验的人一两轮就能调出合理的参数。

6.3 哪些因素可以忽略,什么时候不能忽略

建模不是越细越好,关键是“用得上”。如果项目关心的是工作频率范围附近的动态,那些远离这个频段的小惯性环节可以合并成一个等效小时间常数,因为它们在感兴趣的频段内影响很小。

但有些情况绝对不能拍脑袋忽略:

  • 干摩擦和非线性死区在低速精密运动控制里是致命问题,会引起爬行和稳态极限环振荡;
  • 机械传动间隙在换向时会产生回程误差,如果控制器带宽又高,很容易激发振荡;
  • 长管道传输的纯延迟环节在高精度温度控制里会导致控制严重滞后,忽略延迟会让你的仿真“过分乐观”。

所以“模型忽略什么东西”是一个取决于任务目标的判断。同一个水箱,做液位控制时可以把阀门动态忽略,做快速随动时就得算上执行机构的响应时间。

6.4 从模型到仿真验证的完整闭环

建好模型之后,我习惯按这个顺序验证:

  1. 先搭仿真模型跑开环阶跃响应,跟理论推导的解析解对比,确认微分方程和传递函数没有抄错。
  2. 加上负反馈,观察闭环响应是否跟预期的超调量、调节时间一致。
  3. 把仿真结果跟实际系统的实验数据放到同一张图上比,看趋势对不对。
  4. 如果差距明显,先回查机理假设是不是有遗漏,而不是盲目去调参数凑数。
  5. 参数修正后重新仿真,再把可能的工作点偏移范围扫一遍,确认模型在该范围内都可用。

这一步的重要性很容易被低估。很多时候模型推完了,公式也对,但塞进仿真就发散,最后查到原因往往是求和点符号反了或者单位没统一。仿真存在的意义就是让你用一个低成本的虚拟环境把模型里的低级错误全部筛掉,等到上真机的时候,你已经对系统行为有准确的预期。

另外补充一个长期实践后的体会:对同一个被控对象,因为分析目的不同,可以建出好几个不同的模型。研究稳态精度时可以用简化线性模型,研究抗扰特性时可能得加上扰动通道的模型,研究极限工况时又得考虑饱和非线性。模型不是越复杂越好,而是越匹配当前问题越好。

如果你读到这儿,正准备开始做第一个控制系统的建模练习,我的建议是:找一台你身边最常见的设备,比如家里的风扇或者加热器,用三问法拆解它的控制结构,再用机理法写出它的微分方程,最后用仿真或者实际数据验证一遍。这个过程走通一次,你对“自动控制的一般概念”和“控制系统数学模型”这两块内容的感受,会比翻十遍教材都深刻。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询