Vous êtes sur la page 1sur 10

6° TELECOMUNICACIONES

MICROCONTROLADORES 5/11/2018

SIMULACION: CAIDA
LIBRE DE CUERPOS
Est. Sossa Quisbert Ivonne Karen
ivonnesossaquisbert@gmail.com
9985830 LP.

Resumen. - En este artículo se explicará cómo se A. Interfaz inicial.


realizó una simulación de caída libre de un
cuerpo, a través de un LCD grafico (GLCD) que
es programado por el software MikroC Pro, y
simulado a través de Proteus.

Índice de Términos-

Caída libre: En física, se denomina caída libre al


movimiento de un cuerpo bajo la acción exclusiva
de un campo gravitatorio.

LCD: Es una pantalla delgada y plana formada


por un número de píxeles en color o monocromos
colocados delante de una fuente de luz o reflectora. Fig. 1 INTERFAZ INICIAL

Para la simulación se utilizaron los siguientes


PIC: Un PIC es un circuito integrado programable
elementos:
(Programmable Integrated Circuited), el cual
contiene todos los componentes para poder
1. Microcontrolador PIC 18F4550
realizar y controlar una tarea.

I. INTRODUCCIÓN Los microcontroladores son circuitos integrados


programables que contienen todos los elementos
necesarios para desarrollar y controlar una tarea
La simulación que se utilizara representa el determinada. La cantidad de componentes que se
movimiento de caída libre de un cuerpo, y como integran a los microcontroladores depende del diseño
su posición al transcurrir el tiempo debido a la de los fabricantes, sin embargo, los elementos
perdida de energía cinética. básicos suelen ser: microprocesador, memoria RAM,
memoria de programa, convertidor A/D, oscilador,
puerto de comunicación, etc. Esto le ha brindado una
II. MARCO TEÓRICO gran versatilidad a este tipo de dispositivos y hoy en
A continuación, se describirán los elementos que se día su utilización se ha incrementado enormemente
utilizaron para la simulación. en el mundo.
6° TELECOMUNICACIONES
MICROCONTROLADORES 5/11/2018

Puede ser escrita/leída en tiempo de ejecución a


través de registros.

 Pila:
Bloque de 31 palabras de 21 bits. Almacena la
dirección de la instrucción que debe ser ejecutada
después de una interrupción o subrutina

 Memoria de configuración:
Memoria en la que se incluyen los bits de
configuración (12 bytes de memoria flash) y los
registros de identificación (2bytes de memoria de
solo lectura).
Fig.2 COMPONENTES DE LOS
MICROCONTROLADORES
Otra parte importante de nuestro microcontrolador es
1.1. Arquitectura interna el reloj, en este microcontrolador el reloj puede ser
externo como en el resto de los microcontroladores y
el microcontrolador PIC18F4550 tiene varias también este cuenta con un oscilador interno; el
memorias: circuito del oscilador se rige por el siguiente
esquema:
 Memoria de programa:
Memoria flash interna de 32.768 bytes.

Almacena instrucciones y constantes/datos.

Puede ser escrita/leída mediante un programador


externo o durante la ejecución programa mediante
unos punteros.

 Memoria RAM de datos:


Memoria SRAM interna de 2048 bytes en la que
están incluidos los registros de función especial.

Almacena datos de forma temporal durante la


ejecución del programa.

Puede ser escrita/leída en tiempo de ejecución


mediante diversas instrucciones.

 Memoria EEPROM de datos:


Memoria no volátil de 256 bytes.
Fig.3 OSCILADOR18F4550
Almacena datos que se deben conservar aun en
ausencia de tensión de alimentación
6° TELECOMUNICACIONES
MICROCONTROLADORES 5/11/2018

Como podemos apreciar en el esquema el oscilador


interno tiene la posibilidad de seleccionar su
velocidad, desde los 31KHz hasta su máxima
velocidad que está en los 8MHz.

1.2. Hoja de datos


Este microcontrolador ofrece la hoja de datos de
todos sus componentes de forma gratuita las cuales
se descargaron de su página web.

Fig.5 GLCD

LM4228 es un módulo GLCD 128x64, con


tecnología CMOS y controlador Toshiba T6963C.
Armado en tablero de circuito impreso, con marco de
soporte de metal y retroiluminación LED.

2.1. Diagrama de bloques


El diagrama muestra que el LM4228 es una pantalla
Single Scan (1 Screen), pues los controladores de
Fig.4 HOJA DE DATOS columnas (COL) no aparecen duplicados (una
pantalla Dual Scan (2 Screens) mostraría en total
2. LCD GRAFICO (GLCD) cuatro controladores de columnas: dos en la parte
inferior y dos en la parte superior del LCD PANEL).
El LCD grafico (GLCD) proporciona mucha
flexibilidad. Está compuesto de pixeles dispuestos en
filas y columnas. Cada pixel puede manejarse
individualmente y permite mostrar texto, gráficos o
una combinación de ambos.

