打印
[其它产品/技术]

c语言实现PID算法

[复制链接]
1105|24
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
eefas|  楼主 | 2024-4-21 18:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include <stdio.h>
struct _pid
{
       float  error;        //差值
       float error_last;    //上一次差值
       float integral;      //差值的和
}

float Kp =0.01;    //比例系数,  提升速度
float Ki = 1;      //积分系数,稳定输出
float Kd =0.01;    //微分系数,减小振荡

float cur_speed = 0;        //当前的速度
float level = 0;            //用于输出pwm
float set_speed = 50;       //设定的速度

struct _pid pid;
void pid_init()
{
     pid.error = 0;
     pid.error_last = 0;
     pid.integral = 0;
}

void pid_control()
{
     pid.error=set_speed-cur_speed;
     pid.integral +=pid.error;

     level =Kp*pid.error+Ki*pid.integral+Kd*(pid.error-pid.error_last);
     pid.error=pid.error_lasst;

}
int main()
{
     pid_init();
     for(i=0;i<10;i++)
     {
           pid_control();
           printf("当前速度%f  等级 %f\n",cur_speed,level);

     }
     return 0 ;

}

使用特权

评论回复
沙发
zhengshuai888| | 2024-4-21 18:59 | 只看该作者
PID算法本身不复杂,难的是参数调优。

使用特权

评论回复
板凳
lidi911| | 2024-4-22 08:47 | 只看该作者
有关PID算法的教程有很多,基础的知识其实就那么多,关键是怎么用好。

使用特权

评论回复
地板
小夏天的大西瓜| | 2024-4-22 20:23 | 只看该作者
PID算法重在参数调优

使用特权

评论回复
5
suncat0504| | 2024-4-30 17:42 | 只看该作者
PID的调试很麻烦吗?所谓的参数调优,针对不同设备,需要单独调试吗?

使用特权

评论回复
6
地瓜patch| | 2024-4-30 22:18 | 只看该作者
参数整定才是重点

使用特权

评论回复
7
eleg34ance| | 2024-9-18 14:40 | 只看该作者
C语言开发PID算法确实会更好 一些,C语言是一种编译型语言,生成的机器码执行效率高,适合对实时性要求较高的控制系统

使用特权

评论回复
8
pe66ak| | 2024-9-18 15:53 | 只看该作者
这种pid还行,但是调参的时候就麻烦了

使用特权

评论回复
9
miltk| | 2024-9-18 17:01 | 只看该作者
这是就适用于电机方面的PID操作吗?

使用特权

评论回复
10
wamed| | 2024-9-18 18:11 | 只看该作者
这套代码具有较好的可移植性,可以在不同的硬件平台和操作系统上运行,便于跨平台开发

使用特权

评论回复
11
teaccch| | 2024-9-18 19:21 | 只看该作者
PID在嵌入式系统、机器人控制、自动化设备等领域应用广泛,有大量的开发资源和社区支持

使用特权

评论回复
12
canfeil| | 2024-9-19 08:48 | 只看该作者
我觉得这种算法挺好,简单易懂,很不错

使用特权

评论回复
13
canfeil| | 2024-9-19 10:12 | 只看该作者
写的好简单啊,PID有这么简单的吗?

使用特权

评论回复
14
suiziq| | 2024-9-19 10:14 | 只看该作者
这种就调节当前速度是不是就可以了?

使用特权

评论回复
15
twinkhahale| | 2024-9-19 12:45 | 只看该作者
看这个代码真的简单,以前移植的PID都是好麻烦的啊

使用特权

评论回复
16
nqty| | 2024-9-19 14:46 | 只看该作者
话说,微分系统减小震荡这个是怎么玩的?

使用特权

评论回复
17
shenxiaolin| | 2024-9-20 18:18 | 只看该作者
还是不错,现在这个算法很多了,关键是调试

使用特权

评论回复
18
szt1993| | 2024-9-24 11:23 | 只看该作者
C语言开发PID算法确实会更简单,PID算法涉及的层面还是很多的

使用特权

评论回复
19
星辰大海不退缩| | 2024-9-25 18:38 | 只看该作者
PID参数优化确实很复杂重点就在参数调试

使用特权

评论回复
20
OKAKAKO| | 2024-9-28 16:25 | 只看该作者
PID算法其实重在参数的调节

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

82

主题

2855

帖子

2

粉丝