Sie sind auf Seite 1von 30

Instituto Tecnolgico de Nogales

Sensores

Prcticas 1, 2, 3, 4,5 y 6

Nombre: Erick Alberto Mndez Mendoza

Nmero de Control: 12340152

Ingeniera en Electrnica

Instrumentacin

Maestro: M.C. Eduardo Snchez Arellano.

H. Nogales Sonora

Marzo del 2015


1

NDICE DE CONTENIDO
RESUMEN..................................................................................................................... 3
OBJETIVO..................................................................................................................... 4
INTRODUCCIN............................................................................................................ 5
MATERIAL Y EQUIPO.................................................................................................... 8
ACTIVIDADES REALIZADAS.......................................................................................... 9
Prctica #1.0.- Medicin de un Voltaje Analgico......................................................................9
Prctica #2.0.- Fuente de voltaje de 0-5v...............................................................................12
Practica #3.0.- Control de velocidad de un Motor....................................................................15
Practica #4.0.- Medicin de temperatura..................................................................17
Practica #5.0.- Medicin de distancia................................................................................... 20
Practica #6.0.- Medicin de flujo...............................................................................24
CONCLUSIONES......................................................................................................... 28
ANEXOS..................................................................................................................... 29
Pinout del Lcd............................................................................................................ 29
BIBLIOGRAFIA............................................................................................................ 30

NDICE DE IMGENES
2

Imagen 1.......7
Imagen 2...9
Imagen 3.....10
Imagen 4.....11
Imagen 5.....13
Imagen 6.....16
Imagen 7.....17
Imagen 8.....19
Imagen 9.....20
Imagen 10.......23
Imagen 11.......24
Imagen 12.......26
Imagen 13.......29

RESUMEN
3

La materia de Instrumentacin incluye una amplia gama de aplicaciones, debido a que nos
permite el manejo de diferentes sensores para la toma de decisiones y adquisicin de datos.
En este reporte se presentan 6 prcticas, que van desde lo ms sencillo hacia actividades
con mayor complejidad pero fciles de hacer apoyndonos de arduino como tarjeta de
adquisicin de datos.
Comenzando por lo bsico en la prctica #1 la cual consista en la medicin de un voltaje
analgico, previo a esto investigamos como crear una fuente de corriente variable para que a
travs de ella pudiramos obtener un voltaje al conectar una resistencia y a su vez medir ese
voltaje con arduino.
En la prctica #2 creamos una fuente de voltaje de 0 a 5v, utilizando las instrucciones
Analog read y Analog write de arduino y tambin conectamos un lcd para mostrar el voltaje
disponible; acoplamos una resistencia y un capacitor para transformar la seal pwm que sale de
arduino a un voltaje directo y un arreglo llamado seguidor emisor para obtener corriente de otra
fuente y no quemar los puertos de arduino por una sobrecarga.
Siguiendo con la prctica #3 encontramos que por medio de arduino y su monitor serie es
muy sencillo controlar la velocidad de un ventilador (motor) regulando el ancho de pulso de una
seal, utilizando un mosfet como interruptor de alto rendimiento.
La prctica #4 se trataba de medir la temperatura ambiente por medio del sensor LM35 y
mostrarla en el lcd.
La prctica #5 consista en medir la distancia de un objeto por medio de un sensor
ultrasnico (HR-SR04) y mostrar el resultado en un lcd, adicionalmente exista una condicin
que se explicara ms adelante.
Finalmente pero no menos importante con la prctica #6 se pretenda medir el flujo de un
lquido y mostrar las revoluciones as como los litros por minuto en el lcd.

OBJETIVO

Medir y monitorear diversos tipos de variables como lo son temperatura, distancia, flujo y
voltaje, as como modificar el ancho de pulso de una seal cuadrada para controlar la velocidad
de un motor utilizando arduino.

INTRODUCCIN
5

La prctica fue realizada en el Instituto Tecnolgico de Nogales.


