PID控制详解
PID 控制原理和特点 工程实际中,应用最为广泛调节器控制规律为比例、积分、微分控制,简称 PID 控制,又称 PID 调节。PID 控制器问世至今已有近 70 年历史,它以其结构简单、稳定性好、工作可靠、 调整方便而成为工业控制主要技术之一。 当被控对象结构和参数不能完全掌握, 或不到精确 数学模型时, 控制理论其它技术难以采用时, 系统控制器结构和参数必须依靠经验和现场调 试来确定, 这时应用 PID 控制技术最为方便。 即当我们不完全了解一个系统和被控对象﹐或 不能有效测量手段来获系统参数时,最适合用 PID 控制技术。PID 控制,实际中也有 PI 和 PD 控制。PID 控制器就是系统误差,利用比例、积分、微分计算出控制量进行控制。 1、比例控制(P): 比例控制是最常用的控制手段之一, 比方说我们控制一个加热器的恒温 100 度, 当开始加热 时,离目标温度相差比较远,这时我们通常会加大加热,使温度快速上升,当温度超过 100 度时,我们则关闭输出,通常我们会使用这样一个函数 e(t) = SP – y(t)- u(t) = e(t)*P SP——设定值 e(t)——误差值 y(t)——反馈值 u(t)——输出值 P——比例系数 滞后性不是很大的控制对象使用比例控制方式就可以满足控制要求, 但很多被控对象中因为 有滞后性。 也就是如果设定温度是 200 度,当采用比例方式控制时,如果 P 选择比较大,则会出现当温 度达到 200 度输出为 0 后,温度仍然会止不住的向上爬升,比方说升至 230 度,当温度超过 200 度太多后又开始回落,尽管这时输出开始出力加热,但温度仍然会向下跌落一定的温度 才会止跌回升,比方说降至 170 度,最后整个系统会稳定在一定的范围内进行振荡。 如果这个振荡的幅度是允许的比方说家用电器的控制,那则可以选用比例控制 2、比例积分控制(PI): 积分的存在是针对比例控制要不就是有差值要不就是振荡的这种特点提出的改进, 它常与比 例一块进行控制,也就是 PI 控制。 其公式有很多种,但大多差别不大,标准公式如下: u(t) = Kp*e(t) + Ki∑e(t) +u0 u(t)——输出 Kp——比例放大系数 Ki——积分放大系数 e(t)——误差 u0——控制量基准值(基础偏差) 大家可以看到积分项是一个历史误差的累积值, 如果光用比例控制时, 我们知道要不就是达 不到设定值要不就是振荡, 在使用了积分项后就可以解决达不到设定值的静态误差问题, 比 方说一个控制中使用了 PI 控制后,如果存在静态误差,输出始终达不到设定值,这时积分 项的误差累积值会越来越大, 这个累积值乘上Ki后会在输出的比重中越占越多, 使输出u(t) 越来越大,最终达到消除静态误差的目的 PI 两个结合使用的情况下,我们的调整方式如下: 1、先将 I 值设为 0,将 P 值放至比较大,当出现稳定振荡时,我们再减小 P 值直到 P 值不 振荡或者振荡很小为止(术语叫临界振荡状态),在有些情况下,我们还可以在些 P 值的基 础上再加大一点。 2、加大 I 值,直到输出达到设定值为止。 3、等系统冷却后,再重上电,看看系统的超调是否过大,加热速度是否太慢。 通过上面的这个调试过程, 我们可以看到 P 值主要可以用来调整系统的响应速度, 但太大会 增大超调量和稳定时间;而 I 值主要用来减小静态误差。 (超调量也叫最大偏差(maximum deviation)或过冲量。偏差是指被调参数与给定值的差。 对于稳定的定值调节系统来说, 过渡过程的最大偏差就是被调参数第一个波峰值与给定值的 差 A。随动调节系统中常采用超调量这个指标 B。在 y(∞)不等于给定值时:超调量 =[Y(Tm)-Y(∞)]/Y(∞)×100%,(A—最大偏差;B—超调量)。超调量是指输出量的最大值 减去稳态值,与稳态值之比的百分数,二阶系统稳态输出为最大输出在峰值时为最大,把 tm 代入输出公式,减 1 除 t 等于把ξ代入,可求出%表达式。超调量只与阻尼比与有关。对 于 RLC 二阶系统,阻尼比ξ=L/2R * sqrt(1/(LC)),ξ越大,超调量越小。) pid 算法 控制点目前包含三种比较简单的PID控制算法,分别是:增量式算法,位置式算法,微分 先行。这三种是最简单的基本算法,各有其特点,一般能满足控制的大部份要求: 1、PID 增量式算法 离散化公式(注:各符号含义如下): u(t)----- 控制器的输出值。 e(t)----- 控制器输入与设定值之间的误差。 Kp------- 比例系数。 Ti------- 积分时间常数。 Td------- 微分时间常数。 T-------- 调节周期。 2、积分分离法 离散化公式: Δu(t) = q0e(t) + q1e(t-1) + q2e(t-2) 当|e(t)|≤β时 q0 = Kp(1+T/Ti+Td/T) q1 = -Kp(1+2Td/T) q2 = Kp Td /T 当|e(t)|>β时 q0 = Kp(1+Td/T) q1 = -Kp(1+2Td/T) q2 = Kp Td /T u(t) = u(t-1) + Δu(t) 注:各符号含义如下 u(t)----- 控制器的输出值。 e(t)----- 控制器输入与设定值之间的误差。 Kp------- 比例系数。 Ti------- 积分时间常数。 Td------- 微分时间常数。(有的地方用“Kd“表示) T-------- 调节周期。 β------- 积分分离阈值 3、微分先行 PID 算法 离散化公式: u(t)----- 控制器的输出值。 e(t)----- 控制器输入与设定值之间的误差。 Kp------- 比例系数。 Ti------- 积分时间常数。 Td------- 微分时间常数。(有的地方用“Kd“表示) T-------- 调节周期。 β------- 积分分离阈值 PID 控制: 因为 PI 系统中的 I 的存在会使整个控制系统的响应速度受到影响,为了解决这个问题,我 们在控制中增加了 D 微分项,微分项主要用来解决系统的响应速度问题,其完整的公式如 下: u(t) = Kp*e(t) + Ki∑e(t) + Kd[e(t) – e(t-1)]+u0 在 PID 的调试过程中,我们应注意以下步骤: 1、 关闭 I 和 D,也就是设为 0.加大 P,使其产生振荡; 2、 减小 P,找到临界振荡点; 3、 加大 I,使其达到目标值; 4、重新上电看超调、振荡和稳定时间是否吻合要求; 5、 针对超调和振荡的情况适当的增加一些微分项; 6、 注意所有调试均应在最大负载的情况下调试, 这样才能保证调试完的结果可以在全工作 范围内均有效; PID 控制器参数整定 PID控制器参数整定是控制系统设计核心内容。 它是被控过程特性确定PID控制器比例系数、 积分时间和微分时间大小。PID 控制器