generador de sinusitis de baja frecuencia

3

Me gustaría construir un generador de frecuencia sinusal que se pueda controlar a través de un Arduino. La frecuencia sinusal estaría en el régimen de baja frecuencia (por debajo de 100 Hz) con un voltaje de alrededor de 2.5 voltios pico a pico.

Tendré que usar la interfaz SPI Tutorial SPI para otros propósitos en mi Arduino. Por lo tanto, no es viable un IC externo que pueda controlarse a través de SPI.

Además, me gustaría evitar la posibilidad DDS (Síntesis Directa Digital) ya que me gustaría externalizar la generación de frecuencia.

Entonces, tal vez la generación sinusal debería hacerse con algunos de los osciladores estándar como el puente de Wien, etc.

¿Puede alguien darme un enlace para un circuito que cumpla con mis requisitos y que pueda controlarse con un Arduino Uno?

Con control quiero decir:

  1. Encendido / apagado
  2. Frecuencia (no es una obligación, pero es bueno tenerla)
  3. amplitud

Con "Me gustaría externalizar la generación de frecuencia" quiero decir: mantener la lógica de programación dentro de Arduino limpia de demasiadas cosas, que un dispositivo dedicado puede hacer mejor. Si utilizo hardware en lugar de software, espero tener una configuración menos frágil con respecto al tiempo. Si aparecen otras extensiones críticas de tiempo, tengo más "espacio" para ellas.

    
pregunta user2145488

2 respuestas

3

¿Ha considerado usar una tabla de consulta de valores seno contra ángulo y DAC (convertidor digital a analógico para producir la salida analógica? No se necesitan osciladores de cambio de weinbridge o RC. Esto reduce el recuento de piezas y crea un elegante Oscilador controlado digitalmente, simple, preciso. Simplemente realice un ciclo a través de la tabla de búsqueda a la velocidad deseada para controlar la frecuencia. Es posible que desee agregar un filtro de paso bajo para suavizar la salida DAC para reducir la distorsión armónica. Se puede crear una tabla de búsqueda para 1/4 del ciclo para reducir la memoria necesaria para almacenar valores para el primer cuadrante (\ $ 0-90 ^ {\ circ} \ $). Luego, use la simetría en \ $ 90 ^ {\ circ} \ $ para construir el segundo cuadrante ( \ $ 90-180 ^ {\ circ} \ $). Finalmente, repita el primer y segundo cuadrantes con inversión para crear los cuadrantes tercero y cuarto (\ $ 180-360 ^ {\ circ} \ $). Esto completa un ciclo. la resolución se logra con un DAC de bits más alto. En la frecuencia máxima de 100 Hz, no debería tener problemas para encontrar un DAC para realizar el trabajo. Aumente los valores de las tablas de consulta a mano (e rror propenso) o utilice los primeros términos de la expansión de la serie de Taylor de la función seno, por ejemplo: $$ \ sin (x) = x-x ^ 3/3! + x ^ 5/5! -x ^ 7/7! + ... $$

Los términos 1er 3 o 4 deben dar una aproximación cercana al seno del ángulo. \ $ n! \ $ significa n-factorial, por ejemplo, \ $ 5! = 5 \ times 4 \ times 3 \ times 2 \ times 1 \ $. Entonces, realmente puede programar la ecuación en el código y cargar los valores para cada ángulo entre 0 y 90 en la memoria. enlace

    
respondido por el Matthew
0

No necesita ningún IC adicional para una frecuencia tan baja, solo un par de pasivos y escritura analógica es suficiente, vea estos enlaces:

enlace

enlace

enlace

    
respondido por el s3c

Lea otras preguntas en las etiquetas