位置式 PID 控制算法和增量式 PID 控制算法

数字 PID 控制算法通常分为位置式 PID 控制算法和增量式 PID 控制算法

一、位置式 PID 算法 :

 e(k): 用户设定的值(目标值) - 控制对象的当前的状态值 

比例P :  e(k)

积分I :e(i)   误差的累加

微分D : e(k) - e(k-1) 这次误差-上次误差

也就是位置式PID是当前系统的实际位置,与你想要达到的预期位置的偏差,进行PID控制

因为有误差积分 ∑e(i),一直累加,也就是当前的输出u(k)与过去的所有状态都有关系,用到了误差的累加值;(误差e会有误差累加),输出的u(k)对应的是执行机构的实际位置,,一旦控制输出出错(控制对象的当前的状态值出现问题 ),u(k)的大幅变化会引起系统的大幅变化

并且位置式PID在积分项达到饱

### 位置式PID控制算法的实现原理 位置式PID控制是一种基于误差累积的方式,其核心在于通过比例项、积分项微分项共同作用于系统的输出。具体而言,位置式PID控制器的输出可以表示为: \[ u(t) = K_p e(t) + K_i \int_0^t e(\tau)d\tau + K_d \frac{de(t)}{dt} \] 其中 \(K_p\) 是比例增益,\(K_i\) 是积分时间常数,\(K_d\) 是微分时间常数,而 \(e(t)\) 表示设定值与实际测量值之间的偏差。 在离散形式下,该表达式可以通过数值近似转化为如下公式[^1]: \[ u(k) = u(k-1) + K_p [e(k)-e(k-1)] + K_i T_s e(k) + K_d (e(k)-2e(k-1)+e(k-2))/T_s \] 这里 \(u(k)\) 表示第k次采样时刻的控制量,\(Ts\) 是采样周期。 以下是使用Python实现的一个简单的位置式PID控制模拟例子: ```python class PIDController: def __init__(self, kp, ki, kd, dt): self.kp = kp # 比例系数 self.ki = ki * dt # 积分系数转换到离散域 self.kd = kd / dt # 微分系数转换到离散域 self.dt = dt # 时间步长 self.prev_error = 0.0 self.integral = 0.0 def update(self, setpoint, measured_value): error = setpoint - measured_value self.integral += error * self.dt derivative = (error - self.prev_error) / self.dt output = self.kp * error + self.ki * self.integral + self.kd * derivative self.prev_error = error return output ``` 上述代码定义了一个简单的PID控制器类 `PIDController` ,初始化时传入比例、积分、微分三个参数以及时间步长 `dt` 。每次调用 `update()` 方法更新一次控制量,输入目标值 `setpoint` 当前测量值 `measured_value` 即可得到新的控制输出。 ### MATLAB中的位置式PID仿真实例 下面是一个MATLAB脚本的例子,演示如何利用Simulink或者纯m文件构建一个闭环系统来进行位置式PID控制的效果验证 : ```matlab % 定义系统模型参数 num = [1]; den = [1 2 1]; % 假设二阶被控对象传递函数 G(s)=1/(s^2+2s+1) % 设定PID参数 kp = 1; ki = 0.5; kd = 0.1; % 构建连续时间PID控制器 pid_controller = pid(kp, ki, kd); % 连接控制器与植物形成闭环系统 sys_cl = feedback(pid_controller*tf(num, den), 1); % 绘制单位阶跃响应曲线 step(sys_cl); title('Closed-loop Step Response with Positional PID Control'); grid on; ``` 此段Matlab代码创建了一种典型的二阶线性动态系统作为受控过程,并应用了指定的比例、积分微分增益构成的PID控制器对其进行调节,最后绘制出了整个闭环系统的阶跃响应图以便观察效果。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值