¿Es posible emitir una señal sinusoidal con un Arduino?

5

¿Hay una manera de producir una onda sinusoidal con un arduino? Tal vez utilizando PWM? Sería bueno poder simular algo alrededor de 10kHz. ¿Es esto posible incluso con el hardware en el Uno?

    
pregunta Fulluphigh

3 respuestas

6

Busque DDS (Síntesis Directa Digital) que usa un filtro de paso bajo como se menciona en las otras respuestas:

Luego,utilizaunaseñalPWMvariableparacrearunaondasinusoidal:

Todo lo que necesita para implementarlo con un Arduino, incluido el código fuente del generador PAM, se puede encontrar en este artículo .

    
respondido por el Lior Hass
6

Sí, utiliza un filtro de paso bajo combinado con PWM. Cuanto menor sea el ciclo de trabajo, menor será el valor de su salida. Así que modula su ciclo de trabajo como una sinusoide y pasa la salida PWM a través de un LPF. La salida del LPF será entonces una forma de onda sinusoidal, aunque tendrá un desplazamiento de CC.

    
respondido por el NickHalden
2

No es bastante un Arduino, pero recuerdo un ejercicio de laboratorio específico que requería que lo hiciera en mi curso de microcontroladores de la universidad usando un AT90S8515, y como recuerdo, requirió un poco de programación de ensamblaje para obtener el frecuencia en decenas de kHz ... de hecho, aquí está la descripción del laboratorio .

Además de PWM + Low Pass Filtering, otra forma es usar un DAC de escalera R-2R y conduzca salida con un puerto. Pero no va a obtener mucha frecuencia con la función digitalWrite . Como he dicho, como mínimo deberá realizar asignaciones de puertos directas.

    
respondido por el vicatcu

Lea otras preguntas en las etiquetas