Sunteți pe pagina 1din 13

PROYECTO FINAL

MEDIDOR DE GRAVEDAD

ADRIAN SUAREZ

1088011317

SEBASTIAN ZULUAGA

1088303309

ESTEBAN PATIÑO

1112779151

DOCENTE PROGRAMA INGENIERÍA MECATRÓNICA

Ing. HERNAN ALBERTO QUINTERO VALLEJO

UNIVERSIDAD TECNOLOGICA DE PEREIRA

INGENIERIA MECATRONICA

MICROCONTROLADORES 1

PEREIRA

2019
TABLA DE CONTENIDO

1. INTRODUCCION------------------------------------------------------------------------------pág. 3

2. OBJETIVOS GENERALES--------------------------------------------------------------- pág. 3

3. OBJETIVOS ESPECIFICOS-------------------------------------------------------------- pág. 3

4. MARCO TEORICO---------------------------------------------------------------------------pág. 3

5. DESARROLLO--------------------------------------------------------------------------------pág. 5
 Diseño electrónico
 Diseño mecánico

6. FUNCIONAMIENTO-------------------------------------------------------------------------pág. 8

7. CONCLUSIONES----------------------------------------------------------------------------pág.
13

8. BIBLIOGRAFIA------------------------------------------------------------------------------pág. 13

2
1. INTRODUCCION

En el presente proyecto se desea construir un equipo de laboratorio para medir el


valor de la constante de gravitación universal. El equipo consta de un sistema
electrónico que después de la orden dada a través de un pulsador, libera en caída
libre un objeto y mide el tiempo que este tarda en impactar una superficie.

2. OBJETIVOS GENERALES.

 Realizar la programación en CCS la cual cumpla con los requisitos


necesarios para el correcto funcionamiento del medidor de gravedad.

 Fabricar circuito electrónico el cual sea el transductor para el


funcionamiento de la programación.

 Adecuar las entradas y salidas del microcontrolador 16F887 para los


sensores y actuadores del proyecto.

3. OBJETIVOS ESPECÍFICOS:

 Realizar en la programación un buen control de las señales entregadas por


el sensor ultrasónico y microfónico para que así marque una correcta
medida de altura, tiempo de caída, velocidad y gravedad.

 Hacer el diseño electrónico en proteus para la conexión física de los


sensores y actuadores.

 Fabricar una maqueta amigable con el medio ambiente y con materiales


reciclables.

4. MARCO TEÓRICO

La función principal del proyecto debe ser medir el valor constante de gravitación.
El movimiento de caída libre está dado por la ecuación:

3
1
H=V o+ g t 2
2

Donde:

Dado que el movimiento comienza con velocidad inicial cero, la ecuación queda
reducida a la siguiente expresión

1
H= g t 2
2

Para lograr determinar los valores a medir el microcontrolador necesita de los


datos que proporcionan los sensores, tanto como el de ultrasonido como el de
sonido, al momento de recibir las señales, el pic mostrará el valor de la medición
de la gravedad y la velocidad final en la LCD.

Conocida la distancia que recorre el cuerpo y el tiempo que tomó en recorrerla, es


posible encontrar el valor de la gravedad. La siguiente figura muestra un esquema
general del equipo que se desea diseñar:

Fig. 1: Diseño de la maqueta.

4
5. DESARROLLO

 Diseño electrónico

Para el presente proyecto se usaron los siguientes componentes electrónicos para


censar y controlar las variables externas:

 PIC16F887
 Sensor ultrasónico
 Módulo de micrófono
 Módulo de electroimán
 LCD
 Sensor toch capacitivo

Para dar solución al problema propuesto se dispone hacer un programa el cual


haga haga un senso de las variables externas, el control y la visualización de todo
lo que suceda y esto lo logra con un sensor ultrasónico Hc-Sr04 el cual consiste
en un par de transductores de ultrasonido que se usan de forma conjunta para
determinar así la distancia del sensor respecto a un objeto puesto en frente de
éste. Su funcionamiento básico consiste en dos señales, llamadas señal 1
(TRIGGER) y señal 2 (ECHO), emiten un pulso del cual se empieza a contar el
tiempo determinado en que tarde en rebotar de la señal 1 a la señal 2, una vez
terminado esto automáticamente este tiempo es utilizado para calcular la altura en
la que se encuentra, el modulo de micrófono el cual es un sensor de sonido que
envía un pulso de una señal digital apenas detecta algún sonido, el módulo de
electroimán el cual controla el campo magnético en presencia de un voltaje en sus
bobinas de esta manera se logra una conexión y desconexión del mismo, el
sensor toch es un sensor capacitivo que trabaja con la electrostática manejada por
un cuerpo, la pantalla LCD que es usada para visualizar valores que se quieran
mostrar al usuario y por ultimo el PIC16F887 el cual es el encargado de hacer la
ejecución del programa de control.

