极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9898|回复: 2

关于PID输出

[复制链接]
发表于 2014-12-7 18:46:04 | 显示全部楼层 |阅读模式
我在调试PID的输出,想看看输出是啥结果,但是输出都是0,不知道原因,求指导...
代码如下:
#include <PID_v1.h>
double Setpoint, Input, Output;
PID myPID(&Input, &Output, &Setpoint,0,0,8, DIRECT);
void setup()
{
  Input=0;
  Setpoint=15;
   myPID.SetMode(AUTOMATIC);
  Serial.begin(9600);


}

void loop()
{
  Input = 10000;
  myPID.Compute();
  Serial.print(Output);
  Serial.print("\t");
}
回复

使用道具 举报

 楼主| 发表于 2014-12-7 19:03:07 | 显示全部楼层
PID myPID(&Input, &Output, &Setpoint,3,0,0, DIRECT);
Serial.print(Output);输出是0,不知道啥原因
回复 支持 反对

使用道具 举报

发表于 2014-12-7 20:28:46 | 显示全部楼层
http://playground.arduino.cc/Code/PIDLibaryBasicExample

参考这里,你的程序有如下问题:
1、比例、积分系数都为0,会导致计算结果不正确;
2、你的程序中Input大于Setpoint,这种情况下 Output 应该为0;
3、你的程序中Input没有实时更新。
回复 支持 反对

使用道具 举报

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

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-3-29 07:25 , Processed in 0.044758 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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