Arduino es una plataforma de hardware libre, basada en una placa con
un microcontrolador y un entorno de desarrollo, diseada para facilitar el uso de la electrnica en
proyectos multidisciplinares.
El hardware consiste en una placa con un microcontrolador Atmel AVR y puertos
de entrada/salida.
Los microcontroladores ms usados son el Atmega168, Atmega328, Atmega1280,
y Atmega8 por su sencillez y bajo coste que permiten el desarrollo de mltiples diseos. Por otro
lado el software consiste en un entorno de desarrollo que implementa el lenguaje de
programacin Processing/Wiring y el cargador de arranque que es ejecutado en la placa.
Arduino puede tomar informacin del entorno a travs de sus entradas analgicas y
digitales, puede controlar luces, motores y otros actuadores. El microcontrolador en la placa
Arduino se programa mediante el lenguaje de programacin Arduino (basado en Wiring) y el
entorno de desarrollo Arduino (basado en Processing). Los proyectos hechos con Arduino pueden
ejecutarse sin necesidad de conectar a un computador.
Arduino UNO es la versin mejorada de su predecesor Duemilanove. Incluye funcin de
autoreset, proteccin de sobrecargas, conector USB para programarlo, totalmente montado con
componentes miniatura SMD (salvo el microcontrolador, para poder cambiarlo facilmente) y
nuevo bootloader OptiBoot a 155kbps.
La placa se entrega completamente ensamblada y probada con un microcontrolador
AVR ATmega328 con un cristal de cuarzo de 16Mhz. El microcontrolador se entrega con un
bootloader que permite su programacin sin necesidad de ningn tipo de programado externo.
Se entrega con el nuevo chip Atmega328 de AVR con 32 KB de memoria de programa en
lugar de 16 KB de la anterior versin, RAM de 2KB (antes 1KB) y EEPROM de 1 KB (antes 512
bytes).
La carga de los programas tambin es ms rpida ya que el bootloader fue actualizado a
una velocidad de 115000 baudios.

Imagen #1

Las prcticas son un factor importante y bsico para entender el funcionamiento de los
sensores y de arduino como controlador de estos, en busca de adquirir aptitudes para su amplia
manipulacin.
Afortunadamente no se presento ninguna complicacin al realizar las prcticas.

MATERIAL Y EQUIPO

1 protoboard.
1 Arduino UNO o Mega.
1 potencimetro de 10k.
1 potencimetro de 200.
1 resistencia de 270, 1 de 4.7 k.
1 capacitor de 10F.
1 Regulador de voltaje LM317.
1 Sensor ultrasnico HC-SR04.
1 Lcd 16x2.
1 Mosfet IRF640.
1 Transistor 2N2222A.
1 Fuente de voltaje.
1 ventilador de 12v.
1 osciloscopio digital.
1 par de puntas Banana-Caimn.
1 par de puntas BNC-Caimn.
1 Sensor de temperatura LM35.
1 Sensor de flujo YF-S201.

ACTIVIDADES REALIZADAS

Prctica #1.0.- Medicin de un Voltaje Analgico.

Primero que nada debemos crear una fuente de corriente variable utilizando el regulador
LM317 en una configuracin especial que se muestra a continuacin:

Imagen #2

La resistencia R1 debe ser sustituida por un potencimetro de 200 para lograr variar la
corriente, y en la salida del circuito anterior se conecta una resistencia de 270 en donde se
medir el voltaje por medio del pin A0 de la placa y se mostrar por medio del monitor serie
del software.

El cdigo lo podemos encontrar en el software de arduino:

Imagen #3

El cdigo con algunas modificaciones se muestra a continuacin:

