Ondas cuadradas diferentes desde un microcontrolador

1

Estoy haciendo un proyecto y necesito el microcontrolador (ATmega328) para hacer estas dos cosas:

  • Genere una onda rectangular para filtrar y obtenga un voltaje de CC (que varía linealmente con el ciclo de trabajo)
  • Genere una onda cuadrada (ciclo de trabajo del 50%) con un cierto período

El micro leerá constantemente sus pines de entrada porque la tensión de CC y el período necesario pueden cambiar en cualquier momento.

Pensé en hacer el primero con PWM y el segundo configurando manualmente un pin de salida o eliminándolo, contando el período con un temporizador. Sin embargo, mi pregunta es: ¿se pueden hacer estas dos cosas juntas?

Estoy pensando que en el código, el microcontrolador podrá seguir una rutina a la vez. Entonces, ¿cómo podría generar estas dos ondas simultáneamente (si es posible)? Si se puede hacer, ¿podrían usarse dos salidas PWM diferentes para generar dos señales diferentes en lugar de usar un temporizador y generar el segundo manualmente?

    
pregunta Tendero

1 respuesta

2

Cada pin OCnx del ATmega328 puede emitir su propia forma de onda PWM independiente. Además, cada temporizador ("n") puede tener su propia frecuencia y / o fase. Además , el ATmega328 PB tiene un pin que puede generar una forma de onda que es una modulación de dos formas de onda generadas a partir de temporizadores separados.

Ya que dice "el voltaje de CC y el período necesario pueden cambiar en cualquier momento", lea la hoja de datos detenidamente para averiguar cuándo puede cambiar de forma segura los valores que se utilizan para generar las formas de onda. Si los valores se cambian en el momento incorrecto, entonces la forma de onda puede fallar, lo que le da una señal que no tiene un 50% de CC.

    
respondido por el Ignacio Vazquez-Abrams

Lea otras preguntas en las etiquetas