Wer einen Garten hat interessiert sich irgendwann auch mal für die Bodentemperatur. Dazu brauchts Sensoren, ein Controller der alle ausliest und einen PC zum loggen ... Natürlich kann man mit diesem Logger auch alles anderen mitloggen an Temperaturen wie Heizungsrohre, Raumtemperaturen, Gefrierschränke u.s.w.

  • bodentemp19

Zuerst braucht man Temperatursensoren von Dallas DS18S20, einige 100nF Kondensatoren, als Gehäuse Edelstahlröhrchen und dreiadriges Kabel.

Die Edelstahlröhrchen sind aus V2A, 6mm Aussen-Durchmesser, Wandstärke ca. 0,6mm, damit Innen-Durchmesser 4,8mm.

  • bodentemp01

Anschluß der Stützkondensatoren und Zuleitungen jeweils wie folgt :

  • bodentemp02

Ein Sensor vorbereitet für den "Verguß" im Röhrchen :

  • bodentemp03

Alle 8 Stück :

  • bodentemp04

Röhrchen von oben mit Heisskleber füllen, den Elektronikteil eintauchen und oben wieder Heisskleber nachfüllen :

  • bodentemp05

Nach dem erkalten den überstehenden Heisskleber einfach abschneiden, Schrumpfschlauch drüber und fertig :

  • bodentemp06
  • bodentemp07

Das ganze wird dann zuhause in Ruhe abgelängt und in einer Verteilerdose mit Hilfe von viiiiiiiel Heisskleber wasserdicht gemacht, denn die Dose wird mit eingegraben :

  • bodentemp08

Dann kommt der anstrengenste Teil : Ein 1m tiefes Loch buddeln ... Danke nochmals an Matthias !

  • bodentemp09

In den folgenden Tiefen haben wir Sensoren versenkt :

2cm, 5cm, 10cm, 20cm, 50cm, 75cm, 100cm

  • bodentemp10
  • bodentemp11

 

Kennungen der Sensoren :

 Tiefe Sensor-ID
   2cm 49928D02
   5cm 5E5F8D02
  10cm 5C758D02
  20cm 78788D02
  50cm C59E8D02
  75cm 5DAF8D02
 100cm
A37D8D02

 


 Auf der Microcontroller Seite hatte ich mich diesmal für den PIC 16F1827 entschieden. Anbindung an den PC als Datenlogger via USB, hier ausgeführt mit dem UM2102 USB-RS232 Wandler von ELV. Am Schaltplan ist nichts besonders dran :

  • bodentemp12
  • bodentemp13

So sieht das ganze dann in einem ersten Versuchsaufbau aus.

An der Lüsterklemmen rechts kann man nun alle Sensoren anschließen. Um die Hardware zu testen habe ich noch einige Sensoren Huckepack oben draufgesetzt und via Sockelleisten steckbar gestaltet.

  • bodentemp14

Die Software für den PIC wie immer brutalstmöglich in reinstem Assembler geschrieben. Aus dem Riesen Softwarepaket von Microchip entnimmt man ein paar Dateien für den MPASM5.46. Den Rest brauche ich nicht ...

  • bodentemp15

 Auf der PC Seite habe ich die Software in Lazarus1.2 geschrieben (IDE für Freepascal) zusammen mit der Synaser Bibliothek zum ansprechen der seriellen Schnittstelle.

Paket Link
Lazarus 1.2 http://www.lazarus.freepascal.org/
Synaser Bibliothek

http://synapse.ararat.cz/doku.php/download

https://svn.code.sf.net/p/synalist/code/trunk/

Doku zu Synaser Bibliothek http://synapse.ararat.cz/doc/help/synaser.TBlockSerial.html
Microchip MPLAB 8.00 http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en023073&redirects=archived

So siehts dann aus :

  • bodentemp16

Ablauf wie folgt : Programm starten, nach COM-Ports scannen, gewünschten COM-Port anklicken und "Open COM-Port" wählen. Ab jetzt wird alles mitgeschrieben.

  • bodentemp17

Rechts wählt man den Zyklus aus in dem die Daten auf die Platte geschrieben werden.

  • bodentemp17

Weiterverarbeitung dann in LibreOffice.

Die Lazarus Sources zum ändern und selberkompilieren gibts hier :

Tempreader_PC.zip

Den Assembler Source mit dem Hex-File gibts hier :

Tempreader_PIC.zip