Tengo un diseño de sensor de temperatura que estoy usando como referencia. Toma 2 sensores RTD y lee sus valores con un ADC diferencial de doble canal de 16 bits . Las interfaces ADC a través del bus SPI.
Sé que para un ADC general, puede tomar la fórmula:
Voltage on Pin (in mV) = [(ADC Value) * (System Voltage in mV)]/(Max ADC Value)
No estoy seguro de cómo se aplica directamente a un ADC diferencial
Aquí está mi código de referencia (aplicable solo a uno de los canales):
//--------------------------------------------------------------
// Temperature in degrees C
//
// Platinum (3850 ppm/K) RTD sensor
// 0 to 850 degrees C, Rt = R0(1 + A*t + B*t^2)
// Rt = resistance at temperature (degrees C)
// R0 = is resistance at 0 degrees C, which is 1,000 ohms
// A = 3.9083 * 10^-3
// B = -5.775 * 10^-7
//
// (R0 * B)t^2 + (R0 * A)t + (R0 - Rt) = 0
//
// Quadradic Equation: ax^2 + bx + c = 0
// x = (-b +/- SQRT(b^2 - 4ac)) / 2a
//
// therefore:
// (-(R0 * A) +/- SQRT((R0 * A)^2 - (4 * (R0 * B) * (R0 - Rt))
// t = -----------------------------------------------------------
// 2 * (R0 * B)
//
// (-3.9083 +/- SQRT(15.2748 - ((-2.3104 * 10^-3) * (1,000 - Rt)))
// = ------------------------------------------------------------------
// -1.1552 * 10^-3
{ float Vr, Rt;
Vr = ((ADC_Meas * 1.25) / 32768.0) + 2.5;
Rt = (1000.0 * Vr) / (5.0 - Vr);
t = ((-3.9083) + sqrt(15.2748 - (-0.0023104) * (1000.0 - Rt))) / (-0.0011552);
}
//--------------------------------------------------------------
Lo que estoy tratando de entender es cómo se diseñaron las dos fórmulas para Vr y Rt.
También estoy un poco confundido acerca de cómo funciona el ADC diferencial.
Creo que en un ADC típico le damos los voltajes REF + y REF, y la lectura resultante para un canal dado es la relación de cuán cerca está de REF + a partir de REF-.
Por ejemplo, para un anuncio de 16 bits regular, una lectura de 0 significaría que nuestra entrada es 0 (o igual a REF-) y una lectura de 65536 significaría que nuestro canal es igual a REF +.
Supongo que lo que me confunde es cómo un ADC diferencial se relaciona con el ADC estándar. basado en el ejemplo de ADC estándar, creo que el valor de entrada debe permanecer dentro de los valores de REF - / + pero del circuito de ejemplo que tengo para un ADC diferencial parece que este no es necesariamente el caso. Entonces, ¿cómo sé a qué está vinculado el ADC y cómo asociarlo con los valores REF?