Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
FACULTAD DE INGENIERAS
INGENIERA QUMICA
LABORATORIO DE CONTROL Y SIMULACIN DE PROCESOS
USANDO ARDUINO-MATLAB
JESUS MIZGER - CRISTIAN LLANOS
FELIX ESCORCIA - MAURICIO ROJANO
1. INTRODUCCION
La seal analgica es aquella que presenta una variacin continua con el tiempo,
es decir, que a una variacin suficientemente significativa del tiempo le
corresponder una variacin igualmente significativa del valor de la seal (la seal
es continua).
Toda seal variable en el tiempo, por complicada que sta sea, se representa en
el mbito de sus valores (espectro) de frecuencia. De este modo, cualquier seal
es susceptible de ser representada descompuesta en su frecuencia fundamental y
sus armnicos. El proceso matemtico que permite esta descomposicin se
denomina anlisis de Fourier.
La modulacin por ancho de pulsos (tambin conocida como PWM, siglas en
ingls de pulse-width modulation) de una seal o fuente de energa es una tcnica
en la que se modifica el ciclo de trabajo de una seal peridica (una senoidal o
una cuadrada, por ejemplo), ya sea para transmitir informacin a travs de un
canal de comunicaciones o para controlar la cantidad de energa que se enva a
una carga.
Un potencimetro es un componente electrnico 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 conectndolo en paralelo la cada
de tensin al conectarlo en serie. Un potencimetro es un elemento muy similar a
un restato, la diferencia es que este ltimo disipa ms potencia y es utilizado para
circuitos de mayor corriente, debido a esta caracterstica, por lo general los
potencimetros son generalmente usados para variar el voltaje en un circuito
colocados en paralelo, mientras que los restatos se utilizan en serie para variar la
corriente.
2. OBJETIVOS
Aprender a identificar una seal anloga.
Identificar un sistema PWM.
Aprender a medir seales anlogas usando la tarjeta de adquisicin de
datos.
Medir de manera cualitativa la intensidad de un potencimetro usando un
LED.
3. MATERIALES
-
4. ESQUEMA DE MONTAJE
5. PROCEDIMIENTO
5.1.
Potencimetro
LED-PWM
Potencimetro-LED-PWM
CODIGO 1
clc
close all
clear all
%% Experiencia de adquisicin de datos inmediata de un potencimetro
% Se especifica el nombre de la tarjeta que identificar el Matlab
ar=arduino('COM3');
% Se crea una lnea vaca de color rojo y ancho 2
l1=line(nan,nan,'Color','r','LineWidth',2);
%se definen los lmites de la ordenada
ylim([-0.1 5.1])
grid
Fs=50;%Frecuencia de muestreo
N=1000; %Tamao 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
stop=1;
% Se definen los lmites 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;')
%Funcin 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 grfica inmdiatamente
drawnow
end
end
CODIGO 2
clc
clear all
close all
%% Experiencia encendido de un LED por PWM
%Se especfica 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 variacin (entero) de brillo del LED
variacion=5;
%Se denota la variable led con el pin 9 o un pin que posea PWM
led=9;
%Especificacin 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 seal digital por PWM donde la intensidad es = brillo
ar.analogWrite(led,brillo)
brillo=brillo+variacion;
%Condicional que determina el cambio cuando alcanza los respectivos
%lmites de la seal PWM. Recuerde que la seal PWM tiene lmites
%0-255 y los valores deben ser enteros.
if brillo==0 || brillo==255
variacion=-variacion;
end
pause(0.1)
end
CODIGO 3
clc
clear all
close all
%% Experiencia encendido de un LED por PWM utilizando un potencimetro
%Se especfica 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;
%Especificacin 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 anloga del potencimetro expresada en nmeros enteros
brillo=ceil(ar.analogRead(0)*255/1023);
end
6. CASO DE ESTUDIO
6.1.
6.2.
6.3.
7. BIBLIOGRAFIA
MONK, Simon. 30 proyectos con Arduino. Madrid, Espaa. (2012). 1ra
edicin. Editorial Estribor, S.L. ISBN: 978-84-940030-0-4.
Gua bsica de Arduino. [en lnea]. [27/06/2015]. Disponible en
http://www.tiendaderobotica.com/download/Libro_kit_Basico.pdf