Ich habe ein Temperatursensor-Design, das ich als Referenz verwende. Es nimmt 2 RTD-Sensoren und liest ihre Werte mit einem zweikanaligen 16-Bit-Differential-ADC . Der ADC ist über den SPI-Bus verbunden.
Ich weiß, dass Sie für einen allgemeinen ADC die Formel nehmen können:
Voltage on Pin (in mV) = [(ADC Value) * (System Voltage in mV)]/(Max ADC Value)
Ich bin mir nur nicht sicher, wie es direkt auf einen differenziellen ADC zutrifft
Hier ist mein Referenzcode (gilt nur für einen der Kanäle):
//--------------------------------------------------------------
// 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);
}
//--------------------------------------------------------------
Was ich zu verstehen versuche, ist, wie die beiden Formeln für Vr und Rt entwickelt wurden?
Außerdem bin ich immer noch ein wenig verwirrt darüber, wie der differenzielle ADC funktioniert.
Ich glaube, dass wir bei einem typischen ADC die Spannungen REF+ und REF- angeben, und der resultierende Messwert für einen bestimmten Kanal ist das Verhältnis, wie nahe er an REF+ liegt, beginnend bei REF-.
Zum Beispiel würde für einen normalen 16-Bit-ADC ein Wert von 0 bedeuten, dass unser Eingang 0 (oder gleich REF-) ist, und ein Wert von 65536 würde bedeuten, dass unser Kanal gleich REF+ ist.
Ich nehme an, was mich verwirrt, ist, wie sich ein differenzieller ADC zum Standard-ADC verhält. Basierend auf dem Standard-ADC-Beispiel würde ich denken, dass der Eingangswert innerhalb der REF- / +-Werte bleiben muss, aber aus der Beispielschaltung, die ich für einen differenziellen ADC habe, scheint dies nicht unbedingt der Fall zu sein. Woher weiß ich also, woran der ADC gebunden ist und wie ich ihn den REF-Werten zuordnen kann?
Für Vr
basiert die Formel auf den Angaben im Datenblatt. Im Datenblatt steht, dass der Differenzbereich von -0,5 * Vref bis 0,5 * Vref reicht. Vref in Ihrem Schaltplan beträgt 2,5 V, und beide Kanäle - Pin liegt bei 2,5 V, sodass der Bereich von 1,25 V bis 3,75 V reicht, was in den Messwerten als -1,25 V bis +1,25 V interpretiert wird (es gibt eine vorzeichenbehaftete 16 aus -bit Integer-Format)
Der 0°C-Punkt liegt bei 2,5 V, also 2,5 V bis 3,75 V, ist die positive Hälfte des Bereichs und 1,25 V bis 2,5 V für negative Temperaturen. Der ADC sieht 2,5 V jedoch als 0 V, daher die Verwendung von +1,25 V in der Vr-Formel und 32678 (dh eine 16-Bit-Ganzzahl mit Vorzeichen anstelle von 65536 für volle 16-Bit ohne Vorzeichen) und wir fügen 2,5 V hinzu, um die tatsächliche Spannung zu erhalten Spannung (da der Nullpunkt des ADC bei 2,5V liegt)
Wenn wir also zum Beispiel 0x661E (26142) vom ADC lesen, können wir die Formel verwenden:
Für Rt
, ist es nur eine Formel, um den Widerstand basierend auf dem Spannungsteiler zu berechnen, den der Sensorwiderstand mit dem 1kΩ-Widerstand bildet. Es funktioniert, indem das Verhältnis der Spannungen an jedem Teil des Teilers (dem festen 1kΩ und dem PT-Sensor) verglichen wird.
Aus der PT-Formel wissen wir, dass R0 1kΩ ist, also wird der Sensor bei 0°C dieser Widerstand sein, und weil wir effektiv Haben Sie einen Spannungsteiler aus 2 1kΩ-Widerständen mit 5 V oben, sollte die Spannung in der Mitte 2,5 V betragen, also sollte die Formel 1000 bei 2,5 V ergeben.
Angenommen, wir hätten 3 V für Vr, würden wir einen Widerstandswert von 1,5 kΩ erwarten (1,5 k sind 3/5 und 1 k sind 2/5 von 5 V).
Wenn wir zur Überprüfung 3 V in die Formel stecken, sollten wir das vorhergesagte Ergebnis erhalten:
Für die Berechnung:
Versuchen Sie, die Formel wie folgt umzuschreiben:
Das gleiche gilt für :
(Aktualisierung, um Fragen zu differenziellen ADCs zu reflektieren)
Stellen Sie sich einen differenziellen ADC als zwei einzelne ADCs vor, die sich eine gemeinsame Masse und eine gemeinsame Referenz teilen. Beide ADC-Kanäle eines differentiellen ADC messen die angelegten Eingangssignale in Bezug auf eine gemeinsame Masse, und das Ergebnis ist die Differenz zwischen den beiden Messungen. Der typische zulässige Eingangsbereich für beide Kanäle liegt zwischen Masse und der Stromversorgung des ADC.
In diesem Fall steht die angelegte Referenzspannung in keinem wirklichen Verhältnis zum zulässigen Eingangssignalbereich. Es wirkt sich nur auf das Differenzsignal zwischen den beiden Kanälen aus. Wenn Sie also einen differenziellen Messbereich von beispielsweise 0,5 V und eine Versorgungsspannung von 5 V haben, können beide Signale zwischen 4,5 und 5 V liegen (vorausgesetzt, der ADC akzeptiert Eingangssignale bis zu Vcc, was der LTC2436 tut), ohne darüber hinauszugehen - oder Unterlauf.
Der Effekt ist derselbe, als wenn ein Eingang (CH-) mit Masse verbunden ist, während der andere positive und negative Eingänge akzeptiert. Der differenzielle ADC erfordert jedoch nicht, dass ein Signal mit Masse verbunden ist - er akzeptiert schwebende Eingangssignale, solange der Eingang innerhalb bestimmter Grenzen in Bezug auf Masse und Versorgungsspannung bleibt (GND-0,3 V bis Vcc + 0,3 V für die LTC2436-1)
Aber auch dann entspricht die Referenzspannung nicht unbedingt dem Messbereich. Es kann größer oder kleiner sein, je nachdem, wie der ADC funktioniert. Beispielsweise kann es im ADC einen Verstärker mit programmierbarer Verstärkung geben, oder der Eingang (oder die Referenzspannung) wird durch einen festen Faktor geteilt. Eine Änderung der Referenzspannung ändert also den Messbereich, ist aber nicht unbedingt gleich.
Benutzer16105
Oli Glaser
hli
Benutzer16105
Oli Glaser
Oli Glaser