控制算法用c语言实现的,PID控制算法的C语言实现(完整版)

【实例简介】

该文件里面还有各种改进的PID的算法,比如变积分控制等

【实例截图】

365a70531ad5aa72126c497a40939036.png

【核心代码】

具体 PID 实现代码如下:

pid.Kp=0.4;pid.Ki=0.2;

//增加了积分系数

pid.Kd=0.2;

float PID_realize(float speed){

float index;

pid.SetSpeed=speed;

pid.err=pid.SetSpeed-pid.ActualSpeed;

if(abs(pid.err)>200) //变积分过程

{

index=0.0;

}else if(abs(pid.err)<180){

index=1.0;

pid.integral =pid.err;

}else{

index=(200-abs(pid.err))/20;

pid.integral =pid.err;

}

pid.voltage=pid.Kp*pid.err index*pid.Ki*pid.integral pid.Kd*(p

id.err-pid.err_last);

pid.err_last=pid.err;

pid.ActualSpeed=pid.voltage*1.0;

return pid.ActualSpeed;

}

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值