Autor Tema: PWM DAC No lineal  (Leído 2432 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado bitpic

  • PIC18
  • ****
  • Mensajes: 402
    • BitPIC
PWM DAC No lineal
« en: 09 de Julio de 2013, 16:12:15 »
Hola,

He intentado hacer un DAC con el PWM de un PIC. El DAC es de 0-10V, el circuito que tengo actualmente es este:



El problema que tengo es que el condensador provoca que la salida de 0-10V no sea lineal. En cambio si quito el condensador y mido con el voltimetro si que tengo una salida linea.

Entiendo que sin el condensador el voltimetro lee una salida 0-10V porque hace un promedio, no puede leer tan alta frecuencia.

Pero, ¿que debo hacer para que la salida sea lineal correctamente (con condensador) ? ¿Es debido a que no he puesto la ninguna resistencia para hacer un RC o con el RC también tendré una salida no lineal?

(Una de las cosas que debo hacer y todavía no he podido hacer es leer con el Osciloscopido para ver que señal estoy obteniendo)

Saludos
BitPIC

Desconectado omix

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 244
Re: PWM DAC No lineal
« Respuesta #1 en: 09 de Julio de 2013, 18:35:38 »
Hola,
yo utilizo un sistema similar, pero tienes que poner una red RC a la entrada del operacional calculada adecuadamente para la frecuencia de PWM que vayas a utilizar. Adjunto un esquema de como lo hago.

Un saludo.

Desconectado bitpic

  • PIC18
  • ****
  • Mensajes: 402
    • BitPIC
Re: PWM DAC No lineal
« Respuesta #2 en: 10 de Julio de 2013, 08:08:32 »
Hola Omix,

Mi PWM tiene una frecuencia de 2,44 KHz

¿tu salida es lineal con el RC?

¿Para calcular la frecuencia de corte era Hz = 1/(2*pi*R+C) verdad?
¿Interesa que la frecuencia del PWM este dentro de la frecuencia de corte del filtro RC para que funcione bien verdad?

Por ejemplo, para calcular la resistencia que me falta para crear un filtro RC con una frecuencia de corte de 4000Hz sería:

R = 1/(4000Hz*2*pi*10uF) = 3,97 Ohm ???

Este valor es muy bajo no??

¿Es correcto este calculo?

« Última modificación: 10 de Julio de 2013, 08:15:22 por bitpic »
BitPIC

Desconectado omix

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 244
Re: PWM DAC No lineal
« Respuesta #3 en: 10 de Julio de 2013, 17:05:51 »
Hola Omix,

Mi PWM tiene una frecuencia de 2,44 KHz

¿tu salida es lineal con el RC?

Si mi salida es lineal, comprobado con osciloscopio.

Citar
¿Para calcular la frecuencia de corte era Hz = 1/(2*pi*R+C) verdad?

Es Fc = 1/(2*pi*R*C).

Citar
¿Interesa que la frecuencia del PWM este dentro de la frecuencia de corte del filtro RC para que funcione bien verdad?

Lo que interesa es que el filtro RC corte mucho antes de llegar a la frecuencia del PWM, porque lo que interesa es que solo pasen frecuencias inferiores a la de PWM. Si no recuerdo mal, lo que suele hacer es calcular el filtro para una Fc = 0.7*Fpwm, es decir, que la frecuencia de corte del filtro este un 30% por debajo de la Fpwm.
En cualquier caso, puedes ajustarlo empíricamente si tienes a mano un osciloscopio viendo directamente el rizado que tienes a la salida.

Citar

Por ejemplo, para calcular la resistencia que me falta para crear un filtro RC con una frecuencia de corte de 4000Hz sería:

R = 1/(4000Hz*2*pi*10uF) = 3,97 Ohm ???

Este valor es muy bajo no??


Sí ese valor es bajo, pero ten en cuenta que estas poniendo un condensador de 10uF que es bastante grande, en cualquier caso tienes que hacer el calculo como te comentaba arriba, ya que si lo haces así estas dejando pasar la frecuencia del PWM y eso no te interesa pues tendrás un rizado elevado.

Citar
¿Es correcto este calculo?

En tu caso R debería ser = 1 / (2440*0.7*2*pi*10uF) = 9.32 Ohmios, pero probablemente tengas que escoger un valor mayor si el rizado que tienes a la salida no es el que deseas.

Un saludo.



Desconectado bitpic

  • PIC18
  • ****
  • Mensajes: 402
    • BitPIC
Re: PWM DAC No lineal
« Respuesta #4 en: 11 de Julio de 2013, 12:10:46 »
Gracias Omix, me ha quedado claro.

No hay problema en cambiar el condensador, lo cambiaré por otro que me de un valor un poco mayor de resistencia.

Un saludo.
BitPIC