Escolar Documentos
Profissional Documentos
Cultura Documentos
MICROCONTROLADORES 1 Y 2
FACULTAD DE TECNOLOGÍAS
PEREIRA
2017
1
INTRODUCCIÓN
OBJETIVOS.
2
OBJETIVO GENERAL
OBJETIVOS ESPECÍFICOS
FUNDAMENTOS TEÓRICOS
3
La importancia de los laboratorios tanto en la enseñanza de las ciencias como en
la investigación y en la industria es, sin duda alguna, indiscutible. No se puede
negar que el trabajo práctico en laboratorio proporciona la experimentación y el
descubrimiento y evita el concepto de “resultado correcto” que se tiene cuando se
aprenden de manera teórica, es decir, sólo con los datos procedentes de los
libros. Éste documento presenta la experiencia en la conceptualización, diseño e
implementación de un sistema que utiliza la caída libre en el área de física,
Mecánica y Electrónica. Como resultado se muestra una interacción académica
fuerte de las tres ramas involucradas alrededor del diseño. Como perspectivas
futuras, el prototipo permite mejoramientos continuos para abarcar problemas de
física y microcontroladores. Todo con el objetivo de la implementación y desarrollo
de propuestas de mejora que representen material valioso para las buenas
prácticas de los estudiantes y docentes, construyendo un ingeniero Mecatronico
con experiencia.
4
y: La posición final del cuerpo. Su unidad en el Sistema Internacional es el
metro (m). Para este caso en particular la posición final se toma como la
parte más baja del prototipo a construir
v: La velocidad final del cuerpo. Su unidad en el Sistema Internacional es el
metro (m/s)
a: La aceleración del cuerpo durante el movimiento. Su unidad en el
Sistema Internacional es el metro (m/s).
t: Intervalo de tiempo durante el cual se produce el movimiento. Su unidad
en el Sistema Internacional es el segundo (s). En el prototipo se medirá el
tiempo de la trayectoria de la masa con los desbordes de los
temporizadores internos del microcontrolador y mediante interrupciones se
capturara el tiempo que demora la masa en caer hasta el punto final del
prototipo.
H: La altura desde la que se deja caer el cuerpo. Se trata de una medida
de longitud y por tanto se mide en metros. Se usara el sensor ultrasónico
HC-SR04 y su respectiva programación en el microcontrolador para obtener
la distancia particularmente en centímetros.
MARCO TEÓRICO-CONCEPTUAL
5
Sensor.
Microcontrolador.
6
Toda microcomputadora requiere de un programa para que realice una función
específica. Este se almacena normalmente en la memoria ROM. No esta de mas
mencionar que sin un programa, los microcontroladores carecen de utilidad.
Las aplicaciones de los microcontroladores son vastas, se puede decir que solo
están limitadas por la imaginación del usuario. Es común encontrar
microcontroladores en campos como la robótica y el automatismo, en la industria
del entretenimiento, en las telecomunicaciones, en la instrumentación, en el
hogar, en la industria automotriz, etc.
7
PIC C Compiler.
Proteus.
8
COMPONENTES UTILIZADOS
Características
9
Microcontrolador PIC16F887.
10
14 canales
resolución de 10 bits
3 temporizadores/contadores independientes
Temporizador perro guardián
Módulo comparador analógico con
Dos comparadores analógicos
Referencia de voltaje fija (0.6V)
Referencia de voltaje programable en el chip
Módulo PWM incorporado
Módulo USART mejorado
Soporta las comunicaciones seriales RS-485, RS-232 y LIN2.0
Auto detección de baudios
Puerto Serie Síncrono Maestro (MSSP)
Soporta los modos SPI e I2C
Pickit 3.
11
interesante y en algunos entornos bastante útil del PICKIT3 que es la
funcionalidad “Programmer-To-Go”. La funcionalidad “Programmer-To-Go” permite
de una forma muy sencilla programar cualquier microcontrolador de las familias
PIC16, PIC18, PIC24, dsPIC33F y PIC32 de Microchip sin necesitar de un
ordenador, lo que es muy útil si estamos en un entorno donde llevar un ordenador
no es practico o es del todo imposible. El PICKit3 permite guardar un código de
hasta 512KB en su Flash, esto se hace desde el MPLAB y después llevar el
PICKIT 3 y de forma autónoma sólo alimentando el PICKit3 desde el USB (puede
ser un cargador con salida usb como ya tenemos para algunos móviles o para
baterías de grabadores de video) programar “In Situ” nuestro dispositivo.
Lm 555
12
microcontrolador.
Cables
Relé
13
Resistencias
Capacitor
optoacoplador 4n25
Bluetooth hc-05
14
Facilitar las comunicaciones entre equipos móviles.
Eliminar los cables y conectores entre estos.
Ofrecer la posibilidad de crear pequeñas redes inalámbricas y facilitar la
sincronización de datos entre equipos personales.
Especificaciones técnicas
Referencia: HC-05
Puente H L298n
15
Motorreductor 12v -32 RPM
Piñón Cremallera
Un mecanismo de cremallera es
un dispositivo mecánico con
dos engranajes, denominados
«piñón» y «cremallera», que
convierte un movimiento de
rotación en un movimiento rectilíneo o viceversa. El engranaje circular
denominado «piñón» engrana con una barra dentada denominada «cremallera»,
de forma que un giro aplicado al piñón causa el desplazamiento lineal de la
cremallera.
16
DESARROLLO DEL DISEÑO.
17
FUNCIONAMIENTO, PROGRAMACIÓN Y SIMULACIÓN
FUNCIONAMIENTO.
En el celular tenemos dos teclas de subir y bajar , para modificar las alturas
deseadas a medir, al presionar una tecla manda la orden al
Microcontrolador por medio del Bluetooth.
Al ser pulsado el START en el celular, el Microcontrolador mide la distancia
que hay a la superficie.
Una vez calculada, se libera la esfera y comienza a contar el tiempo antes
del impacto.
Cuando la esfera golpea la superficie, el micrófono envía la señal al
Microcontrolador con lo cual se termina la medición del tiempo.
Se calcula el valor de la gravedad de acuerdo con la ecuación 2.
nos envía la información al celular por comunicación Bluetooth representa
el valor de la gravedad en cm/s2 y el valor de la velocidad final en cm/s
18
PROGRAMACION.
3. Se investigó a cerca del movimiento de caída libre, las variables a medir y las
variables a calcular
#INCLUDE <16F887.H>
#FUSES NOWDT, NOPUT, INTRC_IO, NOMCLR, NOPROTECT,NOBROWNOUT,NOWRT
#USE DELAY(internal = 4MHZ)
#USE RS232(BAUD=9600, XMIT=PIN_C6, RCV=PIN_C7, BITS=8)
#USE standard_io(A)
#USE standard_io(B)
#USE standard_io(C)
#DEFINE TRIG PIN_C1
#DEFINE ECHO PIN_B1
#DEFINE MICRO PIN_B7
#DEFINE IMAN PIN_C0
#DEFINE ledtc PIN_C4
19
RELOJ=RELOJ+10;
}
#INT_RB
VOID PUERTOB()
{
IF(INPUT_STATE(MICRO)==1)
{
DISABLE_INTERRUPTS(INT_TIMER1);
CAL=1;
}
}
VOID MAIN()
{
set_tris_A(0); //Se habilita en puerto b como salida
output_A(0);
ENABLE_INTERRUPTS(INT_RDA); // HABILITA LA INTERRUPCION POR RECEPCION DE DATOS EN
LA COMUNICACION SERIAL RS232
enable_interrupts(int_rb7);
ENABLE_INTERRUPTS(GLOBAL);
OUTPUT_HIGH(IMAN);
printf("CONSTANTE DE GRAVITACION PULSA START PARA INICIAR");
putc(13);
WHILE(TRUE)
{
INICIO();
}
}
VOID INICIO()
{
IF (INI==1) //LEE SI SE HA PULSADO EL BOTON start(CERO PORQUE LAS PULLUPS ESTAN ACTIVAS)
{
MEDIR();
INI=0;
}
IF (INI==2){OUTPUT_HIGH(PIN_A1);DELAY_MS(600);INI=0;}
IF (INI==3){OUTPUT_HIGH(PIN_A2);DELAY_MS(600);INI=0;}
OUTPUT_LOW(PIN_A1);OUTPUT_LOW(PIN_A2);
void MEDIR()
{
setup_timer_1(T1_INTERNAL|T1_DIV_BY_8);
while(TRUE)
{
output_high(trig);
delay_us(20);
output_low(trig);
while(!input(echo))
{}
set_timer1(0);
while(input(echo))
{}
tempo=get_timer1();
20
tempo=tempo*8;
distancia=((tempo*0.0179));
printf("MIDIENDO DISTANCIA.");
putc(13);
delay_ms(3500);
printf("MIDIENDO DISTANCIA..");
putc(13);
tempo=0;
distancia=0;
setup_timer_1(T1_INTERNAL|T1_DIV_BY_8);
while(TRUE)
{
output_high(trig);
delay_us(20);
output_low(trig);
while(!input(echo))
{}
set_timer1(0);
while(input(echo))
{}
tempo=get_timer1();
tempo=tempo*8;
distancia=((tempo*0.0179));
printf("DISTANCI:%.0Fcm",distancia);
putc(13);
DELAY_MS(1000);
printf("TIEMPO:0s");
putc(13);
DELAY_MS(1000);
CAIDA();
}
}
}
VOID CAIDA()
{
OUTPUT_LOW(IMAN);
ENABLE_INTERRUPTS(INT_TIMER1);
SET_TIMER1(64286);
SETUP_TIMER_1(T1_INTERNAL|T1_DIV_BY_8);
WHILE(CAL==0)
{
PRINTF("TIEMP:%.0Fms ",RELOJ);
putc(13);
output_high(ledtc);
}
output_low(ledtc);
PRINTF("TIEMPO:%.0Fms ",RELOJ);
putc(13);
DELAY_MS(2000);
RELOJ1=RELOJ/1000;
21
printf("\fT:%.2Fs",RELOJ1);
putc(13);
DELAY_MS(2000);
printf("CALCULANDO.");
putc(13);
DELAY_MS(2000);
GRAVEDAD();
}
VOID GRAVEDAD()
{
//gravedad=2*distancia/tiempo^2
G=(2*distancia)/(RELOJ1*RELOJ1);
//velocidad final=velocidad inicial+gravedad * tiempo
V=G*RELOJ;
printf("\fG:%.2Fcm/s^2 \nV:%.2Fcm/s",G,V);
putc(13);
DELAY_MS(4000);
RESET_CPU();
}
SIMULACIÒN
22
.
MATERIALES UTILIZADOS.
1 microntrolador 16f887
1 lm55
1moc 4n25
6 Cremalleras
1 piñon
1 motorreductor
1 puente H 298
2 finales de carrera
1Ultrasonido HC-SR04
1 Relé de 5v
1 Modulo Bluetooth HC-05
6 metros de cable de bus de datos
6 conectores de 6 pines
4 conectores de 4 pines
Pvc de ½¨
2 codos de ½¨
Tubo de aluminio de ¾¨
Resistencias
Capacitores
Diodos
Tornillos
Termoencogible
Guaya
23
RECOMENDACIONES Y CONCLUSIONES
24
BIBLIOGRAFÍA
http://www.imcyc.com/revistact06/dic06/INGENIERIA.pdf
https://www.acofipapers.org/index.php/eiei2015/2015/paper/viewFile/1383/489
https://es.wikipedia.org/wiki/Sensor
http://www.electronicaestudio.com/microcontrolador.htm
http://aprendiendoelectronicafacil.blogspot.com.co/p/ccs-compiler-v.html
https://electronilab.co/tienda/sensor-de-distancia-de-ultrasonido-hc-sr04/
http://www.sagitron.com/productos/activos/microchip/203-pickit3-programador-de-
pic-sin-necesidad-de-ordenador
http://www.uv.es/marinjl/electro/555.htmhttps://es.wikipedia.org/wiki/Cremallera_(m
ecanismo)
25