Autor Tema: Error de lectura en puerto analogico PIC18F4550  (Leído 1472 veces)

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

Desconectado scheder

  • PIC10
  • *
  • Mensajes: 2
Error de lectura en puerto analogico PIC18F4550
« en: 04 de Febrero de 2015, 16:53:14 »
Hola, espero me puedan ayudar, he estado tratando de leer el voltaje en el puerto A0 del pic 18f4550, sin embargo cuando lo hago, la lectura nunca se mantiene estable, varia unos 0.08v y los niveles tambien se mueven contantemente, apesar de que el voltaje que ingresa a la fuente es constante, estable y proviene de un seguidor de voltaje.

Uso un ADC de 10 bits para un total de 1023 niveles, niveles que cambian por ejemplo a veces hay 512, 520,506, este es mi codigo esperando me puedan ayudar.

#include <18f4550.h>         
#device adc=10
#FUSES HSPLL,PLL2,USBDIV,CPUDIV1,NOWDT,NOPROTECT,NOLVP
#use delay(clock=48000000)

#define LCD_RS_PIN      PIN_B1                                    ////
#define LCD_RW_PIN      PIN_B2                                    ////
#define LCD_ENABLE_PIN  PIN_B3                                    ////
#define LCD_DATA4       PIN_B4                                    ////
#define LCD_DATA5       PIN_B5                                    ////
#define LCD_DATA6       PIN_B6                                    ////
#define LCD_DATA7       PIN_B7                                    ////
#include <lcd.c>

int16 nivel_A0;       
float voltaje_A0; 

void leer_electrodo()
{
      set_adc_channel(0);
      delay_us (20);       //tiempo de adquisicion de datos
      nivel_A0=read_adc();
      voltaje_A0=((5.0*nivel_A0)/1023.0);
}

void main()
{
lcd_init();
delay_ms(100);

setup_adc_ports(AN0_TO_AN3);   
setup_adc(adc_clock_internal);     //inician monitoreo puerto analogico

   for(;;)
   {
   leer_electrodo();

delay_ms(1000);

lcd_gotoxy(1,1);
   printf(lcd_putc,"NIVEL=%lu",NIVEL_A0);
   delay_ms(1);

   lcd_gotoxy(1,2);
   printf(lcd_putc,"V=%gv",voltaje_A0);
   delay_ms(1);

}

Desconectado Byakuya

  • PIC10
  • *
  • Mensajes: 38
Re: Error de lectura en puerto analogico PIC18F4550
« Respuesta #1 en: 19 de Marzo de 2015, 23:27:34 »
Para mi que no es cuestion de error como el titulo lo indica:) deberias intentar a promediar tu voltaje, o usar otro canal y voltaje de referencia suele ser mas estable. Saludos


 

anything