Precision PWM del microcontrolador

-1

Trabajando en un proyecto para diseñar un generador PWM que tenga una precisión a escala completa de 0.1%. Se genera al leer un voltaje variable de la fuente de alimentación a través de un divisor de voltaje y producir una salida PWM equivalente. Estoy filtrando la salida para medir el voltaje promedio. Estoy notando que mi salida no oscila dentro de 0.1%. Me pregunto si hay maneras de hacer que el PWM sea más preciso y poder alcanzar las especificaciones del 0.1% de la escala total.

No estoy dando esquemas porque son muy básicos. Lo que estoy pidiendo es sugerencias. Nivelar mi salida con un comparador, luego filtrarlo para recuperar el voltaje de CC. He tenido éxito en obtener una precisión del 0.1% FS. Sin embargo, este fue realmente un método de prueba y error, midiendo la diferencia entre entrada y salida y ajustando mi código en consecuencia. No me gusta esto Prefiero un método más sistemático. Tal vez le estoy pidiendo mucho, simplemente habrá una diferencia entre el pensamiento y la práctica.

    

2 respuestas

5

El simple hecho de utilizar el pin de puerto de un micro para generar un voltaje mediante el filtro de paso bajo no funcionará tan bien porque depende no solo del voltaje de la fuente de alimentación, sino también de los voltajes internos en el chip MCU. Si el micro está haciendo otras cosas, o si el suministro no es muy estable o es ruidoso, tiene pocas esperanzas de que la salida esté dentro de unos pocos mV.

Para obtener un valor filtrado preciso, necesita cambiar un interruptor preciso que esté conectado a una referencia estable. El interruptor exacto puede ser solo un búfer CMOS o una compuerta inversora (no tiene que ser un interruptor analógico), pero debe estar conectado a la tensión de referencia y a la tierra analógica, no a la fuente de MCU y a la tierra (las dos conexiones a tierra pueden y deben ser conectado, pero en un solo punto). La compuerta debe ser lo suficientemente rápida para que los tiempos de subida y bajada no sean una parte significativa del tiempo de ciclo de PWM.

Si lo hace, puede obtener fácilmente una estabilidad del 0,01%, con tiempos de PWM razonables. La precisión debe depender principalmente de la estabilidad del voltaje de referencia y no de la estabilidad del reloj de la MCU, a menos que sea terriblemente inestable o varíe dentro de un ciclo de PWM debido a un diseño horrible o una derivación, por ejemplo. El uso de un interruptor analógico especialmente diseñado puede ayudar un poco con linealidad y precisión absoluta.

    
respondido por el Spehro Pefhany
0

El PWM de precisión de un microcontrolador se puede lograr haciendo lo siguiente.

  1. Asegúrese de que su fuente de alimentación y el voltaje de referencia sean estables y no demasiado ruidosos.
  2. Eliminar el error de desplazamiento, preferiblemente a través de cortarlo.
  3. Gana la corrección de errores.

La conexión a tierra analógica y digital debe estar conectada a un punto y usarse para corregir su desplazamiento. Use un ADC diferencial uno conectado a su señal de entrada y el otro al suelo. Haga que el ADC cambie su entrada y se eliminará el desplazamiento. Haciendo estas cosas logré 0.1% de PWM con un Xmega MCU.

    

Lea otras preguntas en las etiquetas