Sorry, was ich noch erwähnen sollte :
Der PT100 hängt natürlich nicht direkt am PortPin, sondern an 5 V und in Reihe mit einem 100 Ohm. Um die Temperatur zu ermitteln greife ich natürlich an dem 100 Ohm ab !
Hallo @all !
Bin grad dabei mit meinem Mega8 und einem PT100 eine Temperaturmessung zu realisieren, was für einen Anfänger nicht gerade einfach ist.
Kann mir jemand bei meinem versuchten Quellcode weiterhelfen ? Der PT100 hängt an PortpinC1
Komme irgendwie nicht ganz weiter !
Danke
Gruss Andy
Sorry, was ich noch erwähnen sollte :
Der PT100 hängt natürlich nicht direkt am PortPin, sondern an 5 V und in Reihe mit einem 100 Ohm. Um die Temperatur zu ermitteln greife ich natürlich an dem 100 Ohm ab !
Ich weiss nicht was nicht funktioniert, aber das hier macht keinen Sinn, das Ergebnis wird immer 0 sein.
Versuche mit Interrupt zu arbeiten, das ist einfacher als es aussieht.Code:buffer = ADCL | (ADCH<<8); // oder einfacher buffer = ADC;
Und für buffer wäre uint sinnvoller.
Einen PT100 so einfach anzuschließen ist schon nicht gut:
Bei ca. 2,5 V Spannung am Sensor fließen rund 25 mA, da macht 62,5 mW. Damit wird man in der Regel ziehmlich viel Eigenerwärmung haben.
Das zweite Problem sind die ziehmlichkleinen Widerstandsänderungen. Grob nach Gedächniss sollten das nur etwa 0,38 %/K sein. Die Spannung am Spannungsteiler ändert sich sich sogar noch etwas weniger (ca. 0,25% pro Grad). Selbst wenn man den Wertebereich des ADs voll ausnutzt (Aref = 1/VCC) kriegt man eine Auflösung von höchstens einem halbe Grad. Durch Oversampling kann man noch etwas mehr Auflösung gewinnen, aber nur wenig mehr Genauigkeit.
Wenn man bei der ganz einfachen Schaltung bleiben will, sollte der PT100 gegen AGND und als Serienwiederstand etwa 150-200 Ohm gegen AVCC. Für Aref denn etwa 2 V durch einen Spannungsteiler von AVCC und AGND. Je nachdem wie sehr die Eigenerwärmung stört, muss der serienwiderstand noch größer, oder man nimmt einen Portpin, und schaltet den Sensor nur jeweils kurz ein.
Die Berechnung des Widerstandswertes ist noch nicht richtig. Das gibt keine einfache lineare Formel.
Lesezeichen