Konvertieren eines ADC-Werts in eine äquivalente Temperatur?

Ich arbeite an einem Feuchtigkeitsregler, der auch die Temperatur in einer Kammer regelt. Ich bin mit der Hardware fertig (obwohl ich nicht derjenige hinter dem Design bin) und der ursprünglich mit einem externen 12-Bit-ADC und einem 89s52 entworfen wurde uc und ich habe beide durch PIC 16F877A uc ersetzt und ich verwende den internen 10-Bit -ADC.

Andere Hardwaredetails sind (ich kann den Schaltplan zur Verfügung stellen, obwohl es umständlich erscheint).Geben Sie hier die Bildbeschreibung ein

  • Temperatursensor -PT100
  • Feuchtigkeitssensor - SY-HS-220 ( Datenblatt )
  • +Vref für ADC - 1,235 V und -vref = 0;

Ich habe die Spannung an den 2 ADC-Kanälen grob überprüft, indem ich die Sensoren durch einen 500-Ohm-Pot ersetzt habe (an dieser Stelle nicht besorgt über die Fehler) und die folgenden Zahlen erhalten

vorgeschlagene Temp. | Spannung @ ADC

  1. 5 oC--------------1.650v
  2. 6 oC--------------1.660v
  3. 80 oC-------------2.480v

vorgeschlagene Feuchtigkeit | Spannung @ ADC

  1. 30 % (990 mV) -------- 0,098 V
  2. 31 % (1023 mV) ------- 0,101 V
  3. 32 % (1056 mV) ------- 0,104 V
  4. 33 % (1089 mV) ------- 0,107 V
  5. 34 % (1122 mV) ------- 0,110 V
  6. 40 % (1300 mV) ------- 0,128 V
  7. 90 % (2970 mV) ------- 0,29 V

    Ich möchte diese Hardware für folgende Anforderungen verwenden

    • Temp. Messung - 5-80 oC, 0,5 oC Auflösung
    • Relative Luftfeuchtigkeit - 30-90 %, 1 % Auflösung

Und meine Bedenken sind

  1. Sollte ich die Referenzspannung auf 2,5 V ändern müssen, da ich sehe, dass die maximal zu messende Spannung 2,48 beträgt? Oder diese Spannung ist ein Fehler, da die ursprüngliche Hardware mit 1,235 V ausgelegt ist

    • ist die Spannung am ADC-Eingang (des Temperatursensors) so einstellbar, dass sie durch einige geringfügige Hardwareänderungen (wie das Ändern eines Widerstandswerts, um die Verstärkung des Verstärkers zu ändern) innerhalb von 1,235 V liegt (also denke ich, eine bessere Leistung)
  2. sind meine Anforderungen mit einer einzelnen ADC-Konfiguration erreichbar, da ich besorgt bin über die groben Zahlen, die ich erhalten habe (ADC-Eingangswerte für Temperatur und Luftfeuchtigkeit sind nicht vergleichbar oder auch das ein Fehler?)?

    • für die Temperatur konnte ich nur mit 1 oC-Schritten messen, da das RTD-Diagramm ( For European Curve, Alpha = .00385, ITS-90 ) mit 1 oC-Schritten versehen war. Um eine Auflösung von 0,5 oC zu messen, ist es in Ordnung, wenn ich die Spannungsänderung für 1 oC-Schritte durch 2 teile (vorausgesetzt, die Kurve ist linear, oder nicht!?)
  3. Wie man die Abtastzeit des ADC effizient bestimmt (unter Berücksichtigung der Tatsache, dass die Sensoren langsam reagieren, vorübergehende Spannungsschwankungen in der Leitung usw.)

  4. Schließlich, wie ADC-Werte in äquivalente Prozesswerte umgewandelt werden.? (Entschuldigung, wenn der Titel der Frage nur hier passt)

    • Durch eine Tabelle nachschlagen? (in meinem Fall 150 Werte (für Temperatur) + 60 Werte (relative Luftfeuchtigkeit)) oder kann ich eine Berechnung verwenden? (Wenn ja, wie erhält man eine lineare Beziehung zwischen den ADC-Werten und den Prozesswerten) .Welche Methode ist in Bezug auf die Genauigkeit effizient?
Äh, 990 mV sind 0,99 V. 2970 mV sind 2,97 V. Irgendetwas stimmt in deinem Setup definitiv nicht.
@Passerby ja, ich kenne die Umrechnung zwischen mV und V. Was ich angegeben habe, sind die am ADC-Eingang beobachteten Werte für eine Spannung über dem Sensor. Die Spannung am ADC muss die gleiche sein wie die am Sensor, wenn sie durch eine Reihe von Operationsverstärkern geht, oder?
Oh okay, solange es erwartet wird, sich so zu verhalten.
Die Art und Weise, wie ich einen PRT in einem PIC gemessen habe, besteht darin, zu akzeptieren, dass Sie (im Code) aufgrund der inhärenten Gleichung des PRT neu linearisieren müssen, und speisen Sie ihn dann über einen Widerstand von 3,3 V (gleiche Spannung wie für interne ADC-Referenz als PIC-ADC) verstärkt es dann in den PIC-ADC-Eingang. Ihre Schaltung verwendet die interne PIC-Referenz und eine externe Referenz, und der Fehler könnte erheblich sein. Wenn Sie das PRT wie von mir vorgeschlagen speisen, führen Sie eine ratiometrische ADC-Messung durch, die Referenzabweichungen ausschließt.

Antworten (1)

1) Ändern Sie R8/P1, um den gewünschten Spannungsbereich für die zu messenden Temperaturen zu erhalten.

2) Stellen Sie P2 höher ein, um die Werte an den Bereich Ihres ADC anzupassen.

3) Stellen Sie die Abtastzeit nicht höher als das X-fache der Zeitkonstante Ihres Systems einschließlich Sensoren ein. Finden Sie eine gute Zahl für X, abhängig von den Anforderungen des Systems. Sie können jedoch mehrere schnelle Abtastungen mitteln, um Rauschen zu reduzieren/Bits hinzuzufügen.

4) Eine Kombination aus Nachschlagetabelle und Interpolation funktioniert normalerweise gut. Erstellen Sie ein Excel-Blatt, um den Fehler der Annäherung anzuzeigen - massieren Sie es, bis es für Ihre Anwendung funktioniert.

Hat das deine Frage beantwortet?