Se emplea en aquellos casos en los que es necesario


tener un control total del área de la pantalla. Sin
embargo, la flexibilidad implica una mayor
dificultad en el diseño del circuito de control.

Afortunadamente existen controladores especiales


para este propósito (el circuito integrado T6963C de
Toshiba es uno de los más utilizados actualmente y
Fig.6 Diagrama de bloques GLCD
viene incorporado de fabrica en el módulo GLCD).
En esta ocasión se utilizó un LM4228.

3. DIP SWITCH
Se trata de un conjunto de micro-interruptores
eléctricos que se presenta en un formato encapsulado
(que se denomina Dual In – Line Package – DIP), la
totalidad del paquete de interruptores se puede
6° TELECOMUNICACIONES
MICROCONTROLADORES 5/11/2018

también referir como interruptor DIP en singular, 4. RESISTENCIAS PULL UP PULL DOWN
pueden contener 1,2,3,4, 6, 8 hasta 9 micro-
interruptores. Es esta característica lo que diferencia 4.1.Resistencia pull down
a estos micro-interruptores del resto. En la configuración pull down, cuando el circuito
está en reposo como se muestra en la imagen de
arriba, la caída de tensión en la resistencia es
prácticamente 0V (LOW), en cambio si pulsamos P1,
dejará pasar la corriente y tendremos una diferencia
de potencial de 5V (HIGH). Este es el uso normal del
estado LOW y HIGH.

4.2.Resistencia pull up
Por el contrario, en la configuración pull up, cuando
el circuito está en reposo, P1 sin pulsar, la caída de
tensión es de 5V (HIGH), en cambio cuando
pulsamos P1 se deriva toda la corriente a masa y la
caída de tensión es 0V (LOW).
Fig.7 Dip Switch
Normalmente las resistencias que se utilizan en estos
Este tipo de micro-interruptor se diseña para ser casos son de 10K. Como hemos comprobado, estas
utilizado en un tablero similar al circuito impreso dos configuraciones nos evitarán que en estado de
junto con otros componentes electrónicos y se utiliza reposo midamos un valor erróneo eliminando la
comúnmente para modificar/personalizar el influencia de factores externos sobre nuestras
comportamiento hardware de un dispositivo mediciones como el ruido eléctrico.
electrónico en ciertas situaciones específicas.

5. CAIDA LIBRE
Los interruptores DIP son una alternativa a los De entre todos los movimientos rectilíneos
jumper (o puente, elemento que permite uniformemente acelerados (m.r.u.a.) o movimientos
interconectar dos terminales de manera temporal sin rectilíneos uniformemente variados (m.r.u.v.) que se
tener que efectuar una operación que requiera una dan en la naturaleza, existen dos de particular interés:
herramienta adicional). Sus ventajas es que son mas la caída libre y el lanzamiento vertical.
rápidos y fáciles de configurar y cambiar y no hay En este apartado estudiaremos la caída libre. Ambos
piezas sueltas que perder. se rigen por las ecuaciones propias de los
movimientos rectilíneos uniformemente acelerados
(m.r.u.a.) o movimientos rectilíneos uniformemente
Los interruptores DIP permiten al usuario configurar variados (m.r.u.v.):
un circuito impreso para un tipo de uso específico.
Las instrucciones de instalación deben decir
perfectamente cómo fijar los interruptores del DIP.

Los interruptores DIP son siempre interruptores de


tipo palanca, en los cuales los centrales tienen dos
posiciones posibles “ON” o “OFF” (en vez de por
intervalos) y generalmente se puede ver los números
1 y 0.
En la caída libre un objeto cae verticalmente desde
cierta altura H despreciando cualquier tipo de
6° TELECOMUNICACIONES
MICROCONTROLADORES 5/11/2018

rozamiento con el aire o cualquier otro obstáculo. Se


trata de un movimiento rectilíneo uniformemente
acelerado (m.r.u.a.) o movimiento rectilíneo
uniformemente variado (m.r.u.v.) en el que la
aceleración coincide con el valor de la gravedad.

En la superficie de la Tierra, la aceleración de la


gravedad se puede considerar constante, dirigida
hacia abajo, se designa por la letra g y su valor es de
9'8m/s2 (a veces se aproxima por 10 m/s2).

Para estudiar el movimiento de caída libre


normalmente utilizaremos un sistema de referencia
cuyo origen de coordenadas se encuentra en el pie de
la vertical del punto desde el que soltamos el cuerpo Fig.9 Plano
y consideraremos el sentido positivo del eje y
apuntando hacia arriba, tal y como puede verse en la 5.2.Alturas de los sucesivos rebotes
figura: Supongamos que una pelota se deja caer desde una
altura inicial h. Vamos a calcular las alturas de los
sucesivos rebotes.

