Ejemplos Con Matlab
Ejemplos Con Matlab
Ejemplos Con Matlab
CONVERTER
ELECTRÓNICA DE POTENCIA
Convertidor DC-DC
V out I ¿
=
V ¿ I out
Tal como se describió antes el Buck Converter opera mediante un arreglo de inductancia y
condensador que serán transferidos de energía por la fuente de alimentación durante un
período de tiempo en el que un dispositivo de control de potencia (usualmente un MOSFET)
será activado permitiendo el paso de energía de la fuente hacia el circuito. En el caso de un
Buck converter este dispositivo actúa como un Switch.
Una forma gráfica se muestra a continuación:
En donde V 0= DV s
T on =D .T
T off =(1−D)T
Forma de corriente en la bobina
V 0 ( 1−D )
I Lmin= T
2L
V 0 ( 1−D )
L Critica= .T
2 I Lmin
V0
−( V 0 )
D
L Critica= D.T
2.I L
(V s)−( V 0 )
L Critica= D.T
2. I L
( V s )−( V 0 )
Lcritica ≥ . T on
2 I Lmin
T
1
I prom= ∫ i ( t ) dt−−−−−I dc
T 0
∆I L V ( 1−D )
ILmax =I 0+ , ∆ I L= 0 T
2 L
DT
1
I sw = ∫ ¿¿
T 0
1
I sw = ¿
T
1
I sw = ¿ ¿
T
1
I sw = ¿
T
IL max−¿ IL
I sw = min
.D¿
2
I sw =D∗I 0
( 1−D )∗T
1
I D=
T
∫ ¿¿
0
Modelo
V ESR =ESR∗I L
V ESR=ESR∗∆ I L
V ESR =ESR∗ [ V0
L
( 1−D )∗T ]
V ESR =ESR∗
[ ( )]
V0
L
V
1− 0 (mv) ………. Siendo ESR (mΩ)
VE
c∗dVc
Ic= donde Ic=I L … … … es una recta
dt
1
V c=
c
∫ Ic
T2
1 1
∆ V c= ∫
c T1
I c ( t ) dt= ∗∆ Q
c
( )
1 ∆ IL
∗1 ∗I
c 2
∆ V c=
2 2
1
∗∆ I L
c
∆ V c=
8F
V0
∆ I L= ∗( 1−D )∗T
L
1
∗V 0 ( 1−D )∗T ∗T
L∗C
∆ V c=
8
1 2
∗V 0 ( 1−D )∗T
L∗C
∆ V c=
8
1
∗V 0 ( 1−D )
L∗C
∆ V c= 2
8f
V 0 ( 1−D )
C≥
8∗L∗( f 2)∗∆ V c
Rizado
I c =I L −I 0
I 2−I 1
I L 1=I 1 + ∗T
T on
I 1 −I 2
I L 2=I 2 + ∗T
T off
√ [ ]
ton toff
1
∫ ( I L 1 ( t )−I 0 ) dt + ∫ ( I L 2 ( t )−I 0 ) dt
2 2
I crms=
T 0 0
( 1−D ) V 0
I crms=
2 √ 3∗L∗f
III. DESARROLLO
Para este caso específico se consideró el diseño de un Buck Converter bajo las siguientes
características:
V i=15 V , 1.7 A
V 0=5V
f s=40 Khz
Calculando el ciclo de Trabajo:
V o =D∗V i
Vo
D=
Vi
5[V ]
¿
15[V ]
D=0.33
La corriente inductancia mínima:
(V ¿ ¿ i−V o )∗R∗D
Lmin = ¿
2∗V o∗f s
L=5∗Lmin
L=5∗8.25 uH
L=41.25[uH ]
El factor de rizado:
∆Vo
fr %=0.5 %= ∗100
Vo
V o∗0.5
∆ V o=
100
5V ∗0.5
∆ V o=
100
∆ V o=0.025
Y el condensador:
( 1−D)¿ V o
C= 2
8∗f s ∗∆ V o∗L
( 1−0.33 )∗5 V
C= 2
8∗( 40 x 10 Hz ) ∗0.025∗41.25 x 10 H
3 −6
C=254 uF
Acoplamiento de impedancias
V out
Rload=
I out
V out =D∗V ∫ ¿¿
I∫¿
I out = ¿
D
Entonces:
5V
Rload= =1Ω
5A
1.7 A
I out = =5.15 A
0.33
Simulación
Una vez obtenidos los valores de la inductancia y capacitancia bajo las restricciones de
elegimos los elementos necesarios para la implementación de un convertidor DC-DC tipo buck.
siguiente bloque:
Ideal Switch
Deseleccionamos el cuadro que dice ‘’Show measurement port’’ y los ubicamos de la siguiente
Dejamos libre la entrada “g” ya que se la utilizara para ingresar la señal del PWM.
Para simular el switcheo del conmutador ideal necesitamos ingresar en S1 la señal del PWM y
en S2 la señal invertida del PWM por lo tanto usamos una compuerta “NOT” y el esquema
Se necesita el bloque powergui para simular cualquier modelo de Simulink que contenga
siguiente bloque:
Powergui
de conmutación de 40kHz.
Configuración powergui
Para obtener un solo Scope con todos los parámetros de Voltaje y corriente usamos los
Para poder generar esta señal con nuestro PIC, se hace uso de los módulos
CCP (Comparador, Captura y PWM). Dicho módulo permite realizar tres funciones
básicas.
Comparar: Compara el valor del temporizador con el valor de un registro y provoca
una acción en el PIC.
Captura: Obtiene el valor del temporizador en un momento dado, fijado por la acción
de un terminal del PIC.
PWM: Genera una señal modulada por ancho de pulso.
El compilador nos suministra dos instrucciones basicas para el manejo del PWM.
setup_ccpx(modo);
Donde modo hace referencia a los bits CCPxM3:CPxM0 del registro CCPxCON y
en PIC C puede ser configurado según la siguiente tabla:
El ciclo de trabajo para el PWM se define como:
set_pwmx_duty(valor);
Donde el x hace alusion al modulo CCP a utilizar, en el caso del PIC16F887 solo tiene
CCP1 y CCP2, así que si queremos usar el PWM del PIN 17
ponemos set_pwm1_duty(valor); y si queremos usar el PWM del PIN 16
ponemos set_pwm2_duty(valor);
Valor es un dato de 10 bits que determina el ciclo de trabajo o ancho de pulso, es decir
ese valor va a determinar el porcentaje (En bytes) en que la señal de PWM se va a
mantener encendida. Este valor junto con el valor del preescaler del TMR2 definen el
ciclo de trabajo. En la configuración del TIMER 2 el postcaler debe valer 1.
Prescaler determina el tiempo de interrupción. El Postcaler sólo dice cuántas veces el
Timer2 tiene que desbordarse para llamar a la interrupción.
Como comenté anteriormente el ancho de Pulso ó Ciclo de trabajo para el modulo CCP
del PIC puede tener como máximo un valor de 10 bits, eso si, ésta resolución depende
exclusivamente del periodo del PWM que nosotros queramos implementar.
Para generar una señal de Modulación por Ancho de Pulso con el PIC,
tenemos que utilizar el TIMER 2, el cual es un Timer de 8 Bits.
Internamente el PIC, usa el TIMER 2 como base de tiempo para la Modulación por
Ancho de Pulso (PWM) utilizando el módulo CCP.
Valor Máximo:
Listo, ya sabemos que lo primero que debemos encontrar es el valor de carga del
timer 2 (PR2) y que éste depende del tipo de cristal que estamos usando y depende de
los valores de preescaler que nosotros seleccionemos (1,4 o 16).
Ahora vamos a calcular la Resolución que vamos a usar en nuestro PWM. Para eso,
sabemos que la máxima resolución del PWM es 10 bits o 1024 bytes. Si observamos la
ecuación de frecuencia del PWM en su denominador los dos
parámetros hacen referencia a la resolución que se
puede alcanzar con el PWM, note que si la carga del timer2 fuera su valor máximo
(255) el resultado de esa operación nos daría 1024 ( ). Entonces
para saber cuantos bits tenemos en una señal PWM a la frecuencia que nosotros
deseamos, podriamos representar ese termino
como , donde n es el numero de bits que
como máximo sería 10 bits.
Así, podriamos reescribir la ecuación de la frecuencia del PWM como:
Y como lo que queremos es determinar la resolución, simplemente despejamos n de la
ecuación anterior aplicando logaritmos a ambos lados de la igualdad:
Con ese valor de resolución de ancho de pulso (n) sabremos cuanto es el BYTE que
debemos colocar en la variable valor de la instrucción que habíamos comentado en la
parte de arriba:
set_pwmx_duty(valor);
Donde:
Lo que es menor a los 10bits máximos, eso indica que es posible obtener una
PWMFrecuencia de 4Khz utilizando un cristal de 4000Mhz, ademas el valor cargado
en Carga del Timer2 no tiene que ser mayor a 2 5,9658 = 62,5 para obtener el máximo
ancho de pulso para la PWM Frecuencia de 4Khz, luego el máximo valor cargado en Carga
del Timer2 para que la PWMFrecuencia sea de 4Khz tiene que ser a lo mucho 63, de lo
contrario la señal obtenida en el pin CCPx utilizado mediante el módulo CCP PIC modo
PWM no será de los 4khz que se quieren.
Donde si valor vale 0, tendre un ciclo de trabajo del 0%, si valor vale 63, tendré un ciclo
de trabajo de 100%, si valor vale 32, tendré un ciclo de trabajo de 50%
Para generar una señal cuadrada de 4Khz es necesario calcular primero el periodo
(Inverso de la frecuencia) f=4Khz=4000hz.
Periodo de 0,250mS (Mili segundo) donde T=Periodo.
Obtenemos que el valor de X=14,625. (Recordando que X tiene que estar entre 0-63 para no
ser mayor que el ancho de pulso, por eso se escoge un preescaler de 16). Así como
necesitamos un valor entero, redondeamos X=15.
Si la disipación de potencia no es crítica, existe un diseño rápido para el snubber RC. De manera
empírica, elija el capacitor amortiguador Csnub que es igual al doble de la suma de la capacitancia de
salida del interruptor y la capacitancia de montaje estimada. El resistor amortiguador Rsnub se
selecciona para que . La disipación de potencia en Rsnub en una frecuencia de conmutación dada se
puede calcular como: