Autor Tema: PIC24 Lectura Entrada Analoga  (Leído 2486 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado Rikr09

  • PIC16
  • ***
  • Mensajes: 112
PIC24 Lectura Entrada Analoga
« en: 23 de Agosto de 2014, 12:36:24 »
Saludos amigos de Todopic,


LLevo tiempo trabajando con los PIC24 usando los pines análogos para lectura de variables externas; pero siempre he tenido un inconveniente que hasta el momento no he podido solucionar: " Lecturas diferentes de un mismo valor de entrada de voltaje", estoy usando un PIC24FJ128GB110 con una entrada que varía de 0-10V (Tengo divisor de voltaje), el VCC es 3.7V y los voltajes de referencia para el módulo de análogo son GND y éste VCC.

De esto último digo y me dicen si estoy mal: Resolución 1024-->3.7V, de ahí en adelante los valores leídos los calculo Number=(0.00361328125*a); Esto veamoslo en el método que uso cada vez que hago la lectura:


Código: [Seleccionar]
void readADCANA0(int ch,int type){
    float Number;
    unsigned int a=0,b=0;
    Decenas=0;Unidades=0;Decimas=0;Centesimas=0; Milesimas=0;
    

    AD1CHS = ch;     // Seleccion del canal analogo
    AD1CON1bits.SAMP = 1;    // comenzar muestreo
    delay_52us();
    AD1CON1bits.SAMP = 0;
    while (!AD1CON1bits.DONE);   // esperar a que se complete la transmision
    a=ADC1BUF0;
    Number=(0.00361328125*a);  // multiplicar por 3.3/1024
    b=(Number*10000)/1;
    b=(unsigned int)b;
    AnalogInt = b;


     //-----------------------------------------------------------------------------
     while(b>9999){b=b-10000;Decenas++;};
     while(b>999){b=b-1000;Unidades++;}
     while(b>99){b=b-100;Decimas++;}
     while(b>9){b=b-10;Centesimas++;}
     Milesimas=b;

     ADC1BUF0=0;

}

El método de inicialización es:

Código: [Seleccionar]
void initADC(){
// AD1PCFG = 0xFFEE; // select analog input pins. zeros are the analog input.
// Config for Explorer16.   0b 1111 1111 1100 1111
// Config for Modem GPRS.   0b 1111 1111 1110 1110
        AD1PCFG = 0xFFEE;
AD1CON1 = 0x00E0; // manual conversion sequence control
AD1CSSL = 0; // no scanning required
AD1CON3 = 0x1F02; // Tad = 2 x Tcy = 125ns >75ns
AD1CON2 = 0; // use MUXA, AVss and AVdd are used as Vref+/-
AD1CON1bits.ADON = 1; // turn on the ADC

}

Con base a lo anterior, cada ve que leo por ejemplo una entrada de 1.35V (mostrada en multimetro) el resultado que obtengo de la conversión es 1.1, 900mV, 1.3v, 1.25v y así.... y creo que coincidimos todos que no es la idea.

Espero que por favor me ayuden con esto...

Gracias!!!!!!!
« Última modificación: 23 de Agosto de 2014, 13:13:44 por Rikr09 »

Desconectado DominusDRR

  • PIC24H
  • ******
  • Mensajes: 1937
    • Sicoy
Re: PIC24 Lectura Entrada Analoga
« Respuesta #1 en: 29 de Agosto de 2014, 11:12:44 »
Vcc es 3.7V ??? :shock:

No es máximo 3.6 el voltaje del microcontrolador y 3.3V lo nominal.  :shock:

¿O estoy mal?
Tengo una idea algo difusa sobre MPLAB Harmony, XC32 con PIC32

Desconectado Rikr09

  • PIC16
  • ***
  • Mensajes: 112
Re: PIC24 Lectura Entrada Analoga
« Respuesta #2 en: 29 de Agosto de 2014, 11:23:45 »
Vcc es 3.7V ??? :shock:

No es máximo 3.6 el voltaje del microcontrolador y 3.3V lo nominal.  :shock:

¿O estoy mal?

El Micro soporta hasta 4V, por ende mi voltaje esta en 3.7V ya que por requerimientos de un modulo PRS que estoy usando necesito que el voltaje sea de 3.7V minimo.

Gracias por tu anotación.

Desconectado DominusDRR

  • PIC24H
  • ******
  • Mensajes: 1937
    • Sicoy
Re: PIC24 Lectura Entrada Analoga
« Respuesta #3 en: 29 de Agosto de 2014, 11:31:59 »
¿y dónde leiste eso?

Operating Voltage Range (V)   2 to 3.6

http://www.microchip.com/wwwproducts/Devices.aspx?product=PIC24FJ128GB110

Yo leo algo diferente en la hoja de datos, página 313:

http://ww1.microchip.com/downloads/en/DeviceDoc/39897c.pdf
« Última modificación: 29 de Agosto de 2014, 11:34:44 por DominusDRR »
Tengo una idea algo difusa sobre MPLAB Harmony, XC32 con PIC32

Desconectado Rikr09

  • PIC16
  • ***
  • Mensajes: 112
Re: PIC24 Lectura Entrada Analoga
« Respuesta #4 en: 29 de Agosto de 2014, 11:55:38 »
Lo vi en al página 311:

Si gustas puedes ver la imagen AQUI

Desconectado DominusDRR

  • PIC24H
  • ******
  • Mensajes: 1937
    • Sicoy
Re: PIC24 Lectura Entrada Analoga
« Respuesta #5 en: 29 de Agosto de 2014, 12:20:02 »
Lo vi en al página 311:

Si gustas puedes ver la imagen AQUI

Esos los valores absolutos máximos a los que puede funcionar, lo recomendable es nunca llegar a esos límites, lee la recomendación que dice más abajo:

"†NOTICE: Stresses above those listed under “Absolute Maximum Ratings” may cause permanent damage to the
device. This is a stress rating only and functional operation of the device at those or any other conditions above those
indicated in the operation listings of this specification is not implied. Exposure to maximum rating conditions for
extended periods may affect device reliability."


"La exposición a las condiciones máximas de calificación para
largos períodos de tiempo pueden afectar la fiabilidad del dispositivo"

Trabajando en los límites de operación puede resultar en condiciones erráticas o que no se pueden determinar.

Deberías trabajar dentro del rango que te sugiere el fabricante. Por alguna razón dice hasta 3.6, 4 voltios no es garantía de funcionamiento correcto del PIC
Tengo una idea algo difusa sobre MPLAB Harmony, XC32 con PIC32

Desconectado Rikr09

  • PIC16
  • ***
  • Mensajes: 112
Re: PIC24 Lectura Entrada Analoga
« Respuesta #6 en: 29 de Agosto de 2014, 12:30:29 »
Si es cierto eso, yo tuve en cuenta eso pero ... si lo bajo a 3.6V sacrifico el modulo GPRS. AHora bien, aun cuando coloco el voltaje a 3.3V ... continuo con el mismo problema tema base de este foro :( ...

Desconectado DominusDRR

  • PIC24H
  • ******
  • Mensajes: 1937
    • Sicoy
Re: PIC24 Lectura Entrada Analoga
« Respuesta #7 en: 29 de Agosto de 2014, 12:33:37 »
¿Y porqué no trabajar tu GPRS a 3.6V y tu micro a 3.3V?

Si se comunican entre ellos de alguna manera puedes poner resistencias de 100 a 330 ohmios, para que los niveles de 3.6 dañen al PIC.

Me imagino que el GPRS si ve como 1 lógico niveles de 3,3V.

Un discusión interesante en el foro de MCHP sobre los 3.7V

http://www.microchip.com/forums/m590644.aspx
Tengo una idea algo difusa sobre MPLAB Harmony, XC32 con PIC32

Desconectado Rikr09

  • PIC16
  • ***
  • Mensajes: 112
Re: PIC24 Lectura Entrada Analoga
« Respuesta #8 en: 29 de Agosto de 2014, 12:45:07 »
Gracias. Si eso ya lo soluciono con el nuevo diseño usando otro regulador LDO con una Iq pequeña.

Pero me asunto de la lectura análoga no se soluciona con esto :( ....

Desconectado DominusDRR

  • PIC24H
  • ******
  • Mensajes: 1937
    • Sicoy
Re: PIC24 Lectura Entrada Analoga
« Respuesta #9 en: 29 de Agosto de 2014, 12:54:04 »
Creo que deberías primero probar lo del ADC con un nivel de volataje VCC correcto y tal vez con otro PIC24, posiblemente ya este algo dañado el que estaba trabajando a 3.7V.

Si no funciona, es posible que el tiempo de adquisición o conversión del ADC sea muy rápido y no alcance a terminar la conversión. Podrías aumentar el tiempo de muestreo (delay_52us();) para ver que sucede.

Podrías hacer una trampa modificando cada valor medido, es decir multiplicar por una constante el resultado para obtener el valor deseado, suponeidno que el error es lineal.

Caso contrario te tocaría hacer una tabla (un vector con constantes de 1024 valores] para cada valor medido.
Tengo una idea algo difusa sobre MPLAB Harmony, XC32 con PIC32

Desconectado jeremylf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1341
Re: PIC24 Lectura Entrada Analoga
« Respuesta #10 en: 29 de Agosto de 2014, 12:54:43 »
Y como esta tu hardware? Puede ser un problema de ruido en la entrada del PIC.

Desconectado DominusDRR

  • PIC24H
  • ******
  • Mensajes: 1937
    • Sicoy
Re: PIC24 Lectura Entrada Analoga
« Respuesta #11 en: 29 de Agosto de 2014, 12:56:48 »
Y como esta tu hardware? Puede ser un problema de ruido en la entrada del PIC.

esa también es una buena sugerencia. Podrías poner un capacitor de 0.1 uF a 1 UF para determinar si mejora tu medición de voltaje.
Tengo una idea algo difusa sobre MPLAB Harmony, XC32 con PIC32

Desconectado Rikr09

  • PIC16
  • ***
  • Mensajes: 112
Re: PIC24 Lectura Entrada Analoga
« Respuesta #12 en: 29 de Agosto de 2014, 13:24:58 »
 :-/ Buena sigerencia ... el problem es que la tarjeta ya esta montada... Voy a ver que puedo hacer... Gracias!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

PD: Les estaré comentando al respecto...


 

anything