lunes, 26 de junio de 2017

XiuaElectronics:Curso Proteus 8.5 + MPASM y PIC16F628A

Curso Proteus 8.5 + MPASM y PIC16F628A #06: CCP1 como PWM, generando frecuencia+Led.


Que tal amigos?

En el día de hoy vamos a ver el sexto vídeo tutorial del curso con Proteus 8.5 y el compilador MPASM con el pic16f628a. Para esta clase veremos lo que concierne al modulo PWM del pic, y como configurarlo para trabajar a una determinada frecuencia.

Modo PWM pic16f628a:


En el modo de modulación de ancho de pulso (PWM), el pin CCP1 produce hasta una salida PWM de resolución de 10 bits. Dado que el pin CCP1 se multiplexa con el bloqueo de datos PORTB, se debe borrar el bit TRISB <3> para hacer que el pin CCP1 sea una salida.

NOTA: Al borrar el registro CCP1CON se forzará el bloqueo de salida PWM CCP1 al nivel bajo predeterminado. Este no es el pestillo de datos I / O de PORTB.

Una salida PWM (Figura 9-4) tiene una base de tiempo (período) y un tiempo que la salida permanece alta (ciclo de trabajo). La frecuencia del PWM es la inversa del período (frecuencia = 1 / período).

PWM Periodo:

El periodo PWM se especifica escribiendo en el registro PR2. El período PWM se puede calcular utilizando la siguiente fórmula:

PWM PERIOD= [(PR2)+1]*4*TOSC*TMR2PRESCALEVALUE

La frecuencia PWM se define como 1 / [PWM period].
Cuando TMR2 es igual a PR2, los siguientes tres eventos ocurren en el siguiente ciclo de incremento:
• TMR2 se borra
• El pin CCP1 está ajustado (excepción: si el PWM
Ciclo = 0%, el pin CCP1 no se ajustará)
• El ciclo de trabajo PWM está bloqueado desde CCPR1L en
CCPR1H

NOTA: El temporizador Timer2 (véase la Sección 8.0 "Módulo Timer2") no se utiliza en la determinación de la frecuencia PWM. El post-escalador se puede utilizar para tener una tasa de actualización de servo a una frecuencia diferente de la salida PWM.

PWM Duty Cycle:

El ciclo de trabajo PWM se especifica escribiendo en el registro CCPR1L y en los bits CCP1CON <5: 4="">. Se dispone de una resolución de hasta 10 bits: el CCPR1L contiene los ocho MSbs y el CCP1CON <5: 4=""> contiene los dos LSbs. Este valor de 10 bits está representado por CCPR1L: CCP1CON <5: 4="">. La siguiente ecuación se utiliza para calcular el ciclo de trabajo de PWM en el tiempo:

PWM DUTY CYCLE= (CCPRIL:CPPCON<5:4>)*Tosc*TMR2Prescale value

CCPR1L y CCP1CON <5: 4=""> se pueden escribir en cualquier momento, pero el valor de ciclo de trabajo no se bloquea en CCPR1H hasta que se produce una coincidencia entre PR2 y TMR2 (es decir, el período se completa). En modo PWM, CCPR1H es un registro de sólo lectura. El registro CCPR1H y un pestillo interno de 2 bits se usan para amortiguar doble el ciclo de trabajo PWM. Esta doble amortiguación es esencial para el funcionamiento sin fallas de PWM. Cuando el CCPR1H y el enlace de 2 bits coinciden TMR2 concatenados con un reloj Q de 2 bits interno o 2 bits del prescaler TMR2, el pin CCP1 se borra.


Hasta este punto hemos visto algo teorrico que nos servirá para entender mejor el modulo, luego de esto vamos a ver el siguiente vídeo donde se explicrá la clase de hoy:



Para complementar esta clase, les dejo el link del vídeo tutorial de como instalar Proteus 8.5 en todas las versiones de windows:

https://www.youtube.com/playlist?list=PLHsJoDYdMkxWV3KRvvzMXPHqoXpUgPtj2

Bien muchachos, esto es todo por hoy; esten pendiente en mi canal, o de mi blog o de mi pagina de facebook.

Facebook: https://www.facebook.com/electronicalibrexc/
Youtube:  http://www.youtube.com/c/breismanrueda
Google +: https://plus.google.com/u/0/+breismanrueda
Twitter: https://twitter.com/BreismamR

Esto es todo por hoy, Sigue mi blog y visita mi próxima entrada!

Cualquier duda, trabajo, tutoria personalizada por correo electronico o pagina en facebook:
Correo: ElectronicaLibreXC@outlook.com
Facebook: https://www.facebook.com/electronicalibrexc/



Salu2...



No hay comentarios.:

Publicar un comentario