Documente Academic
Documente Profesional
Documente Cultură
Reporte de Practica
Materia: Instrumentacin
Ingeniera Mecatrnica
Agosto/Septiembre 2015
1.- Resumen
*Es importante saber que para esta practica
estaremos usando un Arduino Mega 2560,
pero en caso de que uses cualquier Arduino
solo es necesario cambiar el tipo de placa
en las Herramientas del programa, puedes
regresar al inicio para ver como hacer esto.
2.-Introduccin
El propsito de esta practica es
analizar
y
comprender
el
comportamiento del actuadores para
poder usarlos en cualquier caso
practico que se nos presente,
aprender a combinar trabajos de
bajo voltaje con etapas de potencia
son necesarios para ampliar la
experiencia en el campo y los
mtodos de solucin.
Un encoder, es un dispositivo,
circuito, programa de software, un
algoritmo o incluso hasta una
persona cuyo objetivo es convertir
informacin de un formato a otro con
el propsito de estandarizacin,
velocidad,
confidencialidad,
seguridad o incluso para comprimir
archivos.
Su funcin es la de convertir el
movimiento mecnico (giros del eje)
en pulsos digitales o anlogos que
pueden ser interpretados por un
controlador de movimiento.
5.- Material
Necesario
Para esta practica sern necesarios
los siguientes artculos:
4.3.- Relevador
El relevador es un dispositivo
electromagntico, funciona como un
interruptor controlado por un circuito
elctrico en el que, por medio de una
bobina y un electroimn, se acciona
un juego de uno o varios contactos
que permiten abrir o cerrar otros
circuitos elctricos independientes.
Para esta practica nos sirve cono
puente entre la etapa de potencia
entre el Arduino que maneja bajos
niveles de voltaje y en DC (Corriente
Directa) y el foco que maneja altos
voltajes y en CA (Corriente Alterna),
estos tipos de relevadores casi
siempre vienen diseados para
trabajar con corriente alterna y
directa pero siempre se debe
asegurar leyendo la hoja de datos de
nuestro dispositivo.
6.- Desarrollo
Paso
2.Para
este
paso
conectaremos nuestro relevador, en
7.- Programa
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x3F,16,2);//configuracin de pines digitales de la tarjeta arduino para la
conexin con el lcd
#include <Keypad.h>
volatile long rpm=0;
long vuelta=0;
int a=0;
int b=0;
int c=0;
int d=0;
int mx=1800;//ingrese el valor maximo que alcanza el motor para las mediciones
int mn=100;//ingrese el valor minimo que alcanza el motor para las mediciones
int suma=0;
char pulsacion;
const byte Filas = 4;
//Cuatro filas
const byte Cols = 4;
//Cuatro columnas
byte Pins_Filas[] = {53, 51, 49, 47}; //Pines Arduino para las filas
byte Pins_Cols[] = { 45, 43, 41, 39};
// Pines Arduinopara las columnas se cambio el valor
de 2 porque ahi se encuantra la interrupcion http://www.prometec.net/interrupciones/
char Teclas [ Filas ][ Cols ] =
{
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
Keypad Teclado1 = Keypad(makeKeymap(Teclas), Pins_Filas, Pins_Cols, Filas, Cols);
void setup() {
lcd.backlight();
lcd.init();
pinMode(2,INPUT);
pinMode(11,OUTPUT);
attachInterrupt ( 0 , god , RISING ) ;
}
void loop() {
brinco:
if (suma==0){
lcd.setCursor(0,0); lcd.print("rpm = ");
do { pulsacion = Teclado1.getKey();} while (pulsacion==0 );
lcd.setCursor(6,0); lcd.print(pulsacion); a=(pulsacion-48);
do { pulsacion = Teclado1.getKey();} while (pulsacion==0 );
lcd.setCursor(7,0); lcd.print(pulsacion); b=(pulsacion-48);
do { pulsacion = Teclado1.getKey();} while (pulsacion==0 );
lcd.setCursor(8,0); lcd.print(pulsacion); c=(pulsacion-48);
do { pulsacion = Teclado1.getKey();} while (pulsacion==0 );
lcd.setCursor(9,0); lcd.print(pulsacion); d=(pulsacion-48);
suma=((a*1000)+(b*100)+(c*10)+d);
do { pulsacion = Teclado1.getKey();} while (pulsacion==0 );
}
lcd.setCursor(0,0);
lcd.print("
");
lcd.setCursor(0,0);
lcd.print("rpm = ");
delay(1000);
lcd.setCursor(0,0);
lcd.print(suma);
delay(1000);
lcd.setCursor(0,0);
lcd.print("
");
lcd.setCursor(0,1);
lcd.print("
");
delay(50);
rpm=0;
while(1)
{
lcd.setCursor(0,0);
lcd.print(suma);
lcd.setCursor(0,1);
lcd.print(vuelta);
lcd.print(" rpm");
delay(1000);
vuelta= rpm*60/16;
if(vuelta>=1800)
{
vuelta=1800;
}
if(vuelta<=-1)
{vuelta=1800;
}
rpm=0;
lcd.clear();
if(suma<=vuelta){
digitalWrite(11,HIGH);
}else{
digitalWrite(11,LOW);
}
}
}
void god()
{
rpm++;
}
8.- Resultados
Puede observarse en las siguientes
imgenes
el
correcto
funcionamiento de la prctica.
Ilustracin 7, Resultados
Ilustracin 5, Resultados
Ilustracin 8, Resultados
9.- Conclusiones:
Ilustracin 6, Resultados