Microcontroladores
INSTITUTO TÉCNOLOGICO DEL ISTMO
ESPECIALIDAD: ING. MECATRÓNICA
MODULO: MICROCONTROLADORES
DOCENTE: GASTON DEHESA VALENCIA
TEMA 2.5: PROGRAMACION DE PUERTOS CON INTERFAZ DE
POTENCIA.
NUMERO DE PRACTICA: 1
NOMBRE DE LA PRÁCTICA:
MANEJO DE POTENCIA DE MOTORES CON EL PUENTE H
INTEGRADO L293 Y EL USO DE INTERRUPCIONES DEL
MICROCONTROLADOR PIC 18F4550.
INTEGRANTES DEL EQUIPO:
GABRIEL MEDINA RAMÍREZ (20190247)
IRMA EMPERATRIZ PALACIOS PEREZ (20190384)
ALAN DIDIER SAGRERO LOPEZ (20190518)
GUSTAVO OROZCO MATUS (20190516)
GRUPO: 6MT
HEROICA CIUDAD DE JUCHITÁN DE ZARAGOZA A 27 DE
MARZO 2023
OBJETIVO GENERAL DE LA PRÁCTICA
Implementar dispositivos de electrónica de potencia para el control de motores
(Puente H l293D) basado en microcontroladores, haciendo uso de puertos con el manejo de
interrupciones externas.
OBJETIVOS ESPECIFICOS DE LA PRÁCTICA
Entender el funcionamiento básico de los circuitos básicos de potencia.
Familiarizarse con el uso de software de simulación como medio para interpretar el
funcionamiento de circuitos básicos.
Interactuar con elementos de electrónica digital, analógica y de potencia para la
construcción de circuitos.
Interactuar con los puertos con interrupciones externas del microcontrolador.
Controlar motores mediante el uso de un puente h.
Implementar el uso de interrupciones en la práctica.
DIAGRAMA ELECTRÓNICO DE LA PRÁCTICA, MATERIAL Y DISPOSITIVOS UTILIZADOS.
Elementos utilizados en la practica
Materiales Equipos
Display de 7 segmentos Software digital “Proteus 8.8”
Equipo de cómputo (laptop).
Resistencias
1 Microcontrolador PIC 16F877a
1 Boton
1 Sensor infrarojo
1 buzzer
DESCRIPCIÓN GENERAL DE LA FORMA EN QUE SE DESARROLLÓ LA
PRACTICA
Planteamiento del problema.
Se sabe que los microcontroladores solo pueden suministrar pequeñas cantidades de
corriente en sus puertos por lo que conectar cargas con demandas de potencia mayor sería
una forma incorrecta es por ello que se plantea usar un circuito de potencia para el control
de cargas que demanden más de esta.
¿Qué se desea implementar?
Se desea implementar un contador BCD con una salida de display de 7 segmentos el cual
tiene una implementación la cual tiene un sensor infrarrojo, donde cada vez que se detecta
una intervención se ejecuta una suma de o se incrementa el valor en el contador bcd.
Se ejecutará un código principal donde se estará encendiendo un buzzer el cual cada que se
realice una intervención tendrá un sonido y se activara.
Interrupcion del sensor i
software infrarojo
proteus 8.8
Codigo en
Inicio PIC C [Link] tiempo de espera
Compiler
Interrupcion de sensor
infrarojo
Suma de Contador
BCD
Sonido buzzer
Descripción general del procedimiento para la práctica.
1.- Programar en el compilador PIC C Compiler
2.- Compilar el programa, nos arrojara un archivo. Hex
3.- Ingresar a proteus y armar el circuito con el pic 16f877a
4.- Seleccionamos el archivo. Hex en el PIC.
5.- Simular el funcionamiento.
BASES TEÓRICAS DE LA PRÁCTICA
¿Qué es un microcontrolador?
Un microcontrolador es un circuito integrado digital que puede ser usado para muy diversos
propósitos debido a que es programable. Está compuesto por una unidad central de proceso
(CPU), memorias (ROM y RAM) y líneas de entrada y salida (periféricos).
Como podrás darte cuenta, un microcontrolador tiene los mismos bloques de
funcionamiento básicos de una computadora lo que nos permite tratarlo como un pequeño
dispositivo de cómputo.
Características de los puertos
Los puertos del microcontrolador son el punto de comunicación entre el microcontrolador y
el mundo exterior, a través de ellos se puede efectuar procesos de control electrónico sobre
dispositivos de potencia, instrumentación, telemetría, etc. Además, permiten también
recibir señales del mundo exterior, como, por ejemplo: señales provenientes de
transductores, amplificadores, transmisores, actuadores, etc.
Características de un microcontrolador
Son diseñados para disminuir el coste económico y el consumo de energía de un
sistema en particular. Por eso el tamaño de la CPU, la cantidad de memoria y los
periféricos incluidos dependerán de la aplicación.
El procesador es el elemento más importante del microcontrolador y determina sus
principales características, tanto a nivel hardware como software. Se encarga de
direccionar la memoria de instrucciones, recibir el código OP de la instrucción en
curso, su decodificación y la ejecución de la operación que implica la instrucción,
así como la búsqueda de los operandos y el almacenamiento del resultado.
La memoria en los microcontroladores la memoria de instrucciones y datos está
integrada en el propio chip. Una parte debe ser no volátil, tipo ROM, y se destina a
contener el programa de instrucciones que gobierna la aplicación. Otra parte de
memoria será tipo RAM, volátil, y se destina a guardar las variables y los datos.
Las puertas de Entrada y Salida (E/S) permiten comunicar al procesador con el
mundo exterior, a través de interfaces, o con otros dispositivos. Estas puertas,
también llamadas puertos, son la principal utilidad de las patas o pines de un
microprocesador, las líneas de E/S se destinan a proporcionar el soporte a las
señales de entrada, salida y control.
El reloj principal, todos los microcontroladores disponen de un circuito oscilador
que genera una onda cuadrada de alta frecuencia, que configura los impulsos de
reloj usados en la sincronización de todas las operaciones del sistema. Esta señal del
reloj es el motor del sistema y la que hace que el programa y los contadores avancen
Estos pequeños controladores podrían comunicarse entre ellos y con un procesador central,
probablemente más potente, para compartir la información y coordinar sus acciones, como,
de hecho, ocurre ya habitualmente en cualquier PC.
Aplicaciones de los microcontroladores
Sistemas de comunicación: en grandes automatismos como centrales y en
teléfonos fijos, móviles, fax, etc.
Electrodomésticos: lavadoras, hornos, frigoríficos, lavavajillas, batidoras,
televisores, vídeos, reproductores DVD, equipos de música, mandos a distancia,
consolas, etc.
Industria informática: Se encuentran en casi todos los periféricos; ratones,
teclados, impresoras, escáner, etc.
Automoción: climatización, seguridad, ABS, etc.
Industria: Autómatas, control de procesos, etc.
Sistemas de supervisión, vigilancia y alarma: ascensores, calefacción, aire
acondicionado, alarmas de incendio, robo, etc.
Otros: Instrumentación, electromedicina, tarjetas (smartcard), sistemas de
navegación, etc.
¿Qué es un led?
Un LED (acrónimo del concepto inglés light-emitting diode) es un diodo emisor de luz. En
su interior hay un semiconductor que, al ser atravesado por una tensión continua, emite luz,
lo que se conoce como electroluminiscencia. Existen distintos tipos de led en función de las
tecnologías usadas para su fabricación y montaje sobre circuitos electrónicos.
¿Cuáles son las partes del diodo led?
Para entender cómo funciona el LED debemos analizar también los distintos componentes
que lo conforman. Entre ellos, encontramos los siguientes.
Ánodo y cátodo: aunque ya hemos hablado de ellos más arriba, debemos recordar
que se trata de las dos patillas de conexión. Mientras el ánodo actúa como polo
positivo, en cátodo actúa como polo negativo.
Copa reflectora: se encuentra encima del marco (formado a su vez por un yunque y
una plaqueta) y, como su nombre sugiere es la encargada de reflectar la luz del color
que emita el semiconductor.
Semiconductor: los LED, dependiendo de su tipología, tendrán uno o tres cristales
semiconductores, dependiendo de si pueden emitir un solo color o una combinación
en RGB.
Hilo conductor: a través del hilo conductor se transmite la corriente hacia el
semiconductor que convertirá esta energía en luz.
Cápsula: capa transparente que cubre y protege el resto de los componentes del
diodo LED.
Ley de Ohm – Voltaje Corriente y Resistencia
La ley de ohm es una teoría básica para explicar cómo se comporta la electricidad. Para
esto debemos conocer tres conceptos. Corriente, Voltaje y Resistencia. La relación entre
estos conceptos es la llamada ley. En este tutorial te explicamos las relaciones básicas con
ejemplos y aplicaciones, y también para que sirve. Para esto primero tenemos que analizar
los tres términos importantes.
Intensidad o corriente.
Voltaje.
Resistencia.
La definición de estos conceptos es:
Intensidad: Es la circulación de electrones que va de un punto a otro. Su unidad de
medición son los amperios.
Voltaje: Es la fuerza que deja a los electrones que puedan tener movimiento a
través del material conductor. Su unidad de medición son los voltios.
Resistencia: Es la obstrucción que se le presenta a los electrones dentro de un
conducto. Su unidad de medición son los ohmios.
Conexión en serie
La conexión en serie se da cuando juntamos una pata de la resistencia con otra, sin que
haya algo que obstruya el flujo de corriente entre estas. Su principal característica es que
solo sigue un camino en la conducción de electricidad.
Conexión en paralelo
La conexión en paralelo se da cuando dos resistencias unen sus patas entre si abriendo más
caminos para que la corriente llegue a tierra. En la siguiente imagen se puede ver un
ejemplo de circuitos paralelo y serie.
¿Qué es el Puente H L293D?
El Driver puente H para motores L293D es un circuito que tiene en su interior 4 drivers o
medio puente H. La corriente máxima que el L293D puede manejar es de 600 mA con
voltajes desde 4.5 volts a 36 volts. Cada canal es controlado por señales TTL (lógica
transistor a transistor). Cada pareja de canales también dispone de señales para habilitar la
conexión o desconexión de los mismos.
¿Para qué sirve un Puente H L293D?
Gracias a que este circuito integrado es capaz de producir corrientes bidireccionales, es útil
en aplicaciones que requieran controlar la dirección de giro y velocidad de motores de DC.
Otras de sus aplicaciones son el control de relevadores, motores de paso bipolares,
solenoides y cualquier otro dispositivo electrónico de corriente continua que cumpla con las
especificaciones eléctricas del dispositivo.
Información técnica
Voltaje de entrada (motores): 4.5V-36V.
Corriente DC por canal: 600mA.
Corriente pico por canal: 1.2ª.
Protección contra sobre carga térmica.
Diodos de protección contra voltajes inversos generados por las cargas inductivas
(motores).
En el caso de motores es posible controlar tanto su velocidad (PWM) como su
dirección de giro.
Control de motores pasó a paso en modo unipolar o bipolar.
Especificaciones Puente H L283D:
Protección ESD Interna.
Apagado térmico.
Entradas de alto ruido de inmunidad.
Pico Salida de corriente 1.2 A por canal.
DESARROLLO LA PRÁCTICA
Explicación detallada del problema
¿Que se desea realizar?
Implementar dispositivos de electrónica de potencia para el control de motores
(Puente H l293D) basado en microcontroladores, haciendo uso de puertos con el manejo de
interrupciones externas.
¿Cómo se funciona?
La programación se realizo en el compilador pic c compiler utilizando un microcontrolador
desarrollamos las siguientes funciones:
Se ejecutará una intermitencia de un led en el código principal.
Si se llama a la interrupción con prioridad se activará una secuencia de encendido y
apagado del motor1.
Si se llama a la interrupción sin prioridad se activará otra secuencia de encendido y
apagado del motor2.
¿Qué componentes se utilizaron y por qué?
Para que el motor pudiese operar se requiere un circuito de potencia que maneje cargas que
consuman mucha corriente, en este caso el puente h (l293D) tiene una sección donde se
conectan los motores, la alimentación de estos y la parte de control para el encendido o
control del giro.
¿Cómo se programó?
Código principal:Se ejecutará un código principal que activará una secuencia de
encendido y apagado de un led siempre y cuando no se llamen a las siguientes
interrupciones:
Interrupción con prioridad: Si se llama a esta interrupción el Código principal
dejará de ejecutarse y el motor1 activará una secuencia de encendido por 25
milisegundos y una de apagado de 25 milisegundos, esto lo hará 10 veces.
Interrupción sin prioridad:Si se llama a esta interrupción el Código principal
dejará de ejecutarse y el motor2 activará una secuencia de encendido por 50
milisegundos y una de apagado de 50 milisegundos, esto lo hará 5 veces.
Observación: si se llama a la interrupción sin prioridad primero y posteriormente se
llama a la interrupción con prioridad ocurrirá lo siguiente: Se dejará de ejecutar la
interrupción sin prioridad para darle paso a la secuencia de la interrupción con
prioridad, posteriormente que se termine esta, el microcontrolador continuará
ejecutando la interrupción sin prioridad hasta que su secuencia termine, para
posteriormente regresar al Código principal.
Explicación del Código
Incluir el microcontrolador: dependiendo del pic a implementar en este caso el 18f4550.
Los fusibles: se utilizan para configurar parámetros importantes del sistema es decir las configuraciones del
funcionamiento del microcontrolador: como por ejemplo el oscilador externo, así como el perro guardián.
void Secuencia principal(void){ // Nombre de la función donde se ejecutará el Código principal.
output_high(PIN_D3);
delay_ms(30); //Activa led por 30 milisegundos.
output_low(PIN_D3);
#INT_EXT1
void InterrupcionB1() //Nombre de la interrupción.
{
ext_int_edge(1,H_TO_L); //Detecta el cambio de estado de RB1 en el flanco negativo.
output_low(PIN_D3); // Apaga led de la secuencia principal
delay_ms(1);
for(int x=1; x<=5; x++){ // Ciclo de encendido y apagado del motor durante 5 veces.
output_high(PIN_D0);
output_low(PIN_D1);
delay_ms(50); //El motor gira durante 50 milisegundos.
output_low(PIN_D0);
output_low(PIN_D1);
delay_ms(50); //El motor se apaga durante 50 milisegundos. } }.
#INT_EXT2
void InterrupcionB2() //Nombre de la interrupción.
{
ext_int_edge(1,H_TO_L); //Detecta el cambio de estado de RB0 en el flanco negativo.
output_low(PIN_D3); // Apaga led de la secuencia principal
delay_ms(1);
output_low(PIN_D0);
output_low(PIN_D1);
delay_ms(1); //Apaga la secuencia de encendido del motor de la interrupción INT_EXT1
for(int x=1; x<=10; x++){ // Ciclo de encendido y apagado del motor durante 10 veces.
output_high(PIN_C0);
output_low(PIN_C1);
delay_ms(25); //El motor gira durante 25 milisegundos.
Cuerpo del programa: en esta sección indicaremos las instrucciones que el microcontrolador va a efectuar.
Tenemos dos funciones la principal y la función while, en esta última codificaremos las instrucciones al PIC
pues en esta se mantendrán de manera cíclica.
void main()
{
enable_interrupts(GLOBAL); //Habilitación de todas(GLOBAL) las interrupciones.
enable_interrupts(INT_EXT1); //Habilita la interrupción externa RB1.
enable_interrupts(INT_EXT2); //Habilita la interrupción externa RB2.
while(true)
{ Secuencia_principal(); } }
Código en Pic C compiler:
CONCLUSION GENERAL DEL EQUIPO
EL uso de microcontroladores para la automatización es indispensable ya que estos reciben
mucha información de múltiples sensores sobre todo de aquellos que están a niveles de
automatización mas altos y requieren funciones de comunicación de alta velocidad.
En esta practica se manejo un circuito integrado puente h l293D para manejar motores con
potencia que el microcontrolador no puede suministrar. Cabe destacar que también es
importante conocer como hacer una correcta conexión para evitar dañar tanto el circuito de
control de motores como el microcontrolador.
REFERENCIAS BIBLIOGRAFICAS
Valdés, F., & Areny, R. P. (2007). Microcontroladores fundamentos y aplicaciones con PIC
(Vol. 1149). Marcombo.
Pérez, E. M. (2007). Microcontroladores PIC: sistema integrado para el autoaprendizaje.
Marcombo.
Breijo, E. G. (2012). Compilador C CCS y simulador PROTEUS para microcontroladores
PIC. Marcombo.