Generador de se ales con Arduino Jonathan C rdenas Ram rez
Jonathan Cárdenas Ramírez1, Dr. Mariano Garduño Aparicio2
Resumen.
En el presente reporte de investigación se presentan los resultados prácticos de la utilización de un Arduino Uno como generador de señales de disparo para un inversor de corriente resonante, dichas señales tienen un tiempo muerto entre las secciones activas (250 nanosegundos), además de quepueden ser de frecuencia variable por el hecho de incorporar la lectura de un valor analógico (0 a 5 V) que aumenta o disminuye los tiempos de retardo en el programa y de esta manera poder variar el periodo activo de estas señales simétricas que pueden controlar el disparo de un inversor de medio puente formado por IGBTs teniendo un rango de variación de frecuencia de 5 a 50 KHz. El rango de lafrecuencia puede ser mayor (GHz) o menor (Hz) dependiendo de la aplicación que se requiera para el mismo, pero para éste caso solo se necesitó este rango de frecuencia.
Palabras clave:
Arduino Uno, generador de señales de disparo, inversor de medio puente, lenguaje AVR.
Introducción.
El microcontrolador es uno de los logros más sobresalientes del siglo XX. Hace menos de medio siglo tal afirmaciónhabría parecido absurda. Pero cada año, el microcontrolador se acerca más al centro de nuestras vidas, forjándose un sitio en el núcleo de una máquina tras otra. Su presencia ha comenzado a cambiar la forma en que percibimos el mundo e incluso a nosotros mismos.
Arduino es una plataforma electrónica de código abierto basado en hardware y software fácil de usar. Está dirigido a cualquier personaque hace proyectos electrónicos interactivos. Arduino Uno utiliza un microcontrolador Atmega328P de Atmel para el desarrollo de sus programas. Por otro lado los PIC´s de Microchip, son una opción más dentro del vasto mercado de microcontroladores. La popularidad de estos micros radica en su alta disponibilidad en el mercado y bajo precio.
Para este proyecto de investigación se utilizará unArduino Uno para generar señales para un inversor de corriente resonante, así como también se elaborará un sistema de variación de frecuencia de 5 a 50 KHz y así comparar su desempeño contra los PIC`s. También se pretende cuantificar las variaciones teóricas con la reales al medirlas mediante un osciloscopio digital y de esta manera corregirlas para obtener los resultados deseados.
Metodología.
Loprimero que se realizó fue generar dos señales A y B con dos salidas digitales del Arduino las cuales tenían que intercalar sus estados de actividad entre una y otra, para este caso se utilizaron los pines digitales 2 y 3 respectivamente del Arduino Uno. Cada señal tenía que tener una duración de estado activo de 27 microsegundos, entre cada cambio de estado debía existir un tiempo de inactividad deambas señales denominado tiempo muerto, esto con la intención de evitar un corto circuito en el inversor debido al tiempo de respuesta de los IGBT´s. El tiempo de muerto debía que tener una duración de entre 300 y 200 nanosegundos.
Una de las propiedades que tiene Arduino es la gran cantidad de funciones y librerías que tiene para la facilitación de la programación del mismo. Gracias a estasfunciones es muy sencillo declarar un estado en alto o bajo para una salida digital y de esta manera generar la señales. El problema con estas funciones es el tiempo de respuesta y a velocidad a la que el microcontrolador ejecuta las funciones programadas. Para este caso se necesitaba trabajar a velocidades de nanosegundos, pero el Arduino solo tiene funciones para trabajar hasta microsegundos por loque se requirió otra forma de programar las funciones.
El lenguaje AVR es un entorno de "C" para la programación de los chips Atmel. Gran parte del lenguaje Arduino está escrito con las constantes y funciones AVR y hay muchas cosas que todavía no son fáciles de lograr con el lenguaje Arduino sin necesidad de utilizar un código AVR, por ejemplo trabajar a ciclos máquina (nanosegundos) para este...
Regístrate para leer el documento completo.