void setup() {
// initialize serial communication at 9600 bits per second:
Serial.begin(9600);
}
// the loop routine runs over and over again forever:
void loop() {
// read the input on analog pin 0:
int sensorValue = analogRead(A0);
// Convert the analog reading (which goes from 0 - 1023) to a voltage (0 - 5V):
float voltage = sensorValue * (5.0 / 1023.0);
float current=voltage*1000/270; // Calculo de la corriente
// print out the value you read:
Serial.print(voltage);
10

Serial.print(" V");
Serial.print(" --> ");
Serial.print(current);
Serial.println(" mA");
delay(500);

Este es el circuito que se debe armar fsicamente:

Imagen #4
Una vez cargado el cdigo en la placa y conectado el circuito tal como se muestra en la
imagen, se debe abrir el monitor serie para ver el voltaje que hay presente en la resistencia as
como la corriente que circula a travs de ella, espordicamente se puede variar el potencimetro
para ver como la cada de voltaje y la corriente cambia con respecto a la variacin del
potencimetro.
11

Prctica #2.0.- Fuente de voltaje de 0-5v.

En esta prctica se conecta un potencimetro de 10k al puerto analgico 0 para


monitorear la cada de voltaje que hay presente en l, mostrarla en el lcd y a su vez hacer que
arduino escriba ese voltaje por medio de una seal cuadrada en el pin 6.
Arduino tiene la capacidad de emitir una seal cuadrada y variar su ciclo de trabajo
provocando una cada de voltaje distinta, segn el ciclo presente.
Existe un acoplamiento de una resistencia y un capacitor en la salida (pin 6) de la placa
para convertir la onda cuadrada en un nivel de voltaje de corriente directa y despus enviarlo a un
amplificador operacional para proporcionar una alta impedancia en el circuito (opcional), despus
de este paso se conecta un transistor en configuracin emisor seguidor para mantener el voltaje
suministrado por el arduino y tomar la corriente de otra fuente de voltaje que se conectar en el
colector del transistor.
Por medio de programacin se debe compensar la cada de 0.7v que son los que consume
la unin del transistor para ponerse en conduccin; la salida se medir entre el emisor y tierra.

El cdigo sera el siguiente:

#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
Serial.begin(9600);
}
void loop() {
int sensorValue = analogRead(A0);
float voltage = sensorValue * (5.0 / 1023.0);
int newValue;
lcd.begin(16, 2);
lcd.setCursor(0, 0);
lcd.print("El Voltaje es: "); lcd.print(voltage);
lcd.print("V");
lcd.setCursor(5, 1);
12

newValue=sensorValue/4;
newValue=newValue+37; // compensacin por la cada del transistor
analogWrite(6,newValue);
delay(500);
}

Este es el circuito que se debe armar fsicamente:

Imagen #5

13

En la nota que dice +12v indica el lugar donde se debe conectar la fuente adicional, no
s debe olvidar conectar las tierras en un mismo sitio para evitar problemas de medicin
Como se puede notar en el circuito no incluimos el amplificador operacional debido a que
se este se sobre-calent prcticamente, sin embargo con la resistencia y el capacitor es suficiente
para cumplir con el objetivo, el nico cambio fue que del arreglo RC se conecto directo a la base
del transistor.
Prcticamente observamos la modulacin de ancho de pulso que genera el arduino en la
seal cuadrada y como variaba la salida del voltaje en el emisor del transistor.
Todo sali tal como se esperaba.

Practica #3.0.- Control de velocidad de un Motor.


14

En esta ocasin utilizamos un cdigo proporcionado por el facilitador, dicho cdigo


permita ingresar un valor entre 0 y 255 en el monitor serie del software de arduino para regular
el ancho de pulso de una onda cuadrada la cual a su vez controlaba la velocidad de un ventilador.
Nos apoyamos de un mosfet para utilizarlo como switch ya que mientras exista un pulso
en su gate se pondr en conduccin pero en ausencia de este se convertir en un circuito
abierto; esto es ideal para controlar la velocidad debido a que es como si estuviramos
prendiendo y apagando el ventilador.

El cdigo para esta prctica es el siguiente:

const int ledPin=3;