Fig. 8 Caída libre


Fig.10 Sucesivos Rebotes
5.1. Rebotes en el plano horizontal
Cuando una pelota rebota sobre un tablero rígido, la 5.2.1. Primer rebote
componente de la velocidad perpendicular al tablero
disminuye su valor, quedando la componente La velocidad de la pelota antes del choque con el
paralela inalterada. suelo se calcula aplicando el principio de
conservación de la energía

La velocidad de la pelota después del choque es (en


módulo) v1=e·u1
6° TELECOMUNICACIONES
MICROCONTROLADORES 5/11/2018

La pelota asciende con una velocidad inicial v1, y La suma de ΔE1+ ΔE2+ ΔE3+…. ΔEn es la energía
alcanza una altura máxima h1 que se calcula
aplicando el principio de conservación de la energía

perdida por la pelota después de n choques. Después


de infinitos choques la pelota habrá perdido toda su
energía inicial mgh. Vamos a comprobarlo sumando
los infinitos términos de una progresión geométrica
5.2.2. Segundo rebote de razón e2 y cuyo primer término es ΔE1

La velocidad de la pelota antes del choque con el


suelo se calcula aplicando el principio de
conservación de la energía

5.4.Tiempo que tarda la pelota en pararse.


El tiempo que tarda la pelota en llegar al suelo
cuando se deja caer desde una altura h partiendo del
La velocidad de la pelota después del choque es reposo es:
v2=e·u2

La pelota asciende con una velocidad inicial v2, y


alcanza una altura máxima h2 que se calcula
aplicando el principio de conservación de la energía La pelota rebota y sube hasta una altura h1, a
continuación, cae de nuevo al suelo. El tiempo que
tarda en subir y bajar es

5.2.3. Rebote n

Después del choque n, la altura máxima que alcanza La pelota rebota y sube hasta una altura h2, y a
la pelota es continuación cae de nuevo al suelo. El tiempo que
tarda en subir y bajar es

5.3.Pérdida de energía que experimenta la pelota


En el primer choque, la pelota pierde una energía

El tiempo total tras infinitos rebotes es la suma de t0


y los términos de una progresión geométrica cuyo
primer término es 2t0e y cuya razón es e.

En el segundo choque, la pelota pierde una energía

Si a la pelota se le proporciona una velocidad inicial


En el choque n la pelota pierde una energía horizontal vx. Después de infinitos rebotes se
desplaza una distancia horizontal x=vx·t∞
6° TELECOMUNICACIONES
MICROCONTROLADORES 5/11/2018

III. PROCEDIMIENTO Diagrama de Flujo:

En esta práctica se realizó el armado de una interfaz


basada en un microprocesador y una pantalla LCD
gráfica, en la cual se mostrará el movimiento de caída
libre de un objeto, el sistema se modelo en
PROTEUS y se programó en MIKROC, utilizando
los siguientes componentes:

Fig. 11 LCD 128x64

Fig. 12 PIC 18F4550


6° TELECOMUNICACIONES
MICROCONTROLADORES 5/11/2018

// Signals not used by library, they are set in main function


sbit T6963C_ctrlce at RC6_bit; // CE signal
sbit T6963C_ctrlfs at RC7_bit; // FS signal
sbit T6963C_ctrlce_Direction at TRISC6_bit; // CE signal
direction
sbit T6963C_ctrlfs_Direction at TRISC7_bit; // FS signal
direction

// End T6963C module connections