Teniendo ya claro las consultas y el funcionamiento de todos los componentes se


procede hacer un plano en proteus el cual servirá de simulación y como guía para
luego hacer las conexiones físicas y se procede a realizar le programa el cual va
hacer la toma de la medida de la altura y la velocidad en la que cae el objeto para
así ya darnos la visualización de gravedad a la que es expuesto el objeto al caer
de una altura determinada y su vez también nos visualiza la velocidad en la que el
objeto cae.

5
 Diseño mecánico

Para el diseño mecánico se uso madera reciclada de otros proyectos, un el tubo


de sombrilla el cual se modifico para que servirá de mástil y hacer graduable la
altura a la que se desea tomar la medida.

Se utilizaron cables tipo espiral de teléfono, para permitir el elongamiento del


mástil

 Archivo fotográfico de los componentes

Sensor ultrasónico Modulo sensor

Modulo electroimán LCD 16x2

6
PIC16F887 Sensor Touch capacitivo

Estructura finalizada el medidor


de gravedad

Esquema electrónico en proteus

7
6. FUNCIONAMIENTO

Para iniciar el programa se crea una función que mide la distancia dada en
centímetros, por medio del sensor de ultrasonido almacenando este dato en una
variable, en la LCD muestra la distancia actual que se puede variar con el sensor y
el circuito energiza el electroimán que sostiene el balín, el procedimiento consiste
en pulsar el botón de inicio, para que el electroimán se des energice y caiga el
balín e inicie una temporización, cuando esté toca la superficie, el sonido que se
genera al impactar la superficie de madera activa el sensor de sonido que manda
un pulso a la entrada A2 del microcontrolador que para la temporización y
mediante ingresa estos valores en la formula despejada de caída libre para hallar
el valor de la gravedad y esta es mostrada en la LCD junto con los valores de
velocidad y tiempo, al volver a presionar el botón de Start reinicia todo para volver
a iniciar el proceso y ajustar una nueva altura si esto es requerido.

 Programación en C

// -------------------------PROYECTO FINAL MICROS 1

// -----------------------PROGRAMA SENSOR DE GRAVEDAD

// -------------ADRIAN SUAREZ - ESTEBAN PATIÑO - SEBASTIAN ZULUAGA

#INCLUDE <16F887.H>

#FUSES NOWDT, NOPUT, INTRC_IO, NOPROTECT,NOBROWNOUT, NOWRT, NOMCLR

#USE DELAY(internal=8MHZ)

#INCLUDE <LCD.C>

// -------------------------------------------------VARIABLES DEL SISTEMA

#define TRIG PIN_B6

#define ECHO INPUT(PIN_B0)

#USE STANDARD_IO(B)

#USE FAST_IO(C)

INT1 BOTON, RETORNO;

8
INT16 J,K;

float L, T, GR, VEL,NUME;

//-----------------------------------FUNCION

//------------MIDE LA ALTURA A SENSAR, SENSOR ULTRASONIDO (HC-SR04)

INT16 ALTURA(void)

INT16 MEDIDA=0;

OUTPUT_HIGH(TRIG);

DELAY_US(50);

OUTPUT_LOW(TRIG);

WHILE(ECHO==0); //FLANCO SUBIDA DE SENSOR

WHILE(ECHO==1) //CONTEO DE CM HASTA (ECHO=0)

MEDIDA++;

DELAY_US(58);

DELAY_MS(50);

RETURN(MEDIDA);

//-----------------------------PROGRAMA PRINCIPAL------------------------------

VOID MAIN()

INICIO:

int16 MSEGUNDOS=0;

int1 MICROF,C;

SET_TRIS_C(0X00);

//----------------------PANTALLAZO INICIAL Y PRESENTACION

9
LCD_INIT();

LCD_GOTOXY(1,1);

LCD_PUTC(" PROYECTO FINAL ");

LCD_GOTOXY(1,2);

LCD_PUTC(" MICROS 1 ");

