Magische Zahl im ADC-Pi-Code

Ich versuche die Temperatur mit PT100 zu messen. Ich benutze dafür das ADC Pi Board. ADC Pi verwendet MCP3424 (PDF-Datenblatt) A/D-Wandler, und im Datenblatt habe ich herausgefunden, wie man die Spannung berechnet - es ist ziemlich einfach -

Input Voltage =  (Output Code) * LSB/PGA

Also habe ich eine einfache App erstellt, die den Ausgangscode erhält, die Spannung berechnet und aus dieser Spannung den Widerstand berechnet. Aber das Ergebnis stimmte nicht. Also habe ich die Beispielcodes durchsucht und festgestellt, dass die Berechnung etwas anders ist -

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

Ich konnte nicht herausfinden, was die Nummer 2.448579823702253bedeutet ... Ich vermute, dass es etwas mit anderen Teilen auf der Platine zu tun hat, aber ich verstehe die Elektronik nicht so gut.

Kann jemand erklären, was es genau bedeutet?

Antworten (1)

Gemäß dem Schaltplan befindet sich in der Schaltung ein 10k--6,8k-Widerstandsteiler.

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

Eine andere Anlaufstelle könnte sein:

__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

Oder vielleicht eine Kombination dieser Dinge.

Tut mir leid, ich habe keine Zeit, das gesamte Datenblatt zu analysieren, aber diese beiden Zahlen liegen nahe an Ihrer magischen Zahl.

Ich ermutige Sie, es Schritt für Schritt durchzuarbeiten und zu versuchen, es vollständig herauszufinden - bis zu dem Punkt, an dem Ihre Ergebnisse innerhalb weniger mV übereinstimmen. Es wird eine richtige Antwort geben, und es wird hilfreich sein, wenn Sie Ihre Einheiten im Auge behalten (mV, LSBs usw.)

Sie können viel darüber lernen, wie digitale Systeme mit der realen Welt kommunizieren!

Das sind gute Funde. :)
Sie haben also einen 18-Bit-DAC mit einer internen Toleranz von 0,05% Vref genommen und einen Spannungsteiler ohne angegebene Toleranz oder Temperaturkoeffizient davor gestellt? Das ist einfach verrückt. Die Genauigkeit der ADC-Pi-Platine ist jetzt vollständig in der Qualität von R1-R8 und R13-R20 gefangen, die von signifikanten Ziffern in den aufgeführten Werten nur 5% Widerstände oder schlechter sein könnten.
Richtig wie immer, King Friday..err @RBerteig