void main() {
////////////////////////////////////////////////
//Datos Caida Libre:
unsigned int h,h1;
unsigned float ds, gr, tm, vf;
// DATOS CAIDA LIBRE CON REBOTE:
unsigned float ee, hn;
int n;

char txt1[] = " MICROPROCESADORES ";


char txt[] = " CAIDA LIBRE ";
char pos, ban ;
CMCON = 0x07; // turn off comparators
ADCON1 = 0x0F; // turn off analog inputs

TRISB = 0x1f; // puerto B como entrada

T6963C_ctrlce_Direction = 0;
T6963C_ctrlce = 0; // Enable T6963C
T6963C_ctrlfs_Direction = 0;
T6963C_ctrlfs = 0; // Font Select 8x8
pos=0;
ban=0;

// Initialize T6963C
T6963C_init(256, 128, 8);
Programa: * Enable both graphics and text display at the same time
*/
T6963C_graphics(1); // habilitando modo grafico
T6963C_text(1); // habilitando modo Texto
#include "__T6963C.h" //////CAIDA LIBRE ///////
h1=30;
char opg,opgant=0; h=64-h1;
// CONFIGURACION DEL PUERTO gr=(9.8);
char T6963C_dataPort at PORTD; // DATA port tm=sqrt((2*h1)/gr);
ds=h-(0.5)*gr*tm*tm;
sbit T6963C_ctrlwr at RC4_bit; // WR write signal vf=gr*tm;
sbit T6963C_ctrlrd at RC2_bit; // RD read signal
sbit T6963C_ctrlcd at RC1_bit; // CD command/data while(1)
signal {
sbit T6963C_ctrlrst at RC5_bit; // RST reset signal opgant=opg;
sbit T6963C_ctrlwr_Direction at TRISC.B4; // WR write opg=PORTB;
signal if(opg!=opgant)
sbit T6963C_ctrlrd_Direction at TRISC.B2; // RD read {
signal // clear current graphic panel
sbit T6963C_ctrlcd_Direction at TRISC.B1; // CD T6963C_grFill(0);
command/data signal // clear current text panel
sbit T6963C_ctrlrst_Direction at TRISC.B5; // RST reset T6963C_txtFill(0);
signal
6° TELECOMUNICACIONES
MICROCONTROLADORES 5/11/2018

}
switch(opg)
{
case 1:{ // mensajes
if (ban==1)
{
T6963C_write_text(txt, ban, 0,
T6963C_ROM_MODE_XOR);
T6963C_write_text(txt1, pos, 7,
T6963C_ROM_MODE_XOR);
Delay_ms (1500);

pos=pos-1;
}
else
{
T6963C_write_text(txt, ban, 0,
T6963C_ROM_MODE_XOR);
T6963C_write_text(txt1, pos, 7,
T6963C_ROM_MODE_XOR);
pos=pos+1;
Delay_ms (1500);
}
if (pos==15){
ban = 1;
}
if (pos==0){
ban = 0;
}
break;}

case 2: {
T6963C_box(0, 75, 40, h, T6963C_WHITE);
IV. RECOMENDACIONES
T6963C_circle(35+n, h-10+n, 9, T6963C_WHITE);
Delay_ms(2500);  Una de las recomendaciones que se da es
n=1; modificar la frecuencia en la que se maneja
en LCD gráfico, que ya que si esta se
while(n<=h*2)
{ encuentra demasiado baja, es posible que no
T6963C_box(0, 75, 40, h, T6963C_WHITE); muestre nada en la pantalla.
Delay_ms(2);  Así también, es recomendable verificar los
T6963C_circle(35+2*n-ds, h-10+n, 9, T6963C_WHITE); puertos de entrada y salida de datos, que para
Delay_ms(250); que en el programa no ocurran fallas.
T6963C_circle(35+2*n, h-10, 9, T6963C_WHITE);
n=n+5;  Se recomienda estudiar los conceptos previos
T6963C_grFill(0); para realizar la interfaz de caída libre.
}
break; V. CONCLUSIONES
}
}
}
Hoy en día, el uso de microcontroladores causo un
} gran impacto en el mundo, esto ocasionó una mejora
en la vida cotidiana, el microprocesador es uno de los
RESULTADOS logros más sobresalientes del siglo XX. En este caso
al formar un sistema junto con un LCD gráfico, se
pueden crear diferentes interfaces graficas las cuales
tienen distintos usos de aplicación, uno de estos es el
movimiento de caída libre de un cuerpo que esta
6° TELECOMUNICACIONES
MICROCONTROLADORES 5/11/2018

aplicado a este sistema. Si bien se logró simular este


fenómeno físico, la aplicación en la realidad podría
ser distinta, gracias a diferentes factores existentes en
el ambiente a realizar el experimento.

VI. REFERENCIAS
 Caída libre. En línea:
https://es.wikipedia.org/wiki/Ca%C3%ADda_lib
re

https://www.fisicalab.com/apartado/caida-
libre#contenidos

 MRUA. En línea:
https://es.wikipedia.org/wiki/Movimiento_rectil
%C3%ADneo_uniformemente_acelerado

 Pantalla de cristal líquido. En línea:


https://es.wikipedia.org/wiki/Pantalla_de_cristal
_l%C3%ADquido

http://programarpicenc.com/articulos/lcd-
grafico-glcd-128x64-en-mikroc-pro/

 Microcontrolador PIC. En línea:


http://www.angelfire.com/electronic2/picweb/qu
e_es_un_pic.htm

https://www.uv.mx/personal/jemedina/files/2010
/07/Manual-del-Taller-Introduccion-al-
Microcontrolador-PIC18F4550.pdf

 Dip Switch. En línea:


http://www.geekbotelectronics.com/producto/di
p-switch-8-posiciones-rojo/

 Resistencias PULL UP PULL DOWN


https://programarfacil.com/blog/arduino-
blog/resistencia-pull-up-y-pull-down/