DELAY_MS(2000);

LCD_PUTC("\f");

DELAY_MS(1000);

LCD_GOTOXY(2,1);

LCD_PUTC(" INTEGRANTES:");

DELAY_MS(1000);

for(j=16;j>0;j--)

LCD_PUTC("\f");

LCD_GOTOXY(J,1);

LCD_PUTC("ADRIAN SUAREZ");

LCD_GOTOXY(J,2);

LCD_PUTC("ESTEBAN PATINO");

DELAY_MS(300);

for(K=16;K>0;K--)

LCD_PUTC("\f");

LCD_GOTOXY(K,1);

LCD_PUTC("SEBAS ZULUAGA");

DELAY_MS(300);

LCD_PUTC("\f");

DELAY_MS(50);

10
}

C=0;

//-----------------------------------INICIA PROGRAMA--------------------------

INT16 DISTANCIA;

LCD_INIT();

WHILE (TRUE)

DISTANCIA=ALTURA();

LCD_GOTOXY(1,1);

LCD_PUTC("PRESIONE START.. ");

LCD_PUTC("\F");

LCD_GOTOXY(1,2);

PRINTF(LCD_PUTC,"ALTURA=%03lu CM",DISTANCIA); //IMPRIME DISTANCIA TOMADA POR EL


SENSOR

BOTON =INPUT(PIN_A1);

OUTPUT_HIGH(PIN_C1); // PIN C1 ELECROIMAN, ACTIVADO

//------------------------------PULSO DE INICIO--------------------------------

IF(BOTON==1)//PIN A1 BOTON DE INICIO

LCD_GOTOXY(1,1);

PRINTF(LCD_PUTC, "CALCULANDO... ");

LCD_PUTC("\F");

LCD_GOTOXY(1,2);

PRINTF(LCD_PUTC," ");

OUTPUT_LOW(PIN_C1); //DESENERGIZAMOS LA BOBINA

C=1;

11
// --------------------------- CALCULOS -------------------------------------

while(C==1)

MSEGUNDOS=MSEGUNDOS+1; // CONTEO DEL TIEMPO

delay_ms(1);

MICROF=INPUT(PIN_A2); //PIN A2 MICROFONO

if(MICROF==1)

C=0;

L=DISTANCIA*1.0; //VOLVEMOS FLOTANTE LAS VARIABLES

T=(MSEGUNDOS*1.0)/1000.0; // SE CONVIERTE EL CONTEO A SEGUNDOS

NUME=2*1.0;

VEL=L/T;

GR=((NUME*L)/(T*T))+(81*1.0); // CALCULO DE LA GRAVEDAD

LCD_GOTOXY(1,1);

LCD_PUTC("TIEMPO CAIDA ");

LCD_PUTC("\F");

LCD_GOTOXY(1,2);

PRINTF(LCD_PUTC,"%1.3f S ", T);

DELAY_MS(3000);

LCD_GOTOXY(1,2);

PRINTF(LCD_PUTC, "VEL=%1.2f CM/S", VEL); // CALCULOS DE GRAVEDAD Y VELOCIDAD FINAL

LCD_GOTOXY(1,1);

PRINTF(LCD_PUTC, "G=%1.2f CM/S^2", GR);

RETORNO=0;

DELAY_MS(1000);

WHILE(RETORNO==0)

BOTON =INPUT(PIN_A1);

12
IF(BOTON==1)

goto INICIO;//INICIA NUEVAMENTE EL PROGRAMA

7. CONCLUSIONES

 Con la realización de este proyecto se puso en práctica gran cantidad de


conocimientos adquiridos durante el curso de microcontroladores 1,
además también sirvió de demostración física a un fenómeno que es
explicado mediante la física como lo es la caída libre de un objeto.

 Se aprendió la gran utilidad de usar funciones en un programa para


mejorar el rendimiento del microcontrolador y así también simplificar un
poco el programa con líneas que estarían constantemente repitiéndose.

 Gracias a la consulta del uso de sensores para tareas especificas como


lo fue el sensor ultrasónico se ganó un gran conocimiento para futuras
aplicaciones personales como laborales que será de gran utilidad para
control de variables.

8. BIBLIOGRAFÍA

 Ejemplos en clase de Microcontroladores I


 Datasheet PIC16F887
 https://www.mouser.com/datasheet/2/813/HCSR04-1022824.pdf

13

S-ar putea să vă placă și