请用C语言写PID算法
时间: 2024-05-07 13:16:26 浏览: 80
好的,以下是使用C语言编写的PID算法示例代码:
```
#include <stdio.h>
// PID算法参数
float Kp = 0.5;
float Ki = 0.2;
float Kd = 0.1;
// PID算法输入输出变量
float setpoint = 50.0; // 目标设定值
float input = 0.0; // 实际输入值
float output = 0.0; // 输出值
// PID算法中间变量
float error = 0.0; // 误差
float prev_error = 0.0; // 上一次误差
float integral = 0.0; // 积分项
float derivative = 0.0; // 微分项
// PID算法计算函数
void pid_compute() {
// 计算误差
error = setpoint - input;
// 计算积分项
integral += error;
// 计算微分项
derivative = error - prev_error;
prev_error = error;
// 计算输出值
output = Kp * error + Ki * integral + Kd * derivative;
}
int main() {
// 模拟输入变化
for (int i = 0; i < 100; i++) {
input = i;
pid_compute();
printf("Input: %.1f, Output: %.1f\n", input, output);
}
return 0;
}
```
希望这个示例代码对您有所帮助!
阅读全文