TODOPIC

Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: ENCARPA en 16 de Octubre de 2004, 09:39:00

Título: consulta sobre ADC
Publicado por: ENCARPA en 16 de Octubre de 2004, 09:39:00
Amigos,  quisiera hacer una convercion AD de un rango de tenciones que valla de 2.5v a 0v y con eso generar un PWM.
Con 2.5v el PWM debe estar al minimo ò "0" y con 0v debe estar en el maximo Duty cicle.
El problema que tengo es que no se como hacer eso precisamente, que el PWM sea inversamente proporcional al muestreo de tenciones.
Mi idea era hacerlo en asembler ya que es el lenguaje con el que mejor me llevo.

Gracias,
Título: RE: consulta sobre ADC
Publicado por: PWRINVITRO en 16 de Octubre de 2004, 10:51:00
Saludos!!!... jejejeje pues muy sencillo!!!!..... solo tienes q ver q resolucion tiene el adc q estas usando para saber cuantos pasos vas a dar entre 0 y 2.5 voltios al tener esta informacion puedes hacer una tabla y cada vez q leas un valor del adc lo ubicas con su opuesto en la tabla y lo mandas al pwm!!!...  espero te ayude!
Título: RE: consulta sobre ADC
Publicado por: Nocturno en 17 de Octubre de 2004, 01:45:00
Pero, ¿con una tabla no llenaría un montón de líneas de código?

Yo creo que si tienes las dos variables:
V=mV leídos por el ADC
P=frecuencia del PWM expresado en porcentaje

se trata únicamente de expresar la variable V también en porcentaje y luego restar:

V"=V*100/2,5  aquí se adapta la variable V a porcentaje

P=100-V"        y aquí se hace el PWM inverso al V

Claro, esto en ASM no tengo ni idea de cómo se hace pero supongo que será más corto que haciendo una tabla.

Título: RE: consulta sobre ADC
Publicado por: PWRINVITRO en 17 de Octubre de 2004, 09:36:00
bueno pero es q todo depende de la resolucion de la variable de el!!! si la variable tiene resolicion de 1 voltio o de 500mV la tabla saldra a lo sumo en 4 valores.... tienes q especificar mas!!!
Título: RE: consulta sobre ADC
Publicado por: Sispic en 17 de Octubre de 2004, 10:19:00
Invirtiendo los bits , tendras la lectura inversamente proporcional .

creo que la ins es " COMF "

Título: RE: consulta sobre ADC
Publicado por: PWRINVITRO en 17 de Octubre de 2004, 11:06:00
ACERTADO!!!..... no se me ocurrio en el momento..... exactamente eso es lo q tienes q hacer complementas el dato y listo!!!!
Título: RE: consulta sobre ADC
Publicado por: Nocturno en 17 de Octubre de 2004, 11:38:00
Pues no lo había pensado, pero es cierto, invirtiendo los bits es lo mismo que si hiciera:

V"=256-V
Título: RE: consulta sobre ADC
Publicado por: cucaracha en 17 de Octubre de 2004, 18:37:00
Voy a enredar un poco...

Y si el duty sólo llega a 200. De 0 a 200. Y no me refiereo a porcentaje eeeein!!!
Para que serviría entonces complementar la lectura del AD.
Y no se yo en cuantos casos el duty va a ser de 0 a 255 justos....

Saludos jejeje
Título: RE: consulta sobre ADC
Publicado por: PWRINVITRO en 17 de Octubre de 2004, 20:27:00
bueno entonces o se programa la funcio para yevar el voltaje a porcentaje o se implementa la tabla!
Título: RE: consulta sobre ADC
Publicado por: Nocturno en 18 de Octubre de 2004, 00:36:00
En ese caso, si usas las fórmulas que escribí antes, donde ponía 100, pones 200 y ya está.
Título: RE: consulta sobre ADC
Publicado por: ENCARPA en 19 de Octubre de 2004, 20:18:00
Amigos de utilizar la opcion de complementar los registros utilizando la instruccion COMF estos  registros serian adresH y adresL no?
La resolucion es de 10bit en un 16f873 y los incrementos quisiera que fuesen de a 250mv.