CIRCUITO PASA BAJAS A LA SALIDA DE UN SPWM HECHO EN UN MICROCONTROLADOR. Alex Irving Néstor Néstor Cabrera Gómez, Emmanuel Emmanuel Santiago Santiago Hernández, Hernández, Ulises Francisco Soto Arroyo Universidad Tecnológica de la Mixteca. Instituto de Electrónica y Mecatrónica. Carretera a Acatlima Km. 2.5, Huajuapan de León.
[email protected] [email protected] [email protected]
Resumen
Se realiza un controlador de SPWM utilizando un microcontrolador en este caso el Atmega8 de tal forma que permita tener un control sobre el periodo de la señal y comprobar en forma experimental el funcionamiento así como la aplicación de generador de SPWM. Así mismo, se implementa un filtro pasa bajas para obtener a la salida una señal seno de la señal SPWM, esto debido a la configuración del mismo. Palabras clave: Ciclo de trabajo, frecuencia, Señal moduladora, Señal portadora OBJETIVOS
Implementar un SPWM utilizando un microcontrolador y un comparador que permita controlar el periodo de la señal. Filtrar la señal de SPWM con un filtro pasa bajas para obtener una señal tipo seno. Solución de resultados teóricos. Simulación Simulación mediante software. Implementación Implementación de manera física en el protoboard del circuito.
En la salida la frecuencia es generalmente igual a la de la señal dientes de sierra, y el ciclo de trabajo está en función de la portadora. La modulación por ancho de pulso es una técnica téc nica para generar “señales analógicas” en alguna salida de un sistema digital. Puede usarse para controlar la velocidad de un motor, la intensidad luminosa de una lámpara, etc. La base del SPWM es la variación del ciclo de trabajo (duty (duty cycle) cycle) en una señal cuadrada. En la figura 1 se muestra un periodo de una señal cuadrada con la definición del ciclo útil.
I. Introducción La construcción típica de un circuito SPWM se lleva a cabo mediante un comparador con dos entradas y una salida. Una de las entradas se conecta para la señal moduladora y otra para la señal portadora en este caso una señal triangular con frecuencia aproximada de 116Hz.
Figura 1. Definición de ciclo de trabajo.
El ciclo de trabajo es la relación que existe entre el tiempo en que la señal se encuentra en estado activo y el periodo de la misma. Su valor se encuentra comprendido entre 0 y 1. Al cambiar el ciclo de trabajo se modifica el voltaje promedio. El cual se obtiene con la ecuación:
∫
Figura 2. Señal sinusoidal vs señal de la portadora.
El ciclo de trabajo viene dado por la siguiente expresión:
instantáneo, y la suma de este voltaje a través del tiempo da el voltaje de salida.
Donde: D Es
el ciclo de trabajo Es la duración donde la función esta en nivel alto T Es el periodo de la función
El funcionamiento básico de la modulación por ancho de pulso es simple, una serie de pulsos cuyo ancho es controlado por la variable de control. Es decir, que si la variable de control se mantiene constante o varía muy poco, entonces el ancho de los pulsos se mantendrá constante o variará muy poco respectivamente. En la figura 2 se observa que para cada valor de ciclo útil se genera un voltaje
Si hacemos que el ancho de pulso no varíe linealmente con la variable de control, de modo que el ancho de los pulsos puede ser diferentes unos de otros, entonces sería posible seleccionar el ancho de los pulsos de forma que ciertas armónicas sean eliminadas. Existen distintos métodos para variar el ancho de los pulsos. El más común y el que incentiva esta ponencia es la modulación sinusoidal del ancho de pulso (SPWM). En la modulación PWM, la amplitud de la tensión de salida se puede controlar por medio de las formas de ondas moduladoras. Dos ventajas de la modulación SPWM son la reducción de requerimientos de filtro para reducir los armónicos y el control de la amplitud de la salida. Entre las desventajas se puede citar que los circuitos de control son más complejos, y que hay mayores pérdidas debidas a la conmutación más frecuente. Algunos parámetros importantes de un SPWM son:
La relación de amplitudes entre la señal portadora y la moduladora, siendo recomendable que la última no supere el valor pico de la portadora y esté centrada en el valor medio de ésta. La relación de frecuencias, donde en general se recomienda que la relación entre la frecuencia de la portadora y la de señal sea de 10 a 1 El generador de onda triangular. Genera una onda triangular que después usa el comparador para generar la señal de PWM. Se toma la salida de la carga y descarga del capacitor que se aproxima a una señal tipo triangular, para quitar los efectos de carga y aumentar la amplitud de la señal se usa un amplificador no inversor. El comparador. Toma la señal del generador de onda triangular y la compara con una referencia de voltaje que en este caso se puso con un potenciómetro.
funcionamiento del código describirá a continuación.
que
se
II. DESARROLLO.
Como ya se mencionó, para llevar a cabo el modulador de ancho de pulso tipo sinusoidal, es necesario llevar a cabo una comparación entre una señal de tipo triangular, con una señal de tipo seno, entonces, este desarrollo se subdividirá en cinco partes, las dos primeras explicando la elaboración de las dos formas de onda diferente, la tercera parte, el cómo se tienen que comparar para llevar a cabo la unificación, de estos dos tipos de señales, la otra parte explicara a grandes rasgos todo el programa en conjunto. Y la última sección explicara cómo se llevó a cabo la elaboración del filtro pasa bajas para limpiar la señal SPWM para poder ver a la salida una señal tipo seno. Para empezar, se debe de llevar a cabo un diagrama de flujo para entender mejor el
Figura 3. Diagrama de flujo para la elaboración del SPWM.
A. Señal triangular: La señal triangular se puede ver como un contador ascendente variante en el tiempo, para que así pueda interpretarse como una señal de tipo rampa, sin embargo, como el verdadero deseo para esta señal es hacer una tipo triangular, también es necesario que dicho conteo sea descendente, por lo que entonces, deberá de haber un tope superior y uno inferior para así poder cambiar el sentido del contador. El tope superior deberá ser el valor de la amplitud de la señal triangular, y el valor del tope inferior deberá ser igual a cero, ya que la señal deberá estar montada en cero, esto es así, debido a que los SPWM’S son utilizador por los diferentes dispositivos electrónicos de esa forma. El diagrama para entender el funcionamiento explicado en el párrafo anterior, se ilustra a continuación.
Figura 4. Señal triangular representada por puntos como ascendentes y descendentes
Como se puede ver en la imagen 4, la señal triangular está diseñada como contadores ascendentes y descendentes, la frecuencia de la señal de la imagen es de 116KHz por lo que entonces, su periodo (tiempo en que se muestra un ciclo
completo de la señal) deberá ser de 8.6mS, sin embargo, cada punto que se muestra en la imagen tiene que ser de una fracción de 20, en el periodo, esto debido a que el contador cambiara su valor siempre de 1 en 1. La explicación del porque se llevó a cabo la señal triangular a esta frecuencia se explica en la parte de la elaboración de la señal seno. Ahora se procede a analizar el código para la generación de la señal triangular.
Figura 5. Implementación del código para la señal triangular.
La variable tope, representa los dos diferentes valores que se requieren para cambiar de tipo de conteo, ya sea ascendente (0) como descendente (1), lo primero que se lleva a cabo, es una sentencia de tipo “if” para verificar si el contados necesita ir hacia arriba o abajo, por default, la primera instrucción empezara de forma ascendente, debido a la utilización de la variable tope (0), esto será hasta que el contador llegue a 10, este valor es la amplitud de la señal, una vez alcanzado este valor de 10, el contador deberá ponerse en modo descendente. Un dato importante a tomar en cuenta, es el tiempo que deberá de tardarse, para llevar a cabo el incremento o decremento del contador, debido a que el periodo de la señal en análisis es de 8.6mS, y deben de haber 20 muestras por periodo, entonces basta con realizar una división
para obtener el tiempo que se necesita para esperar a realizar un cambio en el contador.
EC. 3
Como se puede apreciar, existe un método llamado “escribe”, este método es el encargado de mostrar en el LCD, el valor de la frecuencia a trabajar de la portadora, este método recibe como argumento el estado que se está trabajando, para escribir después una leyenda, de la frecuencia de trabajo, tal como se muestra en la figura.
Figura 9. Declaraciones de bibliotecas y variables globales.
Como se puede observar en la figura 9, se declaró la biblioteca
para poder llevar a cabo la utilización de la función seno, esta función seno, se requiere que sea de una frecuencia de 1Hz por lo que debido a que el programa es secuencial se verá afectado por la frecuencia de la portadora, por lo que para poder llevarla a cabo a tan baja frecuencia comparada con la señal de la portadora, lo que se tiene que hacer es llevar su argumento de fracciones pequeñas de 2*pi, para que su incremento no sea tan acelerado como lo es el contador de la señal triangular. Sin embargo, es importante resaltar el hecho que la función seno, tarde demasiados ciclos de reloj del microcontrolador que la matemática para conocer el valor estimado para el incremento de la función se verá afectada y la frecuencia de esta señal será imprecisa, sin embargo, para los fines de este proyecto, no afecta en demasía conocer con exactitud la frecuencia de la función seno, bastara con tener un aproximado, y tener la certeza que es mucho menor a la frecuencia de la señal triangular.
Figura 8. Figura del método escribe.
B. La función seno Para la elaboración de la señal seno, se requiere del uso de la biblioteca , propia del lenguaje c, las declaraciones se muestran a continuación.
Como ya se mencionó, la función seno tarda muchos ciclos en reloj para poderse llevar a cabo, debido a que tiene un argumento de punto flotante, una asignación, y es una función especial dentro de la biblioteca , se llevó a cabo la práctica de conocer con precisión que tantos ciclos de reloj utiliza llevar a cabo todos estos requerimientos y el resultado es impresionante.
A continuación, se muestra, el código donde se evalúa el tiempo que tarda un micro para poder llevar a cabo la función seno y los demás requerimientos.
Figura 10. Código para probar el tiempo que lleva realizar la función seno, con los demás requerimientos del programa
Como se puede observar, el programa pone en bajo todo el puerto D mientras realiza las funciones a medir, y cuando acaba, pone en alto el mismo puerto, por lo que entonces el tiempo que tardara en realizar las sentencias, será el mismo tiempo que tarde el puerto D en modo apagado. A continuación se muestra la imagen del osciloscopio, donde se verifica el tiempo real para las sentencias a medir.
Figura 11. Imagen capturada del osciloscopio midiendo el tiempo que tarda el microcontrolador, para una sentencia completa de la función seno.
Como se puede observar en la figura 11, el tiempo en bajo de la señal mostrada, es de 8.6mS, ese es el tiempo que tarda el microcontrolador en ejecutar las sentencias de interés. Esto quiere decir que tarda 8600 ciclos de reloj, ya que la frecuencia a la que se está trabajando es de 1MHz, por tanto, cada ciclo de reloj lleva 1uS para ejecutarse. Este tiempo que se trata de más el microcontrolador es lo que provoca cierta incertidumbre al momento de calcular con precisión la frecuencia de la señal seno. Para obtener una frecuencia de más baja en comparación con la frecuencia de la portadora, se necesita que el argumento de la señal seno, sea partido en fracciones de 2*pi, tal como ya se dijo anteriormente, un número, de igual manera, el numero en el argumento, debe de ser variado para las cuatro posibles frecuencias de la señal portadora, por lo que entonces, la sentencia deberá de ir incluida en el mismo case donde la señal portadora es modificada, tal como se muestra en la siguiente imagen. El tiempo que tarda la señal seno, como ya se dijo es demasiada, por lo que un delay es incensario en este programa, y esta es la razón por la cual, la frecuencia de la triangular se llevó tan baja, y no se pudo realizar como se recomienda que es de 1KHz, sin embargo, lo que se hace para que la comparación se lleve a cabo, es bajar hasta 1HZ la frecuencia de la señal sen0, eso se lleva a cabo como se muestra en la siguiente figura.
Una vez realizadas ambas señales, lo único que resta por hacer es llevarlas a un comparador, para que pueda darnos a la salida la señal SPWM, a continuación se muestra cómo es que se lleva a cabo dicha comparación.
Figura 14. Comparación de las señales seno y triangular.
La evaluación queda como un uno lógico en todo el puerto B si el valor de la función seno es mayor al valor de la señal triangular y un cero si no es así.
Figura 12. Código para generar la señal seno junto variando junto a la señal portadora.
Lo que resta por hacer para terminar de generar la función seno, es por supuesto evaluarla y adecuarla para que pueda ser comparada con la señal triangular. Esto se muestra a continuación.
Figura 13. Realización de la señal seno.
Como se puede observar en la figura 13, el argumento ya fue evaluado, pero no basta con simplemente evaluar un función seno, sino más bien, tiene que adecuarse a las características requeridas, como la amplitud, que tiene que ser de 10, y que debe estar montada en cero, para ello se le pone una amplitud de 5, a la señal de tipo seno, y un nivel de offset de 5. El resultado, será una función seno de 10 de amplitud y montada en el nivel de cero. C. Comparación de las señales.
D. Código completo del generador de señal SPWM El resultado final de la práctica, se muestra a continuación, con una imagen del código completo que se elaboró para llevar a cabo la práctica, dicho código es el código final para la elaboración de la señal SPWM, y los resultados se mostraran a continuación.
observa la salida simulada, donde se puede apreciar la salida SPWM.
Figura 17. Implementación del circuito.
Figura 18. Circuito simulado en Proteus 8.
Figura 16. Código completo generación de la señal SPWM
de
la
El circuito implementado físicamente, se puede observar a continuación, así como también la simulación y aquí mismo, se
E.
Filtro pasa-bandas.
Como se dejó en claro hasta ahora, podemos decir que el filtro pasa bajas que se tiene que implementar, deberá tener una frecuencia de corte cercana a 1Hz, debido a que es esta frecuencia la de la señal seno, que es la que
se desea obtener a la salida del filtro. Ahora bien, el filtro que se lleva a cabo, es un filtro pasa bajas, ya que como ya se mencionó, se quiere obtener una señal de tipo seno y esta señal lleva una frecuencia mucho menor al de la señal portadora, eso quiere decir que este filtro elimina la señal con frecuencias altas, en este caso la señal de la portadora, y únicamente nos entrega a su salida una señal tipo seno. El filtro que se realizo es un filtro RC, de primer orden, por lo que a la frecuencia a la que se está trabajando, basta un filtro de este tipo. EL diagrama acoplado con el microcontrolador se muestra a continuación.
Como se puede apreciar en la imagen 20, la señal a la salida resulta ser una señal seno, aunque un poco distorsionada, esto se debe a la imprecisión que se tiene de las frecuencias a las que está trabajando la señal de la portadora, así como el de la señal moduladora. Sin embargo, se está demostrando el principio fundamental del filtro en estudio, ya que la señal que podemos ver, es muy parecida a la de una señal seno.
III. Resultados La imagen 20 muestra la señal a la salida del filtro pasa bajas, una señal que aunque distorsionada, ayuda a comprender el funcionamiento de un filtro pasa bajas. Mientras que la figura numero 21 muestra la señal SPWM, aumentada para facilitar su análisis.
Figura 19. Filtro pasa bajas acoplado a la señal SPWM
Figura 21. Señal SPWM aumentada.
Tal como se puede observar en la imagen 19, el filtro que se añadió es de tipo pasa bajas, que es un circuito RC. Aunque se hizo un estimado de las frecuencias de las señales de la portadora y de la moduladora, las frecuencias no se saben con exactitud, en este caso la frecuencia de corte se calculó como lo indica la ecuación
Para futuros trabajos, se piensa llevar a cabo la señal seno y la señal triangular mediante la elaboración de tablas para que de esta forma la frecuencias se puedan tratar a gusto y no estar trabajando a frecuencias fijas y limitados a las características de ejecución del microcontrolador trabajado, y de esta forma también se podrá realizar un filtro más exacto para obtener una señal seno más pura que la se obtiene ahora.
IV. Conclusiones
Figura 20. Salida después del filtro pasa bajas
Una aplicación en electrónica de potencia se basa en el control de potencia de la onda sinusoidal monofásica, por medio de la técnica SPWM, Esta técnica hace que la distorsión armónica se desplace a mayor frecuencia y por consiguiente los filtros se verán simplificados.
Se puede concluir que las señales SPWM, son de vital importancia para ciertas aplicaciones, como en la electrónica de potencia, por lo que es importante resaltar su utilidad y generar con más practicidad una señal de este tipo. Un punto a favor de este tipo de modulación de pulso mediante un microcontrolador, comprado con uno de tipo analógico, es la precisión de las ondas generadas por un microcontrolador, ya que una onda seno obtenida de la fuente eléctrica, suele siempre estar distorsionada, y una generada en un microcontrolador disminuye a gran medida la generación de distorsión. Los filtros ayudan a reconstruir señales gracias a sus cualidades opositores a ciertas frecuencias, es impresionante cómo reaccionan ante una señal y devuelven otra con una composición muy diferente, los filtros, RC de primer orden son una muy buena opción para evitar la elaboración de una bobina, sin embargo, no hay que abusar de ellos, ya que solo funcionan para cierto tipo de aplicaciones tal como se mencionó en el reporte. De igual forma, estos filtros están inmersos en diferentes dispositivos como limitadores de ruido, para dejar pasar cierto tipo de frecuencias que son las que se desean y es por ello que su aplicación al igual que el de los generadores WPWM son de vital importancia para la vida, eso aunque no sean tan reconocidos como muchos otros tipos de elementos electrónicos.
V. Bibliografía [2].Los microcontroladores ATMEL Felipe Santiago Primera Edición;
AVR de Espinosa,
[1]. Amplificadores Operacionales y Circuitos Integrados Lineales - Robert F. Coughlin 5ed.