位置式Pid和增量式Pid具体程序上的区别,给出两种对应的程序
时间: 2024-03-25 19:40:41 浏览: 23
位置式PID和增量式PID的主要区别在于反馈信号的处理方式不同。
位置式PID的程序实现:
```python
# 定义位置式PID的参数
Kp = 0.5
Ki = 0.2
Kd = 0.1
# 初始化反馈值和误差
feedback = 0
error = 0
# 初始化积分项和上一次误差值
integral = 0
last_error = 0
# 循环执行PID控制
while True:
# 获取当前反馈值
feedback = read_feedback()
# 计算误差
error = setpoint - feedback
# 计算积分项
integral += error
# 计算微分项
derivative = error - last_error
# 计算PID输出
output = Kp * error + Ki * integral + Kd * derivative
# 更新上一次误差值
last_error = error
# 输出PID控制量
output_control(output)
```
增量式PID的程序实现:
```python
# 定义增量式PID的参数
Kp = 0.5
Ki = 0.2
Kd = 0.1
# 初始化反馈值和误差
feedback = 0
error = 0
# 初始化积分项和上一次误差值
integral = 0
last_error = 0
# 初始化增量项和上一次输出值
increment = 0
last_output = 0
# 循环执行PID控制
while True:
# 获取当前反馈值
feedback = read_feedback()
# 计算误差
error = setpoint - feedback
# 计算积分项
integral += error
# 计算微分项
derivative = error - last_error
# 计算PID增量
increment = Kp * (error - last_error) + Ki * error + Kd * (error - 2 * last_error + increment)
# 计算PID输出
output = last_output + increment
# 更新上一次误差值和增量项
last_error = error
last_output = output
# 输出PID控制量
output_control(output)
```
可以看到,两种程序的主要区别在于增量式PID多了一个增量项的计算和更新,并用增量项计算输出量。这种方式可以减少积分项的累积误差,提高控制精度。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)