PID控制器采样周期的选择原则
什么是采样周期
采样周期(Sampling Period)是数字PID控制器中一个基础但关键的参数,用符号 $T_s$ 表示。它决定了控制器多久"看一眼"被控对象的当前状态,并计算一次新的控制输出。选得太快,浪费计算资源甚至引发振荡;选得太慢,系统响应迟钝甚至失控。本文提供一套可直接落地的选择方法。
第一步:理解采样周期与系统动态的关系
被控对象本身有其固有特性。想象一个水温控制系统:烧一大锅水需要十分钟才能升温十度,而电烙铁加热只需几十秒。这两种对象的"速度"完全不同,采样周期必须匹配这种速度。
核心原则:采样周期应远小于被控对象的主要时间常数。
工程上常用的经验公式:
$$T_s = \frac{T_{dominant}}{10} \sim \frac{T_{dominant}}{20}$$
其中 $T_{dominant}$ 是对象的主导时间常数(阶跃响应中达到63.2%稳态值所需的时间)。若对象有多个时间常数,取最大的那个。
实际判断方法:
- 打开 被控对象的阶跃响应曲线(现场测试或仿真获得)
- 估算 从起点上升到最终值63%所需的时间
- 计算 采样周期为上述时间的1/10到1/20
第二步:按闭环带宽确定采样周期
更精确的做法是从闭环控制性能出发。设期望的闭环系统带宽为 $\omega_b$(单位:rad/s),则采样频率 $\omega_s = \frac{2\pi}{T_s}$ 应满足香农采样定理的工程强化版:
$$\omega_s \geq (20 \sim 40) \cdot \omega_b$$
对应的采样周期:
$$T_s = \frac{2\pi}{(20 \sim 40) \cdot \omega_b} \approx \frac{0.15 \sim 0.3}{\omega_b}$$
若带宽用赫兹 $f_b$(Hz)表示,则:
$$T_s = \frac{1}{(20 \sim 40) \cdot f_b}$$
操作示例:设计伺服电机位置环,要求带宽100Hz
- 选取 采样频率为带宽的30倍:$f_s = 3000$ Hz
- 计算 采样周期:$T_s = \frac{1}{3000} \approx 333\ \mu s$
第三步:考虑被控对象的纯滞后时间
部分对象存在传输延迟或测量延迟,纯滞后时间记为 $\tau$。采样周期必须小于纯滞后时间,否则控制器会"漏看"关键动态:
$$T_s < \frac{\tau}{2}$$
若纯滞后占主导(如大滞后温度过程、皮带秤配料系统),需采用Smith预估补偿或选用更复杂的控制策略,此时采样周期的选择需配合算法调整。
第四步:验证抗干扰能力
采样周期影响系统对高频干扰的抑制能力。干扰频率 $f_d$ 与采样频率的关系:
| 干扰频率范围 | 系统响应特性 | 应对策略 |
|---|---|---|
| $f_d < \frac{f_s}{10}$ | 可被有效抑制 | 标准PID参数整定 |
| $\frac{f_s}{10} \leq f_d < \frac{f_s}{2}$ | 产生混叠,可能引发振荡 | 增加 前置滤波器,或提高采样频率 |
| $f_d \geq \frac{f_s}{2}$ | 完全混叠到低频,不可控 | 必须 在采样前用模拟滤波器切除 |
工程实践:加入 一阶惯性滤波,滤波时间常数 $T_f = (3 \sim 5) \cdot T_s$
第五步:执行机构的响应极限
控制器的输出最终驱动执行机构。执行机构有物理极限:
电动执行器
- 电机驱动:电流环通常1~10kHz,速度环100Hz~1kHz,位置环50~200Hz
- 对齐 采样周期与最内环的带宽需求
气动/液压执行器
- 阀门定位器响应:0.2~2秒
- 气缸动作:0.1~1秒
- 采样周期取0.05~0.2秒通常足够
加热/冷却设备
- 继电器输出:受限于机械寿命,周期不宜小于10秒
- 固态继电器/可控硅:可与采样周期同步,1~10秒
关键检查:若执行器是开关量输出(如继电器控温),采样周期应与脉冲宽度调制(PWM)周期一致或为其整数分之一。
第六步:数字PID算法的数值稳定性
离散化后的PID算法存在数值问题,采样周期选择需避开以下陷阱:
积分饱和的数值累积
积分项 $u_I(k) = u_I(k-1) + K_i \cdot T_s \cdot e(k)$
当 $T_s$ 过小时,若 $K_i$ 固定,积分累积过慢;若 $K_i$ 按 $\frac{K_p}{T_i}$ 计算,过小的 $T_s$ 会导致 $K_i$ 过小,需配合调整。
微分项的高频噪声放大
微分项 $u_D(k) = K_d \cdot \frac{e(k)-e(k-1)}{T_s}$
$T_s$ 越小,相同的测量噪声被放大得越严重。工程上常加入微分先行或滤波:
$$\text{实际微分} = \frac{K_d \cdot s}{T_f \cdot s + 1}$$
离散化后,$T_f$ 取 $(5 \sim 10) \cdot T_s$
参数整定的自适应调整
若改变采样周期,PID参数需重新换算。设原参数 $(K_p, T_i, T_d)$ 对应周期 $T_{s0}$,新周期 $T_{s1}$:
| 参数 | 换算公式 |
|---|---|
| 比例增益 $K_p$ | 保持不变 |
| 积分时间 $T_i$ | 保持不变(但 $K_i = \frac{K_p \cdot T_s}{T_i}$ 随 $T_s$ 变) |
| 微分时间 $T_d$ | 保持不变(但 $K_d = \frac{K_p \cdot T_d}{T_s}$ 随 $T_s$ 变) |
或采用更直接的位置式系数调整:
- $K_i^{new} = K_i^{old} \cdot \frac{T_{s1}}{T_{s0}}$
- $K_d^{new} = K_d^{old} \cdot \frac{T_{s0}}{T_{s1}}$
第七步:实际系统调试流程
将上述原则转化为可执行的步骤:
-
获取 被控对象的阶跃响应或频率响应数据(现场测试或理论分析)
-
估算 主导时间常数 $T_{dominant}$ 和纯滞后 $\tau$
-
初定 采样周期:
- 按时间常数:$T_s^{(1)} = \frac{T_{dominant}}{15}$
- 按期望带宽:$T_s^{(2)} = \frac{1}{30 \cdot f_b}$(若有带宽指标)
- 按纯滞后:$T_s^{(3)} = \frac{\tau}{4}$
- 取 三者中的最小值作为候选
-
检查 执行机构响应能力和硬件定时器分辨率,必要时向上调整
-
配置 前置滤波器,时间常数 $T_f = 5 \cdot T_s$
-
整定 PID参数(Ziegler-Nichols、Cohen-Coon或试凑法)
-
测试 阶跃响应,观察超调、调节时间和稳态精度
-
微调 采样周期:若响应振荡,增大 $T_s$ 或加强滤波;若响应迟钝,减小 $T_s$
典型应用场景速查
| 应用类型 | 主导动态 | 推荐采样周期 | 关键注意点 |
|---|---|---|---|
| 直流电机电流环 | 电枢时间常数1~10ms | 50~200 μs | 需与PWM频率同步 |
| 直流电机速度环 | 机电时间常数10~100ms | 1~10 ms | 编码器分辨率限制 |
| 伺服电机位置环 | 带宽50~500Hz | 0.5~2 ms | 避免与机械谐振频率重合 |
| 温度控制(小对象) | 时间常数10~60s | 1~5 s | 继电器输出需延长周期 |
| 温度控制(大对象) | 时间常数5~30min | 10~60 s | 大滞后需特殊算法 |
| 液位控制 | 时间常数1~10min | 5~30 s | 测量噪声大,加强滤波 |
| 压力控制 | 响应快,管网有容性 | 0.1~1 s | 避免与泵/压缩机启停周期冲突 |
| 流量控制 | 管道传输延迟 | 0.2~2 s | 纯滞后补偿或采样周期<τ/2 |
高级考量:变采样周期与事件驱动
部分现代控制系统采用非周期采样:
自适应变周期
- 误差大时缩短 $T_s$ 加快响应
- 误差小时延长 $T_s$ 节省资源
- 切换时重新计算 PID系数或保持积分项连续
事件触发控制
- 仅在测量值变化超过阈值或设定值改变时触发控制计算
- 适用于网络控制系统或电池供电设备
- 需额外设计触发条件和稳定性保证机制
多速率采样
- 被控对象输出采样快(如电流1kHz),控制器输出更新慢(如速度100Hz)
- 内环快采样保证稳定性,外环慢采样降低计算负担
- 设计时需考虑速率转换的同步和抗混叠
常见错误与纠正
错误一:采样周期越短越好
- 问题:计算负荷过大,微分项噪声敏感,量化误差累积
- 纠正:满足 $T_s \leq \frac{T_{dominant}}{10}$ 即可,过短无收益
错误二:改变采样周期不调PID参数
- 问题:原稳定系统变得振荡或迟钝
- 纠正:按第六步公式重新换算积分和微分系数
错误三:忽视测量环节的延迟
- 问题:传感器滤波、通信传输引入的等效滞后
- 纠正:将总延迟计入 $\tau$,按第三步约束 $T_s$
错误四:所有控制环用同一采样周期
- 问题:快环响应不足,慢环计算浪费
- 纠正:按各环动态特性分别设计,必要时采用多速率结构

暂无评论,快来抢沙发吧!