Planta de Primer Orden con Sensor de Temperatura LM35.
Transcripción
Planta de Primer Orden con Sensor de Temperatura LM35.
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 27 de septiembre de 2013 Índice general 1. Introducción 2 2. Marco Teórico 2.1. Convertidor Analógico-digital (A/D) 2.2. Matlab . . . . . . . . . . . . . . . . . 2.3. Arduino . . . . . . . . . . . . . . . . 2.4. Sensor LM35 . . . . . . . . . . . . . 3. Desarrollo y resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3 3 4 4 5 4. Conclusiones 11 Bibliografía 12 Lista de Figuras 13 1 Capítulo 1 Introducción En la actualidad el uso de sistemas digitales es altamente elevado, el procesamiento de señales se hace con la computadora prácticamente. Es por eso que es necesario saber como adquirir estas señales, cuales son los parámetros que interfieren en la adquisicón de estas señales y como visualizarlo en la PC es lo que se realizará en la presente práctica. 2 Capítulo 2 Marco Teórico Aquí se presentará la teoría de una manera reducida de los elementos que conforman nuestro sistema, para información más detallada se puede consultar la bibliografía. 2.1. Convertidor Analógico-digital (A/D) Un convertidor analógico-digital, también conocido como codificador es un dispositivo que convierte una señas analógica en una señal digital, usualmente una señal codificada numéricamente. Dicho convertidor se necesita como una interfaz entre un componente analógico y uno digital. Con frecuencia un circuito de muestre y retención es una parte integral de un convertidor A/D disponible comercialmente. La conversión de una señal analógica en la señal digital correspondiente (número binario) es una aproximación, ya que la señal analógica puede adoptar un número infinito de valores, mientras la señal digital puede formar un conjunto de dígitos finitos. Este proceso de aproximación se pueden formar mediante un conjunto finito de dígitos está limitada. [1] 2.2. Matlab MATLAB es un acrónimo de Matrix Laboratory. Actualmente es uno de los entornos de programación más usados en el campo académico como en la industria para la realización de cálculos poderosos y creación de interfaces. El lenguaje de programación proporciona un sencillo acceso a algoritmos numéricos que incluyen matrices, considerado como un lenguaje de programación matemático de alto nivel integrado en un entorno gráfico amigable, visualización de datos, funciones, gráficas 2D y 3D, procesamientos de imágenes, video, computación numérica, etc. Particularmente, en ingeniería es una herramienta muy poderosa para realizar aplicaciones en mecatrónica, robótica, control y automatización.[2] 3 Figura 2.1: Logo de Matlab 2.3. Arduino La tarjeta de instrumentación ARDUINO tiene una plataforma con base a un microcontrolador ATMEGA 328-P y ambiente gráfico de programación con la ventaja que posee arquitectura abierta para sofware y hardware. Tiene los componentes electónicos y programación requerida para realizar control, procesamiento digital de señales, adquisición de lecturas de sensores, puertos digitales I/O, entradas y salidas analógicas, timers, interfaz para computadora USB. El software de la tarjeta es gratuito y se puede programar desde MATLAB. Figura 2.2: Logo de Arduino 2.4. Sensor LM35 El LM35 es un sensor de temperatura con una precisión calibrada de 1◦ C y un rango que abarca desde -55◦ C a +150◦ C. El modelo más popular de esta matricula es el típico en forma de transistor con tres patas, dos de ellas para alimentarlo y la tercera entrega el valor un valor analógico, en la señal. La salida es lineal y equivalente a 10mV/◦ C. 4 Capítulo 3 Desarrollo y resultados La adquisición de datos es descrita por el diagrama de flujo(figura 3.1). Para obtener la medición de temperatura del sensor LM35(figura 3.5), se lleva a cabo la conexión entre el sensor y la tarjeta, conectando la pata media del transistor a una terminal del puerto analógico del arduino, en este caso, A0. El programa cargado en el Arduino MEGA se muestra en el siguiente código, la lectura del valor analógico se hace por medio de la entrada A0, y posteriormente se transmite a la computadora. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 Listing 3.1: Código implementado para la adquisición de la señal generada por el sensor LM35. // d e f i n i r v a r i a b l e s i n t out1 = 0 ; void setup ( ) { // i n i c i a l i z a r p u e r t o s e r i e S e r i a l . begin (9600); } void loop ( ) { // l e e r p i n e s out1 = analogRead (A0 ) ; // e n v i a r S e r i a l . p r i n t ( out1 ) ; Serial . print ( " , " ); // e s p e r a r delay ( 2 5 ) ; } Una vez lograda la lectura del valor analógico por Arduino, MATLAB procesa esos datos y opera con ellos. Normalmente el puerto para la comunicación Arduino-PC es el COM3, pero en este caso se usa el COM7. Posteriormente se 5 tiene que definir un tiempo de adquisición; de igual manera es importante mencionar que el protocolo de comunicación serial necesita definir una velocidad de transferencia de datos, fijada para este caso en 9600 baudios. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 Listing 3.2: Código implementado para la obtención de la N muestra del sistema digital. % c r e a c i ó n de o b j e t o s e r i e , para l e e r d a t o s d e l a r d u i n o %b o r r a r p r e v i o s d e l e t e ( i n s t r f i n d ( { ’ Port ’ } , { ’COM7 ’ } ) ) ; %c r e a r o b j e t o s e r i e s = s e r i a l ( ’COM7 ’ , ’ BaudRate ’ , 9 6 0 0 , ’ Terminator ’ , ’CR/LF ’ ) ; warning ( ’ o f f ’ , ’MATLAB: s e r i a l : f s c a n f : u n s u c c e s s f u l R e a d ’ ) ; % abrir puerto fopen ( s ) ; %p a r é m e t r o s de medidas tmax= 1 5 ; %tiempo de c a p t u r a en s rate = 33; %r e s u l t a d o e x p e r i m e n t a l ( comprobar ) %p r e p a r a r l a f i g u r a f = f i g u r e ( ’Name ’ , ’ Captura ’ ) ; a = a x e s ( ’XLim ’ , [ 0 tmax ] , ’YLim ’ , [ 0 5 . 1 ] ) ; l 1 = l i n e ( nan , nan , ’ C o l o r ’ , ’ r ’ , ’ LineWidth ’ , 2 ) ; x l a b e l ( ’ Tiempo ( s ) ’ ) y l a b e l ( ’ V o l t a j e (V) ’ ) t i t l e ( ’ Captura ␣ de ␣ v o l t a j e ␣ en ␣ tiempo ␣ r e a l ␣ con ␣ Arduino ’ ) g r i d on h o l d on %n u c l e o d e l programa %i n i c i a l i z a r v1 = z e r o s ( 1 , tmax∗ r a t e ) ; i = 1; t = 0; %e j e c u t a r b u c l e cronometrado tic w h i l e t<tmax t = toc ; %l e e r d e l p u e r t o s e r i e a = f s c a n f ( s , ’ %d, %d ’ ) ; v1 ( i ) = a ( 1 ) ∗ 5 / 1 0 2 4 ; % d i b u j a r en l a f i g u r a x = l i n s p a c e (0 , i / rate , i ) ; 6 44 s e t ( l 1 , ’ YData ’ , v1 ( 1 : i ) , ’ XData ’ , x ) ; 45 drawnow 46 %s e g u i r 47 i = i + 1; 48 end 49 % r e s u l t a d o d e l cronometro 50 c l c ; 51 f p r i n t f ( ’ %g ␣ s ␣ de ␣ c a p t u r a ␣ a ␣ %g ␣ cap / s ␣ \n ’ , t , i / t ) ; 52 53 54 f c l o s e ( s ) ; 55 d e l e t e ( s ) ; 56 c l e a r s ; La planta(figura 3.3) consiste en un foco de 100 watts (fuente de calor), un ventilador y una caja metálica donde se fija el foco y el sensor LM35. Este cuenta con un switch para encender y apagar el foco a voluntad. El sensor mide la variación de temperatura producida por la fuente de calor. La planta, al tratarse de un sistema de primer orden se utilizó la siguiente ecuación. G(s) = 1/T s + 1 (3.1) La siguiente planta al ser caracterizada se obtiene la siguiente función de transferencia. Con T = 145 segundos, es el tiempo en el que la temperatura alcanza el 63,2porciento de la temperatura total que corresponde a 73◦ C. La temperatura incial medida por el LM35 es de 28◦ C. G(s) = 1/145s + 1 (3.2) La comparación de la planta caracterizada con los datos obtenidos con Arduino se muestran en la figura 3.5 7 Figura 3.1: Diagrama de flujo del proceso de adquisición de la señal producida por el LM35. 8 Figura 3.2: Sensor conectado al Arduino. Figura 3.3: Planta en funcionamiento. 9 Figura 3.4: Sensor LM35. Figura 3.5: Gráfica del Sistema de Primer Orden. 10 Capítulo 4 Conclusiones Combinar el uso de Arduino con Matlab resulta ser muy útil, porque nos permitió con un conjunto de datos capturados caracterizar nuestra planta. Además se logró observar su comportamiento en tiempo real. Se logro comporobar los resultados obtenidos de forma experimental y teórica. A pesar de usar un sensor de temperatura LM35, el cual está calibrado para tener lecturas exactas en mediciones cercanas a 1◦ C, consume baja corriente(60 micro-amperes) y baja impedancia de salida. Las conexiones presentan ruido al leer los datos con el Arduino. Por consiguiente se pueden observar variaciones entre lo obtenido experimentalmente y teóricamente. 11 Bibliografía [1] Ogata, Katsuhiko (1996). Sistemas de Control en Tiempo discreto. 2da. Edición. Editorial Prentice Hall Hispanoamericana S. A. [2] Reyes Cortés, F.; Cid Monjaraz, J. & Vargas Soto, E. (2013). Mecatrónica, Control y Automatización. Alfaomega: México. [3] Reyes Cortés, F. (2012). MATLAB Aplicado a Robótica y Mecatrónica. Alfaomega: México. 12 Índice de figuras 2.1. Logo de Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2. Logo de Arduino . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4 3.1. Diagrama de flujo del proceso de adquisición de la señal producida por el LM35. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2. Sensor conectado al Arduino. . . . . . . . . . . . . . . . . . . . . 3.3. Planta en funcionamiento. . . . . . . . . . . . . . . . . . . . . . . 3.4. Sensor LM35. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5. Gráfica del Sistema de Primer Orden. . . . . . . . . . . . . . . . 8 9 9 10 10 13