Lectura Serial de Una Entrada Analoga (1)

8
UNIVERSIDAD DEL ATLÁNTICO FACULTAD DE INGENIERÍAS INGENIERÍA QUÍMICA LABORATORIO DE CONTROL Y SIMULACIÓN DE PROCESOS USANDO ARDUINO-MATLAB JESUS MIZGER - CRISTIAN LLANOS FELIX ESCORCIA - MAURICIO ROJANO LECTURA SERIAL DE UNA ENTRADA ANALOGA Y ENCENDIDO DE LED POR PWM 1. INTRODUCCION La señal analógica es aquella que presenta una variación continua con el tiempo, es decir, que a una variación suficientemente significativa del tiempo le corresponderá una variación igualmente significativa del valor de la señal (la señal es continua). Toda señal variable en el tiempo, por complicada que ésta sea, se representa en el ámbito de sus valores (espectro) de frecuencia. De este modo, cualquier señal es susceptible de ser representada descompuesta en su frecuencia fundamental y sus armónicos. El proceso matemático que permite esta descomposición se denomina análisis de Fourier. La modulación por ancho de pulsos (también conocida como PWM, siglas en inglés de pulse-width modulation) de una señal o fuente de energía es una técnica en la que se modifica el ciclo de trabajo de una señal periódica (una senoidal o una cuadrada, por ejemplo), ya sea para transmitir información a través de un canal de comunicaciones o para controlar la cantidad de energía que se envía a una carga. Un potenciómetro es un componente electrónico similar a los resistores pero cuyo valor de resistencia en vez de ser fijo es variable, permitiendo controlar la intensidad de corriente a lo largo de un circuito conectándolo en paralelo ó la caída de tensión al conectarlo en serie. Un potenciómetro es un elemento muy similar a un reóstato, la diferencia es que este último disipa más potencia y es utilizado para circuitos de mayor corriente, debido a esta característica, por lo general los potenciómetros son generalmente usados para variar el voltaje en un circuito colocados en paralelo, mientras que los reóstatos se utilizan en serie para variar la corriente.

description

Lectura seria de una entrada analoga, arduino.Codigo en matlab

Transcript of Lectura Serial de Una Entrada Analoga (1)

Page 1: Lectura Serial de Una Entrada Analoga (1)

UNIVERSIDAD DEL ATLÁNTICO

FACULTAD DE INGENIERÍAS INGENIERÍA QUÍMICA

LABORATORIO DE CONTROL Y SIMULACIÓN DE PROCESOS

USANDO ARDUINO-MATLAB

JESUS MIZGER - CRISTIAN LLANOS FELIX ESCORCIA - MAURICIO ROJANO

LECTURA SERIAL DE UNA ENTRADA ANALOGA Y ENCENDIDO DE LED POR PWM

1. INTRODUCCION

La señal analógica es aquella que presenta una variación continua con el tiempo,

es decir, que a una variación suficientemente significativa del tiempo le

corresponderá una variación igualmente significativa del valor de la señal (la señal

es continua).

Toda señal variable en el tiempo, por complicada que ésta sea, se representa en

el ámbito de sus valores (espectro) de frecuencia. De este modo, cualquier señal

es susceptible de ser representada descompuesta en su frecuencia fundamental y

sus armónicos. El proceso matemático que permite esta descomposición se

denomina análisis de Fourier.

La modulación por ancho de pulsos (también conocida como PWM, siglas en

inglés de pulse-width modulation) de una señal o fuente de energía es una técnica

en la que se modifica el ciclo de trabajo de una señal periódica (una senoidal o

una cuadrada, por ejemplo), ya sea para transmitir información a través de un

canal de comunicaciones o para controlar la cantidad de energía que se envía a

una carga.

Un potenciómetro es un componente electrónico similar a los resistores pero cuyo

valor de resistencia en vez de ser fijo es variable, permitiendo controlar la

intensidad de corriente a lo largo de un circuito conectándolo en paralelo ó la caída

de tensión al conectarlo en serie. Un potenciómetro es un elemento muy similar a

un reóstato, la diferencia es que este último disipa más potencia y es utilizado para

circuitos de mayor corriente, debido a esta característica, por lo general los

potenciómetros son generalmente usados para variar el voltaje en un circuito

colocados en paralelo, mientras que los reóstatos se utilizan en serie para variar la

corriente.

Page 2: Lectura Serial de Una Entrada Analoga (1)

2. OBJETIVOS

Aprender a identificar una señal análoga. Identificar un sistema PWM. Aprender a medir señales análogas usando la tarjeta de adquisición de

