UNIVERSIDAD POLITÉCNICA DE VICTORIA



Documentos relacionados
SISTEMA MASA RESORTE - AMORTIGUADOR

FUNCIÓN DE TRANSFERENCIA PULSO

SIMULACIÓN DE UN CIRCUITO MODULADOR AM

PROPUESTA ARDUINO por José Manuel Aranga Salazar

2.4. Unidades de aprendizaje. Modelo Académico de Calidad para la Competitividad PSGB-02 15/22

Bach. Pablo Sanabria Campos. Programa de Tecnologías Educativas Avanzadas

SINTONIZACIÓN DE CONTROLADORES INDUSTRIALES

Proyecto 3: CONTROL DE VELOCIDAD DE UN MOTOR DC Y TRANSMISIÓN DE DATOS

20. MODELOS EMPIRICOS

Programación de dispositivos Arduino Asignatura Sistemas Digitales!

Introducción a Arduino

Entradas Analógicas.

MAX31865 Descripción Características

LED INTERMITENTE CIRCUITO ELÉCTRICO MATERIALES PROGRAMA LED DOS CONECTORES CABLE USB ROBÓTICA. Puerto 8 ( salida al led rojo ) ARDUINO UNO 220 W GND

Especificaciones técnicas de los prototipos:

1. Escribir un dato digital del WinCC al Arduino

PROGRAMA DETALLADO DE LA ASIGNATURA MATEMÁTICA III (transición)

Manual avanzado Excel 2007

Empieza con // y termina con la siguiente línea de código. Son ignorados por el programa y no ocupan espacio en memoria.

Programas Analíticos. Cuarto semestre. Circuitos eléctricos II. A) Nombre del Curso. B) Datos básicos del curso. C) Objetivos del curso

HORARIOS OFICIALES CURSO 2015/2016 GRADO EN INGENIERÍA EN TECNOLOGÍAS INDUSTRIALES

Manual de la Práctica 4: Control de iluminación mediante Arduino

TÉCNICO SUPERIOR UNIVERSITARIO EN MECATRÓNICA ÁREA AUTOMATIZACIÓN

Detección de luz con sensor LDR

SEMINARIO VIRTUAL WOLFRAM MATHEMATICA ALGEBRA DE MATRICES

Práctica 6: Diseño de un control PI

Curso de Automatización y Robótica Aplicada con Arduino

OKY2002: Arduino Uno Genérico

Práctica 03.- Planta de Primer Orden con Sensor de Temperatura LM35. Francisco Javier Díaz Galindo Pedro Antonio Montor Láscares Mario Ortíz Rosas

Dirección Académica MANUAL DE PRÁCTICAS PRÁCTICA NO 7. CONVERTIDORES A/D Y D/A.

IM : ARDUINO NANO OEM

TÉCNICO SUPERIOR UNIVERSITARIO EN MECATRÓNICA ÁREA AUTOMATIZACIÓN EN COMPETENCIAS PROFESIONALES ASIGNATURA DE MICROCONTROLADORES

Conviértete en un Joven Inventor PENTA UC TAV Humano-Máquina

Laboratorio N 3: TERMOMETRÍA

Maqueta de control PID con Arduino

3 Sensores y transductores. Alfaomega. Material Web. Arduino 2. Electrónica en arquitectura abierta 7

LABORATORIO DE ELECTRÓNICA DE POTENCIA PRÁCTICA N 1

8 Bits para temperatura y 8 Bits para humedad

MEDIDOR DE TEMPERATURA

SHT3x VIN GND SCL SDA ALERT Pin

EL SENSOR DE SONIDO KY-038 (VERSION )

Control PID de Temperatura

Tema: Interconexión a la PC mediante Arduino

PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ

Control II Bioingeniería Práctica Nº6

Introducción a Arduino

Clase 2: Programación

Laboratorio de Microprocesadores El MICROCONTROLADOR Diagrama de tiempos de la operación del convertidor ADC0809

Comunicación Serial con Arduino (Por Antony García González - Enero 27, 2013 )

Plan de curso Sílabo-

INSTRUMENTACIÓN ALTERNATIVA EN LA DIDÁCTICA DE LA INGENIERÍA CIVIL.

IMPLEMENTACIÓN DE LAS NTIC S EN LOS LABORATORIOS DE CIENCIAS NATURALES MEDIANTE EL USO DE LA PLATAFORMA ARDUINO- PHYSICSSENSOR

CURSO: ROBÓTICA. CONECTANDO CON EL MUNDO FÍSICO. ÍÑIGO MARTÍN MIMBELA.

UNIVERSIDAD DON BOSCO DEPARTAMENTO DE CIENCIAS BÁSICAS LABORATORIO DE FÍSICA ASIGNATURA: ELECTRICIDAD Y MAGNETISMO

