Sí, todos los microcontroladores tienen alguna forma de producir señales de voltaje controladas por el firmware. El método de fuerza bruta es que el micro incluya un convertidor digital a analógico (D / A). El firmware escribe un número en el D / A y produce un voltaje proporcional a ese número.
Una especificación importante de D / As es cuántos bits tiene el número. Esto determina su resolución. El D / A puede producir 2 N valores diferentes cuando hay N bits en el número. Por ejemplo, un D / A de 8 bits puede producir 256 niveles de voltaje diferentes. Tenga en cuenta que un pin de salida digital común puede considerarse un D / A de 1 bit. El número tiene dos estados, 0 y 1, y el voltaje de salida es alto o bajo.
La mayoría de los micros no vienen con D / As multibit incorporado porque hay poca demanda para esto. Por lo general, tratamos de convertir los valores analógicos a digitales lo antes posible en el proceso, hacemos las manipulaciones digitalmente y luego controlamos las cosas con pulsos. Es inusual querer un micro para producir un voltaje analógico. Incluso en aplicaciones como el audio, que puede considerarse inherentemente sobre una señal analógica, las cosas a menudo se manejan digitalmente o con pulsos al final. Eso es básicamente lo que es un amplificador de clase D.
Si no desea utilizar uno de los conjuntos limitados de micros que tienen un D / A incorporado, puede agregar uno externamente. Hay muchos D / As disponibles que el micro puede manejar sobre un bus SPI, por ejemplo.
Sin embargo, a menos que necesite una salida de alta velocidad, el filtrado de paso bajo de la salida PWM de un micro da como resultado una buena señal analógica. Los micros son buenos para producir secuencias de pulsos bien controladas, y muchos tienen hardware incorporado para este propósito. Por ejemplo, considere una salida digital que se puede cambiar cada 1 µs (a una velocidad de 1 MHz). Suponga que agrupa los segmentos de tiempo de 1 µs en bloques de 1023. Para cada bloque, puede tener de 0 a 1023 de los segmentos que son altos. Si promediara esto, obtendría un valor analógico con 1024 niveles posibles, que es lo que obtendría de un D / A de 10 bits. La señal sin formato contendrá el valor promedio que desea, más las frecuencias altas que comienzan en 1 MHz / 1023 = 978 Hz. Al aplicar unos pocos polos de filtrado de paso bajo (una resistencia y un condensador por polo),
Este tipo de A / D tiene algunas buenas propiedades, ya que es muy lineal, monótono y no tiene potencia de dos salidas de falla. El único inconveniente suele ser el ancho de banda. Para unas pocas resistencias y condensadores simples que forman el filtro de paso bajo, probablemente no pueda obtener una señal analógica más rápido que unos 10s de Hz.
Tenga en cuenta que usar 1023 cortes por bloque fue una elección arbitraria que hizo. Si desea más resolución, haga que los bloques sean más grandes, pero luego la salida filtrada tendrá que cambiar más lentamente. Sin embargo, muchos micros pueden hacer la generación PWM en hardware con una velocidad de corte mucho más rápida que 1 MHz.
Intentaría ver si el método PWM puede funcionar antes de pasar a un D / A externo.