找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 997|回复: 1
打印 上一主题 下一主题
收起左侧

PID控制

[复制链接]
跳转到指定楼层
楼主
ID:392808 发表于 2018-9-3 09:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
int pid_calc(int tem)
{
  char cur_error;
  float incpid;
  float a,b,c;
//  char d_error;
  cur_error=250-tem;
  a=temp_pid.proportion*cur_error;
//  d_error=cur_error-temp_pid.last_error;
  temp_pid.sum_error+=cur_error;
  temp_pid.sum_error-=temp_pid.old_error;
  b=temp_pid.integral*temp_pid.last_error;
  c=temp_pid.derivative*temp_pid.pre_error;
  incpid=a-b+c;

  if(cur_error==temp_pid.last_error && cur_error==temp_pid.pre_error && (temp_pid.sum_error>3 || temp_pid.sum_error<-3))
          incpid+=0.25*temp_pid.sum_error;
  //incpid=temp_pid.proportion*cur_error-temp_pid.integral*temp_pid.last_error+temp_pid.derivative*temp_pid.pre_error;


//  temp_pid.pre_error=temp_pid.last_error;
  temp_pid.last_error=cur_error;
  temp_pid.pre_error=temp_pid.last_error;
  temp_pid.old_error=temp_pid.pre_error;
  return (int)incpid;
}

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:1 发表于 2018-9-3 18:07 | 只看该作者
详细说明一下,补全完整代码 即可获得100+黑币
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表