Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PUEBLA
LICENCIATURA EN INGENIERÍAMECATRÓNICA
MICROCONTROLADORES
PRÁCTICA 6
PRESENTA: EQUIPO 1
ALONSO CABAÑAS VICTOR ARMANDO
MARCELINO CHIMAL LOZANO
29 DE NOVIEMBRE DE 2022
Objetivo
Haciendo uso del alto nivel para poder programar un control PWM (modulación de
ancho de pulso) con lo cual se pretende tener el control de un LED el cual mediante
unos displays 7 segmentos se desplegará el porcentaje del ciclo de trabajo en
incrementos de 10 en 10 porciento.
Marco teórico:
Control PWM
Es una señal cuadrada de una determinada frecuencia y ciclo de trabajo variable. Un
caso típico en le uso de este tipo de control es en potencia ya sea de un motor DC o
una bombilla. Dando como encendido un 1 o un cero para apagado y la potencia que
utilizará será proporcional a lo ancho del pulso como su nombre lo indica.
En este modo, el pin CCP1 produce una señal PWM de hasta 10 bits de resolución, lo
que significa que se tienen hasta 1024 opciones de configuración del ciclo de trabajo.
Este pin tiene que configurarse como salida por medio del registro TRISB. La figura
muestra un diagrama de bloques del módulo CCP operando como control PWM.
Una señal PWM se caracteriza por una base de tiempo (período) y un tiempo durante
el cual la salida tiene un nivel alto (ciclo de trabajo). La frecuencia es el inverso del
período.
Display de 7 segmentos
La pantalla o display de 7 segmentos, consta de siete LED (de ahí su nombre) dispuestos en
forma rectangular. Cada uno de los siete LED se denomina segmento porque, cuando se
ilumina, el segmento forma parte de un dígito numérico (tanto decimal como hexadecimal).
A veces se usa un octavo LED adicional dentro del mismo paquete, lo que permite la
indicación de un punto decimal (DP) cuando se conectan dos o más pantallas de 7
segmentos para mostrar números mayores que diez.
En un display de ánodo común, todas las conexiones de ánodo de los segmentos LED se
unen en un "1" lógico. Los segmentos individuales se iluminan aplicando una señal de
tierra, "0" lógico o "BAJO" a través de una resistencia limitadora de corriente adecuada al
cátodo del segmento particular.
La siguiente tabla muestra los códigos para el display de 7 segmentos de ánodo común:
Hexadecimal Binario Hexadecimal
(Si cada segmento enciende con ceros)
0 1100 0000 C0
1 1111 1001 F9
2 1010 0100 A4
3 1011 0000 B0
4 1001 1001 99
5 1001 0010 92
6 1000 0010 82
7 1011 1000 F8
8 1000 0000 80
9 1001 1000 90
A 1000 1000 88
B 1000 0011 83
C 1100 0110 C6
D 1010 0001 A1
E 1000 0110 86
F 1000 1110 8E
¿Qué es un transistor?
Una capa de semiconductor de tipo n entre dos capas de tipo p en una configuración
positiva-negativa-positiva (PNP).
Una capa de tipo p entre dos capas de tipo n en una configuración negativa-positiva-
negativa (NPN).
Partes de un transistor
El transistor de unión bipolar PNP está formado por tres capas de material semiconductor,
con dos regiones de tipo P y una región de tipo N. Incluye tres terminales:
está ligeramente dopada y es muy delgada, por lo que ofrece el portador de carga
mayoritario a la base.
3. El colector: la mayor parte del portador de carga suministrado por el emisor es
recogido por el colector. La unión colector-base siempre tiene polarización inversa.
La zona del colector está moderadamente dopada y tiene capacidad para recoger el
portador de carga suministrado por el emisor.
7
Microcontroladores Equipo 1-Práctica 5
Desarrollo Práctica:
Código fuente:
#include <18f4550.h>
#include <stdbool.h>
#Fuses HSPLL, NOWDT, NOPROTECT, NOLVP, NODEBUG, USBDIV, PLL2,
CPUDIV1, VREGEN
#use delay (clock=4M)
#use standard_io(d)
#use standard_io(b)
#use standard_io(a)
int interrup=0;
#int_EXT
void interrupcion(void){
delay_ms(200);
interrup++;
if (interrup == 9){
interrup = 0;
}
}
void main(void){
set_tris_b(0xFF);
set_tris_d(0x00);
set_tris_a(0x00);
enable_interrupts(int_EXT); //Habilita interrupcion externa
enable_interrupts(GLOBAL); //Habilita interrupcione
ext_int_edge(L_TO_H);
setup_ccp1(CCP_PWM);
setup_timer_2(T2_DIV_BY_4,249,1);
while(true){
switch(interrup)
{
8
Microcontroladores Equipo 1-Práctica 5
case 0:
set_pwm1_duty(25);
output_high(disp1);
output_low(disp2);
output_D(0x40);
delay_ms(50);
output_low(disp1);
output_high(disp2);
output_D(0x79);
delay_ms(50);
break;
case 1:
set_pwm1_duty(50);
output_high(disp1);
output_low(disp2);
output_D(0x40);
delay_ms(50);
output_low(disp1);
output_high(disp2);
output_D(0x24);
delay_ms(50);
break;
case 2:
set_pwm1_duty(75);
output_high(disp1);
output_low(disp2);
output_D(0x40);
delay_ms(50);
output_low(disp1);
output_high(disp2);
output_D(0x30);
delay_ms(50);
break;
case 3:
set_pwm1_duty(100);
9
Microcontroladores Equipo 1-Práctica 5
output_high(disp1);
output_low(disp2);
output_D(0x40);
delay_ms(50);
output_low(disp1);
output_high(disp2);
output_D(0x19);
delay_ms(50);
break;
case 4:
set_pwm1_duty(125);
output_high(disp1);
output_low(disp2);
output_D(0x40);
delay_ms(50);
output_low(disp1);
output_high(disp2);
output_D(0x12);
delay_ms(50);
break;
case 5:
set_pwm1_duty(150);
output_high(disp1);
output_low(disp2);
output_D(0x40);
delay_ms(50);
output_low(disp1);
output_high(disp2);
output_D(0x02);
delay_ms(50);
break;
case 6:
set_pwm1_duty(175);
output_high(disp1);
output_low(disp2);
output_D(0x40);
10
Microcontroladores Equipo 1-Práctica 5
delay_ms(50);
output_low(disp1);
output_high(disp2);
output_D(0x78);
delay_ms(50);
break;
case 7:
set_pwm1_duty(200);
output_high(disp1);
output_low(disp2);
output_D(0x40);
delay_ms(50);
output_low(disp1);
output_high(disp2);
output_D(0x00);
delay_ms(50);
break;
case 8:
set_pwm1_duty(225);
output_high(disp1);
output_low(disp2);
output_D(0x40);
delay_ms(50);
output_low(disp1);
output_high(disp2);
output_D(0x18);
delay_ms(50);
break;
}
}
}
11
Microcontroladores Equipo 1-Práctica 5
Diagrama eléctrico:
12
Microcontroladores Equipo 1-Práctica 5
Funcionamiento:
A continuación, se encuentra el enlace del vídeo del funcionamiento del código programado
en el PIC18F4550:
https://youtube.com/shorts/UGuk6fwEA0U?feature=share
13
Microcontroladores Equipo 1-Práctica 5
Conclusiones
En el proceso del desarrollo de esta práctica adquirimos conocimientos de como poder hacer uso de un
control PWM que en básicamente funciona de la siguiente manera, a través del ancho de pulso de una se ñal
cuadrada será las intermitencias con las que nuestro actuador trabajara, y con un poco de modificaciones
podemos controlar este ancho de pulso para poder variar la potencia con la que interactúa el actuador ya
sea un motor , un led (como es nuestro caso) o algún otro dispositivo que adapte a un contro PWM que ya
en aplicaciones practicas es muy útil cuando no siempre queremos que se trabaje a un ciclo y requerimos
de la variación de la intensidad de la potencia, pero esto ya dependerá del uso que se le de a los usos
deseados que se requieren de los actuadores que tengamos que utilizar para una tarea especifica.
14
Microcontroladores Equipo 1-Práctica 5
Bibliografía
1. Alvarez, R. (2022). MicrosApuntesOtoño2022
junio). https://www.rs-online.com/designspark/what-is-bjt-a-detailed-guide-on-bjt
Menéndez Fuertes.
editorial.
7. Maquinas eléctricas y sistemas de potencia .6ta ed. Wildi, Theodore Prentice hall
15