mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PIC und LM35


Autor: neuling (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo miteinander

Und schon plagt mich das nächste Problem.

Ich muss mit einem PIC 18F eine Temperatur zwischen 20 und 30°C messen.
Der LM 35 DZ sollte das angeblich hinkriegen. Die Genauigkeit von ca. 
0.5°C reicht für mich auch vollkommen aus.

Nun weiss ich aber nicht, ob ich den LM 35 direkt am PIC anschliessen 
soll oder via einem OPV um das 10-fache Verstärken und dann erst 
auswerten.

Was denkt ihr? Variante "Direkt" oder Variante "OPV"?

Danke und Gruss
Neuling

PS: Würde die OPV-Schaltung so funktionieren mit dem 10k Widerstand am 
Ausgang vom LM35?

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich würde dir den direkten Weg empfehlen.
Aber, der Pic hat einen Ratiometrischen ADC, deshalb benötigst du
eine externe Vref, sonst wird die Messung nichts.
Gerne wird dafür eine Led hergenommen, z.B. eine Power-On Led
welche auch im Fehlerfalle blinken kann. Du mußt nur darauf aufpassen,
daß die Spannung über dem Schwellwert der minimalen ADC-Spannung
ist, sonst sind die 10Bit hinüber, und du hast nur 8bit oder weniger
an Genauigkeit. Bei den meisten 16f Typen waren es knapp über 2V,
bei den 18F weiß ich nicht, sind mir generell zu teuer.
Angenommen, du hast eine Vref von 2.2V bei einer roten InGaAIP Led
oder 2.3V von einer grünen GaP oder InGaAlP (beide 2,2–2,5 V) Led,
dann ist die Auflösung ca 2.3mV. Damit misst du die Temperatur von
0.5 Grad was 5mV entspricht problemlos. Auch wenn du 5V Vref hättest,
würdest du dank oversampling die 0.5 Grad Genauigkeit problemlos 
erreichen.
Nur wenn du kein Vref nimmst, dann hast du die Genauigkeit von ein paar 
Grad!.

Autor: neuling (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo chris

habe ich das richtig verstanden? so wie in meiner skizze?

Vref bei meinem PIC 18F weiss ich nicht. stehen im handbuch keine 
werte... :-/

auf sprut.de wird was von min. 2.5V angegeben. er bezieht sich aber auch 
auf die 16er pics...

ich würde einfach eine LED mit min. 2.5V durchlassspannung nehmen...

gruss

Autor: neuling (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
anhang vergessen... ^^

danke und gruss
neuling

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kondensator bei Vref hast du vergessen, sonst hast du keine stabile
Vref. Die minimale Vref müsste 2V sein, steht aber im Datenblatt drin.
Natürlich mußt du bei einer Led den Wert Kalibrieren, sprich messen und
dann in EEprom abspeichern, oder so, damit du weißt, was du misst, und
welche Korrekturwerte du applizieren mußt. Dies ist so, weil jede Led
einen andere Spannung hat, sonst könnte man ja die Leds problemlos 
zusammenschalten, und nur ein Wiederstand nehmen, bei Parallelschaltung.
Einige Pic´s haben einen internen Bandgap, welcher auch als Vref 
genommen
werden kann. Wenn dein Pic sowas hat, nicht zu verwechseln mit dem
Reset-Bandgap, dann brauchst du die externe Vref nicht.

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man könnte ja statt der LED (oder paralell dazu) eine Z-Diode einbauen. 
Vorteil: Man muss nix kalibrieren. Nachteil: Will man eine LED parallel 
dazu haben muss die halt zur Z-Spannung passen oder man braucht noch 
einen Vorwiderstand.

Autor: Enrico (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

einen TL431 einbauen, das ding ist Stabiler als eine schnöde Z-Diode. 
Kalibrieren musst du sowieso einmal, nur rennt dir bei der Z-Diode der 
Wert unter Umständen langsam davon...

Autor: neuling (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Morgen

danke für eure antworten.

der PIC wird von einem 75T08 gespeist. ist diese spannung nicht geeignet 
für die referenzspannung?

das mit dem kondensator: einfach zwischen Vref+ und GND? 100n wären 
ausreichend?

nach meine nachforschungen müsste Vref+ um 3V höher sein als Vref-.

ich stelle mir eine genauigkeit von ca. 0.5°C vor.

danke und gruss
neuling

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Der PIC wird von einem 75T08 gespeist. ist diese spannung nicht geeignet
>für die referenzspannung?
Ich nehem an, du meinst den 78T05. Das wären dann bei 40 Grad, wenn
Vin größer als 8V, dann -3/+4 Grad bei 40 Grad, also eine Ungenauigkeit
von 7 Grad Celsius.

>das mit dem kondensator: einfach zwischen Vref+ und GND? 100n wären
>ausreichend?
Ja

>nach meine nachforschungen müsste Vref+ um 3V höher sein als Vref-.
Blick in das Datenblatt müsste genügen, die 3V kommen mir komisch vor.
Welchen uC verwendest du ?

Autor: neuling (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo

ehm ja sorry. verwende den 05er... nicht 08er spannungsregler!

PIC18F4525

und hier das datenblatt.
http://ww1.microchip.com/downloads/en/DeviceDoc/39626e.pdf

ich habe nichts gefunden. vielleicht übersehen. gucke nachher über den 
mittag nochmal nach... war aber nie der beste im englisch-unterricht...

gruss

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
78er-Serie darf schon ganz schön schwanken, ich mein beim 7805 sind es 
100 mV. Das ist schon ganz schön viel, dann lieber eine LM317 nehmen, 
der ist da ein wenig genauer. Eine Frage dazu wäre natürlich, was genau 
misst du bzw. was genau interessiert dich? Die absolute Temperatur oder 
nur die Temperaturänderung? Vermutlich ersteres womit du schon eine 
relativ genaue Referenzspannung benötigst, bei Letzterem kann die 
Referenzspannung etwas großügiger sein da ja nur die Änderung 
interessiert. Da du ja nur in einem Bereich von 10 °C auf 0.5 °C messen 
willst dürften acht Bit Auflösung genügen, und es genügt auch, wenn du 
von 0 °C bis 30 °C messen willst. Daraus folgt, dass deine 
Referenzquelle gar nicht so genau sein muss bei acht Bit. Gehen wir mal 
vom Absoluten aus:

30 °C mit einer Auflösung von 0.5 °C macht PI mal Daumen eine 6 Bit 
Auflösung

Bei acht Bit könnte man ca. 0.1  °C auflösen

Einen acht Bit AD-Wandler kann man aber ohne Probleme mit eine Z-Diode 
als Referenzquelle beaufschlagen. Gehen wir mal von 5 V aus. Ein Bit 
entspräche dann 19.6 mV, bzw. 0.1 °C. Gefordert sind 0.5 °C, damit 
dürfte also die Refernzquelle um knapp 100 mV schwanken ohne das 
Ergebnis maßgeblich zu verfälschen. Eine Feld Wald und WIesen Z-Diode 
wie die Bzx3V3 liegt mit ihrer Referenzspannung lt. Datenblatt zwischen 
3.46V bis 3.14V, also weit weg von 100 mV.

Autor: neuling (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
auf Seite 361 vom PDF File stehen welche Werte zu Vref...

so wie ich das verstanden habe, braucht es min. 3V für 10Bit

Autor: neuling (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo michael

ich möchte eigentlich die wassertemperatur messen und je nach temperatur 
die heizung ein- oder ausschalten...

die wassertemperatur sollte ca. immer 25°C sein... oder ich stelle die 
gewünschte temperatur ein und der PIC regelt mir das.

Platine steht schon, also ich habe den 05er spannungsregler schon drauf.

danke und gruss
neuling

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hm, schaut so aus mit dem VRef.

Also wie gesagt, ich würds mal mit ner Z-Diode versuchen. 10 Bit 
brauchst du ja nicht, für 0.5 °C reichen auch 8 Bit bei max. 30 °C. OK, 
ich würds mir nochmal bei 40 °C durchrechnen sodass es auch mal 
überschwingen darf (also über 30 V). Der LM35 gibt ja 10 mV / °C aus 
wenn ich das Datenblatt recht verstanden hab beim Überlesen, d.h. du 
erwartest also 250 mV. Da würde ich bei 3 V als Vref bleiben damit du 
das auch noch gut auflösen kannst. Schwierig hierbei: Von den 3 V Vref 
brauchst du ja nur 250 mV, d.h. von 1024 Stufen brauchst du nur ca. 85 
Stufen für deinen Zielwert, der Rest ist für die Nüsse.

Oder du verstärkst das Signal des LM35 wie du schon oben vorgeschlagen 
hast. Dann brauchst du aber entweder einen abgeglichenen OPV oder aber 
du kalibrierst dir deinen Pic, sprich du gleichst per Software einen 
möglichen Offset des OPV aus.

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Absolute Minimum ist 2V bei 8Bit, bei 2.2V sowie doppelte minimale 
Clock-Timing ist die Auflösung noch 10Bit, hingegen bei minimalem Timing 
ist sie
erst bei 3V 10Bit.

Autor: neuling (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
okey danke!

also doch lieber eine z diode? die wird dann einfach invertiert im 
sperrzustand geschaltet, richtig?

kondensator braucht es dann noch?

ich würde zum beispiel folgende z-diode nehmen:
https://www.distrelec.com/distrelec/datasheets.nsf...

die mit sperrspannung zwischen 3.1 und 3.5V
wenn ich jetzt das richtig verstanden habe, kann ich den strom mit einem 
vorwiderstand auf 5mA begrenzen. richtig? oder kann ich sogar auf 1mA 
runter?

verstehe das datenblatt nicht richtig, muss heute abend nochmals 
dahinter...

danke und gruss
neuling

Autor: neuling (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
abend zusammen

wollte nur berichten dass die temperaturmessung funktioniert! :-)
mit zdiode, LM35 und AD Wandler vom PIC

und so wie das aussieht, auch genau ohne temperaturschwankungen!

danke nochmals!

gruss
neuling

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.