Escolar Documentos
Profissional Documentos
Cultura Documentos
PUEBLA
ORGANISMO PBLICO DESCENTRALIZADO DEL ESTADO DE
PUEBLA
INGENIERIA MECATRNICA
MECATRNICA 5 MB
Proyecto tarjeta de adquisicin de datos
(DAQ)
PRESENTA:
Baez Gonzalez Rafael
Castro Daz Ashael Jonathan
Flores Quiroz Juan
Guevara Vela Jos Antonio
Hebreo Castellano Siloni
PROFESOR:
Mtro. RAFAEL ROJAS RODRGUEZ
2 de Mayo de 2016
Introduccin
La adquisicin de datos (DAQ) es el proceso de medir con una PC un fenmeno
elctrico o fsico como voltaje, corriente, temperatura, presin o sonido. Un
sistema DAQ consiste de sensores, hardware de medidas DAQ y una PC con
software programable. Comparados con los sistemas de medidas tradicionales, los
sistemas DAQ basados en PC aprovechan la potencia del procesamiento, la
productividad, la visualizacin y las habilidades de conectividad de las PCs
estndares en la industria proporcionando una solucin de medidas ms potente,
flexible y rentable.
En este proyecto los fenmenos fsicos en los cuales nos enfocamos para realizar
sus mediciones fueron la temperatura, humedad y el caudal a travs de una
tubera por medio de sensores analgicos de temperatura como lo son los LM35,
sensores digitales de temperatura y humedad DHT11 y el sensor de caudal YFS201 que de igual manera es digital.
Mediante la plataforma de pruebas arduino pudimos adquirir las seales de los
sensores para que as el software Matlab los pudiera procesar, para as
posteriormente analizarlos mediante graficas.
Objetivo
Se pretende que con esta investigacin se tenga un conocimiento de los aspectos
bsicos de los sensores , principalmente de su funcionamiento y comportamiento.
El conocimiento relativo sobre los sensores se extiende en gran medida pero
el objetivo no es involucrar todo lo relevante con los sensores si no ms bien lo
indispensable y bsico para lograr una comprensin clara de estos dispositivo, las
seales de salida y como procesarlas.
Marco terico
Sensor
Un sensor o captador, como prefiera llamrsele, no es ms que un dispositivo
diseado para recibir informacin de una magnitud del exterior y transformarla en
otra magnitud, normalmente elctrica, que seamos capaces de cuantificar y
manipular.
Normalmente estos dispositivos se encuentran realizados mediante la utilizacin
de componentes pasivos (resistencias variables, PTC, NTC, LDR, etc. todos
aquellos componentes que varan su magnitud en funcin de alguna variable), y la
utilizacin de componentes activos.
Tren de pulso
Dado que un tren de deltas no es
implementable, el modelo para el muestreo
utilizado es un tren de pulsos. Su amplitud es
1 durante un intervalo muy pequeo para
conseguir un muestreo lo ms ideal posible.
Por este mismo motivo no podremos
recuperar la seal original exacta, debido a
que la Transformada de Fourier de un pulso
es una funcin zinc. La multiplicacin de una
funcin zinc con el espectro de la seal original dar como resultado el espectro
de la seal original ligeramente modificado i repetido cada Fs.
Sensor Analogico y Digital
Los sensores digitales son aquellos que frente a un estmulo pueden cambiar de
estado ya sea de cero a uno o de uno a cero (hablando en trminos de lgica
digital) en este caso no existen estados intermedios y los valores de tensin que
se obtienen son nicamente dos, 5V y 0V (o valores muy prximos).
Ahora bien, como los sensores comnmente sern utilizados con circuitos lgicos,
y ms si se trata de robtica en cuyo caso posiblemente incluyas un
microcontrolador, habr que ver como trabajar con los sensores analgicos. Por
suerte existen unos Circuitos integrados llamados Conversores Analgico/Digital
(Conversores A/D) que transforman la seal analgica en seal digital, y por
supuesto tambin estn los Conversores D/A.
Conversores Analgico/Digital
Los conversores Analgico/Digital los puedes seleccionar entre otras cosas, de
acuerdo a la cantidad de bits de salida,por ejemplo:
Un Conversor A/D de 3 bits dispone de una entrada analgica y 3 terminales de
salida Digitales, es decir que combinando las salidas puede tomar 8 posibles
valores binarios segn el nivel de tensin en su entrada. por aquello de 2 n es decir
que tendrs valores entre 000 y 111, veamos como se corresponden estos valores
con los niveles de tensin.
Entrada
Salida Digital
Analgica
0V
000
0.625 V
001
1.25 V
010
1.875 V
011
2.5 V
100
3.125 V
101
3.75 V
110
4.375 V
111
DHT11
150 C = 1500 mV
-55 C = -550 mV
Est calibrado directamente en grados Celsius.
La tensin de salida es proporcional a la temperatura.
Tiene una precisin garantizada de 0.5 C a 25 C.
Baja impedancia de salida.
Baja corriente de alimentacin (60 A).
YF-S201
Materiales
Jumpers
Soldadura
Arduino Mega
Sensor Temperatura/Humedad DHT11
Sensor de Temperatura LM35
Sensor de Caudal YF-S201
Placa Fenolica
Clemas de 2 y de 3 entradas
Regulador de voltaje (Dimmer)
Manguera de de pulgada
Conecciones de de pulgada
PC con matlab
Simulacin
Circuito completo
Desarrollo
Una vez que se obtuvieron los resultados esperados en la simulacion lo siguente
que se procedio a hacer fue la elavoracion de la plcaca. Ocupando el software
EAGLE se realizo el diseo del PSB para posteriormente imprimirlo y
posteriormete realizar pruebas de continuidad serciorandonos de que ninguna
pista en la plaza se hubiese juntado o se hubiese roto.
Codigo Matlab
%UniversidadPolitcnicadePuebla
%Sensoresyacondicionamientodeseales
%Programapararegistrarlosvaloresdadosporsensoresdetemperaturay
humedad.
closeall;
%Cerrarventanasoprocesosanteriores
clc;
%LimpiolaCommandWindow
delete(instrfind({'Port'},{'/dev/cu.usbmodem1411'}));
activarArduino=serial('/dev/cu.usbmodem1411','BaudRate',115200,
'Terminator','CR/LF');%ConfigurarelpuertoCOMsegnlaPCautilizar
warning('off','MATLAB:serial:fscanf:unsuccessfulRead');
fopen(activarArduino);
%Iniciarcomunicaci?nserial
tiempoMuestreo=inf;
%Tiempodecapturaenseneleejex
numeroCapturas=0.52;
%Capturasarealizarporciclo
%Creamoslaventanadondevisualizaremoslossensoresdetemperatura
figure('Name','Monitoreodesensoresdetemperatura');
%Crealaventanadevisualizaci?ndelos12sensoresdetemperatura
axes('XLim',[0tiempoMuestreo],'YLim',[0101]);
%Delimitatodaslas12graficasdetemperatura
%Grficadeldespliegaelprimersensordetemperatura
subplot(3,4,1)
vector1=line(nan,nan,'Color','r','LineWidth',2);
title('Sensortemperatura1')
xlabel('Tiempo(s)')
ylabel('Temperatura(C)')
gridon
holdon
%Grficaquedespliegaelsegundosensordetemperatura
subplot(3,4,2)
vector2=line(nan,nan,'Color','r','LineWidth',2);
title('Sensortemperatura2')
xlabel('Tiempo(s)')
ylabel('Temperatura(C)')
gridon
holdon
%Graficaquedespliegaeltercersensordetemperatura
subplot(3,4,3)
vector3=line(nan,nan,'Color','r','LineWidth',2);
title('Sensortemperatura3')
xlabel('Tiempo(s)')
ylabel('Temperatura(C)')
gridon
holdon
%Graficaquedespliegaelcuartosensordetemperatura
subplot(3,4,4)
vector4=line(nan,nan,'Color','r','LineWidth',2);
title('Sensortemperatura4')
xlabel('Tiempo(s)')
ylabel('Temperatura(C)')
gridon
holdon
%Graficaquedespliegaelquintosensordetemperatura
subplot(3,4,5)
vector5=line(nan,nan,'Color','r','LineWidth',2);
title('Sensortemperatura5')
xlabel('Tiempo(s)')
ylabel('Temperatura(C)')
gridon
holdon
%Graficaquedespliegaelsextosensordetemperatura
subplot(3,4,6)
vector6=line(nan,nan,'Color','r','LineWidth',2);
title('Sensortemperatura6')
xlabel('Tiempo(s)')
ylabel('Temperatura(C)')
gridon
holdon
%Graficadeldespliegaels?ptimosensordetemperatura
subplot(3,4,7)
vector7=line(nan,nan,'Color','r','LineWidth',2);
title('Sensortemperatura7')
xlabel('Tiempo(s)')
ylabel('Temperatura(C)')
gridon
holdon
%Graficaquedespliegaeloctavosensordetemperatura
subplot(3,4,8)
vector8=line(nan,nan,'Color','r','LineWidth',2);
title('Sensortemperatura8')
xlabel('Tiempo(s)')
ylabel('Temperatura(C)')
gridon
holdon
%Creamoslaventanadondevisualizaremoslossensoresdehumedad
figure('Name','Monitoreodesensoresdehumedad');
axes('XLim',[0tiempoMuestreo],'YLim',[0101]);
%Graficadeldespliegaelprimersensordehumedad
subplot(2,3,1)
vector9=line(nan,nan,'Color','b','LineWidth',2);
title('Sensorhumedad1')
xlabel('Tiempo(s)')
ylabel('Humedad(%)')
gridon
holdon
%Graficaquedespliegaelsegundosensordehumedad
subplot(2,3,2)
vector10=line(nan,nan,'Color','b','LineWidth',2);
title('Sensorhumedad2')
xlabel('Tiempo(s)')
ylabel('Humedad(%)')
gridon
holdon
%Graficaquedespliegaeltercersensordehumedad
subplot(2,3,3)
vector11=line(nan,nan,'Color','b','LineWidth',2);
title('Sensorhumedad3')
xlabel('Tiempo(s)')
ylabel('Humedad(%)')
gridon
holdon
%Graficaquedespliegaelcuartosensordehumedad
subplot(2,3,4)
vector12=line(nan,nan,'Color','b','LineWidth',2);
title('Sensortemperatura4')
xlabel('Tiempo(s)')
ylabel('Humedad(%)')
gridon
holdon
%Creamoslaventanadondevisualizaremoslossensoresdehumedad
figure('Name','MonitoreodesensoresdeCaudal');
axes('XLim',[0tiempoMuestreo],'YLim',[0101]);
%GraficadeldespliegaelprimersensordeCaudal
subplot(2,3,1)
vector13=line(nan,nan,'Color','b','LineWidth',2);
title('Caudal1')
xlabel('Tiempo(s)')
ylabel('Litros(L)')
gridon
holdon
%GraficaquedespliegaelsegundosensordeCaudal
subplot(2,3,2)
vector14=line(nan,nan,'Color','b','LineWidth',2);
title('Caudal2')
xlabel('Tiempo(s)')
ylabel('Litros(L)')
gridon
holdon
diaryDatos_sensores.txt
fprintf('\n\n');
fprintf('Fechayhora:\t\tTemper1:\tTemper2:\tTemper3:\t');
fprintf('Temper4:\tTemper5:\tTemper6:\tTemper7:\t');
fprintf('Temper8:\tHumedad1:\tHumedad2:\tHumedad3:\t');
fprintf('Humedad4:\tCaudal1:\tCaudal2:\n');
diaryoff
control=1;
ciclos=0;
tic
while(1)
ciclos=toc;
%Utilizarestavariablecuandoseauntiempodefinido
sensor1=fscanf(activarArduino,'%d')';
sensor2=fscanf(activarArduino,'%d')';
sensor3=fscanf(activarArduino,'%d')';
sensor4=fscanf(activarArduino,'%d')';
sensor5=fscanf(activarArduino,'%d')';
sensor6=fscanf(activarArduino,'%d')';
sensor7=fscanf(activarArduino,'%d')';
sensor8=fscanf(activarArduino,'%d')';
sensor9=fscanf(activarArduino,'%d')';
sensor10=fscanf(activarArduino,'%d')';
sensor11=fscanf(activarArduino,'%d')';
sensor12=fscanf(activarArduino,'%d')';
sensor13=fscanf(activarArduino,'%d')';
sensor14=fscanf(activarArduino,'%d')';
temperatura1(control)=(sensor1*5/1024)*100;
temperatura2(control)=(sensor2*5/1024)*100;
temperatura3(control)=(sensor3*5/1024)*100;
temperatura4(control)=(sensor4*5/1024)*100;
temperatura5(control)=sensor5;
temperatura6(control)=sensor6;
temperatura7(control)=sensor7;
temperatura8(control)=sensor8;
humedad1(control)=sensor9;
humedad2(control)=sensor10;
humedad3(control)=sensor11;
humedad4(control)=sensor12;
caudal1(control)=sensor13;
caudal2(control)=sensor14;
x=linspace(0,control/numeroCapturas,control);
set(vector1,'YData',temperatura1(1:control),'XData',x);
set(vector2,'YData',temperatura2(1:control),'XData',x);
set(vector3,'YData',temperatura3(1:control),'XData',x);
set(vector4,'YData',temperatura4(1:control),'XData',x);
set(vector5,'YData',temperatura5(1:control),'XData',x);
set(vector6,'YData',temperatura6(1:control),'XData',x);
set(vector7,'YData',temperatura7(1:control),'XData',x);
set(vector8,'YData',temperatura8(1:control),'XData',x);
set(vector9,'YData',humedad1(1:control),'XData',x);
set(vector10,'YData',humedad2(1:control),'XData',x);
set(vector11,'YData',humedad3(1:control),'XData',x);
set(vector12,'YData',humedad4(1:control),'XData',x);
set(vector13,'YData',caudal1(1:control),'XData',x);
set(vector14,'YData',caudal2(1:control),'XData',x);
drawnow
diaryDatos_sensores.txt
fprintf('%c',datestr(now));
fprintf('\t');
fprintf('%.3f\t\t',temperatura1(control));
fprintf('%.3f\t\t',temperatura2(control));
fprintf('%.3f\t\t',temperatura3(control));
fprintf('%.3f\t\t',temperatura4(control));
fprintf('%.3f\t\t',temperatura5(control));
fprintf('%.3f\t\t',temperatura6(control));
fprintf('%.3f\t\t',temperatura7(control));
fprintf('%.3f\t\t',temperatura8(control));
fprintf('%d\t\t',humedad1(control));
fprintf('%d\t\t',humedad2(control));
fprintf('%d\t\t',humedad3(control));
fprintf('%d\t\t',humedad4(control));
fprintf('%.3f\t\t',caudal1(control));
fprintf('%.3f\t\t',caudal2(control));
fprintf('\n');
diaryoff
control=control+1;
end
Graficas generadas
Codigo Arduino
//Declaracin de la librera del DHT11
#include <DHT.h>
// Se definen los pines en los que seran conectados los sensores DHT11
#define DHT1 47
#define DHT2 45
#define DHT3 43
#define DHT4 41
#define DHTTYPE DHT11
Conclusin
Se concluye que en la electronica aplicada los sensores son fundamentales ya
que con estos podremos la variacion de cualquier fenomeno fisico dentro de un
sistema controlado como lo pudiera ser una linea de produccion que sea necesaria
una temparatura o humedad contante y cualquier variacion de estos pueda llegar a
perjudicar el producto final.
As como en el caso de que para un sistema de llenado de liquidos (refresco,
agua, cerveza, etc.) sea prioritario que dicho liquido tenga un caudal contante y en
dado caso que no se pudiese mantener poder observar la variacion y
posteriormente hacer el analicis pertinente con los datos arrojados.
Bibliografa
Instruments, T. (s.f.). Texas Instruments. Obtenido de http://www.ti.com
Marquez, A. (s.f.). Hetpro. Obtenido de http://hetprostore.com/TUTORIALES/sensor-de-flujo/
Marticorena, J. L. (s.f.). Jos Luis Molina Marticorena . Obtenido de
http://www.profesormolina.com.ar/index.htm
Molina, P. (s.f.). Profesor Molina. Obtenido de
http://www.profesormolina.com.ar/tecnologia/sens_transduct/que_es.htm
MOORE, H. MATLAB PARA INGENIEROS. PEARSON.
Ruben, J. (s.f.). Geek Factory. Obtenido de http://www.geekfactory.mx
Anexos
Sensores de flujo(Caudal).