Librería PID con Arduino

Publicado por en Arduino el 19/04/2011
Comentarios:

Como ya sabrán la mayoría de los que leen este blog a diario, el algoritmo PID (o Proporcional Integral Derivativo), es un elemento bastante usado en sistemas autómatas (de una manera u otra), en los cuales este algoritmo cobra bastante importancia en las funciones de re-alimentación, además de provocar que la curva de respuesta sea mucho mas suave que si usamos un sistema alternativo.

La idea es haceros un poco de resumen sobre el panorama de librerías ya diseñadas que nos permitan crear un control PID sencillo (relativamente), sin tener que programarlo desde 0.

Arduino no se queda atrás!

Adafruit Feather es fácil de programar y económico

El PID tiene una fórmula, ecuación, expresión, que nos permite calcular los parámetros de salida, a partir de unos dados, básicamente es esta:

Y ahora, vayámonos con la lib de arduino!

ARDUINO PID LIBRARY

Cita de wikipedia

"Un PID (Proporcional Integral Derivativo) es un mecanismo de control por realimentación que calcula la desviación o error entre un valor medido y el valor que se quiere obtener, para aplicar una acción correctora que ajuste el proceso."

Funciones

PID()

Compute()

SetMode()

SetOutputLimits()

SetTunings()

SetSampleTime()

SetControllerDirection()


Ejemplo básico:

/********************************************************
 * PID Basic Example
 * Reading analog input 0 to control analog PWM output 3
 ********************************************************/

#include 

//Define Variables we'll be connecting to
double Setpoint, Input, Output;

//Specify the links and initial tuning parameters
PID myPID(&Input, &Output, &Setpoint,2,5,1, DIRECT);

void setup()
{
  //initialize the variables we're linked to
  Input = analogRead(0);
  Setpoint = 100;

  //turn the PID on
  myPID.SetMode(AUTOMATIC);
}

void loop()
{
  Input = analogRead(0);
  myPID.Compute();
  analogWrite(3,Output);
}

Enlaces

Descarga la última versión

Página de ejemplos

Página oficial en background de Arduino (Con 2 ejemplos mas!)

Explicacíon de la librería y el PID por el autor de dicha libreria

Si te ha gustado, compártelo con tus amigos!
Google Plus 

Ver comentarios antiguos...