datos. Medir de manera cualitativa la intensidad de un potenciómetro usando un

LED.

3. MATERIALES

- Tarjeta ARDUINO UNO R3. - Cable USB. - 3 LED. - 3 resistencias de 1KΩ. - Potenciómetro. - Conectores rápidos MM. - Protoboard. - Computador.

4. ESQUEMA DE MONTAJE

Figura 1. Montaje del Potenciómetro. Tomado de Guía básica de Arduino.

Page 3: Lectura Serial de Una Entrada Analoga (1)

Figura 2. Montaje del LED-PWM. Tomado de Guía básica de Arduino.

Figura 3. Montaje del Potenciómetro-LED-PWM. Tomado de Guía básica de Arduino.

Page 4: Lectura Serial de Una Entrada Analoga (1)

5. PROCEDIMIENTO

5.1. Potenciómetro

5.1.1. Conecte la Tarjeta ARDUINO UNO R3 a su computadora personal por medio del cable USB y verifique la conexión en la ventana del programa ARDUINO, según lo dicho en la guía INSTALACION DE ARDUINO Y ENLACE ARDUINO MATLAB.

5.1.2. Arme el respectivo circuito eléctrico tal y como se muestra en la Fig.1 mostrada anteriormente, respetando los puertos donde se hacen las respectivas conexiones.

5.1.3. Abra el programa MATLAB y diríjase vaya a la ventana del editor.

5.1.4. Escriba el código que se le suministra en esta guía en la parte CODIGO 1.

5.1.5. Presione el botón Run, localizado en el menú EDITOR (Parte superior de la ventana de MATLAB).

5.1.6. Se deberá desplegar un grafico donde se registrar la medida de la señal dada por el potenciómetro. Esta va de 0 a 5.

5.1.7. Mueva el regulador del potenciómetro para variar la lectura y verificar que el montaje está bien armado.

5.2. LED-PWM

5.2.1. Conecte la Tarjeta ARDUINO UNO R3 a su computadora personal por medio del cable USB y verifique la conexión en la ventana del programa ARDUINO, según lo dicho en la guía INSTALACION DE ARDUINO Y ENLACE ARDUINO MATLAB.

5.2.2. Arme el respectivo circuito eléctrico tal y como se muestra en la Fig.2 mostrada anteriormente, respetando los puertos donde se hacen las respectivas conexiones.

5.2.3. Abra el programa MATLAB y diríjase vaya a la ventana del editor.

5.2.4. Escriba el código que se le suministra en esta guía en la parte CODIGO 2.

Page 5: Lectura Serial de Una Entrada Analoga (1)

5.2.5. Presione el botón Run, localizado en el menú EDITOR (Parte superior de la ventana de MATLAB).

5.2.6. Se deberá ir encendiendo y apagando el LED de manera paulatina con el transcurrir del tiempo.

5.3. Potenciómetro-LED-PWM

5.3.1. Conecte la Tarjeta ARDUINO UNO R3 a su computadora personal por medio del cable USB y verifique la conexión en la ventana del programa ARDUINO, según lo dicho en la guía INSTALACION DE ARDUINO Y ENLACE ARDUINO MATLAB.

5.3.2. Arme el respectivo circuito eléctrico tal y como se muestra en la Fig.3 mostrada anteriormente, respetando los puertos donde se hacen las respectivas conexiones.

5.3.3. Abra el programa MATLAB y diríjase vaya a la ventana del editor.

5.3.4. Escriba el código que se le suministra en esta guía en la parte CODIGO 3.

5.3.5. Presione el botón Run, localizado en el menú EDITOR (Parte superior de la ventana de MATLAB).

5.3.6. Se deberá ir encendiendo o apagando el LED paulatinamente a medida que se mueva el regulador del potenciómetro.

CODIGO 1

clc close all clear all %% Experiencia de adquisición de datos inmediata de un potenciómetro % Se especifica el nombre de la tarjeta que identificará el Matlab ar=arduino('COM3'); % Se crea una línea vacía de color rojo y ancho 2 l1=line(nan,nan,'Color','r','LineWidth',2); %se definen los límites de la ordenada ylim([-0.1 5.1]) grid Fs=50;%Frecuencia de muestreo N=1000; %Tamaño del vector y=zeros(N,1);%Vector de entrada %Se crea un vecto t de N valores linealmente espaciados desde 0 (N-1)/Fs t=linspace(0,((N-1)/Fs),N); %Variable arbitraria para iniciar el bucle

Page 6: Lectura Serial de Una Entrada Analoga (1)

