flypassion 发表于 2014-12-7 18:46:04

关于PID输出

我在调试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");
}

flypassion 发表于 2014-12-7 19:03:07

PID myPID(&Input, &Output, &Setpoint,3,0,0, DIRECT);
Serial.print(Output);输出是0,不知道啥原因

i7456 发表于 2014-12-7 20:28:46

http://playground.arduino.cc/Code/PIDLibaryBasicExample

参考这里,你的程序有如下问题:
1、比例、积分系数都为0,会导致计算结果不正确;
2、你的程序中Input大于Setpoint,这种情况下 Output 应该为0;
3、你的程序中Input没有实时更新。
页: [1]
查看完整版本: 关于PID输出