Autor Tema: Diseño de fuente de alta tensión  (Leído 17664 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 17673
    • MicroPIC
Re: Diseño de fuente de alta tensión
« Respuesta #135 en: 05 de Febrero de 2014, 02:41:09 »
Una vez fabricado el transformador, voy a montar el primer prototipo de fuente Flyback, para lo cual he diseñado un generador de PWM variable que me permita fácilmente encontrar la mejor relación frecuencia/duty para dicha fuente.
El diseño está realizado con PIC18F14K50, trabajando con oscilador interno a 32MHz
   - Usamos los canales ADC 4 y 5 (pines 15 y 16)
   - Salida PWM en el pin 5

Uno de los potenciómetros regulará la frecuencia de trabajo entre 3KHz y 8MHz
El otro regula el duty entre 0% y 100%. Lógicamente, a mayor frecuencia, menor
resolución.

Aquí dejo el código:

Código: C
  1. /******************************************************************************
  2.  
  3. GENERADOR DE PWM REGULABLE MEDIANTE POTENCIÓMETROS
  4.  
  5. Diseñado con PIC18F14K50, trabajando con oscilador interno a 32MHz
  6.    - Usamos los canales ADC 4 y 5 (pines 15 y 16)
  7.    - Salida PWM en el pin 5
  8.  
  9. Uno de los potenciómetros regulará la frecuencia de trabajo entre 3KHz y 8MHz
  10. El otro regula el duty entre 0% y 100%. Lógicamente, a mayor frecuencia, menor
  11. resolución.
  12.  
  13.                                                                  Nocturno-2014
  14.                                                                www.micropic.es
  15. ******************************************************************************/
  16.  
  17. #include <18F14K50.h>
  18. #device ADC=10
  19.  
  20. #FUSES NOWDT                    //No Watch Dog Timer
  21. #FUSES WDT128                   //Watch Dog Timer uses 1:128 Postscale
  22. #FUSES NOBROWNOUT               //No brownout reset
  23. #FUSES NOLVP                    //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
  24. #FUSES NOXINST                  //Extended set extension and Indexed Addressing mode disabled (Legacy mode)
  25.  
  26. #use delay(internal=32MHz)
  27.  
  28. #define  ResolucionADC 1024
  29.  
  30. void main()
  31. {
  32.    unsigned int16 adc_duty,frecuencia;
  33.    unsigned int8 i;
  34.    
  35.    setup_adc_ports(sAN4|sAN5);
  36.    setup_adc(ADC_CLOCK_INTERNAL);
  37.    setup_ccp1(CCP_PWM|CCP_SHUTDOWN_AC_L|CCP_SHUTDOWN_BD_L);
  38.    set_pwm1_duty((int16)0);
  39.  
  40.    while(TRUE)
  41.    {
  42.       frecuencia=adc_duty=0;
  43.       // Leemos los dos canales ADC para obtener el promedio de 16 lecturas
  44.       for (i=0;i<16;i++) {
  45.          set_adc_channel(4);
  46.          frecuencia += read_adc();
  47.          set_adc_channel(5);
  48.          adc_duty += read_adc();
  49.       }
  50.       // Calculamos el promedio de ambas variables
  51.       frecuencia=frecuencia>>4;
  52.       adc_duty=adc_duty>>4;
  53.      
  54.       // Establecemos la nueva frecuencia del PWM
  55.       setup_timer_2(T2_DIV_BY_1,frecuencia>>2,1);;
  56.       // Establecemos el nuevo duty del PWM, proporcional a la frecuencia
  57.       set_pwm1_duty((int16)((int32)adc_duty*frecuencia/ResolucionADC));
  58.    }
  59. }
Un saludo desde Sevilla, España.
Visita MicroPIC                                                                                        ɔ!doɹɔ!ɯ ɐʇ!s!ʌ

Desconectado Picuino

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 5208
Re: Diseño de fuente de alta tensión
« Respuesta #136 en: 05 de Febrero de 2014, 06:56:06 »
Cuidado con los tiempos, que puedes quemar los componentes.

El tiempo de encendido del transistor debe estar entre 0 y 12us.  Si pones más tiempo de encendido, puedes achicharrar el transistor.

  t_on = 0 . . 12us

El tiempo de apagado también es crítico. Depende del tiempo de encendido y de la tensión del secundario.
En el comienzo, cuando la fuente está descargada, el tiempo debe ser alto.
A medida que el secundario se va cargando, podrás apagar el transistor durante menos tiempo.

  t_off >= 5us   Fuente con 700 voltios en el secundario

  t_off >= 12us   Fuente con 300 voltios en el secundario.

  t_off >= 24us   Fuente con 150 voltios en el secundario.

  t_off >= 144us   Fuente con 25 voltios en el secundario.


Ten en cuenta que si pones una carga excesiva en el secundario, la tensión bajará y debes ajustar el tiempo de apagado o la fuente se quemará.
Para evitarlo tienes que monitorizar la tensión de secundario o la corriente del transformador para asegurarte de que la corriente baja a cero en cada ciclo.

Saludos.

Desconectado Picuino

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 5208
Re: Diseño de fuente de alta tensión
« Respuesta #137 en: 05 de Febrero de 2014, 07:03:40 »
Fórmulas:

Corriente de pico por el transistor:

   I_max = Vin · t / L

   I_max = 12v · t / 11uH

Como I_max debe ser menor de 12 amperios para no saturar el transformador:

   t_max = 11us

Puedes pasarte un poquito, pero si te pasas mucho, la corriente comienza a subir con mucha rapidez y quemarás algo.


El tiempo de apagado, para dejar que la energía se descargue por completo en el secundario:

   t_off = t_on · Vin / (Vout · n)

   t_on = Tiempo de encendido del transistor.
   Vin = Tensión de alimentación del primario, en este caso 12 voltios
   Vout = Tensión en el secundario.
   n = Relación de transformación, que en este caso es de 0.04.


Sustituyendo:

     t_off = t_on · 300 / Vout

Saludos.