Relación Geométrica de la pendiente de una recta tangente a una curva en un punto y la derivada de ésta. Prof. Gonzalo Medina Ramírez

Electrónica 5 EM ITS Lorenzo Massa Pagina 1 Unidad 6 - Ing. Juan Jesús Luna

Muestreo y cuantificación de señales (digitalización)

CAPÍTULO. Análisis del Desempeño del Controlador GPI. IV. Análisis del Desempeño del Controlador GPI

Práctica 7. Simulación de Amplitud modulada con portadora de alta potencia en SIMULINK. Integrantes del grupo

Actuadores eléctricos - Motores

PRODUCTO P05 SOFTWARE EMBEBIDO PARA EL CONTROL DEL CIRCUITO GENERADOR DE CORRIENTE DE LAS FORMAS DE ONDAS PARA ELECTROTERAPIA

8. Convertidores Digital a Analógico y Analógico a Digital

2. Programación en Arduino

EJERCICIOS DE CONTROL POR COMPUTADOR BOLETIN V: SISTEMAS DISCRETOS (I)

Encender un LED utilizando un pulsador (Ref libro 1 pg 82 pero como y pg 132 como 1.2.3)

Unidad 1. Las fracciones.

Sistemas de lazo Abierto y lazo cerrado

Práctica No. 3 del Curso "Meteorología y Transductores". "Comparadores y generador PWM"

CONTROL DIGITAL DE LA VELOCIDAD DE UN MOTOR DC

HORARIO TEORÍA/GRUPO GRANDE GRADO EN INGENIERÍA ELECTRÓNICA INDUSTRIAL PRIMER CUATRIMESTRE HORAS LUNES MARTES MIÉRCOLES JUEVES VIERNES

Control Automático. Control de sistemas con retardo. Eduardo Interiano

PAUTAS PARA LA REALIZACIÓN DE PREINFORMES Y DEL INFORMES DEL LABORATORIO DE CIRCUITOS II

CONTROL DE UN SERVOMOTOR

Control de Temperatura de un Horno

5. CONSTRUCCIÓN a) Montar la plataforma móvil según sus instrucciones. b) Soldar un trozo de 20 cm de hilo rígido a los terminales de las reductoras.

Práctica 4. Entradas/Salidas Analógicas con Arduino

[GEOGEBRA] Innovación Educativa. Ricardo Villafaña Figueroa

Tecnológico Nacional de México

Uso de hardware y software libre en laboratorios de Ingeniería Química

DFRduino Romeo, todo en un controlador (RoMeo V1.0) Por favor, lea atentamente este manual antes de encender el dispositivo.

Programar posiciones en un Micro Servo Tower Pro SG90 9G

Manual avanzado Access 2007

Objetivo. Desarrollo. Acondicionamiento de señal. Sección 1 - Acondicionamiento de una señal analógica

Redes de computadoras: El análisis de Fourier en la capa física

1.3 Describa brevemente como opera el y realice un diagrama interno de éste circuito integrado.

Este capítulo está dedicado a la programación del microcontrolador y de la. tarjeta de adquisición de datos. La programación del microcontrolador se

CLAVE ASIGNATURA REQUISITOS HORA/SEMANA CREDITOS TI-8 PROGRAMACION II 80% DE ASISTENCIA 4 6

INFORMÁTICA MATLAB GUÍA 5 Simulink

PROGRAMACIÓN EXÁMENES CURSO 2006/07

Buenos días Maestro Bosco, estos son los resultados que tengo hasta el momento:

Contenido General (Alumno):

Instalación y entorno de programación

PR 7. Práctica con Matlab

Tutorial Arduino con Fotoresistencia LDR

Clase 3: Sensores I. Conviértete en un Joven Inventor PENTA UC

V 1.0. Ing. Juan C. Guarnizo B.

Instituto Tecnológico de Puebla Ingeniería Electrónica Control Digital

CAPÍTULO 2: UN POCO DE TEORÍA (pero no te asustes)

Transcripción:

UNIVERSIDAD POLITÉCNICA DE VICTORIA CONTROL DE HORNO PRÁCTICA 3.1.3 ESCUELA: Universidad Politécnica de Victoria ASIGNATURA: Control digital MAESTRO: Dr. Yahir Hernández Mier ALUMNO: Ángel Arturo Ramírez Suárez GRUPO: IM 8-1

Objetivo. Comprender las operaciones involucrados en la realización de controladores en tiempo continuo y tiempo discreto mediante el análisis y la simulación de sistemas. Instrucciones. Práctica 3.1.3. Realice la simulación del control PID de temperatura de un horno utilizando un ATMEGA328P programado mediante la interfaz de Arduino y un esquemático realizado en Proteus con los datos facilitados en clase. Calcule las ganancias iniciales del controlador por el método de la curva de reacción de Ziegler-Nichols. Enseguida varié los valores de las ganancias hasta obtener una respuesta con tiempo de subida corto y poco sobretiro. Fabrique un reporte en PDF y suba al sitio del curso. Concluya sobre el comportamiento del sistema para las diferentes ganancias probadas.

