-
-
Erfahrener Benutzer
Fleißiges Mitglied
Hallo,
also eine Formel wird wegen der Nicht-Linearität etwas ungenau. Besser ist es, wie von PicNick schon angedeutet, eine Meßreihe aufzunehmen (z.B. alle 10°C), diese Daten in einer Tabelle abzulegen, und dann im Programm ermitteln was der Sensor gerade liefert, in der Tabelle nachschauen welche 2 Werte am nächsten liegen und zwischen diesen beiden Werten linearisieren. So wird das in der Meßtechnik normalerweise gemacht.
Eine Möglichkeit für eine Formel will ich Dir trotzdem geben:
1. Du tust den Sensor in Eiswasser (das hat 0°C) und schaust welchen Messwert der ADC einliest. Den Wert nennen wir mal "Zero".
2. Du tust den Sensor in kochendes Wasser (Das hat auf Meereshöhe 100°C) und schaust nach welchen Messwert der ADC dann hat. Den Wert nennen wir "Kochend"
Die Formel für Grad Celsius lautet dann:
3. Dann liest Du in deinem Programm später den aktuellen Messwert ein. Den nennen wir mal "Aktual"
Daruas ergibt sich die Formel:
Aktual - Zero
-------------------- * 100 = Temperatur in Grad Celsius
Kochend - Zero
Zu beachten ist allerdings, dass das Ergebnis dann als Gleitpunktzahl vorliegt und wegen der Nicht-Linearität etwas ungenau ist. Wenn Du damit leben kannst?
Du musst ausserden darauf achten, dass der Strom durch den Sensor, den Sensor nicht erwärmt, weil das Dein Meßergebnis verfälscht. Das bedeutet, je größer der Vorwiderstand desto geringer ist der Strom durch den Sensor und umso kleiner ist der Temperaturfehler durch die Eigenerwärmung,
a b e r ,
desto kleiner ist die Spannungsänderung pro °C.
Du musst also einen Kompromiss finden mit den Du leben kannst.
Viel Spass noch beim probieren.
Viele Grüße
Michael
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen