Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
OBJETIVO
FUNCIONAMIENTO
La regulación de voltaje es hecha utilizando la técnica PWM (modulación por ancho de pulso)
aplicado a un interruptor de potencia (Transistor BJT, Mosfet o IGBT) desde un microcontrolador
Los circuitos a implementar están en nota de aplicación AN216 de Microchip que se proporciona
así como su programa en Assembler
ESPECIFICACIONES TÉCNICAS
MARCO TEORICO
Para esta etapa se seleccionó los dispositivos según el cálculo con los valores de voltaje y
corriente que se trabajará.
Diseño de circuito de control
En este caso se usó el microcontrolador 16F628 en el cual utilizamos el módulo PWM que trae
el microcontrolador el cual solo se calcula a cuanta frecuencia se tiene que trabajar variando el
ancho de pulso mediante una fórmula de cálculo.
𝑉𝑟𝑒𝑓
𝑅6 = 𝑅5 ∗
𝑉𝑜𝑢𝑡 − 𝑉𝑟𝑒𝑓
2,5𝑉
𝑅6 = 1.5𝑘 ∗
5 − 2,5𝑉
𝑅6 = 1.5𝑘
Diagrama de flujo
Programación Aplicada al Circuito
LIST P = 16F628A
#INCLUDE <P16F628A.INC>
; __config 0xFFA1
__CONFIG _FOSC_HS & _WDTE_OFF & _PWRTE_ON & _MCLRE_ON & _BOREN_OFF & _LVP_ON
& _CPD_OFF & _CP_OFF
;CONSTANTES DE VOLTAJES
VREF_HI equ b'10101100' ;PUNTO DE AJUSTE DE VOLTAJE ALTO = VDD/2
VREF_MID equ b'10100110' ;PUNTO DE AJUSTE DE VOLTAJE MEDIO = VDD/4
VREF_LO equ b'10100010' ;lPUNTO DE AJUSTE DE VOLTAJE BAJO = VDD/12
TMR0_RELOAD equ .215 ;VALOR POR EL CUAL SE RECARGARA EL TMR0
;RAM
FLAG equ 0x20 ;DIRECCION DE VARIABLE PARA LA BANDERA
W_TEMP equ 0x24 ;VARIABLE DE REGISTRO TEMPORAL DE W
STATUS_TEMP equ 0x25 ;VARIABLE DE REGISTRO TEMPORAL DE STATUS
org 00 ;VECTOR DE DIRECCION DE RESET
goto INICIO ;SALTO A PROGRAMA
INTR:
movwf W_TEMP ; SE GUARDARA EL VALOR DE LOS REGISTRO W & STATUS
swapf STATUS,W
bcf STATUS,RP0
movwf STATUS_TEMP
INICIO:
bcf STATUS,RP0 ;ESTABLECE EL INICIO EN EL BANCO 0
clrf PORTA ; LIMPIAMOS LOS PUERTOS TANTO PORTA COMO PORTB
clrf PORTB
bsf STATUS,RP0 ;ENTRAMOS EN BANCO 1, PARA ESTABLECER ENTRADAS COMO SALIDAS
movlw b'11111111' ;
movwf TRISA ;TODOS LOS PUERTOS A COMO ENTRADAS
movlw b'00000000'
movwf TRISB ;TODOS PUERTOS B COMO SALIDAS
movlw b'11011111' ;ADEMAS ESTABLECEMOS EL RELOJ INTERNO DEL TMR0
movwf OPTION_REG
bcf STATUS,RP0 ;REGRESAMOS AL BANCO 0
movlw b'00000010' ;ESTABLECER LA ENTRADA DE AN0 EN COMPADRADOR 1, ASI MISMO
EL AN1 EN COMPADRADOR 2
movwf CMCON
movlw VREF_HI ;PUNTO DE AJUSTE EN ALTO ESTABLECIDO
bsf STATUS,RP0 ;ENTRAMOS EN EN BANCO 1 PARA MOVER EL VALOR DEL REGISTRO A
VRCON.
movwf VRCON
bcf STATUS,RP0 ;ECHO ESTO, REGRESEMOS AL BANCO 0
clrf FLAG
movlw TMR0_RELOAD ;INICIALIZAMOS EL VALOR DEL TMR0
movwf TMR0
movlw b'10100000' ;HABILITAMOS EL INTERRUPCIONPOR TMR0
movwf INTCON
loop: goto $+1 ;SALTA INSTRUCCIONES HACIA DELANTE PARA OTRAS
FUNCIONES
goto loop
END
MEDICIONES Y REGISTRO DE IMÁGENES