TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: PabloFiscella en 23 de Marzo de 2004, 06:31:00

Título: Ayuda ADC
Publicado por: PabloFiscella en 23 de Marzo de 2004, 06:31:00
Hola a todos:

Estoy tratando de medir el voltage que entra en la entrada analogica de un pic para hacer un termometro.
Midiendolo con el tester en la entrada tengo 2.60 v pero el pic con resolucion de 8bits me marca, 127,111,-60 y asi varia constantemente.
Alguien me podria chequear el codigo para ver si estoy haciendo algo mal.
Con el tester no varia.

Saludos y gracias.
Pablo

#include <16F874.h>

#device ADC=8
#use delay(clock=4000000)
#fuses XT, NOPROTECT, NOPUT, NOWDT, NOBROWNOUT, NOLVP, NOCPD, NOWRT

#include <lcd2.c>

float value;
int8 cant=0;

#INT_AD
Conversion_Ad()
{
//   value = ((read_adc(ADC_READ_ONLY)* 0.0048828125)*100)*2;
   cant = read_adc(ADC_READ_ONLY); //* 0.0048828125;
   lcd_gotoxy(1, 1);
   printf(lcd_putc,"fAD:%d", cant);

   delay_ms(1000);
   read_adc(ADC_START_ONLY);
}


void main(void) {
   int valor;

   setup_adc(ADC_CLOCK_INTERNAL);
   setup_adc_ports(RA0_ANALOG);
   set_adc_channel(0);
   enable_interrupts(global);
   enable_interrupts(INT_AD);
   read_adc(ADC_START_ONLY);

   set_tris_a(0xFF);
   lcd_init();

   while(true);
}

Título: RE: Ayuda ADC
Publicado por: pocher en 23 de Marzo de 2004, 12:09:00
El valor leido por el conversor debes multiplicarlo por la resolución, para que te dé el resultado en voltios:

float const resoluc=5.0/256.0;
.
.
.
voltios=cant * resoluc;
Título: RE: Ayuda ADC
Publicado por: PabloFiscella en 23 de Marzo de 2004, 12:17:00
Hola Pocher.

Eso esta, no lo puse pero no es ese el problema. Lo que pasa es que el valor que me muestra en el LCD no es fijo y varia demasiado
Los valores que muestra son 117 que serian los 2,5v aproximadamente que leo con el tester, pero resultado cambia y muestra 117, 111 y -68, la mayoria de las veces. El resultado cambia cada un segundo que es el tiempo en el que leo el conversor.

Saludos.
Pablo
Título: RE: Ayuda ADC
Publicado por: MGLSOFT en 23 de Marzo de 2004, 12:22:00
No conozco ese PIC, pero es posible que tengas una entrada de referencia activa y ese pin este "flotando", eso explicaria tus cambios permanentes, ya que estarias midiendo bien pero mal referido...
Título: RE: Ayuda ADC
Publicado por: PabloFiscella en 23 de Marzo de 2004, 12:33:00
En cuanto a la referencia de entrada creo que esta bien porque la tengo directamente al punto medio del secundario del trafo. Que es la masa de todo el circuito.

Título: RE: Ayuda ADC
Publicado por: Nocturno en 24 de Marzo de 2004, 03:39:00
A lo mejor el que falla es el termómetro. ¿Lo has comprobado?

Título: RE: Ayuda ADC
Publicado por: PabloFiscella en 24 de Marzo de 2004, 09:53:00
Gracias por las respuestas.

Debido a que queme el pic y tuve que comprar otro me di cuenta que lo que fallaba era la entrada analogica.
Porque con el nuevo anda perfecto.

Gracias y saludos.
Pablo
Título: RE: Ayuda ADC
Publicado por: pacalaconcurso en 25 de Marzo de 2004, 09:49:00
yo frei en mis principios mas de un  micro asi...le salian unas burbujillas humeantes y fundida la entrada analogica pero el resto del micro seguia funcionando.

recuerda poner una resistencia limitadora en serie con tu entrada para asegurarte que no la fries de nuevo.
Título: RE: Ayuda ADC
Publicado por: PabloFiscella en 26 de Marzo de 2004, 11:50:00
Tengo la resistencia puesta.
En realidad lo queme de una forma mas estupida. Estaba midiendo si entraban 5v en la alimentacion del pic y con la punta del tester toque la para de la masa y la pata de 5v e hizo un chipaso.
El pic dejo totalmente de funcionar. Cuando lo conecto a la fuente, el voltaje baja a la mitad.

Saludos.
Pablo
Título: RE: Ayuda ADC
Publicado por: shrek_sc en 01 de Julio de 2005, 01:31:00
podrian colgar de nuevo los archivos, quiero bajarlos pero ya no estan en linea....gracias de antemano Diego.Sonrisa Gigante