Generador de funciones creado con Arduino DUE
- Joan A. Marí
- 19 dic 2016
- 3 Min. de lectura
En el siguiente proyecto vamos a realizar un generador de funciones con un microcontrolador comercial. En este caso vamos a emplear el microcontrolador Arduino DUE, el más potente que ha diseñado Arduino hasta el momento.
Para la programación del microcontrolador vamos a utilizar el IDE de Arduino, pero también existe la posibilidad de programarlo a través de Simulink de Matlab con una librería específica que se puede descargar en la dirección http://es.mathworks.com/hardware-support/arduino-simulink.html
Simulink puede emplearse tanto para editar y descargar el programa al microcontrolador sin embargo en este caso se utiliza un lenguaje de programación orientado a bloques y no textual. Además, en el caso de Arduino DUE, Simulink proporciona la posibilidad de interactuar con el microcontrolador durante la ejecución del programa. Esto permite monitorizar las variables y sintonizar los parámetros del programa de forma interactiva lo cual ayuda enormemente en la fase de elaboración y depuración del programa.
Para la realización de nuestro cometido tendremos que elaborar el montaje que se muestra en la Figura 1.

Figura 1. Montaje del circuito
Se ha utilizado un potenciómetro conectado a la entrada analógica A0 para el control de la amplitud y otro conectado a la entrada analógica A1 para el control de la frecuencia. Dentro de la programación deberemos de tener en cuenta que hay que realizar la transformación correspondiente ya que la lectura analógica al ser una resolución de 12 bits va desde 0 hasta 4095 (212). También se puede reducir la resolución y reduciríamos estos valores, pero perderíamos resolución.
Para visualizar la salida lo podemos realizar a través de una salida PWM (Pin 7) y un filtro RC como se ve a la derecha de la figura 1 (cable azul sin conectar en un extremo) o a través de una salida DAC (Digital Analógic Converter) que incorpora el microcontrolador. En este caso lo mejor es utilizar la salida PWM y el filtro, ya que la salida DAC recorta los límites de tensión, es decir, con la salida PWM podemos utilizar todo el rango de voltaje de la placa [0 – 3.3] V, pero con el DAC tenemos [0.6 – 2.9] V, tal y como se muestra en la Figura 2.

Figura 2. Comparación PWM y DAC
También podemos visualizar en la figura 2 que la señal a través de la salida PWM la onda senoidal es más continua. A través de la salida DAC se ve claramente el muestreo con los correspondientes escalones.En la Figura 3 podemos ver la funcionalidad del potenciómetro de la amplitud y en la Figura 4 podemos ver la funcionalidad del potenciómetro de la frecuencia.

Figura 3. Variación de amplitud

Figura 4. Variación de frecuencia
La ventaja de utilizar este tipo de generador de funciones es que se pueden utilizar filtros de frecuencia si necesitamos realizar un barrido y evitar una frecuencia concreta tal y como se puede visualizar en la Figura 5. En este caso no tendremos más que calcular el filtro de la frecuencia que necesitamos, discretizarlo y pasarlo a la forma de ecuación en diferencias, en el ejemplo de la Figura 5 se ha realizado un barrido de 0 a 10Hz con filtro a los 5Hz.

Figura 5. Ejemplo de uso con filtro en los 5 Hz
Además de esta ventaja también podríamos programar otro tipo de señales como por ejemplo una cuadrada con la amplitud variable dentro de la misma frecuencia (duty cicle), incluso una triangular o lo que se nos ocurra ya que simplemente lo tendríamos que programar en el microcontrolador y listo.
Comments