NTC + ATMEGA16 = Problem!

Gast #158898
Lesenswert?

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?
Gast #158901
Lesenswert?

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...
Gast #158902
Lesenswert?

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...
Gast #158903
Lesenswert?

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
Gast #158904
Lesenswert?

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?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren