Meine Schaltung sieht so aus, dass ich einen Spannungsteiler habe, der aus einem 4k7 und einem NTC (2,2k bei 25°C) besteht. Der 4k7 hängt an +AVCC, und der NTC. Ich hab den Spannungsteiler so an meinen ATMEGA angeschlossen, dass der Spannungsabfall über den NTC an einem Analog-Eingang liegt. Als Referenzspannung verwende ich die internen 2,56V. So - ich dachte mir, dass man über den Wert, den man digitalisiert den Widerstand des NTCs herauskriegen könnte indem: - Wert digitalisieren - bei 10Bit entspricht die Änderung um 1 Bit eine Spannungsdifferenz von 2.56V/1024 = Vd - Die Spannung über dem NTC (Untc) ist dann Vd * DACwert - Der Strom durch den NTC ist dann: (5V - Untc)/4700R = Intc - und der Widerstand dann Rntc = Untc/Intc Dann schaut man in eine Tabelle nach und müsste dann die Temperatur ablesen können - Einfachheitshalber hab ich die Kennlinie zwischen 5°C Schritten linearisiert. Ich bekomm nicht die richtige Temperatur raus - Abweichungen um ca. 5°C hab ich bei dem Verfahren ... Gibt es noch irgendwelche Besonderheiten die ich nicht berücksichtigt habe?
ja, bauteiltoleranzen. also entweder ein poti dran oder in software kompensieren..
wenn du es genauer haben willst nim einen DS18X20 von Dallas bzw DS16X20 sind zwar etwas teurer aber sehr gut Bei NTCs / PTCs hast du immer das Problem der Tolleranzen und das diese Bauteile nicht Linear sind.. desweiteren benoetigst du normalerweise eine Konstantstromquelle. Wenn du pech hast heizt dich dein NTC auch etwas auf. Gruss Jens
eigentlich eine ausführliche wiki wert ! 1.) Leute, nehmt doch lieber PTC als NTC. die ptc sind deutlich linearer, vielleicht etwas teurer. z.b. KTY... 2.) die Betriebspannung kann schwanken, der 4,7 K widerstand hat Toleranzen. 3.) ein trimmer anstelle des 4,7 k hilft dir zum abgleich, kippt aber deine kurve, das heisst bei einer temperatur stimmt dann der wert supergenau, aber wenn du dich davon entfernst wirds doch wieder ungenau. 4.) abgleich über einen trimmer der an einem anderen port hängt: hier kannst du eine korrekturspannung messen die du ab- oder zuzählst zur kalibrierung. beeinflusst nicht den messwert, aber den geldbeutel... und die platinengröße und klaut einen port. 5.) gute spannungsstabilisierung: LT1086-5 anstelle von 7805. die 7805 verändern gerne ihre ausgangsspannung in abhängigkeit (ausgerechnet) der temperatur ! usw...
post scriptum: zur korrektur nicht tabellen nehmen (klauen wertvolles ram oder flash), sondern den messbereich der nicht linear ist, in lineare stückchen zerschneiden und für jeden bereich einen faktor experimentell bestimmen oder nach datenblatt des sensors. dieser faktor kann dann z.b. 0,729 sein. wer viel platz im flash hat kann nun mit floats oder doubles da rangehen. ansonsten lieber mit longs arbeiten (for allem dann wenn es die einzige float-ecke in der software wäre) und dann solange rumrechnen bis man den faktor mit einer multiplikation und einr division erreicht. (z.b. *857L/1234L). typischer fall: höhenmesser: höhe ist nicht linear zum luftdruck. hier reichen aber ein paar gerade stückchen um das ganze hinzukriegen...
Hi Thomas, nimm nicht die interne Referenz, sondern AVCC (d.h. die Spannung, mit der auch der Spannungsteiler versorgt wird) als Referenz. Ändert sich AVCC, dann wirkt sich das sowohl auf den ADC als auch auf den Spgsteiler aus -> Dein Messwert bleibt also gleich. Die interne Referenz ist sinnvoll, wenn Du absolute Spannungen messen willst, bei allen Verhältnis-Messungen dieselbe Referenz wie der Teiler benutzen! Viele Grüße, Stefan
Danke für die Tipps - mittlerweile hab ich als Referenzspannung auf AVCC umgestellt - ich wollte mich eigentlich noch etwas mit den Kanälen 0b11111 (=0V) und 0b11110 (=1,22V) rumspielen - allerdings scheint mein DIL40-ATMEGA16 die Kanäle nicht zu mögen - da wird einfahc nicht mehr digitialisiert ... merkwürdig Weiß da jemand was?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.