Forum: Mikrocontroller und Digitale Elektronik NTC + ATMEGA16 = Problem!


von Thomas Pototschnig (Gast)


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?

von blubb (Gast)


Lesenswert?

ja, bauteiltoleranzen. also entweder ein poti dran oder in software
kompensieren..

von Jens (Gast)


Lesenswert?

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

von michael NF (Gast)


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...

von michael NF (Gast)


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...

von Stefan Kleinwort (Gast)


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

von Thomas Pototschnig (Gast)


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?

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
Noch kein Account? Hier anmelden.