INTRODUCCIÓN. El objetivo de los controladores de sistemas en tiempo discreto es mantener una señal de referencia, la cual es considerada la variable controlada de acuerdo a la modificación de una señal conocida como la variable manipulada, esto permite obtener una respuesta que se mantiene dentro de un umbral correspondiente a la respuesta deseada por parte del sistema. En esta práctica se hace uso de las herramientas de simulación disponibles para simular la respuesta de un sistema de control de temperatura (horno, estufa, etc.) y aplicando un controlador ATMEGA328P se regula la respuesta del mismo hasta obtener un valor deseado.

DESARROLLO. HERRAMIENTAS. Computadora personal. Proteus (aplicación de simulación de componentes y circuitos electrónicos). Scilab (aplicación de procesamiento matemático). Arduinov1.0.3 (aplicación para programación de controladores ATMEGA). PROCEDIMIENTO. 1. Se elabora el circuito del sistema de temperatura como se muestra en la figura 1. Figura 1. Sistema de temperatura. Dicho circuito consta de una batería de 2 volts que se dirige a un interruptor normalmente abierto, el cual se dirige hacia un sistema de calefacción el cual puede representar un horno, calefactor, etc.

2. Se coloca una punta de prueba OV1(T) (figura 2) y se genera la gráfica de análisis interactiva para poder observar la respuesta del sistema con respecto al tiempo seleccionando el elemento INTERACTIVE que se encuentra en la sección GRAPHS tal y como puede verse en la figura 3. Figura 2. Punta de prueba OV1(T) colocado en el horno para observar el cambio en la temperatura. Figura 3. Selección de las distintas herramientas disponibles en Proteus para simulación. 3. Se configuran los parámetros del sistema de la siguiente manera: Para el horno: Temperatura ambiente (ambient temperatura): 25 C Resistencia térmica al ambiente (thermal resistance to the ambiance): 0.7 C/W Constante de tiempo del horno (oven time constant): 10seg Constante de tiempo del calentador (heater time constant): 1seg Coeficiente de temperatura (temperature coefficient): 1V/ C Potencia del calentador (heating power): 120W Para la gráfica INTERACTIVE: Tiempo de inicio (start time): 0 Tiempo de parada (stop time): 60

4. Para iniciar la simulación y graficar la respuesta se presiona la barra espaciadora, lo cual inicia la captura de la información en un tiempo predeterminado. Se mantuvo el interruptor abierto durante 5 segundos y pasado este periodo se cerró, con lo cual se inicia el proceso. La respuesta generada se aprecia en la gráfica que se muestra en la figura 4. Figura 4. Gráfica de respuesta del sistema. 5. Posteriormente se elaboró un código para Scilab (apéndice A) el cual permite obtener las ganancias originales en el sistema por medio del método de la curva de reacción, obteniendo la siguiente respuesta (figura 5):

Figura 5. Respuesta del sistema graficando límites superiores, inferiores y tiempos de respuesta. 6. Mediante el método de Ziegler-Nichols es posible obtener las ganancias iniciales del sistema K p, K i y K d. Figura 6. Ganancias generadas utilizando el método de Ziegler-Nichols. 7. Posteriormente se varían los valores de las ganancias hasta lograr una respuesta estable y rápida en el sistema. 8. Hecho esto, se elaboró el programa en arduinov1.0.3 para introducir estos valores al controlador y con ello modificar la respuesta del sistema de calefacción en base a las ganancias obtenidas en el análisis anterior (apéndice B). 9. Se realizaron las modificaciones pertinentes al circuito para incluir el controlador en el sistema como se observa en la figura 7. Figura 7. Circuito de calefacción con sistema de control. 10. Se observa la respuesta de la gráfica del sistema al control, la cual se observa en la figura 8.

Figura 8. Respuesta del sistema bajo la acción de control.

CONCLUSIONES. Mediante la elaboración de esta práctica fue posible observar la respuesta de un sistema a una entrada tipo escalón y calcular los parámetros del mismo de manera práctica, haciendo uso del método de la curva de reacción de Ziegler-Nichols para determinar las ganancias K del sistema y posteriormente, mediante una modificación empírica de las mismas, lograr modificar el tiempo de respuesta del sistema a la misma entrada. Para ello se hizo uso de numerosas herramientas computacionales que permitieron obtener y analizar datos de diversas índoles, como es el caso de Proteus, con el cual se elaboraron los circuitos del sistema y que generó los datos que fueron analizados por medio del uso de Scilab. Finalemente el controlador arduino permitió generar un código para el control del sistema y que puede ser implementado en un sistema físico para la alteración de las ganancias.

