Buck convertidor de control

0

Estoy usando un convertidor reductor para alimentar una carga resistiva, el requisito que tengo es aumentar la corriente progresivamente, para hacer esto, estoy usando una uC.

Las especificaciones del convertidor son:

  

Voltaje de entrada: 28V
  Voltaje de salida: 2 / 22V
  Corriente de salida: hasta 6A
  Fs = 125Khz >

Como trabajo a una frecuencia relativamente alta, solo tengo 7 bits de resolución para controlar la señal pwm.

Como respuesta, estoy usando un sensor de efecto Hall conectado en la salida, con el ADC de 10 bits tengo una resolución de aproximadamente 130 mA Así que la escala 0-6A asignada en 0-45

El control que estoy haciendo es el siguiente:

/// Initial conditions

max_current = 16 /// it represents about 2.1 A
duty_cycle = 0 /// 0-100% mapped in 7bits (0-127)

update_pwd()
    output_current = read_sensor()
    if output_current > max_current:
        duty_cycle = duty_cycle - 1
    if output_current < max_current:
        duty_cycle = duty_cycle + 1


send_data_to_computer()

Ya que tengo que aumentar la salida de corriente progresivamente, estoy llamando a update_pwd () cada 250 ms, y send_data_to_computer () una vez por segundo, el proceso de envío de datos causa aproximadamente 5 ms de tiempo muerto en la uc.

En la computadora estoy obteniendo estos datos:

¿Qué opciones tengo para mejorar el rendimiento sin cambiar el hardware?

Estoy pensando en aumentar la frecuencia de muestreo y utilizar un filtro de promediación como forma de aumentar la resolución, ¿es razonable?

    

0 respuestas

Lea otras preguntas en las etiquetas