¿Una forma eficiente de obtener múltiples voltajes analógicos de un Arduino?

5

En mi investigación, leí que la mayoría de los microcontroladores no están construidos con salidas DAC, ya que son caros de incluir en chips de silicio. Además, las aplicaciones que requieren salidas analógicas suelen necesitar una resolución más alta de lo que es factible en un microcontrolador y probablemente utilizarían un IC dedicado de todos modos.

Estoy planeando construir un sintetizador analógico con memoria de parche (almacenamiento y recuperación de estados de voltaje). Aparentemente, estos funcionaban leyendo el voltaje de un potenciómetro analógico en un microcontrolador y aplicando un voltaje de control al sintetizador usando un DAC. Este estado podría guardarse y recuperarse como "ajustes preestablecidos".

Me gustaría saber una forma adecuada de controlar múltiples salidas analógicas a un circuito desde un Arduino. Las salidas analógicas en la mayoría de las placas Arduino (si no todas) son en realidad PWM, y quiero emitir una verdadera señal analógica.

    
pregunta blarg

1 respuesta

9

El Due es la única placa Arduino con un DAC integrado. (Dos de ellos). Si necesita más de dos salidas o desea usar una placa como la Uno, entonces debe considerar la creación de un DAC.

Opción 1: PWM Usando un filtro RC, puede crear un filtro de paso bajo que le permita crear voltajes analógicos verdaderos desde un pin PWM. Este método puede ser difícil de calibrar o puede que no funcione según la impedancia del circuito que esté conduciendo.

Opción 2: R-2R El método más común es una escalera R-2R, que se explica aquí: enlace

Opción 3: Chip DAC El método más eficiente, pero más caro, sería utilizar un chip DAC externo. Puede elegir uno diseñado específicamente para los voltajes que necesita y, posiblemente, encontrar uno con múltiples salidas. En cualquier caso, la mayoría de los chips DAC cuentan con una interfaz SPI o I2C, por lo que puede encadenar múltiples chips a un solo Arduino.

Maxim MAX5214 es un ejemplo de un DAC de salida única de alta resolución (14 bits), con una interfaz SPI. enlace

    
respondido por el baldengineer

Lea otras preguntas en las etiquetas