PID算法模拟实现(含python代码) 您所在的位置:网站首页 pid调节参数设置怎么用EXCL绘制出来 PID算法模拟实现(含python代码)

PID算法模拟实现(含python代码)

2024-07-03 12:03| 来源: 网络整理| 查看: 265

PID算法原理

PID控制算法是一种经典的反馈控制算法,用于调节控制系统的输出,使其达到预定的目标值。

P:比例项,与当前误差成正比(y = kx) I:积分项,与误差随时间的累积成正比 D:微分项,与误差的变化率成正比

PID算法控制系统的输出则为: 控制输出 = Kp⋅当前误差 + Ki⋅误差积分 + Kd⋅误差微分

其中, 误差积分 = 积分项 + 误差⋅采样时间 误差微分 = (误差 - 上一次误差)/ 采样时间 由于,计算机处理的为离散信号,所以采样时间在下例中设置为1.

PID算法实现步骤:

PID控制算法通常通过以下步骤来实现:

测量过程变量: 首先,需要测量系统的当前状态,即实际值。这通常由传感器完成。

1.计算误差: 将目标值与实际值相比较,计算误差(差值)。

2.计算PID控制输出: 使用PID算法计算控制输出,如上述公式所示。

3.应用控制输出: 将计算得到的PID控制输出应用于控制系统,例如,通过调整阀门、电机或其他执行器的位置或电压,以实现系统的控制。

4.迭代调整: 在每个控制周期中,不断重复上述步骤,以根据实际情况调整PID参数,以使系统更好地满足性能要求。

代码演示 import matplotlib.pyplot as plt integral = 0.0 previous_error = 0.0 def simulate_pid(current, target): Kp = 1.0 Ki = 0.1 Kd = 0.02 error = target - current # 声明要修改全局变量 global integral, previous_error # 更新积分项 integral = integral + error # 更新微分项 derivative = error - previous_error # 计算输出 control_output = Kp * error + Ki * integral + Kd * derivative previous_error = error current += control_output return current if __name__ == "__main__": temperature_list = [10.0] current_temperature = 10.0 for step in range(200): current_temperature = simulate_pid(current_temperature, 50.0) temperature_list.append(current_temperature) print(temperature_list) time_list = [i for i in range(201)] # 使用Matplotlib创建折线图,画图 plt.plot(time_list, temperature_list, linestyle='-', color='b', linewidth=1) # 'o'表示添加圆点标记,'-'表示线段,'b'表示蓝色线条 plt.xlabel('time') # 设置X轴标签 plt.ylabel('temperature') # 设置Y轴标签 plt.title('output') # 设置图表标题 # 显示折线图 plt.show()

在这里插入图片描述 结果如图所示,大概在25个周期的时候,温度达到目标温度:50,也可以改变Kp、Ki、Kd的大小,观察输出的变化



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有