stop=1; % Se definen los límites de la abscisa xlim([0 ((N-1)/Fs)]) %Se define un pushbutton con un valor de variable stop=0 uicontrol('Style','Pushbutton','String','Parar','Callback','stop=0;') %Función tic tic while stop if toc>1/Fs tic %Los valores de y+1 se convierten en los valores de y y(1:end-1)=y(2:end); %Se calcula el valor de y mediante el analogread de la tarjeta y(end)=ar.analogRead(0)*5/1023; %Colocamos los valores de la abscisa y la ordenada con los

valores %de t y y set(l1,'Xdata',t,'Ydata',y); %Fuerza a Matlab a hacer la gráfica inmdiatamente drawnow

end end

CODIGO 2 clc clear all close all %% Experiencia encendido de un LED por PWM %Se específica el nombre de la tarjeta que identificará el Matlab ar=arduino('COM3'); %Se estima la variable brillo como 0 al principio brillo=0; %Se selecciona el intervalo de variación (entero) de brillo del LED variacion=5; %Se denota la variable led con el pin 9 o un pin que posea PWM led=9; %Especificación de la variable led como salida ar.pinMode(led,'output') %Variable arbitraria para iniciar el bucle stop=1; %Se define un pushbutton con un valor de variable stop=0 uicontrol('Style','Pushbutton','String','Parar','Callback','stop=0;') while stop %Lectura de la señal digital por PWM donde la intensidad es = brillo ar.analogWrite(led,brillo) brillo=brillo+variacion; %Condicional que determina el cambio cuando alcanza los respectivos %límites de la señal PWM. Recuerde que la señal PWM tiene límites %0-255 y los valores deben ser enteros. if brillo==0 || brillo==255

Page 7: Lectura Serial de Una Entrada Analoga (1)

variacion=-variacion; end pause(0.1) end

CODIGO 3 clc clear all close all %% Experiencia encendido de un LED por PWM utilizando un potenciómetro %Se específica el nombre de la tarjeta que identificará el Matlab ar=arduino('COM3'); %Se denota la variable led con el pin 9 o un pin que posea PWM led=9; %Especificación de la variable led como salida ar.pinMode(led,'output') %Variable arbitraria para iniciar el bucle stop=1; %Se estima la variable brillo como 0 al principio brillo=0; %Se define un pushbutton con un valor de variable stop=0 uicontrol('Style','Pushbutton','String','Parar','Callback','stop=0;') while stop brilloled=brillo; %Lectura digital por PWM de 0-255 (entero) ar.analogWrite(led,brilloled) %Lectura análoga del potenciómetro expresada en números enteros brillo=ceil(ar.analogRead(0)*255/1023); end

6. CASO DE ESTUDIO

6.1. El dueño de DISCOLO quiere implementar un sistema novedoso de luces para su discoteca, el cual consiste en que las luces de la discoteca se enciendan y se apaguen pero paulatinamente, es decir que vayan aumentando o disminuyendo su intensidad con respecto al tiempo, para ello se requiere de sus servicios como programador. Cree un código que le permita a 3 LED´s encenderse y apagarse tal como se quiere. (Suministre esquema)

6.2. El dueño de DISCOLO quedo encantado con su sistema de luces, por ello quiere que usted implemente un sistema similar de encendido y apagado de las luces pero usando un potenciómetro que regule la intensidad de los LED. Proponga un código que permita regular la intensidad de los 3 LED´s simultáneamente con un potenciómetro (Suministre esquema)

Page 8: Lectura Serial de Una Entrada Analoga (1)

6.3. Se requiere un sistema que permita identificar cualitativamente el

aumento o disminución de la intensidad del volumen de un equipo de sonido, observando el cambio de luces. Para ello se propone que tres luces se enciendan y se apaguen a medida que se aumenta o disminuya la intensidad del sonido; un LED que se encienda para un rango bajo, uno para un rango medio y otro para un rango alto; y que además al encenderse uno de los LED´s se apaguen los otros 2. Cree un código que permita encender cada LED en un rango específico, que cambien con mover el regulador del potenciómetro. NOTA: Las señales analógicas varian en un rango de 0 a 255 (divídalo en tres partes iguales). (Suministrar esquema)

7. BIBLIOGRAFIA

MONK, Simon. 30 proyectos con Arduino. Madrid, España. (2012). 1ra

edición. Editorial Estribor, S.L. ISBN: 978-84-940030-0-4.

Guía básica de Arduino. [en línea]. [27/06/2015]. Disponible en

http://www.tiendaderobotica.com/download/Libro_kit_Basico.pdf