TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: telecoacme en 12 de Julio de 2004, 14:07:00

Título: Tension referencia CAD
Publicado por: telecoacme en 12 de Julio de 2004, 14:07:00
Hola a todos necesitaria saber como poner hace que mi 16f876 fuese capaz de medir una tensión analógica por RA2 (por ejemplo) usando como tension de referencia la VREF  (RA3) del PIC y con una precisión de 10 Bits. Os cuento, he colocado a la entrada RA3 del PIC un regulador de 1.2 Voltios y he configurado el PIC con 10 Bits de resolución, pero cuando hago una medida en RA2, este mide 3FF en en rango de tensiones 0.2 a 1.2 aproximadamente. Sin embargo, si uso como tensión de referencia 5 Voltios no hay problema.

Aqui va el código:



#include <16F876.h>
#device adc=10
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=10000000)
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7)
#use I2C(MASTER, SDA=PIN_C4, SCL=PIN_C3, SLOW)


#define resolucion (1.25/1024.0)

#use fast_io(B)
#byte port_b = 6



void main() {


  set_tris_b(0xFB); //Puerto B: de RB2 como salida Y RB0,RB1 .. RB7 como entradas

  setup_adc_ports(ANALOG_RA3_REF); //Configuración de todas las entradas del Puerto A como analógicas

  //setup_adc_ports(ALL_ANALOG); //Configuración de todas las entradas del Puerto A como analógicas

  setup_adc(ADC_CLOCK_INTERNAL); //Configuración entradas analógicas



   while (1){


      long int lectura=0;
      float lecturatemp=0.0;

      set_adc_channel(2); //Selección del ADC 0
      delay_ms(10); //Espero 10 ms para tomar medidas correctas
      lectura=read_adc();
      printf("
 El valor leido es: %LX",lectura);
      lecturatemp= (float)lectura * resolucion;
      printf("Lectura tomada por CAD2 es: %1.2f
", lecturatemp);
      getc();//Para tomar siguiente medida pulsar una tecla

   }

}


Podeis echarme una mano? Gracias a todos por hacer posible este foro
Título: RE: Tension referencia CAD
Publicado por: pikman en 12 de Julio de 2004, 21:58:00
Hola, el problema que tienes es que la referencia no puede ser menor a 2.5 V, de cualquier manera consulta el Data Sheet del micro,

saludos

Ariel

Título: RE: Tension referencia CAD
Publicado por: pocher en 13 de Julio de 2004, 00:07:00
Pués sí, así es.

Resol=(Vref+-Vref-)/2^n  --> el voltaje diferencial mínimo es 2V
Título: RE: Tension referencia CAD
Publicado por: telecoacme en 13 de Julio de 2004, 10:56:00
Gracias PIKMAN y POCHER, por vuestra ayuda.

Saludos