Professional Documents
Culture Documents
Informe Trabajo
N°D.N.I: 21006836-Q
Objetivos ............................................................................................................................................. 3
Resultados ........................................................................................................................................... 8
Conclusiones ....................................................................................................................................... 9
Introducción
aplicaciones. El algoritmo del control PID consiste en tres parámetros distintos: proporcional,
derivativo e integral, que se ajustan en función de la necesidad del sistema a controlar. Son
controladores que son muy útiles cuando no se tiene conocimiento del proceso. Es importante destacar
que este tipo de controladores pueden requerir de uno o dos modos de los que provee el sistema de
conseguir equilibrar en una posición asignada una pelota ligera que se encuentra dentro de un
conducto, donde en cada uno de sus extremos se ubicarán un ventilador y un sensor de posición
ultrasónico, que representarán la planta y el sensor que servirá como realimentación, respectivamente.
El sistema sufrirá perturbaciones generadas por giros bruscos del tubo para comprobar el
iterativo, basándose en el fundamento teórico de cada una de las acciones que integran al PID.
Objetivos
Por otra parte, la estructura en la cual se encuentra instalado el sistema consiste de una caja abierta
en uno de sus lados sobre la cual está un cilindro que la atraviesa de lado a lado. En el extremo
izquierdo del tubo, por fuera de la caja, se encuentra instalado el ventilador y en el lado opuesto se
encuentra el sensor ultrasónico, tal como se muestra en la siguiente figura.
Control PID
Se procedió a generar un diagrama de bloques con los elementos que componen el sistema
de control para el prototipo.
y(k)
Sensor
Donde:
SP: posición de equilibrio deseada para el sistema, en este caso igual a 16 cm medido desde
el extremo del sensor.
y(k): Posición de la pelota en el conducto (medida por el sensor).
e(k): Error de posición de la pelota en el conducto. Se define como la diferencia entre el set
point (SP) y la posición de la pelota actual dentro del conducto(y(k))
GC: Función de transferencia del controlador, en este caso controlador PID.
Planta: El motor que impulsa el ventilador para poder mover la pelota dentro del conducto.
Será controlado por su salida PWM que varía la potencia que se le entrega a este y por lo
tanto, regula su comportamiento.
El código generado en arduino para el proyecto bautizado como “Ball and Fan” se presenta a
continuación. En este se aprecia que usando la librería del sensor ultrasónico Sr04, se determina la
posición de la pelota en el conducto, luego esta se compara con el valor de referencia, en este caso
fijado a 16 cm. Una vez obtenido el error, al restar estos dos valores comentados, se proceden a
configurar los parámetros de trabajo para la programación del PID y se hacen las validaciones que
consideren únicamente valores positivos de señal PWM para generar el movimiento del ventilador.
Por último, se escribe en la ventana serial monitor de arduino, los valores de relevancia para poder
observar el comportamiento del sistema, que sirve de gran ayuda a la hora de configurar los
parámetros del controlador PID.
// Definiendo pines y librerias
#include "SR04.h"
#define TRIG_PIN 12
#define ECHO_PIN 11
#define ENABLE 5
// Variables globales
SR04 sr04 = SR04(ECHO_PIN,TRIG_PIN);
const float K = 5; // PI : 4
const float T = 0.5;
const int T_ms = 10;
const float Ti = 30; // PI : 20
const float Td = 1;
const int ref = 16;
const int maxSum = 1000;
float y;
float u;
float e;
float laste;
float sum;
float diff;
void setup() {
pinMode(PIN_ALIMENTACION, OUTPUT);
digitalWrite(PIN_ALIMENTACION, HIGH);
Serial.begin(9600);
delay(1000);
}
void loop() {
y = sr04.Distance();
e = y - ref;
diff = e - laste;
sum = sum + (e + laste) /2;
if (sum < -1 * maxSum)
sum = -1 * maxSum;
if (sum > maxSum)
sum = maxSum;
//u = K * e; // Control P
//u = K * (e + (Td / T) * diff); // PD
//u = K * (e + (T/Ti) * sum); // PI
u = K * (e + (Td / T) * diff + (T/Ti) * sum); // PID
int u_int = u;
if (u_int<0)
u_int=0;
if (u_int>255)
u_int=255;
laste = e;
Serial.println("------------------------");
Serial.print("y = ");
Serial.print(y);
Serial.println(" cm");
Serial.print("e = ");
Serial.print(e);
Serial.println(" cm");
Serial.print("u = ");
Serial.println(u_int);
Serial.print("sum = ");
Serial.println(sum);
//changePower(u_int, 255);
analogWrite(ENABLE,u_int);
delay(T_ms);
}
Resultados
Al realizar el proceso iterativo para ajustar los parámetros K, Ti y Td, se inició partiendo de un
controlador P y se observó el comportamiento, tanto en régimen permanente como transitorio. En
este caso el parámetro inicial usado fue un valor para K de 10.
Una vez analizado este comportamiento, se decidió utilizar un controlador PI, ya que el controlador
P no es suficiente para estabilizar el sistema y reducir el error que genera este. Para ello se ajustaron
los valores de K y Ti con valores de 4 y 20, respectivamente. En este caso se apreciaba un mejor
comportamiento en régimen permanente, pero existía falta de rapidez en el régimen transitorio, razón
por la cual se pasó a utilizar un controlador PID.
Finalmente, el controlador PID resultante, se estableció para los valores expuestos en la siguiente
tabla:
Parámetro PID Valor
Acción Proporcional (K) 5
Acción Integral (Ti) 30
Acción Derivativa (Td) 1
Tiempo de muestreo (T) 10[ms]
Conclusiones
Una vez culminado el análisis de resultados, se puede concluir lo siguiente:
El uso del controlador P fue insuficiente para controlar el sistema tanto en régimen
permanente como transitorio.
El uso del controlador PI, a pesar de tener un rendimiento satisfactorio en el régimen
permanente, tuvo fallos a la hora de corregir el comportamiento en estado transitorio.
El controlador PID presenta un comportamiento bueno tanto para el estado transitorio como
permanente. Es capaz de reaccionar moderadamente rápido a perturbaciones que existen en
el sistema.