Precisamente por las ecuaciones iba a preguntar, porque son el elemento más importante a tener en cuenta en este tipo de aplicaciones. Hay muchas formas de tener salidas analógicas en los microcontroladores, una por supuesto es esta de utilizar un PWM, pero hay muchas otras.
Utilizar redes R 2R, que son muy rápidos, pero también los más costosos desde el punto de vista de l consumo de silicio (por eso suelen venir implementados en su propio encapsulado)
Utilizar PLL, este método da muy buenos resultados, sobre todo por el bajo riple que suele obtenrse y por su respuesta de frecuencia, el uC tendría que estimular al PLL con un tren de pulsos de 50% de ciclo útil y frecuencia variable. E básicamente un convertido F/V.
Utilizar convertidores F/V como el LM331, una maravilla ese bicho, lo he utilizado recientemente en una tarea de maestría (simulado con PROTEUS) pero alguien tuvo la oportunidad de probarlo. Muy bueno el diseño.
De todos estos conversores el más rápido es el R 2R, el resto son lentos y si quieres aumentar la respuesta de frecuencia hay que utilizar filtros activos porque son un poco lentos, de los tres basados en "integración de pulsos" (PWM, o conversores F/V) el más eficaz es el PLL porque ya incluye un filtro pasabajos activo de primer orden, claro que todas las notas de aplicación dicen que debe utilizarse un filtro de segundo orden u orden superior.
El uso de los PLL implica que muchas veces el diseñador tiene que calcular el filtro y para algunos las expresiones del PLL + Filtro suelen ser bastante engorrosas.
Saludos
Reinier
PD: Muy buen trabajo Nocturno, siempre andas dando sopresas por aquí, a lo mejor algún amigo se embulla y nos regala un hermoso desarrollo de este tipo de conversores bien explicado con ecuaciones y todo lo que hace falta para hacer conversores DA con PIC.