Lesen Sie den Temperaturwert des PT100-Sensors über MAX31865 ab
Entwickelt, um den Temperaturwert des PT100/PT1000-Temperatursensors zu lesen:
MAX31865 Beschreibung:
Der MAX31865 ist ein einfacher und benutzerfreundlicher Thermistor-Digital-Ausgang wandler der Maxim Corporation. Optimiert für den Einsatz mit Platin-Widerstand temperatur detektoren (RTDs).
Merkmale:
· Die RTD-Empfindlichkeit kann über externe Widerstände eingestellt werden.
· Mit ±45-V-Eingangsschutz, Fehlererkennung bei Kabel unterbrechungen und Kurzschlüssen, RTD konfigurierbar;
· Eingebauter hochpräziser Delta-Sigma-ADC-Wandler mit nominaler Temperaturauflösung von 0,03125 °C (nichtlineare Variation mit RTD);
· Kompatibel mit 2-Draht-, 3-Draht- und 4-Draht-Sensoren;
· Die maximale Konvertierungszeit beträgt 21 ms;
Paket- und Pin-Beschreibung:
Hardware-Schaltung:
Offizielle Referenzschaltung:
1. 2-Leiter pt100:
3-Leiter pt100:
4-Leiter pt100:
Einige Leute hier verstehen möglicherweise nicht die Zweileiter-, Dreileiter- und Vierleiter systeme von PT100. Hier ist eine kurze Einführung:
Das Zweileitersystem ist eine Methode, bei der ein Draht an beide Enden des Thermowiderstands angeschlossen wird. Diese Verkabelung methode ist jedoch relativ einfach und es gibt einen Widerstand an den Leitungen, der zu gewissen Fehlern bei der Messung führen kann. Daher wird es verwendet, wenn die Messgenauigkeit relativ gering ist.
Das Dreileitersystem besteht darin, eine Leitung an ein Ende des Thermowiderstands und zwei Leitungen an das andere Ende anzuschließen. Mit dieser Methode lässt sich der Einfluss des Leitungswiderstands in der Regel besser eliminieren. Es wird üblicherweise in Verbindung mit einer elektrischen Brücke verwendet und ist auch eine häufig verwendete Methode in der Industrie.
Das Vierleitersystem verbindet zwei Drähte mit jedem Ende des Thermowiderstands. Wenn zwei der Leitungen verwendet werden, wird dem Thermowiderstandsstrom eine Konstantstromquelle hinzugefügt, und dann wird das Stromsignal durch den Thermowiderstand in ein Spannungssignal umgewandelt, und die Spannung wird zur Messung über die anderen beiden Leitungen entnommen. Diese Verdrahtung methode kann den Einfluss des Drahtwiderstands vollständig eliminieren und wird häufig in Situationen verwendet, in denen die Temperaturgenauigkeit hoch ist.
Programmierung
Bevor wir das Programm schreiben, müssen wir das Chip-Handbuch lesen, das aus dem Chip-Handbuch ersichtlich ist. Der MAX31856 nutzt SPI-Kommunikation zur Unterstützung von Modus 1 und Modus 3. Die Frequenz während der Kommunikation sollte 5 MHz nicht überschreiten. Für den Betrieb des Chips gibt es im Chip 16 Registerdateien. Verwenden Sie vor allem beim Lesen oder Schreiben für den Zugriff auf das Register die Adresse 0Xh für Lesevorgänge und die Adresse 8Xh für Schreibvorgänge. Die Hauptregister sind in der folgenden Abbildung dargestellt:
Beim Programmieren sollte man auf die Konfiguration der Register achten, hier achten wir vor allem auf die folgenden Register.
1.Konfigurationsregister
2. RTD-Widerstandsregister (01-02H)
Zwei 8-Bit-Register, RTD MSB und RTD LSB, enthalten die RTD-Widerstandsdaten. Das Datenformat ist wie folgt: Das Datenformat ist das Verhältnis des RTD-Widerstands zum Referenz widerstand und enthält 15 Bits gültiger Daten. D0 des RTD-LSB-Registers ist das Fehlerbit, das anzeigt, ob ein RTD-Fehler erkannt wurde.
Temperatur umrechnung:
Bei PT-Thermistoren sind die gebräuchlichsten Widerstandswerte: Die Nennwerte sind 100 Ohm und 1K Ohm bei 0 Grad Celsius, und die beiden gebräuchlichen Werte für die durchschnittliche Steigung zwischen 0 und 100 Grad Celsius sind: 0,00385 und 0,00392. Die Beziehungskurven zwischen Widerstand und Temperatur gemäß IEC751- und SMA-Standards sind nahezu linear, können aber aufgrund einer gewissen Biegung durch die Kellendar-Van-Dusen-Gleichung ausgedrückt werden:
Das Hauptprogramm zur Temperatur umrechnung ist wie folgt:
float MAX31865_GetTemp(void)
{
unsignierte int-Daten;
Float Rt;
float Rt0 = 100; //Der Widerstandswert, der PT100 0 Grad entspricht, ist c=0, wenn 0-850;
float Z1,Z2,Z3,Z4,temp;
float a = 3,9083e-3;
float b = -5,775e-7;
float rpoly; //
MAX31865_Write(0x80, 0xD3);
data=MAX31865_Read(0x01)<<8;//Lesen Sie den Widerstandswert aus dem Register RTD-Widerstandsregister
data|=MAX31865_Read(0x02);
data>>=1; //Entfernen Sie das Fehlerbit
Rt=(float)data/32768.0*RREF; //Widerstands umrechnung
/*Quadratische Gleichungen lösen*/
Z1 = -a;
Z2 = a*a-4*b;
Z3 = 4*b/Rt0;
Z4 = 2*b;
temp = Z2+Z3*Rt;
temp = (sqrt(temp)+Z1)/Z4;
if(temp>=0) return temp;
rpoly = Rt;
Temperatur = -242,02;
temp += 2,2228 * rpoly;
rpoly *= Rt; // Quadrat
temp += 2,5859e-3 * rpoly;
rpoly *= Rt; // ^3
temp -= 4.8260e-6 * rpoly;
rpoly *= Rt; // ^4
temp -= 2.8183e-8 * rpoly;
rpoly *= Rt; // ^5
temp += 1,5243e-10 * rpoly;
Rücklauftemperatur;
}
MAX31865 Beschreibung:
Der MAX31865 ist ein einfacher und benutzerfreundlicher Thermistor-Digital-Ausgang wandler der Maxim Corporation. Optimiert für den Einsatz mit Platin-Widerstand temperatur detektoren (RTDs).
Merkmale:
· Die RTD-Empfindlichkeit kann über externe Widerstände eingestellt werden.
· Mit ±45-V-Eingangsschutz, Fehlererkennung bei Kabel unterbrechungen und Kurzschlüssen, RTD konfigurierbar;
· Eingebauter hochpräziser Delta-Sigma-ADC-Wandler mit nominaler Temperaturauflösung von 0,03125 °C (nichtlineare Variation mit RTD);
· Kompatibel mit 2-Draht-, 3-Draht- und 4-Draht-Sensoren;
· Die maximale Konvertierungszeit beträgt 21 ms;
Paket- und Pin-Beschreibung:
Hardware-Schaltung:
1. 2-Leiter pt100:
3-Leiter pt100:
4-Leiter pt100:
Einige Leute hier verstehen möglicherweise nicht die Zweileiter-, Dreileiter- und Vierleiter systeme von PT100. Hier ist eine kurze Einführung:
Das Zweileitersystem ist eine Methode, bei der ein Draht an beide Enden des Thermowiderstands angeschlossen wird. Diese Verkabelung methode ist jedoch relativ einfach und es gibt einen Widerstand an den Leitungen, der zu gewissen Fehlern bei der Messung führen kann. Daher wird es verwendet, wenn die Messgenauigkeit relativ gering ist.
Das Dreileitersystem besteht darin, eine Leitung an ein Ende des Thermowiderstands und zwei Leitungen an das andere Ende anzuschließen. Mit dieser Methode lässt sich der Einfluss des Leitungswiderstands in der Regel besser eliminieren. Es wird üblicherweise in Verbindung mit einer elektrischen Brücke verwendet und ist auch eine häufig verwendete Methode in der Industrie.
Das Vierleitersystem verbindet zwei Drähte mit jedem Ende des Thermowiderstands. Wenn zwei der Leitungen verwendet werden, wird dem Thermowiderstandsstrom eine Konstantstromquelle hinzugefügt, und dann wird das Stromsignal durch den Thermowiderstand in ein Spannungssignal umgewandelt, und die Spannung wird zur Messung über die anderen beiden Leitungen entnommen. Diese Verdrahtung methode kann den Einfluss des Drahtwiderstands vollständig eliminieren und wird häufig in Situationen verwendet, in denen die Temperaturgenauigkeit hoch ist.
Programmierung
Bevor wir das Programm schreiben, müssen wir das Chip-Handbuch lesen, das aus dem Chip-Handbuch ersichtlich ist. Der MAX31856 nutzt SPI-Kommunikation zur Unterstützung von Modus 1 und Modus 3. Die Frequenz während der Kommunikation sollte 5 MHz nicht überschreiten. Für den Betrieb des Chips gibt es im Chip 16 Registerdateien. Verwenden Sie vor allem beim Lesen oder Schreiben für den Zugriff auf das Register die Adresse 0Xh für Lesevorgänge und die Adresse 8Xh für Schreibvorgänge. Die Hauptregister sind in der folgenden Abbildung dargestellt:
Beim Programmieren sollte man auf die Konfiguration der Register achten, hier achten wir vor allem auf die folgenden Register.
1.Konfigurationsregister
2. RTD-Widerstandsregister (01-02H)
Zwei 8-Bit-Register, RTD MSB und RTD LSB, enthalten die RTD-Widerstandsdaten. Das Datenformat ist wie folgt: Das Datenformat ist das Verhältnis des RTD-Widerstands zum Referenz widerstand und enthält 15 Bits gültiger Daten. D0 des RTD-LSB-Registers ist das Fehlerbit, das anzeigt, ob ein RTD-Fehler erkannt wurde.
Temperatur umrechnung:
Bei PT-Thermistoren sind die gebräuchlichsten Widerstandswerte: Die Nennwerte sind 100 Ohm und 1K Ohm bei 0 Grad Celsius, und die beiden gebräuchlichen Werte für die durchschnittliche Steigung zwischen 0 und 100 Grad Celsius sind: 0,00385 und 0,00392. Die Beziehungskurven zwischen Widerstand und Temperatur gemäß IEC751- und SMA-Standards sind nahezu linear, können aber aufgrund einer gewissen Biegung durch die Kellendar-Van-Dusen-Gleichung ausgedrückt werden:
Das Hauptprogramm zur Temperatur umrechnung ist wie folgt:
float MAX31865_GetTemp(void)
{
unsignierte int-Daten;
Float Rt;
float Rt0 = 100; //Der Widerstandswert, der PT100 0 Grad entspricht, ist c=0, wenn 0-850;
float Z1,Z2,Z3,Z4,temp;
float a = 3,9083e-3;
float b = -5,775e-7;
float rpoly; //
MAX31865_Write(0x80, 0xD3);
data=MAX31865_Read(0x01)<<8;//Lesen Sie den Widerstandswert aus dem Register RTD-Widerstandsregister
data|=MAX31865_Read(0x02);
data>>=1; //Entfernen Sie das Fehlerbit
Rt=(float)data/32768.0*RREF; //Widerstands umrechnung
/*Quadratische Gleichungen lösen*/
Z1 = -a;
Z2 = a*a-4*b;
Z3 = 4*b/Rt0;
Z4 = 2*b;
temp = Z2+Z3*Rt;
temp = (sqrt(temp)+Z1)/Z4;
if(temp>=0) return temp;
rpoly = Rt;
Temperatur = -242,02;
temp += 2,2228 * rpoly;
rpoly *= Rt; // Quadrat
temp += 2,5859e-3 * rpoly;
rpoly *= Rt; // ^3
temp -= 4.8260e-6 * rpoly;
rpoly *= Rt; // ^4
temp -= 2.8183e-8 * rpoly;
rpoly *= Rt; // ^5
temp += 1,5243e-10 * rpoly;
Rücklauftemperatur;
}