Академический Документы
Профессиональный Документы
Культура Документы
Departamento de Electrónica y
Electricidad
PROGRAMACIÓN DE MICROCONTROLADORES
Laboratorio N°05 y 06
Programación, simulación e
implementación de aplicativo I
Integrantes
Castillo Olaya Israel
Gonzales Castañeda Mario
Garay Garrido Eduardo
Narciso Yanavilca Ysael
Sección: C16-B
2019-I
Lab. N° 3 Puertos de Entrada y Salida 1
ÍNDICE
INTRODUCCIÓN
OBJETIVO
FUNDAMENTO TEÓRICO
Servomotores
Timer1
EQUIPOS Y MATERIALES
PROCEDIMIENTO
CONCLUSIONES
BIBLIOGRAFÍA
pág. 2
Lab. N° 3 Puertos de Entrada y Salida 1
1. Introducción
2. Objetivo
3. Equipos y Materiales
● Computadora
● Software de desarrollo
● Proyector multimedia
● Texto del curso
● Manual del fabricante
● Tarjeta de desarrollo
pág. 3
Lab. N° 3 Puertos de Entrada y Salida 1
4. Fundamento teórico
SERVOMOTORES
Los servomotores han existido durante mucho tiempo y se utilizan en muchas aplicaciones.
Son pequeñas en tamaño pero tienen un gran impacto y son muy eficientes energéticamente.
Estas características les permiten ser utilizados para operar carros de juguete , robots y
aviones controlados por control remoto o por radio . Los servomotores también se utilizan en
aplicaciones industriales, robótica, fabricación en línea, productos farmacéuticos y servicios
de alimentos.
En el interior del servomotor hay una configuración bastante simple: un pequeño motor de CC
, un potenciómetro y un circuito de control. El motor está unido por engranajes a la rueda de
control. A medida que el motor gira, la resistencia del potenciómetro cambia, por lo que el
circuito de control puede regular con precisión cuánto movimiento hay y en qué dirección.
Cada servomotor funciona en una frecuencia PWM diferente, pero la frecuencia más común
es de 50 Hz.
pág. 4
Lab. N° 3 Puertos de Entrada y Salida 1
Fig. 2 Control de ancho de pulso variable posición servo. Fuente: Jameco Electronics
TIMER1
pág. 5
Lab. N° 3 Puertos de Entrada y Salida 1
temporizador, el aumento en las cuentas del timer1 PIC será siempre por flanco de
subida de la señal en el pin T1CKI.
- El bit 0 (TMR1ON) al poner este bit a 1 se habilita el uso del timer1 PIC, cuando este
bit está a 0 el timer1 PIC estará desactivado.
Fig. 3 Sistema de parqueo automático. Fuente: May Thaw Htet.
pág. 6
Lab. N° 3 Puertos de Entrada y Salida 1
5. Procedimiento Laboratorio 05 y 06
Programa para hacer girar un servomotor de 0 grados hasta su límite de 180 grados
CÓDIGO
pág. 7
Lab. N° 3 Puertos de Entrada y Salida 1
SIMULACIÓN
pág. 8
Lab. N° 3 Puertos de Entrada y Salida 1
RETO EN CLASE:
PROGRAME EN EQUIPO:
● Indicar en un Display LCD 16x2 el valor del ángulo del servomotor, que cada 1 seg.
este gire 45° angulares, iniciando desde 0° y finalice en los 180°, luego regrese desde
los 180° a 0° angulares, de esa manera repite su ciclo por 10 veces.
CÓDIGO
pág. 9
Lab. N° 3 Puertos de Entrada y Salida 1
pág. 10
Lab. N° 3 Puertos de Entrada y Salida 1
pág. 11
Lab. N° 3 Puertos de Entrada y Salida 1
pág. 12
Lab. N° 3 Puertos de Entrada y Salida 1
LIBRERÍAS EDITADAS
include<mensajelab5VF.asm>
pág. 13
Lab. N° 3 Puertos de Entrada y Salida 1
SIMULACIÓN PROTEUS
Programa mueve el servo de 0 a 180 grados (ida y vuelta) 10 veces. El LCD muestra el
número de ciclos de la variable “contador”; y la posición angular del servo “grado”.
pág. 14
Lab. N° 3 Puertos de Entrada y Salida 1
Procedimiento – CASO DE ESTUDIO PROPUESTO EN LABORATORIO
DESIGNADO A CADA GRUPO.
CÓDIGO
pág. 15
Lab. N° 3 Puertos de Entrada y Salida 1
pág. 16
Lab. N° 3 Puertos de Entrada y Salida 1
pág. 17
Lab. N° 3 Puertos de Entrada y Salida 1
pág. 18
Lab. N° 3 Puertos de Entrada y Salida 1
pág. 19
Lab. N° 3 Puertos de Entrada y Salida 1
pág. 20
Lab. N° 3 Puertos de Entrada y Salida 1
Se conectaron 12 LDR a los puertos B y C del PIC16F877A. Una resistencia dependiente de
la luminosidad por cada estacionamiento entre los pisos 1 y 2. Cuando no hay auto en el
estacionamiento, la luz entra en contacto con el LDR, haciendo que su resistencia sea nula.
Por medio de un divisor de voltaje se obtiene una salida entre 0.9 V a 1.2 V; lo que equivale a
un 0 lógico. Cuando si hay auto en el estacionamiento, la luz no puede entrar en contacto con
el LDR, haciendo que su resistencia sea de 10K. Por medio de un divisor de voltaje se obtiene
una salida de 4.95 V; lo que equivale a un 1 lógico. En la programación expuesta más arriba
se establecen condiciones para que el PIC comunique al LCD que mostrar en cada caso.
pág. 21
Lab. N° 3 Puertos de Entrada y Salida 1
LIBRERÍAS EDITADAS
include<Mensaje.asm>
pág. 22
Lab. N° 3 Puertos de Entrada y Salida 1
SIMULACIÓN INICIAL
pág. 23
Lab. N° 3 Puertos de Entrada y Salida 1
SIMULACIÓN FINAL
Se muestra estacionamiento 01 del piso 01 en estado libre, ya que envía al pin 7 del puerto C
un 0 lógico.
Se muestra estacionamiento 06 del piso 02 en estado ocupado, ya que envía al pin 3 del puerto
B un 1 lógico.
pág. 24
Lab. N° 3 Puertos de Entrada y Salida 1
IMPLEMENTACIÓN FINAL
VIDEO: https://youtu.be/kLiR92qHPfQ
pág. 25
Lab. N° 3 Puertos de Entrada y Salida 1
6. Observaciones
● El PIC puede funcionar sin los condensadores, sin embargo, es una buena práctica
para evitar fallas repentinas que se ocasionen por picos.
● Se utilizó un LCD con conector hembra, sin embargo, es más cómodo y ordenado
trabajar con LCD de conector macho; ya que se puede fijar y conectar al protoboard.
pág. 26
Lab. N° 3 Puertos de Entrada y Salida 1
7. Conclusiones
● El registro TMR1 es un contador que tiene 16 bits en total, lo que equivale a 65536
instrucciones.
● El tiempo de instrucción del PIC es de 4 veces su reloj (4 * 0.05us), es decir, 0.20 us.
● Fue necesario escalar el tiempo de instrucción del PIC usando un pre-escaler. Lo que
se hizo fue usar un pre-escaler equivalente a un valor de 2, haciendo que el tiempo de
instrucción del PIC sea más alto. Esto permite que dentro del periodo de 20ms, se
puedan utilizar menos cantidad de instrucciones. Inicialmente se realizó el cálculo sin
un pre-escaler, pero la cantidad de instrucciones necesarias para desbordar el TMR1
era un resultado negativo, es decir, se requerían más instrucciones de las que el
contador TMR1 podría contar.
● Los servomotores tienen un circuito integrado que interpreta el tiempo que recibe un
pulso positivo dentro de su periodo de trabajo de 20ms, y en función a esto cambian su
posición angular.
pág. 27
Lab. N° 3 Puertos de Entrada y Salida 1
● Se podría haber hecho un aplicativo más preciso usando OPAMS, sin embargo,
funcionó muy bien con los LDR’s
8. Bibliografía
pág. 28