{"id":2991,"date":"2025-11-03T17:37:44","date_gmt":"2025-11-03T09:37:44","guid":{"rendered":"https:\/\/www.siproin-ic.com\/ssp2617-single-channel-h-bridge-driver-chip-copy\/"},"modified":"2025-11-03T18:10:47","modified_gmt":"2025-11-03T10:10:47","slug":"ssp1220-three-wire-rtd-measurement","status":"publish","type":"post","link":"https:\/\/www.siproin-ic.com\/de\/ssp1220-three-wire-rtd-measurement\/","title":{"rendered":"SSP1220 Dreileiter-RTD-Messung"},"content":{"rendered":"<h3>\u2160\u3001 Dreileiter-PT100-Temperaturmessprinzip<\/h3>\n<p>Der Hauptzweck der Drei-Draht-Verbindungsmethode besteht darin, den Einfluss des Leitungswiderstands auf die Messgenauigkeit zu eliminieren. Der Widerstandswert des PT100 ist sehr klein (100\u03a9 @ 0\u2103), und der Widerstand der Anschlussdr\u00e4hte (einige Zehntel Ohm bis einige Ohm, geschrieben als R6, R7, R15, siehe Dreidraht-RTD-Pr\u00fcfschema) kann nicht zu vernachl\u00e4ssigende Fehler verursachen. Das Dreileitersystem l\u00f6st dieses Problem durch ein cleveres Schaltungsdesign, bei dem alle drei Leitungen eines Dreileiter-RTDs in der Regel gleich lang sind. Unter der Annahme, dass der Widerstand der drei Leitungen gleich ist (RL1 = RL2 = RL3, d.h. R6=R7=R15 im Schaltplan), wird die interne Doppelstromquelle (IDAC) des SSP1220 verwendet, um die Auswirkungen dieser Leitungswiderst\u00e4nde auszugleichen.<\/p>\n<p>Ausf\u00fchrliche Erl\u00e4uterung des Messprinzips:<\/p>\n<ol>\n<li>Bei Verwendung zweier passender programmierbarer Stromquellen (IDAC1 und IDAC2) innerhalb des SSP1220, die denselben Strom ausgeben, wird empfohlen, die Stromquelle mit weniger als 1 mA auszuw\u00e4hlen; der Auswahlwert f\u00fcr diesen Test betr\u00e4gt 500uA.<\/li>\n<li>Es wird angenommen, dass die drei Leitungswiderst\u00e4nde des PT100 gleich sind: R6 = R7 = R15 = Rl<\/li>\n<li>Der SSP1220 misst die Spannung am PT100 \u00fcber ein differentielles Eingangspaar (AIN0, AIN1):  V<sub>IN<\/sub> = V<sub>AIN1<\/sub> - V<sub>AIN0<\/sub><\/li>\n<\/ol>\n<p>in Erw\u00e4gung nachstehender Gr\u00fcnde V<sub>AIN1<\/sub> = I<sub>IDAC1<\/sub> x (R<sub>L1<\/sub>+R<sub>PT100<\/sub>) + (I<sub>IDAC1<\/sub> + I<sub>IDAC2<\/sub>) x R<sub>L3<\/sub>, V<sub>AIN0<\/sub> = I<sub>IDAC2<\/sub> x R<sub>L2<\/sub> + (I<sub>IDAC1<\/sub> + I<sub>IDAC2<\/sub>) x R<sub>L3<\/sub><\/p>\n<p>Seit: I<sub>IDAC1<\/sub> = I<sub>IDAC2<\/sub> = I<sub>IDAC<\/sub> UND R<sub>L1<\/sub> = R<sub>L2<\/sub> = R<sub>L3<\/sub> = R<sub>L<\/sub><\/p>\n<p>zu ersetzen: VIN = [I<sub>IDAC<\/sub> x (R<sub>L<\/sub> + R<sub>PT100<\/sub>) + 2I<sub>IDAC<\/sub> x R<sub>L<\/sub>] - [IIDAC x RL + 2IIDAC x RL] = I<sub>IDAC<\/sub> x R<sub>L<\/sub> + I<sub>IDAC<\/sub> x R<sub>PT100<\/sub> + 2I<sub>IDAC<\/sub> x R<sub>L<\/sub> - 2I<sub>IDAC<\/sub> x R<sub>L<\/sub> = I<sub>IDAC<\/sub> x R<sub>PT100<\/sub><\/p>\n<p>Durch eine geschickte Schaltungskonfiguration wird der Einfluss des Leitungswiderstandes vollst\u00e4ndig aus der differentiellen Eingangsspannung VIN eliminiert, und nur der Spannungsabfall \u00fcber dem PT100-Widerstand wird ber\u00fccksichtigt.<\/p>\n<ol start=\"4\">\n<li>Die SSP1220-Referenzspannung Vref wird durch die Zusammenf\u00fchrung von zwei IDAC-Str\u00f6men \u00fcber einen hochpr\u00e4zisen externen Referenzwiderstand, Rref (R5), erzeugt, d.h. Vref = (Iidac1 + Iidac2) * R<\/li>\n<li>Bei Verh\u00e4ltnismessungen ist der endg\u00fcltige ADC-Ausgangscode proportional zu (Rpt100) \/ (Rref), unabh\u00e4ngig vom Absolutwert, der Genauigkeit und der Drift des IDAC-Stroms, wobei auch die Wirkung der Leitungswiderst\u00e4nde Rl1 und Rl2 ausgeglichen wird:<\/li>\n<\/ol>\n<p>F\u00fcr den 24-Bit SSP1220 lautet der numerische Ausgangscode:<\/p>\n<p>Code = (2<sup>23<\/sup> - 1) x (V<sub>IN<\/sub>\/V<sub>REF<\/sub>) = (2<sup>23<\/sup> - 1) x [R<sub>PT100<\/sub>\/(2 x R<sub>REF<\/sub>) ]<\/p>\n<p>Invertierung des PT100-Widerstandswertes durch ADC-Code:<\/p>\n<p>R<sub>PT100<\/sub> = [Code\/(2<sup>23<\/sup>-1)] x 2 x R<sub>REF<\/sub><\/p>\n<p>Schlie\u00dflich wird Rpt100 entsprechend der Widerstands-Temperatur-Charakteristik von PT100 (in der Regel unter Verwendung der Callendar-Van Dusen-Gleichung oder der Tabellen-Nachschlagemethode) in einen Temperaturwert umgerechnet: T = f (Rpt100). F\u00fcr den PT100 betr\u00e4gt der Widerstandstemperaturkoeffizient bei 0\u2103, R0 = 100,00\u03a9 ungef\u00e4hr \u03b1\u2248 0,00385 \u03a9\/\u03a9\/\u2103.<\/p>\n<h3>\u2161\u3001Hardware-Schaltungsentwurf<\/h3>\n<p>Gem\u00e4\u00df der typischen Anwendung im Datenblatt sieht eine typische Dreileiter-PT100-Anschlussschaltung wie folgt aus:<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone  wp-image-2992\" src=\"https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12201-300x106.png\" alt=\"\" width=\"422\" height=\"149\" srcset=\"https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12201-300x106.png 300w, https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12201-18x6.png 18w, https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12201.png 554w\" sizes=\"(max-width: 422px) 100vw, 422px\" \/><\/p>\n<ol>\n<li>Anweisungen zum Anschluss des Stromkreises<\/li>\n<\/ol>\n<ul>\n<li>PT100-Anschluss: Der PT100 (Dreileitersystem) wird wie im Schaltplan dargestellt angeschlossen.<\/li>\n<li>Erzeugung einer Spannungsreferenz: Der IDAC1-Ausgang ist mit AIN2 verbunden (interne Softwarekonfiguration erforderlich), der IDAC2-Ausgang ist mit AIN3 verbunden (interne Softwarekonfiguration erforderlich), und die beiden IDAC-Str\u00f6me laufen am Knoten zusammen und flie\u00dfen gemeinsam durch den externen Referenzwiderstand Rref(R5). Das andere Ende von REF ist mit der analogen Masse AVSS verbunden. Der positive Referenzeingang des SSP1220, REFP0, ist mit dem oberen Ende von RREF (R5) (dem IDAC-Zusammenf\u00fchrungspunkt) verbunden. Der negative Referenzeingang des SSP1220, REFN0, ist mit AVSS verbunden. Daher ist die Referenzspannung, VREF= (IIDAC1 + IIDAC2) * RREF.<\/li>\n<li>Signalmessung: AIN1 f\u00fcr SSP1220 ist als positiver Differenzeingang AINP konfiguriert und AIN0 des SSP1220 ist als negativer Differenzeingang AINN konfiguriert, so dass die gemessene Spannung die Potentialdifferenz zwischen AIN1 und AIN0 ist.<\/li>\n<li>Filterung der Schaltung: RC-Tiefpassfilter m\u00fcssen sowohl an den Analogeing\u00e4ngen (AIN0, AIN1, AIN2) als auch an den Referenzeing\u00e4ngen (REFP0) zur Antialiasing- und Rauschunterdr\u00fcckung hinzugef\u00fcgt werden. Eingangsfilter: bestehend aus R1, R2, C1 und C6, C5. Referenzfilter: Besteht aus R3, R4, C2 und C3, C4. Um die Genauigkeit der Skalenmessungen zu erhalten, sollte die Grenzfrequenz des Referenzfilters mit der des Eingangsfilters \u00fcbereinstimmen.<\/li>\n<\/ul>\n<h3>\u2162\u3001Ger\u00e4teauswahl und Parameterberechnung<\/h3>\n<p>Die hypothetischen Entwurfsziele sind wie folgt: PT100-Typ: Dreidraht; Temperaturmessbereich: -200\u00b0C ~ +850\u00b0C; Versorgungsspannung AVDD: 3,3V (AVSS = 0V); DAC-Strom: 500\u03bcA (pro Kanal); Datenrate: 20 SPS (f\u00fcr optimale Rauschleistung).<\/p>\n<ol>\n<li>Auswahl und Berechnung des Referenzwiderstands (Rref)<\/li>\n<\/ol>\n<p>Rref ist das Herzst\u00fcck der Genauigkeit des gesamten Systems. Funktion: Erzeugt die Referenzspannung V ref des ADC, deren Genauigkeit und Stabilit\u00e4t direkt die Messergebnisse bestimmen.<\/p>\n<p>Widerstandsberechnung:<\/p>\n<p>Um den Bereich des ADC zu maximieren und die Gleichtaktspannungsanforderungen des PGA zu erf\u00fcllen, wird die Vref normalerweise auf etwa die H\u00e4lfte der Versorgungsspannung eingestellt. In diesem Design ist AVDD = 3,3 V und die Ziel-VREF betr\u00e4gt etwa 1,65 V.<\/p>\n<p>I<sub>IDAC<\/sub> = I_IDAC1 + I_IDAC2 = 500uA + 500uA = 1mA<\/p>\n<p>R<sub>REF<\/sub> = V<sub>REF<\/sub> \/(I<sub>IDAC1<\/sub> + I<sub>IDAC2<\/sub>) = 1,65V\/1mA = 1,65k\u03a9<\/p>\n<p>Es kann ein Widerstand mit einem Nennwert von 1,65 k\u03a9 gew\u00e4hlt werden. Falls er nicht gefunden wird, sind auch 1,62 k\u03a9 oder 1,69 k\u03a9 ein akzeptabler N\u00e4herungswert.<\/p>\n<p>Auswahlkriterien:<\/p>\n<p>Genauigkeit: Mindestens \u00b10,1%, empfohlen \u00b10,05% oder h\u00f6her f\u00fcr hochpr\u00e4zise Anwendungen.<\/p>\n<p>Temperaturschwankungen: Muss sehr gering sein, wobei ein Pr\u00e4zisionsfilmwiderstand von \u00b15 ppm\/\u00b0C oder \u00b110 ppm\/\u00b0C empfohlen wird.<\/p>\n<p>Langfristige Stabilit\u00e4t: hoch.<\/p>\n<p>Verwenden Sie niemals einen normalen 1%, 100ppm\/\u00b0C Chip-Widerstand.<\/p>\n<ol start=\"2\">\n<li>IDAC-Strom und PGA-Verst\u00e4rkungsoptionen<\/li>\n<\/ol>\n<p>IDAC-Strom: 500\u03bcA ausgew\u00e4hlt. Dieser Wert stellt ein gutes Gleichgewicht zwischen Stromverbrauch, Selbsterhitzungseffekt und Signalamplitude dar. Wenn der Strom zu klein ist, ist das Signal schwach und wird leicht durch Rauschen beeintr\u00e4chtigt; ein zu hoher Strom kann dazu f\u00fchren, dass sich der PT100 selbst erw\u00e4rmt oder die IDAC-konformen Spannungen \u00fcberschreitet.<\/p>\n<p>Auswahl der PGA-Verst\u00e4rkung: Der PT100 hat eine kleinere Spannung (z. B. 500\u03bcA \u00d7 100\u03a9 = 50mV), verwendet aber eine Verh\u00e4ltnismessung (die Referenzspannung stammt ebenfalls von IDAC), so dass keine Verst\u00e4rkung erforderlich ist, um S\u00e4ttigung zu vermeiden, und die Verst\u00e4rkungsauswahl ist 1X.<\/p>\n<ol start=\"3\">\n<li>Auswahl der Komponenten des Filterkreises<\/li>\n<\/ol>\n<p>Filterwiderst\u00e4nde (R1, R2, R3, R4): In der Regel wird 1k\u03a9 gew\u00e4hlt. Dieser Wert ist gro\u00df genug, um effektiv zu filtern, und klein genug, um signifikante Offset-Spannungen am Eingang (aufgrund des Eingangsvorstroms) zu vermeiden. Sie dienen auch als Strombegrenzungsschutz.<\/p>\n<p>Differenzialfilterkondensatoren (C1, C2): Stellen Sie die Grenzfrequenz zusammen mit dem Widerstand ein. F\u00fcr eine Datenrate von 20SPS kann die Grenzfrequenz beispielsweise im Zehnerbereich von Hz eingestellt werden. fc = 1 \/ (2\u03c0 * (R1+R2) * C1)\u3002 Wenn R1+R2=2k\u03a9 und fc \u2248 16Hz erwartet, ist C1 \u2248 1 \/ (2* 2000 * 16) \u2248 4,7\u03bcF. In realen Anwendungen werden h\u00e4ufig 100nF (0,1\u03bcF) verwendet, um eine gr\u00f6\u00dfere Rauschunterdr\u00fcckungsbandbreite zu erhalten. Typ: C0G (NPO) Keramikkondensatoren werden aufgrund ihrer stabilen Dielektrizit\u00e4tskonstante, ihres niedrigen Spannungskoeffizienten und ihres geringen mikroakustischen Effekts empfohlen.<\/p>\n<p>Gleichtaktgefilterte Kondensatoren (C5, C6, C3, C4): In der Regel eine Gr\u00f6\u00dfenordnung kleiner als Differenzkondensatoren gew\u00e4hlt, z. B. 10nF, um sicherzustellen, dass Fehlanpassungen von Differenzkondensatoren nicht dazu f\u00fchren, dass \u00fcberm\u00e4\u00dfiges Gleichtaktrauschen in Differenzrauschen umgewandelt wird.<\/p>\n<h3>\u2163\u3001Software-Konfiguration<\/h3>\n<ol>\n<li><strong>Master Logic:<\/strong><\/li>\n<\/ol>\n<p>float SSP1x20_read_temperature(void)<\/p>\n<p>{<\/p>\n<p>uint32_t ADC_data;<\/p>\n<p>uint32_t ADC_temp1;<\/p>\n<p>\/\/SSP1x20_read_register(SSP1x20_REG0, 4, &amp;Read_REGTab[0]);<\/p>\n<p>Write_REGTab[0] = SSP1x20_MUX_AIN0_AIN1 | SSP1x20_GAIN_1 | SSP1x20_PGA_BYPASS_ON;<\/p>\n<p>Write_REGTab[1]=SSP1x20_DR_20SPS|SSP1x20_MODE_NORMAL|SSP1x20_SC|SSP1x20_TS_ON| SSP1x20_BCS_OFF;<\/p>\n<p>Write_REGTab[2]=SSP1x20_VREF_2048|SSP1x20_REJECT_OFF|SSP1x20_PSW_OFF | SSP1x20_IDAC_1000uA;<\/p>\n<p>Write_REGTab[3] = SSP1x20_IDAC1_AIN2 | SSP1x20_IDAC2_AIN3 | SSP1x20_DRDYM_DRDY;<\/p>\n<p>SSP1x20_WriteRegister(SSP1x20_REG0, 4, &amp;Write_REGTab[0]);<\/p>\n<p>SSP1x20_SendCommand(SSP1x20_CMD_START);<\/p>\n<p>SPI_ADC_CS_LOW();<\/p>\n<p>while (ADC_DRDY_GAIN == 1);\/\/SSP1x20_DRDYM_DRDY<\/p>\n<ol start=\"2\">\n<li><strong>Die Hauptkonfiguration und Beschreibung des Programms<\/strong><\/li>\n<\/ol>\n<ul>\n<li><strong>Konfigurieren von Register 0: MUX und Verst\u00e4rkung<\/strong><\/li>\n<\/ul>\n<p>Write_REGTab[0] = SSP1x20_MUX_AIN0_AIN1 | SSP1x20_GAIN_1 | SSP1x20_PGA_BYPASS_ON;<\/p>\n<table width=\"607\">\n<tbody>\n<tr>\n<td width=\"94\">Bit<\/td>\n<td width=\"132\">Konfiguration<\/td>\n<td width=\"132\">Funktion<\/td>\n<td width=\"248\">Beschreibung<\/td>\n<\/tr>\n<tr>\n<td width=\"94\">BIT7~BIT4<\/td>\n<td width=\"132\">MUX_AIN0_AIN1<\/td>\n<td width=\"132\">Auswahl des Differenzeingangskanals<\/td>\n<td width=\"248\">AIN0 - AIN1 \u2192 f\u00fcr PT100-Spannungsmessung<\/td>\n<\/tr>\n<tr>\n<td width=\"94\">BIT3~BIT1<\/td>\n<td width=\"132\">GAIN_1(1x Verst\u00e4rkung \uff09<\/td>\n<td width=\"132\">Verst\u00e4rkungseinstellungen<\/td>\n<td width=\"248\">1\u00d7 (keine Verst\u00e4rkung erforderlich, da Vin \u2248 1V)<\/td>\n<\/tr>\n<tr>\n<td width=\"94\">BIT0<\/td>\n<td width=\"132\">PGA_BYPASS_ON<\/td>\n<td width=\"132\">PGA-Umgehung<\/td>\n<td width=\"248\">Schalten Sie den programmierbaren Verst\u00e4rker aus, um Signalverzerrungen zu vermeiden.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<ul>\n<li><strong>Konfigurationsregister 1: Abtastrate und Modus<\/strong><\/li>\n<\/ul>\n<p>Write_REGTab[1] = SSP1x20_DR_20SPS | SSP1x20_MODE_NORMAL | SSP1x20_SC | SSP1x20_TS_OFF | SSP1x20_BCS_OFF;<\/p>\n<table width=\"595\">\n<tbody>\n<tr>\n<td width=\"94\">Bit<\/td>\n<td width=\"113\">Konfiguration<\/td>\n<td width=\"142\">Funktion<\/td>\n<td width=\"246\">Beschreibung<\/td>\n<\/tr>\n<tr>\n<td width=\"94\">BIT7~BIT5<\/td>\n<td width=\"113\">DR_20SPS<\/td>\n<td width=\"142\">Datenrate<\/td>\n<td width=\"246\">20 mal\/sec \u2192 geeignet f\u00fcr langsame Temperatur\u00e4nderungen<\/td>\n<\/tr>\n<tr>\n<td width=\"94\">BIT4~BIT3<\/td>\n<td width=\"113\">MODUS_NORMAL<\/td>\n<td width=\"142\">Normaler Arbeitsmodus<\/td>\n<td width=\"246\">Nicht einzeln oder fortlaufend<\/td>\n<\/tr>\n<tr>\n<td width=\"94\">BITO<\/td>\n<td width=\"113\">SC<\/td>\n<td width=\"142\">Selbstkalibrierung aktiviert<\/td>\n<td width=\"246\">Verbesserte Genauigkeit (empfohlen)<\/td>\n<\/tr>\n<tr>\n<td width=\"94\">BIT1<\/td>\n<td width=\"113\">TS_OFF<\/td>\n<td width=\"142\">Deaktivieren Sie den internen Temperatursensor<\/td>\n<td width=\"246\">TS_ON schaltet den internen Temperatursensor ein, die Konfiguration zur Messung der externen Temperatur funktioniert nicht (diese Konfiguration hat die h\u00f6chste Priorit\u00e4t)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>\u00a0<\/strong><\/p>\n<ul>\n<li><strong>Register 2 konfigurieren: Referenzspannung mit IDAC<\/strong><\/li>\n<\/ul>\n<p>Write_REGTab[2] = SSP1x20_VREF_2048 | SSP1x20_REJECT_OFF | SSP1x20_PSW_OFF | SSP1x20_IDAC_500uA;<\/p>\n<table width=\"597\">\n<tbody>\n<tr>\n<td width=\"94\">Bit<\/td>\n<td width=\"113\">Konfiguration<\/td>\n<td width=\"170\">Funktion<\/td>\n<td width=\"220\">Beschreibung<\/td>\n<\/tr>\n<tr>\n<td width=\"94\">BIT7~BIT6<\/td>\n<td width=\"113\">VREF_2048<\/td>\n<td width=\"170\">Externe Referenzspannung<\/td>\n<td width=\"220\">Verwenden Sie einen externen R_REFR_REF, um eine Referenzspannung zu erzeugen (z. B. 1,65k\u03a9).<\/td>\n<\/tr>\n<tr>\n<td width=\"94\">BIT5~BIT4<\/td>\n<td width=\"113\">REJECT_OFF<\/td>\n<td width=\"170\">Keine Kerbfilterung<\/td>\n<td width=\"220\">Es ist keine St\u00f6rfestigkeit gegen Netzfrequenzst\u00f6rungen erforderlich.<\/td>\n<\/tr>\n<tr>\n<td width=\"94\">BIT3<\/td>\n<td width=\"113\">PSW_OFF<\/td>\n<td width=\"170\">Aktivieren Sie den Netzschalter nicht<\/td>\n<td width=\"220\">Aufrechterhaltung der normalen Stromversorgung<\/td>\n<\/tr>\n<tr>\n<td width=\"94\">BIT2~BIT0<\/td>\n<td width=\"113\">IDAC_500uA<\/td>\n<td width=\"170\">Erregerstrom<\/td>\n<td width=\"220\">Auf 500 \u03bcA einstellen, um eine \u00dcberspannung von 3,9k\u03a9 \u00d7 1mA = 3,9V &gt; 3,3V zu vermeiden<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>\u00a0<\/strong><strong>\u00a0<\/strong><\/p>\n<table width=\"595\">\n<tbody>\n<tr>\n<td width=\"113\">Bit<\/td>\n<td width=\"123\">Konfiguration<\/td>\n<td width=\"151\">Funktion<\/td>\n<td width=\"208\">Beschreibung<\/td>\n<\/tr>\n<tr>\n<td width=\"113\">BIT7~BIT5<\/td>\n<td width=\"123\">IDAC1_AIN2<\/td>\n<td width=\"151\">IDAC1-Ausgang an AIN2<\/td>\n<td width=\"208\">Der Erregerstrom flie\u00dft durch das obere Ende des PT100<\/td>\n<\/tr>\n<tr>\n<td width=\"113\">BIT4~BIT2<\/td>\n<td width=\"123\">IDAC2_AIN3<\/td>\n<td width=\"151\">IDAC2-Ausgang an AIN3<\/td>\n<td width=\"208\">R\u00fcckkehr in den Pfad, um den Leitungswiderstand auszugleichen<\/td>\n<\/tr>\n<tr>\n<td width=\"113\">BIT1<\/td>\n<td width=\"123\">DRDYM_DRDY<\/td>\n<td width=\"151\">DRDY-Modus<\/td>\n<td width=\"208\">Verwenden Sie das DRDY-Signal, um Ihnen mitzuteilen, dass die Konvertierung abgeschlossen ist.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>\u00a0<\/strong><\/p>\n<p><strong>(4) Register 3 konfigurieren: IDAC-Routenkanal mit DRDY<\/strong><\/p>\n<ol start=\"3\">\n<li><strong>Dreidraht-PT100-Kern:<\/strong><\/li>\n<\/ol>\n<p>Aktueller Pfad:<\/p>\n<ul>\n<li>IDAC1 \u2192 AIN2 \u2192 PT100 \u2192 AIN1<\/li>\n<li>IDAC2 \u2192 AIN3 \u2192 AIN1(R\u00fcckgabe)<\/li>\n<li>Zwei Str\u00f6me sind gleich \u2192 Ausgleich des Spannungsabfalls am R_LEAD2R_LEAD2<\/li>\n<\/ul>\n<p><strong>uint32_t<\/strong> raw_u24 = SSP1x20_read_data_drdy();<\/p>\n<p>&nbsp;<\/p>\n<p>SSP1220-Ausg\u00e4nge <strong>24-Bit-Daten<\/strong>aber MCUs lesen normalerweise in 32-Bit (SPI liest 4 Bytes auf einmal).<\/p>\n<p>&nbsp;<\/p>\n<p><strong>wenn<\/strong> (raw &lt; 0) raw = -raw;<\/p>\n<p>Die PT100-Spannung <strong>ist immer positiv <\/strong>(Strom flie\u00dft von AIN0 nach AIN1).<\/p>\n<p>Wenn raw &lt; 0 ist, wird die <strong>Die Softwarekonfigurationen von AIN0 und AIN1 sind vertauscht.<\/strong><\/p>\n<p>printf(\"Raw: %ld, R=%.3f \u03a9, Temp=%.2f \u00b0C\\r\\n\", raw, R_pt100, temperature);<\/p>\n<p>Drucken <strong>den urspr\u00fcnglichen Codewert, berechnen den Widerstand und die Endtemperatur<\/strong> f\u00fcr einfache Fehlersuche<\/p>\n<p>Wenn Raw negativ\u2192 ist, wird die Konfiguration umgekehrt<\/p>\n<p>Wenn R &gt; 1400\u03a9 \u2192 bedeutet dies, dass der IDAC oder Rref falsch eingestellt ist.<\/p>\n<p>Wenn Temp = -999 \u2192 bedeutet dies, dass der R-Wert au\u00dferhalb des zul\u00e4ssigen Bereichs liegt.<\/p>\n<p>&nbsp;<\/p>\n<h3>\u2164\u3001Messverfahren und Ergebnisse<\/h3>\n<ol>\n<li><strong>PT100-Spannungsmessprogramm an beiden Enden:<\/strong><\/li>\n<\/ol>\n<p>void SSP1x20_ADC_MeasurePt100(void)<\/p>\n<p>{<\/p>\n<p>float V_ref = 2.048; \/\/ Interne Referenzspannung 2.048V<\/p>\n<p>\/\/printf(\"\\r\\n Mehrpunkt-Einzelspannungsmessung \\r\\n\");<\/p>\n<p>Write_REGTab[0] = SSP1x20_MUX_AIN1_AIN0 | SSP1x20_GAIN_1 | SSP1x20_PGA_BYPASS_OFF;<\/p>\n<p>Write_REGTab[1] = SSP1x20_DR_20SPS | SSP1x20_MODE_NORMAL | SSP1x20_SC | SSP1x20_TS_OFF | SSP1x20_BCS_OFF;<\/p>\n<p>Write_REGTab[2] = SSP1x20_VREF_REF0 | SSP1x20_REJECT_OFF | SSP1x20_PSW_OFF | SSP1x20_IDAC_500uA;<\/p>\n<p>Write_REGTab[3] = SSP1x20_IDAC1_AIN2 | SSP1x20_IDAC2_AIN3 | SSP1x20_DRDYM_DRDY;<\/p>\n<p>SSP1x20_WriteRegister(SSP1x20_REG0, 4, &amp;Write_REGTab[0]);<\/p>\n<p>&nbsp;<\/p>\n<p>printf(\"Write_REGTab[0]=%x\\r\\n\", Write_REGTab[0]);<\/p>\n<p>printf(\"Write_REGTab[1]=%x\\r\\n\", Write_REGTab[1]);<\/p>\n<p>printf(\"Write_REGTab[2]=%x\\r\\n\", Write_REGTab[2]);<\/p>\n<p>printf(\"Write_REGTab[3]=%x\\r\\n\", Write_REGTab[3]);<\/p>\n<p>w\u00e4hrend (1)<\/p>\n<p>{<\/p>\n<p>SSP1x20_SendCommand(SSP1x20_CMD_START); \/\/ Wenn die kontinuierliche Messung aktiviert ist, wird dieser Befehl nur einmal gesendet<\/p>\n<p>HAL_Delay(100);<\/p>\n<p>SPI_ADC_CS_LOW();<\/p>\n<p>}<\/p>\n<p><strong>\u00a0<\/strong><\/p>\n<p><strong>SSP1220 Testergebnisse<\/strong><\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-medium wp-image-2993\" src=\"https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12202-300x137.png\" alt=\"\" width=\"300\" height=\"137\" srcset=\"https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12202-300x137.png 300w, https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12202-18x8.png 18w, https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12202.png 500w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<ol start=\"2\">\n<li><strong>SSP1220 interne Temperaturmessung<\/strong><\/li>\n<\/ol>\n<p>Interne Temperaturtestfunktion<\/p>\n<p>float SSP1x20_read_temperature(void)<\/p>\n<p>{<\/p>\n<p>uint32_t ADC_data;<\/p>\n<p>uint32_t ADC_temp1;<\/p>\n<p>&nbsp;<\/p>\n<p>\/\/SSP1x20_read_register(SSP1x20_REG0, 4, &amp;Read_REGTab[0]);<\/p>\n<p>Write_REGTab[0] = SSP1x20_MUX_AIN0_AIN1 | SSP1x20_GAIN_1 | SSP1x20_PGA_BYPASS_ON;<\/p>\n<p>Write_REGTab[1] = SSP1x20_DR_20SPS | SSP1x20_MODE_NORMAL | SSP1x20_SC | SSP1x20_TS_ON | SSP1x20_BCS_OFF;<\/p>\n<p>Write_REGTab[2] = SSP1x20_VREF_2048 | SSP1x20_REJECT_OFF | SSP1x20_PSW_OFF | SSP1x20_IDAC_1000uA;<\/p>\n<p>Write_REGTab[3] = SSP1x20_IDAC1_AIN2 | SSP1x20_IDAC2_AIN3 | SSP1x20_DRDYM_DRDY;<\/p>\n<p>SSP1x20_WriteRegister(SSP1x20_REG0, 4, &amp;Write_REGTab[0]);<\/p>\n<p>&nbsp;<\/p>\n<p>SSP1x20_SendCommand(SSP1x20_CMD_START);<\/p>\n<p>SPI_ADC_CS_LOW();<\/p>\n<p>&nbsp;<\/p>\n<p>while (ADC_DRDY_GAIN == 1);\/\/SSP1x20_DRDYM_DRDY<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Details zur Konfiguration des internen Temperaturtests:<\/strong><\/p>\n<p><strong>\u00a0<\/strong>Write_REGTab[1] = SSP1x20_DR_20SPS | SSP1x20_MODE_NORMAL | SSP1x20_SC | SSP1x20_TS_ON | SSP1x20_BCS_OFF;<\/p>\n<ul>\n<li>SSP1x20_TS_ON: <strong>Aktivieren Sie den internen Temperatursensor<\/strong> (kritisch), diese Konfiguration hat die h\u00f6chste Priorit\u00e4t<\/li>\n<li>SSP1x20_SC: Selbstkalibrierung durchf\u00fchren (empfohlen)<\/li>\n<li><strong>20SPS<\/strong>: Geringe Geschwindigkeit und hohe Genauigkeit, geeignet f\u00fcr Temperaturmessungen<\/li>\n<\/ul>\n<p>Write_REGTab[2] = SSP1x20_VREF_2048 | SSP1x20_REJECT_OFF | SSP1x20_PSW_OFF | SSP1x20_IDAC_1000uA;<\/p>\n<ul>\n<li>SSP1x20_VREF_2048: Verwendung <strong>eine interne 2,048-V-Referenzspannung<\/strong> (nicht externer REF0!) \uff09\n<ul>\n<li>Da der interne Temperatursensor <strong>einen absoluten Spannungsausgang<\/strong>, a <strong>feste Referenzspannung <\/strong>muss zur Umrechnung der Temperatur verwendet werden.<\/li>\n<\/ul>\n<\/li>\n<li><strong>IDAC_1000uA<\/strong>: Obwohl IDAC aktiviert ist, <strong>IDAC im Modus TS_ON hat keinen Einfluss auf interne Temperaturmessungen<\/strong> (vernachl\u00e4ssigbar).<\/li>\n<\/ul>\n<p>Write_REGTab[3] = SSP1x20_IDAC1_AIN2 | SSP1x20_IDAC2_AIN3 | SSP1x20_DRDYM_DRDY;<\/p>\n<ul>\n<li>Konfigurieren Sie den IDAC-Pin und DRDY, aber <strong>keinen Einfluss auf die interne Temperaturmessung haben<\/strong> (lassen Sie die Register einfach intakt).<\/li>\n<li><strong>2 Starten Sie die Konvertierung und warten Sie auf DRDY<\/strong><\/li>\n<\/ul>\n<p>SSP1x20_SendCommand(SSP1x20_CMD_START); SPI_ADC_CS_LOW();<strong>w\u00e4hrend<\/strong> (ADC_DRDY_GAIN == 1); \/\/ \u7b49\u5f85 DRDY \u53d8\u4f4e<\/p>\n<ul>\n<li>Senden Sie den Befehl START, um einen kontinuierlichen \u00dcbergang zu starten.<\/li>\n<li>Warten auf <strong>den DRDY-Pin auf \"low\" zu setzen<\/strong>und zeigt damit an, dass die Daten bereit sind.<\/li>\n<\/ul>\n<p>Die Messung der Innenraumtemperatur ist in der nachstehenden Abbildung dargestellt:<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-medium wp-image-2994\" src=\"https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12203-300x141.png\" alt=\"\" width=\"300\" height=\"141\" srcset=\"https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12203-300x141.png 300w, https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12203-18x8.png 18w, https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12203.png 479w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<h2>3. Externe Temperaturmessung (Methode 1, vereinfachte Berechnung des Faktors 0,385)<\/h2>\n<p>Code f\u00fcr externe Temperaturtests:<\/p>\n<p>uint32_t ADC_gain_value = 0; \/\/ Auslesedaten<\/p>\n<p>uint32_t ADC_value = 0; \/\/ Messung des Datenwerts<\/p>\n<p>Float tmpPt100=0;<\/p>\n<p>Schwimmer RTD=0;<\/p>\n<p>void SSP1x20_ADC_Measure(void)<\/p>\n<p>{<\/p>\n<p>&nbsp;<\/p>\n<p>printf(\"\\r\\n Mehrpunkt-Einzelspannungsmessung \\r\\n\");<\/p>\n<p>Write_REGTab[0] = SSP1x20_MUX_AIN1_AIN0 | SSP1x20_GAIN_1 | SSP1x20_PGA_BYPASS_OFF; SSP1x20_MUX_AIN1_AIN0 Schnittstelle AIN1 AIN0 sollte anhand des aktuellen Schaltplans ausgew\u00e4hlt werden<\/p>\n<p>Write_REGTab[1] = SSP1x20_DR_20SPS | SSP1x20_MODE_NORMAL | SSP1x20_SC | SSP1x20_TS_OFF | SSP1x20_BCS_OFF;<\/p>\n<p>Write_REGTab[2] = SSP1x20_VREF_REF0 | SSP1x20_REJECT_OFF | SSP1x20_PSW_OFF | SSP1x20_IDAC_500uA;<\/p>\n<p>Write_REGTab[3] = SSP1x20_IDAC1_AIN2 | SSP1x20_IDAC2_AIN3 | SSP1x20_DRDYM_DRDY;<\/p>\n<p>SSP1x20_WriteRegister(SSP1x20_REG0, 4, &amp;Write_REGTab[0]);<\/p>\n<p>printf(\"Write_REGTab[0]=%x\\r\\n\", Write_REGTab[0]);<\/p>\n<p>printf(\"Write_REGTab[1]=%x\\r\\n\", Write_REGTab[1]);<\/p>\n<p>printf(\"Write_REGTab[2]=%x\\r\\n\", Write_REGTab[2]);<\/p>\n<p>printf(\"Write_REGTab[3]=%x\\r\\n\", Write_REGTab[3]);<\/p>\n<p>w\u00e4hrend (1)<\/p>\n<p>{<\/p>\n<p>&nbsp;<\/p>\n<p>SSP1x20_SendCommand(SSP1x20_CMD_START); Wenn die kontinuierliche Messung aktiviert ist, wird dieser Befehl nur einmal gesendet<\/p>\n<p>HAL_Delay(100);<\/p>\n<p>SPI_ADC_CS_LOW();<\/p>\n<p>ADC_gain_value =0;<\/p>\n<p>&nbsp;<\/p>\n<p>ADC_gain_value = SPI_ADC_ReadByte();<\/p>\n<p>ADC_gain_value = (ADC_gain_value &lt;&lt; 8) | SPI_ADC_ReadByte();<\/p>\n<p>ADC_gain_value = (ADC_gain_value &lt;&lt; 8) | SPI_ADC_ReadByte();<\/p>\n<p>&nbsp;<\/p>\n<p>SPI_ADC_CS_HIGH();<\/p>\n<p>&nbsp;<\/p>\n<p>RTD = 1650*( (float)ADC_gain_value \/(0x3fffff));\/\/Referenzwiderstand 1650 Ohm<\/p>\n<p>tmpPt100 = (RTD-100)\/0,38;<\/p>\n<p>__NOP();<\/p>\n<p>&nbsp;<\/p>\n<p>printf(\"R=%.3f \u03a9, Temp=%.2f \u00b0C\\r\\n\",RTD, tmpPt100 );<\/p>\n<p>}<\/p>\n<p>Die Ergebnisse der Drei-Linien-Widerstandsthermometer-Messung der Temperatur des Eis-Wasser-Gemischs sind in der nachstehenden Abbildung dargestellt:<\/p>\n<p><strong> <img decoding=\"async\" loading=\"lazy\" class=\"alignnone  wp-image-2995\" src=\"https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12204-263x300.png\" alt=\"\" width=\"156\" height=\"178\" srcset=\"https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12204-263x300.png 263w, https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12204-11x12.png 11w, https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12204.png 287w\" sizes=\"(max-width: 156px) 100vw, 156px\" \/> <img decoding=\"async\" loading=\"lazy\" class=\"alignnone  wp-image-2996\" src=\"https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12205-300x199.png\" alt=\"\" width=\"371\" height=\"246\" srcset=\"https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12205-300x199.png 300w, https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12205-18x12.png 18w, https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12205.png 414w\" sizes=\"(max-width: 371px) 100vw, 371px\" \/><\/strong><\/p>\n<p><strong>Externe Temperaturmessungen (Methode zwei, berechnet nach der Callendar-Van Dusen-Gleichung) sind genauer<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p>Master Code:<\/p>\n<p>\/\/Hochgenaues RTD -&gt; Temperatur<\/p>\n<p>static float rtd_to_temperature_iec60751(float rtd)<\/p>\n<p>{<\/p>\n<p>if (rtd &lt; 0.0f) return -999.0f; \/\/ illegaler Wert<\/p>\n<p>&nbsp;<\/p>\n<p>float t = (rtd - R0_PT100) \/ 0,385f; \/\/ Anfangssch\u00e4tzung<\/p>\n<p>&nbsp;<\/p>\n<p>if (rtd &lt;= R0_PT100) {<\/p>\n<p>\/\/T &lt; = 0\u00b0C: Verwenden Sie die vollst\u00e4ndige Gleichung<\/p>\n<p>for (int i = 0; i &lt; 10; i++) {<\/p>\n<p>float rt_calc = R0_PT100 * (1.0f + A_COEFF*t + B_COEFF*t*t + C_COEFF*(t - 100.0f)*t*t*t);<\/p>\n<p>float dr_dt = R0_PT100 * (A_COEFF + 2.0f*B_COEFF*t + C_COEFF*(4.0f*t*t*t - 300.0f*t*t));<\/p>\n<p>float error = rt_calc - rtd;<\/p>\n<p>t -= Fehler \/ dr_dt;<\/p>\n<p>if (fabsf(error) &lt; 0.001f) break;<\/p>\n<p>}<\/p>\n<p>} sonst {<\/p>\n<p>\/\/ T &gt;= 0\u00b0C:: Verwenden Sie die vereinfachte Gleichung<\/p>\n<p>for (int i = 0; i &lt; 10; i++) {<\/p>\n<p>float rt_calc = R0_PT100 * (1.0f + A_COEFF*t + B_COEFF*t*t);<\/p>\n<p>float dr_dt = R0_PT100 * (A_COEFF + 2.0f*B_COEFF*t);<\/p>\n<p>float error = rt_calc - rtd;<\/p>\n<p>t -= Fehler \/ dr_dt;<\/p>\n<p>if (fabsf(error) &lt; 0.001f) break;<\/p>\n<p>}<\/p>\n<p>}<\/p>\n<p>t zur\u00fcckgeben;<\/p>\n<p>}<\/p>\n<p>\/**<\/p>\n<p>* @brief Analogkanal ADC-Messung (externe Temperaturmessung)<\/p>\n<p>* @param Keine<\/p>\n<p>* @retval Keine<\/p>\n<p>*\/<\/p>\n<p>uint32_t ADC_gain_value = 0; \/\/ Auslesedaten<\/p>\n<p>uint32_t ADC_value = 0; \/\/ Messung des Datenwerts<\/p>\n<p>Float tmpPt100=0;<\/p>\n<p>Schwimmer RTD=0;<\/p>\n<p>void SSP1x20_ADC_Measure(void)<\/p>\n<p>{<\/p>\n<p>&nbsp;<\/p>\n<p>printf(\"\\r\\n Mehrpunkt-Einzelspannungsmessung \\r\\n\");<\/p>\n<p>Write_REGTab[0] = SSP1x20_MUX_AIN1_AIN0 | SSP1x20_GAIN_1 | SSP1x20_PGA_BYPASS_OFF;<\/p>\n<p>Write_REGTab[1] = SSP1x20_DR_20SPS | SSP1x20_MODE_NORMAL | SSP1x20_SC | SSP1x20_TS_OFF | SSP1x20_BCS_OFF;<\/p>\n<p>Write_REGTab[2] = SSP1x20_VREF_REF0 | SSP1x20_REJECT_OFF | SSP1x20_PSW_OFF | SSP1x20_IDAC_500uA;<\/p>\n<p>Write_REGTab[3] = SSP1x20_IDAC1_AIN2 | SSP1x20_IDAC2_AIN3 | SSP1x20_DRDYM_DRDY;<\/p>\n<p>\/\/ Write_REGTab[3] = SSP1x20_IDAC1_AIN3 | SSP1x20_IDAC2_AIN2 | SSP1x20_DRDYM_DRDY;<\/p>\n<p>SSP1x20_WriteRegister(SSP1x20_REG0, 4, &amp;Write_REGTab[0]);<\/p>\n<p>printf(\"Write_REGTab[0]=%x\\r\\n\", Write_REGTab[0]);<\/p>\n<p>printf(\"Write_REGTab[1]=%x\\r\\n\", Write_REGTab[1]);<\/p>\n<p>printf(\"Write_REGTab[2]=%x\\r\\n\", Write_REGTab[2]);<\/p>\n<p>printf(\"Write_REGTab[3]=%x\\r\\n\", Write_REGTab[3]);<\/p>\n<p>w\u00e4hrend (1)<\/p>\n<p>{<\/p>\n<p>SSP1x20_SendCommand(SSP1x20_CMD_START); Wenn die kontinuierliche Messung aktiviert ist, wird dieser Befehl nur einmal gesendet<\/p>\n<p>HAL_Delay(100);<\/p>\n<p>SPI_ADC_CS_LOW();<\/p>\n<p>&nbsp;<\/p>\n<p>ADC_gain_value =0;<\/p>\n<p>ADC_gain_value = SPI_ADC_ReadByte();<\/p>\n<p>ADC_gain_value = (ADC_gain_value &lt;&lt; 8) | SPI_ADC_ReadByte();<\/p>\n<p>ADC_gain_value = (ADC_gain_value &lt;&lt; 8) | SPI_ADC_ReadByte();<\/p>\n<p>&nbsp;<\/p>\n<p>SPI_ADC_CS_HIGH();<\/p>\n<p>&nbsp;<\/p>\n<p>#define CALIBRATED_FULL_SCALE 4210300.0f \/\/ entsprechend den Kalibrierungsdaten<\/p>\n<p>&nbsp;<\/p>\n<p>RTD = 1650.0f * ((float)ADC_gain_value \/ CALIBRATED_FULL_SCALE);<\/p>\n<p>tmpPt100 = rtd_to_temperature_iec60751(RTD);<\/p>\n<p>__NOP();<\/p>\n<p>&nbsp;<\/p>\n<p>printf(\"R=%.3f \u03a9, Temp=%.2f \u00b0C\\r\\n\",RTD, tmpPt100 );<\/p>\n<p>}<\/p>\n<p>}<\/p>\n<p>&nbsp;<\/p>\n<p>Die Testergebnisse sind in der Abbildung dargestellt:<\/p>\n<p>&nbsp;<\/p>\n<p>Pr\u00fcfung der Warmwassertemperatur:<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-medium wp-image-2997\" src=\"https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12206-300x199.png\" alt=\"\" width=\"300\" height=\"199\" srcset=\"https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12206-300x199.png 300w, https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12206-18x12.png 18w, https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12206.png 675w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/> <img decoding=\"async\" loading=\"lazy\" class=\"alignnone  wp-image-2998\" src=\"https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12207-300x275.jpg\" alt=\"\" width=\"215\" height=\"197\" srcset=\"https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12207-300x275.jpg 300w, https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12207-13x12.jpg 13w, https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12207.jpg 546w\" sizes=\"(max-width: 215px) 100vw, 215px\" \/><\/p>\n<p>Test der Eis-Wasser-Mischung:<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-medium wp-image-2999\" src=\"https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12208-300x205.png\" alt=\"\" width=\"300\" height=\"205\" srcset=\"https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12208-300x205.png 300w, https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12208-18x12.png 18w, https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12208.png 670w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/> <img decoding=\"async\" loading=\"lazy\" class=\"alignnone  wp-image-3000\" src=\"https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12209-197x300.jpg\" alt=\"\" width=\"147\" height=\"224\" srcset=\"https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12209-197x300.jpg 197w, https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12209-8x12.jpg 8w, https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12209.jpg 391w\" sizes=\"(max-width: 147px) 100vw, 147px\" \/><\/p>\n<h2>4. Details zur Konfiguration des externen Temperaturtests:<\/h2>\n<table width=\"727\">\n<thead>\n<tr>\n<td width=\"158\"><strong>Register<\/strong><\/td>\n<td width=\"196\"><strong>Werte konfigurieren (Ihr Code)<\/strong><\/td>\n<td width=\"152\"><strong>Beschreibung der Funktion:<\/strong><\/td>\n<td width=\"211\"><strong>Warum haben Sie dies gew\u00e4hlt?<\/strong><\/td>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td rowspan=\"4\" width=\"158\"><strong>REG0<\/strong><br \/>\nWrite_REGTab[0]<\/td>\n<td width=\"196\">SSP1x20_MUX_AIN1_AIN0<br \/>\n| SSP1x20_GAIN_1<br \/>\n|SSP1x20_PGA_BYPASS_OFF<\/td>\n<td width=\"152\"><strong>Kanalauswahl + Verst\u00e4rkungseinstellungen eingeben<\/strong><\/td>\n<td width=\"211\">&nbsp;<\/td>\n<\/tr>\n<tr>\n<td width=\"196\">SSP1x20_MUX_AIN1_AIN0<\/td>\n<td width=\"152\">Differenzeing\u00e4nge: <strong>AIN1 ist positiv und AIN0 ist negativ<\/strong><\/td>\n<td width=\"211\">Der PT100 wird beidseitig an AIN0 und AIN1 angeschlossen und ben\u00f6tigt eine Differenzspannungsmessung. \u26a0\ufe0f <strong>Beachten Sie die Polarit\u00e4t<\/strong>Wenn die Konfiguration umgekehrt ist, gibt der ADC einen negativen Wert aus (z. B. 0x800000), was zu einer negativen Temperatur f\u00fchrt.<\/td>\n<\/tr>\n<tr>\n<td width=\"196\">SSP1x20_GAIN_1<\/td>\n<td width=\"152\">Verst\u00e4rkung = 1<\/td>\n<td width=\"211\">Der PT100 hat eine kleinere Spannung (z. B. 500\u03bcA \u00d7 100\u03a9 = 50mV), verwendet aber eine Verh\u00e4ltnismessung (die Referenzspannung stammt ebenfalls von IDAC), so dass <strong>keine Verst\u00e4rkung <\/strong>ist erforderlich, um eine S\u00e4ttigung zu vermeiden.<\/td>\n<\/tr>\n<tr>\n<td width=\"196\">SSP1x20_PGA_BYPASS_OFF<\/td>\n<td width=\"152\"><strong>Kein Bypass PGA<\/strong><\/td>\n<td width=\"211\">Behalten Sie die PGA-Funktion bei (auch wenn die Verst\u00e4rkung 1 ist), um sicherzustellen, dass der Signalweg normal ist.<\/td>\n<\/tr>\n<tr>\n<td rowspan=\"6\" width=\"158\"><strong>REG1<\/strong><br \/>\nWrite_REGTab[1]<\/td>\n<td width=\"196\">SSP1x20_DR_20SPS<br \/>\n| SSP1x20_MODE_NORMAL<br \/>\n| SSP1x20_SC<br \/>\n| SSP1x20_TS_OFF<br \/>\n| SSP1x20_BCS_OFF<\/td>\n<td width=\"152\"><strong>Datenrate + Betriebsart<\/strong><\/td>\n<td width=\"211\">&nbsp;<\/td>\n<\/tr>\n<tr>\n<td width=\"196\">SSP1x20_DR_20SPS<\/td>\n<td width=\"152\">Abtastrate = <strong>20 Abtastpunkte\/Sekunde<\/strong><\/td>\n<td width=\"211\">Eine niedrige Geschwindigkeit verbessert die Genauigkeit, unterdr\u00fcckt Rauschen und eignet sich f\u00fcr Temperaturmessungen (langsame \u00c4nderungen).<\/td>\n<\/tr>\n<tr>\n<td width=\"196\">SSP1x20_MODE_NORMAL<\/td>\n<td width=\"152\">Normaler kontinuierlicher Umwandlungsmodus<\/td>\n<td width=\"211\">Kontinuierliche Datenausgabe f\u00fcr die Echtzeit\u00fcberwachung.<\/td>\n<\/tr>\n<tr>\n<td width=\"196\">SSP1x20_SC<\/td>\n<td width=\"152\"><strong>Selbstkalibrierung durchf\u00fchren<\/strong><\/td>\n<td width=\"211\">Die Kalibrierung nach jeder Konfiguration beseitigt Offset-\/Verst\u00e4rkungsfehler und verbessert die Genauigkeit.<\/td>\n<\/tr>\n<tr>\n<td width=\"196\">SSP1x20_TS_OFF<\/td>\n<td width=\"152\"><strong>Schalten Sie den internen Temperatursensor aus.<\/strong><\/td>\n<td width=\"211\">Wir messen den externen PT100 und ben\u00f6tigen die interne Temperatur nicht.<\/td>\n<\/tr>\n<tr>\n<td width=\"196\">SSP1x20_BCS_OFF<\/td>\n<td width=\"152\">Abbrandstromquellen deaktivieren<\/td>\n<td width=\"211\">Nein, das m\u00fcssen Sie nicht.<\/td>\n<\/tr>\n<tr>\n<td width=\"158\"><strong>REG2<\/strong><br \/>\nWrite_REGTab[2]<\/td>\n<td width=\"196\">SSP1x20_VREF_REF0<br \/>\n| SSP1x20_REJECT_OFF<br \/>\n| SSP1x20_PSW_OFF<br \/>\nSSP1x20_IDAC_500uA<\/td>\n<td width=\"152\"><strong>Referenzspannung + IDAC-Einstellungen<\/strong><\/td>\n<td width=\"211\">&nbsp;<\/td>\n<\/tr>\n<tr>\n<td width=\"158\">&nbsp;<\/td>\n<td width=\"196\">SSP1x20_VREF_REF0<\/td>\n<td width=\"152\">Verwenden Sie <strong>eine externe Referenz <\/strong>Spannung (REF0 = Spannung zwischen AIN2\/AIN3).<\/td>\n<td width=\"211\">Umsetzung <strong>verh\u00e4ltnisbasierte Messungen<\/strong>: ADC-Ergebnis = (Vpt100 \/ Vref) \u00d7 224, <strong>unabh\u00e4ngig vom IDAC-Strom absolut<\/strong>nur auf Rref bezogen, resistent gegen Schwankungen der Stromversorgung.<\/td>\n<\/tr>\n<tr>\n<td width=\"158\">&nbsp;<\/td>\n<td width=\"196\">SSP1x20_REJECT_OFF<\/td>\n<td width=\"152\">50\/60Hz-Unterdr\u00fcckung ist nicht aktiviert<\/td>\n<td width=\"211\">Wenn die Umgebungsst\u00f6rung gering ist, kann sie ausgeschaltet werden; wenn sie sich in einer Netzfrequenzumgebung befindet, wird empfohlen, REJECT_50 einzuschalten.<\/td>\n<\/tr>\n<tr>\n<td width=\"158\">&nbsp;<\/td>\n<td width=\"196\">SSP1x20_PSW_OFF<\/td>\n<td width=\"152\">Schalten Sie den Schalter f\u00fcr die Stromversorgung des Sensors aus.<\/td>\n<td width=\"211\">Der PT100 wird \u00fcber IDAC versorgt und ben\u00f6tigt kein zus\u00e4tzliches PSW.<\/td>\n<\/tr>\n<tr>\n<td width=\"158\">&nbsp;<\/td>\n<td width=\"196\">SSP1x20_IDAC_500uA<\/td>\n<td width=\"152\">Konstantstromquelle Strom einstellen = <strong>500 \u03bcA<\/strong><\/td>\n<td width=\"211\">Gemeinsame Stromwerte, Ausgleich der Leistungsaufnahme und der Signalamplitude (100\u03a9 \u2192 50mV).<\/td>\n<\/tr>\n<tr>\n<td rowspan=\"4\" width=\"158\"><strong>REG3<\/strong><br \/>\nWrite_REGTab[3]<\/td>\n<td width=\"196\">SSP1x20_IDAC1_AIN2<br \/>\n| SSP1x20_IDAC2_AIN3<br \/>\n| SSP1x20_DRDYM_DRDY<\/td>\n<td width=\"152\"><strong>IDAC-Ausgangspin + DRDY-Konfiguration<\/strong><\/td>\n<td width=\"211\">&nbsp;<\/td>\n<\/tr>\n<tr>\n<td width=\"196\">SSP1x20_IDAC1_AIN2<\/td>\n<td width=\"152\"><strong>IDAC1-Ausgang an AIN2<\/strong><\/td>\n<td width=\"211\">AIN2 bis PT100 (Erregung)<\/td>\n<\/tr>\n<tr>\n<td width=\"196\">SSP1x20_IDAC2_AIN3<\/td>\n<td width=\"152\"><strong>IDAC2-Ausgang an AIN3<\/strong><\/td>\n<td width=\"211\">AIN3 ist mit dem Referenzwiderstand an einem Ende von R_ref verbunden (bildet die Schleife)<br \/>\n\u2192 verwirklicht <strong>Dreidrahtkompensation <\/strong>(kompensiert den Leitungswiderstand).<\/td>\n<\/tr>\n<tr>\n<td width=\"196\">SSP1x20_DRDYM_DRDY<\/td>\n<td width=\"152\">Aktivieren Sie <strong>den DRDY-Stift <\/strong>(Datenbereitschaftssignal).<\/td>\n<td width=\"211\">Die MCU erkennt DRDY-Low-Pegel \u00fcber GPIO, um zu wissen, wann Daten gelesen werden und um Polling zu vermeiden.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p>----------------------------------<\/p>\n<p>Schl\u00fcsselteil Code Formelberechnung:<\/p>\n<p>RTD = 1650*( (float)ADC_gain_value \/(0x3fffff)); \/\/Referenzwiderstand 1650 Ohm tmpPt100 = (RTD-100)\/0,385;<\/p>\n<h2>Bezugswiderstand 1650 Ohm,<\/h2>\n<h2>Erste Zeile Code RTD = 1650 * (ADC \/ 0x3FFFFF)<\/h2>\n<h2>Entwickelt, um den urspr\u00fcnglichen ADC-Wert in den Widerstandswert des PT100 umzuwandeln (Verh\u00e4ltnismessung)<\/h2>\n<ul>\n<li><strong> VIN = I \u00d7 RPT100 (Spannung \u00fcber PT100)<\/strong><\/li>\n<li><strong> VREF = I \u00d7 RREF (Spannung am Referenzwiderstand)<\/strong><\/li>\n<\/ul>\n<p>An beiden Enden wird die gleiche Konstantstromquelle I adc verwendet<\/p>\n<p>&nbsp;<\/p>\n<p>Also:\u00a0\u00a0\u00a0\u00a0 <strong>Vin\/Vref = Rpt100\/Rref<\/strong><\/p>\n<p><strong>\u00a0<\/strong><\/p>\n<p><strong>Der Ausgang des ADC ist das digitalisierte Ergebnis dieses Verh\u00e4ltnisses<\/strong><\/p>\n<p><strong>ADC_Code = Vin\/Vref x 2<sup>24<\/sup><\/strong><\/p>\n<p><strong>\u00a0<\/strong><\/p>\n<p>So zur\u00fcckgedr\u00e4ngt<\/p>\n<p><strong>Rpt100<\/strong><strong>\u200b<\/strong><strong>= Rref x ADC_Code \/2<sup>24<\/sup><\/strong><\/p>\n<p>&nbsp;<\/p>\n<p>---------------------------------------<\/p>\n<h2>Zweite Codezeile: tmpPt100 = (RTD - 100) \/ 0,385;<\/h2>\n<h2>Sch\u00e4tzen Sie die Temperatur mit einer linearen N\u00e4herungsformel<\/h2>\n<p>Bei 0\u00b0C, Rpt100 = 100 \u03a9<\/p>\n<p>Bei jeder Temperaturerh\u00f6hung um 1\u00b0C steigt der Widerstand um etwa 0,385 \u03a9.<\/p>\n<p>Also<\/p>\n<p>&nbsp;<\/p>\n<p><strong>T <\/strong><strong>\u2248<\/strong><strong> (R-100)\/0.385<\/strong><\/p>\n<p><strong>\u00a0<\/strong><\/p>\n<p><strong>\u00a0<\/strong><\/p>\n<h3>\u2165\u3001 Anleitung zur Fehlersuche bei allgemeinen Problemen<\/h3>\n<table>\n<thead>\n<tr>\n<td width=\"158\"><strong>Anomal<\/strong><\/td>\n<td><strong>M\u00f6gliche Ursachen<\/strong><\/td>\n<td><strong>Schritte zur Fehlersuche<\/strong><\/td>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td width=\"158\">Der urspr\u00fcngliche Wert des ADC (raw) ist negativ<\/td>\n<td>AIN0 ist das Gegenst\u00fcck zur AIN1-Konfiguration<\/td>\n<td>1. \u00dcberpr\u00fcfen Sie, ob die Softwarekonfiguration mit der Verbindung zur Hardware \u00fcbereinstimmt<\/td>\n<\/tr>\n<tr>\n<td width=\"158\">R_PT100 &gt; 1400\u03a9<\/td>\n<td>1. Falsche IDAC-Stromkonfiguration; 2. Rref \u00f6ffnet<\/td>\n<td>1. Pr\u00fcfen Sie die IDAC-Konfiguration von REG2 (stellen Sie sicher, dass sie 500\u03bcA betr\u00e4gt); 2. messen Sie den Widerstandswert R ref mit einem Multimeter, um zu best\u00e4tigen, dass der Stromkreis nicht offen ist<\/td>\n<\/tr>\n<tr>\n<td width=\"158\">Der Temperaturwert ist - 999\u00b0C<\/td>\n<td>PT100 \u00fcberschreitet den Bereich 18\u03a9~330\u03a9<\/td>\n<td>1. Pr\u00fcfen Sie, ob der PT100 nicht angeschlossen ist (messen Sie den PT100-Widerstand); 2. \u00fcberpr\u00fcfen Sie die SPI-Kommunikation (Lesen der Registerkonfigurationswerte)<\/td>\n<\/tr>\n<tr>\n<td width=\"158\">Temperaturschwankungen &gt; 0,1\u00b0C<\/td>\n<td>1. Gro\u00dfe Restwelligkeit der Stromversorgung; 2. elektromagnetische St\u00f6rungen<\/td>\n<td>1. SSP1220 VDD-Welligkeit messen (\u2264 10mV erforderlich); 2. Pr\u00fcfen Sie die Erdung des Abschirmdrahtes, um St\u00f6rungen zu vermeiden.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>\u2166\u3001 SSP1220 Core Register Konfigurationstabelle<\/h3>\n<table>\n<thead>\n<tr>\n<td width=\"72\">Register<\/td>\n<td width=\"130\">Artikel konfigurieren<\/td>\n<td width=\"149\">Wert (externe Temperaturmessung)<\/td>\n<td width=\"191\">Beschreibung der Funktion:<\/td>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td rowspan=\"3\" width=\"72\">REG0<\/td>\n<td width=\"130\">Differenzielle Kan\u00e4le<\/td>\n<td width=\"149\">AIN1-AIN0<\/td>\n<td width=\"191\">Passen Sie die PT100-Verdrahtung an, um negative Rohdaten zu vermeiden.<\/td>\n<\/tr>\n<tr>\n<td width=\"130\">gewinnen<\/td>\n<td width=\"149\">1\u00d7<\/td>\n<td width=\"191\">Vermeidung von Signals\u00e4ttigung und Anpassung an die Verh\u00e4ltnismessung<\/td>\n<\/tr>\n<tr>\n<td width=\"130\">PGA-Umgehung<\/td>\n<td width=\"149\">deaktivieren<\/td>\n<td width=\"191\">Bewahrung der Integrit\u00e4t des Signalwegs<\/td>\n<\/tr>\n<tr>\n<td rowspan=\"4\" width=\"72\">REG1<\/td>\n<td width=\"130\">Abtastrate<\/td>\n<td width=\"149\">20SPS<\/td>\n<td width=\"191\">Niedrige Geschwindigkeit verbessert die Genauigkeit und passt sich an langsame Temperatursignale an<\/td>\n<\/tr>\n<tr>\n<td width=\"130\">Arbeitsmodus<\/td>\n<td width=\"149\">Normaler Modus<\/td>\n<td width=\"191\">Kontinuierliche Umwandlung und Echtzeitausgabe von Temperaturdaten<\/td>\n<\/tr>\n<tr>\n<td width=\"130\">Selbstkalibrierung<\/td>\n<td width=\"149\">aktivieren.<\/td>\n<td width=\"191\">Beseitigung von Offset-\/Gain-Fehlern und Verbesserung der Genauigkeit<\/td>\n<\/tr>\n<tr>\n<td width=\"130\">Interner TS<\/td>\n<td width=\"149\">deaktivieren<\/td>\n<td width=\"191\">Externe Temperaturmessung erfordert keine internen Sensoren<\/td>\n<\/tr>\n<tr>\n<td rowspan=\"2\" width=\"72\">\u00a0REG2<\/td>\n<td width=\"130\">Referenzspannung<\/td>\n<td width=\"149\">Externer REF0<\/td>\n<td width=\"191\">Ratio-basierte Messung zum Ausgleich von IDAC-Stromschwankungen<\/td>\n<\/tr>\n<tr>\n<td width=\"130\">IDAC-Strom<\/td>\n<td width=\"149\">500\u03bcA<\/td>\n<td width=\"191\">Symmetrische Leistungsaufnahme und Signalamplitude (50mV 100\u03a9)<\/td>\n<\/tr>\n<tr>\n<td rowspan=\"2\" width=\"72\">REG3<\/td>\n<td width=\"130\">IDAC1-Routen<\/td>\n<td width=\"149\">AIN2<\/td>\n<td width=\"191\">Der Erregerstromeingang PT100<\/td>\n<\/tr>\n<tr>\n<td width=\"130\">IDAC2-Routen<\/td>\n<td width=\"149\">AIN3<\/td>\n<td width=\"191\">Dem Vorwiderstand R7 entgegenwirken<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Tabelle der Koeffizienten der \u2167\u3001Callendar-Van Dusen-Gleichung<\/h3>\n<table>\n<tbody>\n<tr>\n<td width=\"138\">Koeffizient<\/td>\n<td width=\"139\">Numerischer Wert<\/td>\n<td width=\"110\">Einheit<\/td>\n<td width=\"166\">Umfang der Anwendung<\/td>\n<\/tr>\n<tr>\n<td width=\"138\">R0<\/td>\n<td width=\"139\">100.0<\/td>\n<td width=\"110\">\u03a9<\/td>\n<td width=\"166\">0\u00b0C Bezugswiderstand<\/td>\n<\/tr>\n<tr>\n<td width=\"138\">A<\/td>\n<td width=\"139\">3.9083\u00d710<sup>-3<\/sup><\/td>\n<td width=\"110\">\u2103<sup>-1<\/sup><\/td>\n<td width=\"166\">-200\u2103~600\u2103<\/td>\n<\/tr>\n<tr>\n<td width=\"138\">B<\/td>\n<td width=\"139\">-5.775\u00d710<sup>-7<\/sup><\/td>\n<td width=\"110\">\u2103<sup>-2<\/sup><\/td>\n<td width=\"166\">-200\u2103~600\u2103<\/td>\n<\/tr>\n<tr>\n<td width=\"138\">C<\/td>\n<td width=\"139\">-4.183\u00d710<sup>-12<\/sup><\/td>\n<td width=\"110\">\u2103<sup>-4<\/sup><\/td>\n<td width=\"166\">-200\u2103~0\u2103<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Den vollst\u00e4ndigen Code erhalten Sie, wenn Sie sich an unseren technischen Support wenden. Kontakt: 18014203727<\/strong><\/p>","protected":false},"excerpt":{"rendered":"<p>SSP1220 Dreileiter-RTD-Messung<\/p>","protected":false},"author":9,"featured_media":3001,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[62],"tags":[331,330],"acf":[],"_links":{"self":[{"href":"https:\/\/www.siproin-ic.com\/de\/wp-json\/wp\/v2\/posts\/2991"}],"collection":[{"href":"https:\/\/www.siproin-ic.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.siproin-ic.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.siproin-ic.com\/de\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/www.siproin-ic.com\/de\/wp-json\/wp\/v2\/comments?post=2991"}],"version-history":[{"count":0,"href":"https:\/\/www.siproin-ic.com\/de\/wp-json\/wp\/v2\/posts\/2991\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.siproin-ic.com\/de\/wp-json\/wp\/v2\/media\/3001"}],"wp:attachment":[{"href":"https:\/\/www.siproin-ic.com\/de\/wp-json\/wp\/v2\/media?parent=2991"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.siproin-ic.com\/de\/wp-json\/wp\/v2\/categories?post=2991"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.siproin-ic.com\/de\/wp-json\/wp\/v2\/tags?post=2991"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}