Autor Tema: voltaje de referencia por RA3??  (Leído 2712 veces)

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

Desconectado mauro2555

  • PIC10
  • *
  • Mensajes: 18
voltaje de referencia por RA3??
« en: 27 de Abril de 2011, 22:58:07 »
Hola a todos, quisiera saber si alguien me puede ayudar con una inquietud q tengo hace dias, les cuento, estoy realizando un proyecto con el 18f4550 en donde tengo q tomar un voltaje de 0v a 5v por ADC (pin RA0) y enviar el valor a java por usb. Al parecer el codigo esta funcionando bien ya q me captura el valor y lo puedo visualizar en java, pero al medir con el multimetro me doy cuenta q el valor tiene un desface de 0.1v,  es decir al medir el voltaje en RA0 hay 1.60v pero en java me llegan 1,70v entonces indagando en el circuito me di cuenta q al conectar el pic al puerto usb el voltaje en VDD se queda en 4,78v por lo tanto creo q altera el rango de voltaje de referencia para el ADC. Mi intencion es configurar el pin RA3 como voltaje de referencia de 5v, es decir no tomar VDD como referencia sino RA3, como estoy programando en CCS me dirigi a la ayuda y encontre una manera para configurar RA3 como vref+ la funcion es la siguiente:

setup_adc_ports( A0_RA1_ANALOGRA3_REF  );

pero al compilar el codigo me marca error por q no encuentra A0_RA1_ANALOGRA3_REF definida en alguna parte. La inquietud es como puedo configurar RA3 como voltaje de referencia de 5v para el adc??

el codigo q estoy utilizando para capturar el valor de adc y enviar a java es el siguiente:

          int s;
          for(s=0;s<=99;s++)//se toman 100 muestras y promediamos para reducir ruido
          {
             adc0 = read_adc();  //para leer el valor del adc0
             temp1=(float)adc0;
             muestra=muestra+temp1;
             delay_ms(20);
          }
          muestra=muestra/100;
          sprintf(voltage, "%f", (float)adc0 * 0.019531); //esta instruccion nos permite convertir  el valor del adc en un string.
          usb_put_packet(1,voltage,4,USB_DTS_TOGGLE);//con esta instruccion mandamos el arreglo que se creo en la instruccion anterior
        }



 

anything