Sensor per ADC einlesen?

Gast #72036
Lesenswert?

Guten Abend!

Ich hänge schon wieder in meinem Projekt.

Ich hab nen ADU meines ATmega128 durch eure Hilfe in Betrieb genommen.
Ich wandle nun 5V! Das geht bei allen Eingängen sehr gut. Nur bei einem
weiß ich nicht weiter.
Ich möchte hier eine Temperatur Auf nem Display anzeigen. Ich benutze
den Sensor KTY16-6. Ich möchte den Temperatur Bereich von 0 bis 50°C
anzeigen. In diesem Bereich fallen an dem Sensor 1,8 - 2,4V ab.

Wie kann ich den Wert im ADCW Register in dem 0-5V und nicht die
1,8-2,4V stehen nun für mich "umbauen"??

Ich programmiere in C und benutze den CodeVisionAVR Compiler!

Danke jetzt schon!

Gruß

Carsten
Gast #72037
Lesenswert?

im einfachsten Fall erstmal den Sensor als linear annehmen und einfach
den Messbereich umrechnen. 1,8V entsprechen 368, 2,4V 492. Macht einen
Offset von 368 und Delta 124.
Mal in Menschensprache (damit du auch noch was zu tun hast):-)
Ergebnis >=368 dann Ergebnis - 368, sonst 0.
Temperatur = Ergebnis*50/124.

Wird nicht allzugenau, musst wahrscheinlich eine Kennlinienkorrektur
vornehmen. Entweder mit einer Formel (aus dem Datenblatt des KTY) oder
mittels Tabelle.
Gast #72038
Lesenswert?

Ok, vielen Dank, hast mir sehr geholfen!

Es funktioniert. Zumindest die Abfrage!
Aber das mit dem (ergebnis * 50) / 124
verstehe ich nicht so ganz und es funktionier auch nicht so wie ich es
gerne hätte.

Es geht bei Null °C los, bei 1,8V, das ist super, aber meine Anzeige
geht dann bis 264°C...

Kannste mir die Zeile nochmal erklären?

Gruß

Carsten
Gast #72039
Lesenswert?

Hallo Carsten

Du willst doch 0 bis 50 Grad messen. Dabei kommen Werte vom AD Wandler
zwischen 368 bis 492 raus. Also 124 verschiedene Werte für 50 Grad.

Damit ergibt sich doch eine Änderung von 1 Bit vom AD Wandler 50 Grad /
124 Schrittw = 0,4032 Grad / Schritt.

Was anderes sagt die Formel oben doch auch nicht aus.

Gemessen 400 ergibt  (400 - 368 ) * ( 50 / 124 ) = 12,09 Grad

Hoffe das hilft

MFG
Dieter
Gast #72040
Lesenswert?

Ok, Danke dir, habs verstanden!

Das ist allerdings schlecht für mich.
Weil dann kann ich ja nur in 0,4°C Schritten anzeigen..
Stimmt das? Und das ist ja dann auch total unabhängig
davon ob ich nur von 10-30°C anzeige, bleibt immer bei 0,4°
Schritten....
Ok, trotzdem Danke!
Gast #72041
Lesenswert?

Hallo Carsten

Das einfachste für dich wäre doch, AREF von 2,56 Volt zu nehmen. Dann
hast du doch schon eine Auflösung von 0,2083 Grad / Schritt.

Mit geschickter Wahl von AREF kannst du dir auch die Rechnerei
vereinfachen.

Oder mit OP das Signal aufbereiten.

Oder, oder oder ....

MFG
Dieter

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