APÉNDICE A. Aplicación desarrollada en Scilab para la obtención de las ganancias del sistema. clear M= read_csv('d:\control Digital\DControl - Simulación 1 - Respuesta a entrada escalón\dcontroldatos_horno_v1.dat' ); [nfil, ncol]=size (M); t=strtod(m(2:$,1)); v=strtod(m(2:$,2)); scf(); plot(t,v,'r','linewidth',2) xgrid xlabel(m(1,1)) ylabel(m(1,2)) //Limite superior plot(t, ones(1, length(t))*v($),'--k','linewidth',2) //limite inferior plot(t, ones(1, length(t))*v(1),'--k','linewidth',2) //Aproximacion de las derivadas dvdt = zeros(1, length(t)) dvdt(1) = (v(2) - v(1)) / (t(2) - t(1)); dvdt($) = (v($) - v($-1)) / (t($) - t($-1)); for i = 2 : length(t) - 1 dvdt(i) = (v(i+1) - v(i-1)) / (t(i+1) - t(i-1)); end plot(t,dvdt, 'g', 'LineWidth',2)//grafica de la derivada //Pendiente de la recta tangente. [m, cas] = max(dvdt); //m es el elemento y cas es la casilla del vector; por cierto m es la pendiente maxima y_cero = v(cas); x_cero = t(cas); //Grafica de la recta tangente a la derivada x = 0:0.1:20; y = y_cero + m*(x-x_cero); plot(x,y, 'm', 'LineWidth', 2) //Instante en que la curva empieza a crecer indx = find(dvdt >0.4); t0 = t( indx(1)); //Instante en que la tangente cruza por y_cero t1 = (v(1) - y_cero + m* x_cero) / m; //Instante en que la tangente cruza por y_inf t2 = (v($) - y_cero + m*x_cero) / m; //Grafica de las lineas punteadas en t0, t1 y t2 plot( [t0 t0], [v(1) v($)], '--c') plot( [t1 t1], [v(1) v($)], '--c') plot( [t2 t2], [v(1) v($)], '--c') //Calculo de L, T y K del metodo de Ziegler-Nichols L= t1 - t0;

Tzn = t2-t1; K = (v($) - v(1) ) / (2-0); //ganancia total //calculo de las ganancias del PID Kp = 1.2*Tzn / (K*L); Ti = 2*L; Td = L/2; T = 0.1; //Periodo de muestreo Kpd = Kp - ((Kp * T) / (2*Ti)); Ki = Kp * T/ Ti; Kd = Kp * Td/T; mprintf('kpd=%2.15f\n',kpd) mprintf('ki=%2.15f\n',ki) mprintf('kd=%2.15f\n',kd) ha=gca(); ha.grid = [color('gray'), color('gray')];

APÉNDICE B. Aplicación del controlador de temperatura para el microcontrolador ATMEGA328P. //Control de temperatura int sensorpin = A2; //Pin para leer el sensor. Pin 25 int salpwm = 9; //La salida PWM utilizando el PIN15 del ATMEGA328P. //VARAIBLES PARA HACER OPERACIONES int valadc = 0; //Salida del ADC float mkt = 0.0; //Variable que contendra la señal de control. int mkt_ent = 0; //Señal de control, dato entero. float ckt = 0.0; //Temperatura leida a la salida. float rkt= 500.0; //Temperatura de referencia deseada. float ekt = 0.0; //Error. float sum_ekt = 0.0; //Error acumulado. float ekt_ant = 0.0; //Error anterior. float Kp = 0.186627251306975; float Ki = 0.015341379569262; float Kd = 0.615193857599314; void setup () { //Inicializacion de la comunicacion serial. Serial.begin(9600); Serial.println("PWM"); //Encabezado. valadc = 0; } void loop(){ //Temperatura leída. valadc = analogread(sensorpin);

//Conversion a voltaje (mv) ckt = (valadc /1023.0)*5000.0; //Diferencia entre la referenica y el valor leído. ekt = rkt - ckt; //Error acumulado. sum_ekt = sum_ekt + ekt; //Cálculo de la señal de control. mkt = Kp*ekT + Ki*sum_ekT + Kd*(ekT - ekt_ant); //Conversión a entero. mkt_ent = mkt; //Para que la señal salga de rango(windup) if (mkt>1023) mkt_ent=1023; else if (mkt <0) mkt_ent = 0; //Serial.println //Se divide entre cuatro para ajustar a 8 bits. analogwrite(salpwm, mkt_ent/4); //Actualización del error anterior. ekt_ant = ekt; //Periodo de muestreo (T) en ms delay(100); }

BIBLIOGRAFÍA. 1. Katsuhiko Ogata. Sistemas de control en tiempo discreto. Pearson. Segunda Edición.