void setup() {
Serial.begin(9600);
pinMode(ledPin,OUTPUT);
}
void loop() {
while (Serial.available()>0) { //pone el monitor serie disponible para recibir datos
int velocidad=Serial.parseInt(); // el dato introducido en el monitor lo toma la variable
"velocidad"
float Porcentaje=(velocidad*100)/255; // conversin del valor en "pasos" a porcentaje
analogWrite(ledPin,velocidad); // se escribe la variable "velocidad" en el pin 3 (va conectado a
"gate" del mosfet)
Serial.print(velocidad); Serial.print(" --> "); Serial.print(Porcentaje); Serial.println("%");
}
}
El circuito fsicamente sera el siguiente:

15

Imagen #6

Una vez conectado el circuito y cargado el programa en la placa se puede monitorear el


comportamiento del ventilador, ya que al introducir un valor entre 0 y 255 el monitor serie nos
dir el porcentaje al que est trabajando el ventilador.
En esta prctica recurrimos al osciloscopio para observar el ciclo de trabajo de la seal
enviada por arduino y verificar que los valores esperados coincidieran con los prcticos, sin
ninguna complicacin, as fue.

Practica #4.0.- Medicin de temperatura.

16

Para esta prctica nos apoyamos del sensor LM35 por su fcil manejo, dicho sensor nos
proporciona un voltaje de 10mV por cada grado centgrado por lo que es muy sencillo medir ese
voltaje y con programacin convertirlo a temperatura para posteriormente mostrarla en un lcd.
La configuracin de los pines del sensor y algunas especificaciones se muestran a
continuacin:

Imagen #7

El cdigo que nos permite realizar esta actividad es el siguiente:

#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
17

}
void loop() {
int analog_pin = 0;
float temperatura;
temperatura = analogRead(analog_pin);
temperatura = 5*temperatura*100/1023; // obtenemos la temperatura en grados centgrados
Serial.print(temperatura);
Serial.println(" C"); // mostramos la temperatura en monitor serie
lcd.begin(16,2);
lcd.print("Temperatura:"); // mostramos la temperatura en el lcd.
lcd.setCursor(0,1);
lcd.print(temperatura); lcd.print(" Grados C");
delay(500);
}

Circuito fsico:

18

Imagen #8

No hubo ningn inconveniente al realizar esta prctica, cabe mencionar que adems de
ver la temperatura en el lcd tambin se muestra en el monitor serie, solo es cuestin de
habilitarlo.

Practica #5.0.- Medicin de distancia.

19

En esta prctica utilizamos el sensor ultrasnico HC-SR04 para medir distancia y


mostrarla en un lcd; exista una condicin en esta actividad, la cual consista en que si la distancia
a la que se encontrara algn objeto estaba en el rango de 10 a 50cm encendera un led y si se
estaba fuera de ese rango estara apagado.

El pinout del sensor es el siguiente:

Imagen #9

El cdigo utilizado fue el siguiente:

#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
const int trigger=10;
const int echo=13;
float distance;

void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
20

pinMode(8, OUTPUT);
pinMode(trigger,OUTPUT);
pinMode(echo,INPUT);
lcd.begin(16,2);
}
void loop() {
//Inicializamos el sensor
digitalWrite(trigger,LOW);
delayMicroseconds(10);
// Comenzamos las mediciones
// Enviamos una seal activando la salida trigger durante 10 microsegundos
digitalWrite(trigger,HIGH);
delayMicroseconds(10);
digitalWrite(trigger,LOW);
distance=pulseIn(echo,HIGH); // Medimos el ancho del pulso cuando la lectura del pin sea
//HIGH medira el tiempo que transcurre hasta que sea LOW
distance=distance*0.0001657; // Adquirimos los datos y convertimos la medida a metros
Serial.print(distance); Serial.println(" Metros"); // Enviamos los datos medidos a travs del
//puerto serie y al display LCD
lcd.begin(16,2);
lcd.print("La distancia es:");
lcd.setCursor(0, 1);
lcd.print(distance); lcd.print(" metros");
if(distance>=0.1 and distance<=0.5) // establecemos la condicin del led encendido o apagado.
{
digitalWrite(8, HIGH);
21

}
else
{
digitalWrite(8,LOW);
}
delay(1000);
}

