Número mágico en código ADC Pi

2

Estoy tratando de medir la temperatura usando PT100. Estoy usando ADC Pi para eso. ADC Pi utiliza MCP3424 (hoja de datos pdf) convertidores A / D, y en la hoja de datos encontré cómo calcular el voltaje - es bastante simple -

Input Voltage =  (Output Code) * LSB/PGA

Así que hice una aplicación simple que obtendría el código de salida, calcularía el voltaje y, a partir de ese voltaje, calcularía la resistencia. Pero el resultado no fue correcto. Así que busqué en los códigos de ejemplo y descubrí que el cálculo es un poco diferente.

voltage = float(
            (raw * (self.__lsb / self.__pga)) * 2.448579823702253) 

No pude averiguar qué significa el número 2.448579823702253 ... Supongo que tiene algo que ver con otras partes en el tablero, pero realmente no entiendo la electrónica tan bien.

¿Puede alguien explicar qué significa exactamente?

    
pregunta Milan Halada

1 respuesta

5

Según el esquema , hay un 10k - 6.8k divisor de resistencia en el circuito.

6.8k / (6.8k + 10k) = .4047619 1/.4047619 = 2.470588

Otro lugar para mirar podría ser:

__lsb = float(0.0000078125) # default lsb value for 18 bit 7.8125e-6 * 2^18 = 2.048 // full-scale value? 5V / 2.048 = 2.441406

O tal vez alguna combinación de esas cosas.

Lo siento, no tengo tiempo para analizar la hoja de datos completa, pero ambos números están cerca de tu número mágico.

Lo invito a que lo trabaje paso a paso e intente resolverlo completamente, hasta el punto en que sus resultados coincidan dentro de unos pocos mV. Habrá una respuesta correcta, y te ayudará si mantienes un registro de tus unidades (mV, LSB, etc.)

¡Puedes aprender mucho sobre cómo los sistemas digitales se comunican con el mundo real!

    
respondido por el Daniel

Lea otras preguntas en las etiquetas