mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Temp-Sensor an AVR


Autor: Sascha (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ich möchte gerne für ein kleines Projekt einen Temperaturfühler (KTY
81) an einen AVR anschließen. Da das ganze wirklich klein sein muss,
suche ich nach einer Möglichkeit, diesen ohne großen externen Aufwand
anzuschließen.
Da ich einen ATTiny 13 verwende, möchte ich auch z.B. keine externe
Refernzspannungsquelle verwenden.

Ich möchte gerne den Temperaturbereich von 25 - 90°C abdecken. Bei 25°
hat der Sensor 1000 Ohm, bei 90° 1591 Ohm Widerstand.

Hat jemand einen Vorschlag, wie ich den Sensor anschließen kann?
Ich bin für jede Hilfe dankbar!

Autor: Wolfgang Weinmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

wie wärs mit einem einfachen Spannungsteiler, der an Vcc angeschlossen
wird in etwas der gleichen Widerstandsgrößenordnung?

Gruß Wolfgang

--
www.ibweinmann.de
Mikrocontrollersysteme

Autor: Sascha (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mi einem Spannungsteiler habe och zwischen 25 und 90° nur wenige
millivolt (vielleicht nen halbe volt) unterschied.

Autor: Wolfgang Weinmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mit dem halben Volt haut hin - Wenn Du einen AD-Wandler mit 10 Bit
Auflösung hast, dann hast Du bei nem halben Volt immerhin 100 LSB
Unterschied. Es kommt darauf an, wie genau Deine Messung sein muß.

Gruß Wolfgang
--
www.ibweinmann.de
Mikrocontrollersysteme

Autor: Sascha (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das reicht natürlich.
Daran habe ich nicht gedacht :(

Danke für den Hinweis.

Autor: Holger B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Sascha,

in meiner Heizungssteuerung mache ich das genauso.
www.mikrocontroller.com --> Projekte:
http://mikrocontroller.cco-ev.de/de/heizung.php

Da benutze ich auch nur einen 1k5 Widerstand nach Plus und den
KTY81-110 gegen Masse als Fühler.

Genaue Beschreibung und Source findest Du da auch.
// -----------------------------------------------------
unsigned int read_adc(unsigned char adc_input)
{
 ADMUX=adc_input;
 ADCSR.6=1;
 while (ADCSR.4==0);
 ADCSR.4=1;
 return ((ADCW*25)/4)-2250 ;
}
AussenTemperatur = read_adc(1);
// -----------------------------------------------------

Das funktioniert in gewissen Bereichen (ca. -10C bis +40C) erstaunlich
genau.

Gruss,
Holger

Autor: AVRWalli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Holger,

wie kann ich die Beschreibung und die Sourcen
denn herunterladen?

mfg

AVRWalli

Autor: Holger B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: AVRWalli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Holger,

das funktioniert leider nicht mit dem Download.
Beim Klicken auf den Link zum Programm erscheint nur eine
leere Seite (in Firefox).
Was läuft falsch?

mfg

AVRWalli

Autor: Thomas Melinat (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, Holger.....

bin Anfänger,und arbeite mit BasCom und einem ATMega8. Werte vom
ADC einlesen klappt (verwende den KTY81-110 + 1.5k). Jetzt zu meiner
Frage:
Ich möchte den Wert des ADC in eine Temparatur umrechnen lassen,
....wie lautet die Formel hierzu ???

Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wieso Formel? Ist der Sensor etwa linear? Ich denke du solltest dir ne
Tabelle anlegen und nachsehen was du gemessen hast. Zwischenwerte
kannst du dann mit angenommener Linearität ausrechnen. Wie gross die
Tabelle sein muss hängt davon ab, wie genau du es haben willst.

bye

Frank

Autor: Thomas Melinat (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo....

weiter oben fand ich folgendes Programm, (wahrscheinlich C,)
um mittels einem Spannungsteiler und des ADC Temparaturen zu
messen.....
wie kann man diese Zeilen unter BasCom verwerten ?

// -----------------------------------------------------
unsigned int read_adc(unsigned char adc_input)
{
 ADMUX=adc_input;
 ADCSR.6=1;
 while (ADCSR.4==0);
 ADCSR.4=1;
 return ((ADCW*25)/4)-2250 ;
}
AussenTemperatur = read_adc(1);
// -----------------------------------------------------



MfG Thomas

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.