El led va conectado al pin 8 de arduino y debe llevar una resistencia de 330 como
proteccin.

Circuito fsico:

22

Imagen #10

Fue una prctica muy divertida y sencilla, afortunadamente no hubo complicaciones para
realizarla.

Practica #6.0.- Medicin de flujo.

23

Para esta prctica nos basamos en un video encontrado en la plataforma Youtube que nos
mostraba como utilizar el sensor de flujo YF-S201, y nos explicaba el cdigo as como las
conexiones necesarias.

El sensor de flujo cuenta con 3 cables, uno rojo que es el voltaje positivo, uno negro que
es el negativo y un amarillo que nos proporciona una seal analgica que el arduino puede leer y
utilizar a nuestro favor.

Imagen #11

El cdigo que utilizamos es el siguiente:

#include <LiquidCrystal.h>
LiquidCrystal lcd(12,11,7,6,5,4);
volatile int rpmcont;
int Calc;
void rpm()
{
rpmcont++;
}
24

void setup()
{
Serial.begin(9600);
lcd.begin(16,2);
lcd.print("Medidor de flujo");
delay(1000);
lcd.clear();
rpmcont=0;
attachInterrupt(0,rpm,FALLING);
}
void loop()
{
rpmcont=0;
sei();
delay(5000);
cli();
Calc=(rpmcont*120/350);
Serial.print(Calc,DEC);
Serial.print(" L/min\r\n");
lcd.setCursor(4,0);
lcd.print(Calc);
lcd.print("L/min");
lcd.setCursor(4,1);
lcd.print(rpmcont);
lcd.print(" rpm");
25

attachInterrupt(0,rpm,FALLING);
}

El circuito empleado fsicamente se muestra a continuacin:

Imagen #12

El sensor de flujo va conectado al pin 2 ya que es el que permite tener contacto con las
llamadas interrupciones, bsicamente el sensor funciona basado en un efecto llamado Hall;
internamente el sensor cuenta con 1 imn en cada una de sus aspas, y al circular por l un flujo de
agua provoca que las aspas se muevan y los imanes interrumpan un campo magntico un nmero
finito de veces, lo cual crea un voltaje de salida proporcional a las revoluciones a las que se
26

mueven las aspas y de esa manera se pueden determinar los litros de agua que circulan en el
sensor.
Todo esto es basado en las interrupciones que provoca el campo magntico del sensor y
estas se cuentan por medio del arduino.
No se presentaron dificultades en esta prctica y todo sali conforme a lo esperado.

CONCLUSIONES

27

Las prcticas nos sirvieron para entender el entorno de arduino y el funcionamiento de los
sensores simples, manipulando las variables ms utilizadas como la distancia, la temperatura y el
flujo.

Tambin descubrimos algunas de las virtudes de arduino como sus convertidores


analgico digital y digital analgico para la manipulacin de diferentes aplicaciones.

Afortunadamente existe mucho material en internet acerca de esta


plataforma open source la cual nos facilita las tareas que queremos realizar
sabiendo que la informacin es una gran herramienta si se sabe utilizar,
nosotros nos escatimamos los esfuerzos para lograr los objetivos planteados.

En esta unidad descubr que la manipulacin de los sensores es ms


sencilla de lo que pens, ya que los sensores facilitan el trabajo brindndote
una seal de voltaje o corriente dependiendo de las variables fsicas a las
que se ve expuesto y empleando las virtudes de arduino podemos modificar
y monitorear estas variables.

No se presento ninguna dificultad al realizar las prcticas.

ANEXOS

28

Pinout del Lcd

Imagen #13

BIBLIOGRAFIA

29

Instrucciones para un Buen reporte contenidas en Moodle.


http://es.wikipedia.org/wiki/Arduino
http://tienda.bricogeek.com/arduino/305-arduino-uno.html
http://es.wikipedia.org/wiki/Sensor_de_efecto_Hall

30

Das könnte Ihnen auch gefallen