Este documento describe un reporte de práctica sobre controladores PID. Los estudiantes observaron y conocieron el comportamiento de los controladores PID al realizar circuitos eléctricos para demostrar su función en el control de temperatura y posicionamiento de motores. Utilizaron un Arduino para controlar la temperatura mediante un sensor LM35 y un ventilador actuado por PWM. También desarrollaron un circuito con Mosfet para amplificar la señal de control PID.
Este documento describe un reporte de práctica sobre controladores PID. Los estudiantes observaron y conocieron el comportamiento de los controladores PID al realizar circuitos eléctricos para demostrar su función en el control de temperatura y posicionamiento de motores. Utilizaron un Arduino para controlar la temperatura mediante un sensor LM35 y un ventilador actuado por PWM. También desarrollaron un circuito con Mosfet para amplificar la señal de control PID.
Este documento describe un reporte de práctica sobre controladores PID. Los estudiantes observaron y conocieron el comportamiento de los controladores PID al realizar circuitos eléctricos para demostrar su función en el control de temperatura y posicionamiento de motores. Utilizaron un Arduino para controlar la temperatura mediante un sensor LM35 y un ventilador actuado por PWM. También desarrollaron un circuito con Mosfet para amplificar la señal de control PID.
UNIVERSIDAD TECNOLGICA DE PUEBLA CARRERA: INGENIERA EN MANTENIMIENTO INDUSTRIAL MATERIA: SISTEMAS AUTOMATIZADOS Y REDES INDUSTRIALES
REPORTE DE PRCTICA: CONTROLADORES PID.
INTEGRANTES: CRUZ CORTS RICARDO GUTIRREZ GONZLEZ MIGUEL SANTIAGO BENTEZ JOS PROFESOR: M. en C. SERGIO NAVARRETE CARMONA GRUPO 9 B FECHA 12/JUNIO/2014
2 REPORTE DE PRCTICA CONTROLADORES PID
OBJETIVO. Observar y conocer el comportamiento de los controladores PID, realizando circuitos elctricos donde se logre demostrar la funcin de estos controladores.
INTRODUCCION. En esta prctica se desarrollan los principales conceptos de control PID, que mostraron ser robustos en muchas aplicaciones y son los que ms se utilizan en la industria. La estructura de un controlador PID es simple, aunque su simpleza es tambin su debilidad, dado que limita el rango de plantas donde pueden controlar en forma satisfactoria. En concreto se va a mostrar cmo se puede usar este tipo de controlador para utilizarlo en un control de temperatura y en un control de posicionamiento de un motor. Para familiarizarse con el diseo se utilizaron los comandos bsicos que dispone el ARDUINO, para controlar y monitorear la temperatura en cierta rea de aplicacin y el uso de potencimetros para el posicionamiento de un motor, as como el uso de amplificadores operacionales y otros elementos que se explicaran mas adelante.
MARCO TERICO. Un PID es un mecanismo de control por realimentacin que calcula la desviacin o error entre un valor medido y el valor que se quiere obtener, para aplicar una accin correctora que ajuste el proceso. El algoritmo de clculo del control PID se da en tres parmetros distintos: el proporcional, el integral, y el derivativo. El valor Proporcional determina la reaccin del error actual. El Integral genera una correccin proporcional a la integral del error, esto nos asegura que aplicando un esfuerzo de control suficiente, el error de seguimiento se reduce a cero. El Derivativo determina la reaccin del tiempo en el que el error se produce. La suma de estas tres acciones es usada para ajustar al proceso va un elemento de control como la posicin de una vlvula de control o la energa suministrada a un calentador, por ejemplo. Ajustando estas tres variables en el algoritmo de control del PID, el controlador puede proveer un control diseado para lo que requiera el proceso a realizar. La respuesta del controlador puede ser descrita en trminos de respuesta del control ante un error, el grado el cual el controlador llega al "set point", y el grado de oscilacin del sistema. Ntese que el uso del PID para control no garantiza control ptimo del sistema o la estabilidad del mismo. Algunas aplicaciones pueden solo requerir de uno o dos modos de los que provee este sistema de control. Un controlador PID puede ser llamado tambin PI, PD, P o I en la ausencia de las acciones de control respectivas. Los controladores PI son particularmente comunes,
3 REPORTE DE PRCTICA CONTROLADORES PID
ya que la accin derivativa es muy sensible al ruido, y la ausencia del proceso integral puede evitar que se alcance al valor deseado debido a la accin de control.
Funcionamiento. Para el correcto funcionamiento de un controlador PID que regule un proceso o sistema se necesita, al menos: 1. Un sensor, que determine el estado del sistema (termmetro, caudalmetro, manmetro, etc). 2. Un controlador, que genere la seal que gobierna al actuador. 3. Un actuador, que modifique al sistema de manera controlada (resistencia elctrica, motor, vlvula, bomba, etc). El sensor proporciona una seal analgica o digital al controlador, la cual representa el punto actual en el que se encuentra el proceso o sistema. La seal puede representar ese valor en tensin elctrica, intensidad de corriente elctrica o frecuencia. En este ltimo caso la seal es de corriente alterna, a diferencia de los dos anteriores, que tambin pueden ser con corriente continua. El controlador lee una seal externa que representa el valor que se desea alcanzar. Esta seal recibe el nombre de punto de consigna (o punto de referencia), la cual es de la misma naturaleza y tiene el mismo rango de valores que la seal que proporciona el sensor. Para hacer posible esta compatibilidad y que, a su vez, la seal pueda ser entendida por un humano, habr que establecer algn tipo de interfaz (HMI-Human Machine Interface), son pantallas de gran valor visual y fcil manejo que se usan para hacer ms intuitivo el control de un proceso. El controlador resta la seal de punto actual a la seal de punto de consigna, obteniendo as la seal de error, que determina en cada instante la diferencia que hay entre el valor deseado (consigna) y el valor medido. La seal de error es utilizada por cada uno de los 3 componentes del controlador PID. Las 3 seales sumadas, componen la seal de salida que el controlador va a utilizar para gobernar al actuador. La seal resultante de la suma de estas tres se llama variable manipulada y no se aplica directamente sobre el actuador, sino que debe ser transformada para ser compatible con el actuador utilizado.
4 REPORTE DE PRCTICA CONTROLADORES PID
Las tres componentes de un controlador PID son: parte Proporcional, accin Integral y accin Derivativa. El peso de la influencia que cada una de estas partes tiene en la suma final, viene dado por la constante proporcional, el tiempo integral y el tiempo derivativo, respectivamente. Se pretender lograr que el bucle de control corrija eficazmente y en el mnimo tiempo posible los efectos de las perturbaciones. DESARROLLO DE LA PRCTICA 1. Control de temperatura PID con Arduino El proceso elegido es el control de temperatura. Para ello se generara el calor con un dispositivo y un ventilador acta como control para la refrigeracin. Un sensor LM35 se encarga de registrar la temperatura del habitculo. Se ha instalado el sensor de temperatura con tal y perciba el calor del dispositivo para que el proceso disponga de la menor inercia posible, y as se comporte ms rpido ante cambios de la entrada. La instalacin elctrica necesaria es bastante sencilla. Utilizando la seal PWM de la ARDUNIO la cual nos controlar la potencia suministrada de la fuente. Para lograr este control, debemos utilizar un amplificador de seal que en este caso ser el Mosfet IRFZ44N . MATERIAL UTILIZADO. 2 transistores NPN 2n222 1 Mosfet IRFZ44N 1 Resistencia de 100 1 Resistencia de 100 K 2 Resistencia de 220 K
5 REPORTE DE PRCTICA CONTROLADORES PID
DIAGRAMAS DE CONEXIN TRANSISTOR NPN 2n222
Mosfet IRFZ44N
Conexiones:
6 REPORTE DE PRCTICA CONTROLADORES PID
Programa Arduino: Cdigo: ///////////CONTROL PID//////////////////////
//Variables del Smooting const int numReadings = 20; int readings[numReadings]; int index = 0; int total = 0; float Tprom = 0;
float chaloTEM= A2; //Puerto analogico de lectura del sensor
float TempR; // Temperatura actual leda int setpoint = 17 ; // Temperatura deseada "set point" float error_actual = 0; // Variables de ERROR float error_anterior = 0; float t_muestreo = 1000; //Tiempo de muestreo [ms]
//=====Constantes del control PID ================ float Kpe = 40; // Constante Proporcional float Kie = 0.00005; //Constante de Sumatoria float Kde = 0.7; //Constante Derivativa del Sistema float PID = 0; //Seal //Recordar que las constantes deben ser halladas previamente segn el comportamiento del sistema en lazo abierto //=====Variables de clculo===================== float prop = 0; float inte = 0; float deri = 0; float acum = 0; float area = 0; float Ts = 0;//Tiempo de Muestreo void setup() { Serial.begin(9600); pinMode(7, OUTPUT); // salida de la seal PWM for (int thisReading = 0; thisReading < numReadings; thisReading++) readings[thisReading] = 0; //For para cantidad de datos promedios del smooting } void loop() { //Operacin del smooting total= total - readings[index]; // lectura del sensor
7 REPORTE DE PRCTICA CONTROLADORES PID
readings[index] = analogRead(chaloTEM); // suma la lectura al total: total= total + readings[index]; // avance a la siguiente posicin en el conteo index = index + 1;
// si estamos al final del conteo... if (index >= numReadings) // ...vuelva al principio index = 0; Tprom= ( 5.0 * total * 100.0) / (1023.0 * numReadings);//se pasa de voltaje a temperature y se divide en el numero de lecturas que se quiere promediar if (setpoint <= Tprom) //=======CELDA ON { //Serial.print(" Celda ON "); //Tiempo de muestreo en segundos: Ts = t_muestreo/1000; // Tomo la lectura del sensor TempR = Tprom; // Consigno el valor leido en esta variable // Conversin lineal de la seal de entrada a temperatura en grados centgrados : error_actual = Tprom - setpoint ; //clculo de error = Tdeseada -Tactual //error -> proporcional prop = error_actual*Kpe; // Error Proporcional=Kp*errror //error -> integral area = error_actual+error_anterior; // error sumatoria area = area*Ts; area = area*0.5; acum = acum+area; inte = acum*Kie; inte = constrain(inte, -110, 110); //filtro anti-windup, para evitar saturacin del actuador //error -> derivada deri = error_actual-error_anterior; deri = deri*Kde; //PID-->> PID = prop + inte + deri; PID = constrain(PID, 0, 255); //restriccin de la accin de control a rangos admisibles de PWM. //Almacenamiento del error actual error_anterior = error_actual; if(error_actual<1) {
RESULTADOS: En un principio el circuito no funciono debido a un error en el cdigo de arduino ya que no contbamos con algunas libreras especficas, sin embargo, se continu con la investigacin y se detectaron los problemas de funcin del circuito y del cdigo de arduino as que de esta forma se simplifico el circuito con elementos ms comunes de la misma manera con el cdigo, obteniendo resultados favorables y que nos llevaron de la misma forma a comprender el uso de Arduino y del control PID. Se logra distinguir la correccin de error al elevarse la temperatura arriba de lo previamente establecido ya que se encender el ventilador, de esta forma intenta mantenerse de forma estable y al bajar la temperatura por debajo de la constante el ventilador se apagara de esta forma realizara ese proceso con el fin de mantener la temperatura establecida aun existiendo perturbaciones y el sistema intentar realizar su funcin con un mnimo de error.
9 REPORTE DE PRCTICA CONTROLADORES PID
CUESTIONARIO: Cul es la funcin del Mosfet dentro del circuito? Dentro de este circuito funciona como amplificador de seales ya que este se encarga de elevar o disminuir la velocidad de nuestro ventilador Qu tipo de sensor se utiliza en sistema? El sensor que se usa es el LM35 Cul es la ventaja del controlador PID en un sistema de temperatura? Para una incubadora o invernadero sera de gran utilidad ya que este mantendr la temperatura no importando las perturbaciones Por qu utilizar un sensor LM35? Porque es ms comercial, no necesita configuraciones, su uso es muy sencillo y el voltaje que se usa es minino. Por qu utilizar un Arduino? Porque arduino ofrece una amplia gama de aplicaciones y su lenguaje cdigo es muy sencillo de utilizar y las libreras as como su software son de descarga libre y so tecnologas que se ocupan hoy en da DESARROLLO DE LA PRCTICA 2. Control de posicin de un motor DC Este circuito es un sistema de lazo cerrado donde tenemos la seal de referencia que es de 5v despus sigue el PID donde se encuentra todo el circuito de los opams despus sigue el proceso donde se encuentra el motor y la seal de retroalimentacin.
La seal de salida (Y) corresponde a la salida la terminal del potencimetro. Si ste se alimenta con 5 voltios en sus terminales fijos (a y b), producir un voltaje en su terminal mvil (c) equivalente a su posicin. Podemos decir entonces que cuando
10 REPORTE DE PRCTICA CONTROLADORES PID
produce 0 voltios est en la posicin equivalente a 0 grados, 1.25 voltios corresponder a 90 grados, 2.5 voltios a 180 grados, etc. La seal de referencia(r), corresponde a la posicin deseada. Es decir, si queremos que el motor alcance la posicin 180 grados debemos colocar una referencia de 2.5 voltios, si queremos 270 grados colocamos referencia de 3.75 voltios, etc. La seal de error (e), corresponde a la diferencia entre la seal de referencia y la seal de salida. Por ejemplo, si queremos que el motor alcance la posicin de 90 grados colocamos una seal de referencia de 1.25 voltios y esperamos dnde se ubica exactamente. Si se posiciona en 67.5 grados el potencimetro entregar una seal de salida de 0.9375 voltios y la seal de error, e, ser de 0.3125 voltios (22.5 grados). La seal de control (u), corresponde al voltaje producido por el controlador para disminuir o anular el error. Si la seal de error es positiva indica que la referencia es mayor que la salida real, entonces el controlador coloca un voltaje positivo al motor para que contine girando hasta minimizar o anular el error. Si por el contrario la seal de error resulta negativa indica que la salida sobrepas la referencia entonces el controlador debe poner un voltaje negativo para que el motor gire en sentido contrario hasta minimizar o anular el error. Para realizar este controlador PID nuestro motor va enlazado directamente con un potencimetro de 10Kohm el cual ser nuestro feedback o va a enviar la retroalimentacin a nuestro sumador comparador, nuestra seal de referencia ser otro potencimetro de 10kohm que ser el de referencia e indicar en qu posicin queremos que este el motor. En el diagrama elctrico se observar como estn conectados, se utilizaron 3 amplificadores operacionales el primero servir como comparador el segundo y el tercero como sumador-inversor para que nos corrija las seales negativas del primero al segundo, tambin se utilizaron transistores PNP y NPN los cuales sern nuestra etapa de potencia para nuestro motor ya que por s solo los amplificadores operacionales no podrn accionar nuestro motor, si el potencimetro de referencia se gira el sensor detectara un error en estado estacionario y el motor girar hasta corregir el error hasta encontrarse en la posicin deseada, este controlador siempre buscara la posicin indicada corrigiendo cualquier error lo ms rpido posible ya que esta es una caracterstica de estos controladores.
11 REPORTE DE PRCTICA CONTROLADORES PID
MATERIAL: 3 Opms 741 3 Resistencias 270k 2 Resistencias 39 k 1 Resistencia 1 k 2 Potencimetros 10 k 1 Potencimetro 100 k 1 Motor MAX 12v , 3Amp 1 Transistor C2331 1 Transistor A1011
DIAGRAMA:
12 REPORTE DE PRCTICA CONTROLADORES PID
RESULTADOS: Los resultados obtenidos hasta el momento no han sido satisfactorios ya que no hemos logrado que este circuito cumpla con su funcin y an seguimos con investigacin tratando de detectar cual es el error, o que es lo que hemos hecho de manera incorrecta y hasta ahora hemos llegado a la hiptesis de que al alimentar los Amplificadores operacionales con voltaje positivo al negativo que nos marca el circuito y por ello no funcione. Otra posibilidad de error es el de los transistores estemos utilizando los incorrectos debido a que solo encontramos reemplazos. CUESTIONARIO: Por qu se utiliza un transistor PNP y NPN? Son los que nos permiten la etapa de potencia para el motor ya que por s solo los amplificadores operacionales no podrn accionar el motor Cules son los valores de referencia para el posicionamiento del motor? Por cada 1.25 volts nos dar una posicin de 90 Cules son las variables del sistema? El voltaje y la posicin del motor (grados) Cul es la variable controlada en el sistema? El posicionamiento del motor Cul es la funcin de los potencimetros de 10kohm? El que est anclado al motor sirve como feedbak o retroalimentacin para corregir el error y el otro sirve como referencia para la posicin del motor que queremos.
CONCLUSIN. Conclusin: La aplicacin de controladores hoy en da es muy utilizada en la industria por lo que es de gran importancia tener el conocimiento de cmo es que funcionan, no obstante logramos observar el funcionamiento del controlador PID y se pudo lograr un mayor entendimiento a los temas en relacin a controladores y en la seleccin adecuada de un controlador, cabe recalcar que nuestra investigacin sigue, ya que an no hemos podido lograr que funcione el sistema del posicionamiento del motor.