Convertidor CD-CD. 105684 Mercado Esquivel Adolfo Alexis
[email protected] Sistemas embebidos. Proyecto final. Profesor.- Cota Ruiz Juan de Dios. 22 de mayo de 2014.
Resumen.- Mediante la utilización del microcontrolardor ATmega328 brindado en el Arduino UNO, se realizó el control de voltaje en una fuente conmutada en configuración buck regulator. Mediante el uso de comunicación i2c, la lectura de una entrada de ADC y generación de PWM.
Palabras clave: microcontrolador, ATmega328, PWM, I2C, fuente conmutada, convertidor cd-cd, buck regulator, control. I.
INTRODUCCIÓN
U
n convertidor CD-CD es un dispositivo electrónico cuya misión es transformar una corriente continua en otra de igual carácter pero diferente valor. Se puede encontrar una similitud en alterna con los transformadores y su relación de transformación.
del inductor bajas hasta que el transistor se enciende de nuevamente. Por lo tanto el voltaje promedio de salida se puede expresar en la ecuación 1 y la corriente promedio en la carga en la ecuación 2.
1⁄2 1 2 = ( ∫0 ) = √
(1)
= =
(2)
Donde:
Los convertidores cd se usan mucho para el control de motores de tracción de automóviles eléctricos, tranvías, grúas, marinas, montacargas y levadores de mina. Proporciona un control uniforme de aceleración, gran eficiencia y rápida respuesta dinámica.
T es el periodo de conmutación. k=t1/T es el ciclo de trabajo del interruptor. f es la frecuencia de conmutación.
En la figura 1.2 se muestra las gráficas de la salida dependiendo el ciclo de trabajo al cual se esté trabajando.
El circuito base para un buck regulator se muestra en la figura 1.1.
Figura 1.1. Buck Regulator.
Este tipo de regulador proporciona un voltaje de salida no mayor al voltaje de entrada, es decir, presenta dos modos de operación, el modo 1 empieza cuando se cierra el transistor Q1 en t=0, entonces la corriente aumenta, pasa por el inductor, el capacitor y la resistencia, la corriente del inductor aumenta hasta que el transistor Q1 se abr e en un tiempo t=kT siendo k el ciclo de trabajo y T el periodo. El modo 2 empieza cuando el interruptor Q1 se abre en t= kT, el diodo de marcha libre D m conduce la energía almacenada en el inductor, y la corriente del inductor pasa por la carga R, el capacitor, el inductor y el diodo de marcha libre. La corriente
Figura 1.2 Voltaje de salida.
El funcionamiento del conversor Buck es sencillo, consta de un inductor controlado por dos dispositivos semiconductores los cuales alternan la conexión del inductor bien a la fuente de alimentación o bien a la carga.
II. PROCEDIMIENTO Para la implementación del proyecto fue necesario adjuntar varios templetes anteriormente realizado. La realización del proyecto se realizó en fases las cuales se describen a continuación. Leer un expansor de puertos digitales PCF8574, mediante el protocolo de comunicación i2c. Para realizar esto se siguió un plan estratégico que consistía en direccionar el dispositivo digital, leer los estados lógicos de los puertos de entrada (0-255) a lógica inversa por las resistencias de pull-up. Ya obteniendo la lectura del PCF8574, se realiza un arreglo para indicar que cuando el PCF8574 marcara una lectura entre 0 -255 convertir eso a voltaje de 0 a 10 volts. Después pasa por la etapa de potencia en la cual es el arreglo del convertidor dc-dc buck regulator y pasarlo por una etapa de amplificación la cual bajara el voltaje de 0-10 a 0-5 para poder ser leído por una entrada ADC del ATmega328.
Para realizar la etapa de control fuese más exacta se realizó un promedio del error actual y el error anterior para tener mejor lectura del error ya que como el voltaje de salida tiene mucha variación por el control emitido varia por lo que el ADC no es capaz de leer lecturas promedio como lo haría cualquier multímetro, por el contrario lee el voltaje actual. Además que un controlador P siempre tendrá un error de estado estable. Después de la etapa de control y dependiendo del resultado del OCR1A se manda a la salida del OCR1A la variable que nos definirá el ciclo de trabajo o los pulsos asignados del PWM. En la figura 2.1 se muestra el esquemático de conexión del PCF8574. En la figura 2.2 se muestra el esquemático del circuito realizado para el proyecto del convertidor CD-CD buck regulator.
La etapa de lectura con ADC fue realizada con el templete de ADC, solo que en este está dentro de un while el cual nos indi ca que se ha realizado una lectura con el ADC de 10 bits interno del arduino, el voltaje leído dentro del ADC es comparado con el set point previamente calculado con el arreglo de conversión realizado por los bits de entrada del PCF8574 y se realiza una operación para obtener el error, el cual pasa a la etapa de control. La etapa de control fue realizada mediante el uso de un controlador P el cual sumaba o restaba el OCR1A que es el número de pulsos que se manda a través del PWM. Figura 2.1 Esquemático PCF8574 and arduino UNO.
Figura 2.2 Esquemático convertidor CD-CD buck regulator.
El código que se utilizó para la programación del convertidor CD-CD se muestra a continuación con una descripción acerca de lo que hace cada instrucción.
Código de programación.
En el código ya descrito se puede ver como se empieza el código con la lectura que existe en el ADC l uego de eso se pasa a leer el PCF8574, realiza la comparación para sacar el error y después de eso pasa a la subrutina controlador donde realiza el control para obtener el OCR1A que es el encargado de mandar los pulsos de PWM. III. Conclusiones Para la implementación de este proyecto era más de cuidado el circuito de potencia ya que por cualquier error existente en el circuito o algún componente inexacto, el voltaje leído por el ADC variaba lo cual no permitía realizar un buen control sobre el voltaje de salida. En los demás puntos fue sencillo ya que se habían implementado en prácticas pasadas, además que contábamos en el templete el cual es la base para el desarrollo de los componentes usados como lo es i2c, ADC y generación de pulsos PWM por la salida OCR1A, solo un poco de
programación en el controlador. Una técnica que utilice para realizar mejor el control fue implementar un promedio de errores guardando el error anterior y el actual para así obtener un error más preciso. Lo que me causo más problema fue el circuito ya que el filtro que se t iene que diseñar con la bobina y el capacitor en serie no es muy preciso debido a la inductancia de la bobina no era lo suficientemente buena para mantener el voltaje en línea, lo que nos ayudó un poco fue el diodo de marcha libre el cual nos ayuda a regular las puntas de voltaje que se puedan obtener. En si el proyecto me dejo muchas enseñanzas ya que afirma lo aprendido durante todo el curso y se comprueba el conocimiento adquirido y así como lo nuevo que se puede aprender en el futuro. R EFERENCIAS [1] [2] [3] [4]
http://arduinodiy.wordpress.com/2012/02/28/timer-interrupts/ http://courses.cs.washington.edu/courses/csep567/10wi/lectures/Lecture 7.pdf http://www.atmel.com/Images/doc8161.pdf http://www.fairchildsemi.com/ds/2N/2N7000.pdf