Bonjour,
Voila mon problème, j'ai créer le programme si dessous mais malheureusement il ne reconnait pas toutes les fonctions incluses dans la librairie en particuliers JustCalculated(),GetMode,GetP_Param(),GetI_Param()et GetD_Param() donc des fonctions utilisées dans la méthode avancée (voir lien ci-dessous) voila si quelqu'un pouvez m'aider,merci.
http://www.arduino.cc/playground/Code/PIDLibrary
http://www.arduino.cc/playground/Code/PIDLibraryAdvancedMethods
#include <PID_Beta6.h>
#define alpha 0.95
#define k 5
double Consigne, Mesure, Commande,Calcul;
PID pid(&Mesure, &Commande, &Consigne,4,2,1);
void fonctiontrans(){
Mesure=alpha*Mesure+k*(1-alpha)*Commande;
}
void setup()
{
Serial.begin(9600);
Mesure =0;
Commande=0;
Consigne = 150;
pid.SetOutputLimits(-200,200);
pid.SetInputLimits(-200,200);
pid.Reset();
pid.SetMode(AUTO);
pid.SetSampleTime(40);
}
void loop()
{
fonctiontrans();
pid.Compute();
//analogWrite(3,Commande);
Serial.print("Mesure : ");
Serial.print(Mesure, DEC);
Serial.print(" Commande :");
Serial.print(Commande, DEC);
Serial.print(" appel a la fonction compute :");
Serial.print(JustCalculated());
Serial.print(" Mode :");
Serial.print(GetMode());
Serial.print(" temps :");
Serial.print("%d",GetSampleTime());
Serial.print(" parametre P :");
Serial.print(GetP_Param());
Serial.print(" parametre I :");
Serial.print(GetI_Param());
Serial.print(" parametre D :");
Serial.println(GetD_Param());
delay(10);
}