MicroTemp

Inhaltsübersicht

Download-Seite

Aktuell

Das Projekt hat eine neue Heimat bei Sourceforge gefunden. Diese Webseiten werden nicht weiter gepflegt. Neue Informationen gibt es auf der neuen mytemp Homepage. (Allerdings nur noch auf Englisch.)

Note

Wenn dauernd ein Temperaturwert von 85°C ausgegeben wird, muß Version 2.6 oder größer installiert werden. (Die Pre-Releases von Version 3.0 funktionerien alle.) Der Grund für das Fehlverhalten ist, daß versucht wird einen DS18S20 auszulesen, der statt der 500ms Umwandlungszeit, wie beim alten DS1820, 750ms für die Temperaturwandlung braucht. Der DS18S20 benutzt einen Temperaturwert von 85.00°C, um einen Fehler anzuzeigen. (History & News) Der DS18S20 hat ein kleineres Gehäuse (TO92), als der DS1820, der Gehäuseaufdruck lautet jedoch immer noch DS1820, deshalb ist die Bauform die einzige Möglichkeit, die beiden Typen zu unterscheiden.

History und News

20.12.2001 aufruf von FrmCloseAllForms in StopApplication(), vorher wurde von den Debug Roms eine Fehlermeldung ausgegeben, wenn das Programm verlassen wurde, Version 3a9

28.11.2001 bugfix für die DS18B20 Familie, wo ein Variablenüberlauf stattfand, wenn Temperaturen unter 0°C gemessen wurden

18.06.2001 Support for DS1822 and DS18B20 (zweiteres noch ungetestet). Version 3a7.

28.05.2001 Version 3a6 released. (Der Name wurde von MicroTemp zu myTemp geändert.)

15.05.2001 Version 3a5 released.

Ich denke mit Version 3a5 bring die 3-er Version genügend Vorteile gegenüber Version 2, so daß es für die allermeisten geraten erscheint, Version 3ax zu installieren.

07.05.2001 Website review (Bilder und Distributoren)
Version 3a2 von MicroTemp ist am werden. Es unterstützt bis zu zehn Sensoren und behandelt das 85.00°C DS18S20 error flag. An der Demo Version muß noch gearbeitet werden. Wer mehr als einen Sensor benötigt oder Probleme mit 85.00°C Messungen hat, schreibe mir doch bitte eine eMail, dann bekommt er ein 3a2 .prc-File, daß die Probleme beseitigt.

27.04.2001 Ich habe heute eine Lieferung Sensoren erhalten, die ich vor drei Wochen bei Reichelt bestellt habe. Zu meiner Überraschung stellte ich fest, daß es sich dabei um DS18S20 handelt, obwohl die Aufschrift auf dem Gehäuse "DS1820" handelte. Ich habe die Sensoren natürlich sofort ausprobiert, und es klappte fast auf Anhieb. Der Wert für gReadTime in Temp.c mußte von 500ms auf 750ms vergrößert werden, da der DS18S20 länger für die Temperaturmessung braucht, als der DS1820. Dieser Änderung ist in Version 2.6 eingeflossen, die von der Projektseite heruntergeladen werden kann.
Die 3.xx Versionen berücksichtigen die längere Wandlungszeit schon von Anfang an. Die pre-Release Version 3a1 bietet eine paar Neuerungen, hauptsächlich Handling von Button-Events, so daß eine Messung veranlasst wird, wenn der Hardware-Button , falls einer für die Applikation vergeben wurde, gedrückt wird.

11.04.2001 Der Name wurde von µTemp in myTemp geändert, weil manche Versionen (leider meine nicht) des PalmOS Emulators POSE sich weigern, eine PRC-Datei mit einem "µ" im Namen zu laden. Obwohl die alte und die neue Version natürlich die gleiche CreatorID besitzen (Außer dem Namen gibt es überhaupt keinen Unterschied zwischen den beiden.) wird die alte Version nicht gelöscht, wenn die neue Version installiert wird. Deshalb muß die alte Version von Hand gelöscht werden. Die gespeicherte Logdatenbank geht dabei verloren! Version 2.5

10.04.2001 Überarbeiten der Webseite.

08.03.2001 Bugfix für einen Variablenüberlauf in der c2f() Funktion für die Umrechnung von °C in °F. Der Fehler trat bei Temperaturen über 36°C, 96.8 °F auf und äußerte sich indem negative °F-Werte für Temperaturen über 97°F ausgegeben wurden. Version 2.4.

03.03.2001 Release von Version 2.2 mit kleineren Änderungen und Bugfixes. Mit dem Perlscript xtract.pl können die Temperatur-Memos aus der MemoDB zur Weiterbearbeitung auf dem PC extrahiert werden. Für Hinweise zur Benutzung, bitte die README-Datei lesen.

Die Datei MicrolanLayout.tar.gz enthält ein Layout für einen Microlan-Adapter zum Anschluß an das Hot-Sync Kabel. Bitte das README im Tar-Archiv beachten.
01.03.2001 README und Perlscript zum extrahieren von Temperaturfiles aus der Memo Datenbank

28.02.2001 Version 2.0. MicroTemp 2.0 kann Log-Datenbanken in Memos umwandeln. Diese können per Hot Sync auf den PC übertragen werden und dort mit Programmen wie zum Beispiel "gnuplot" weiterbearbeitet werden.
22.02.2001 Bugfix Wenn die Sample-Period auf Off stand, wurde der Palm nicht ausgeschalten

15.02.2001 Release der Version 1.0 und Update auf Version 1.1, Release einer Demo-Version (kann auf den Projektseiten herunterladen werden.)

Allgemeines

MicroTemp ist ein digitales Thermometer mit Temperaturlogger für den Palm.

Es besteht aus einem Interface zwischen der seriellen Schnittstelle des Palms und einem Microlan®. Microlan ist ein Bus, der von Dallas Semiconductor® entwickelt wurde und für den viele verschiedene Devices zur Verfügung stehen, unter anderem das hier eingesetzte Digital-Thermometer DS1820. (DS18S20, DS1822, DS18B20 werden ebenfalls unterstützt). Der Sensor wird entweder direkt an die Interfaceschaltung angeschlossen, oder er wird über ein zweiadriges Kabel mit dem Interface am Palm verbunden. Der Bus kann laut Dallas Semiconductor®bis zu 100m lang sein und es können bis zu 150 weitere Sensoren angeschlossen werden. (Die Software unterstützt bis jetzt jedoch nur einen einzigen Sensor.)

Software

Die Software, die unter der GPL steht und somit im Sourcecode verfügbar ist, beinhaltet die Microlan®-Treiber, Funktionen zum Auslesen des Sensors und das User-Interface mit den folgenden Features. Im Zip-Archiv ist eine Demoversion enthalten (MicroTempDemo.prc), die zufällige Temperaturwerte generiert. Mit dieser Demoversion ist es möglich, MicroTemp ohne zusätzliche Hardware zu testen.

Screenshot

Durch die Verfügbarkeit der Software im Sourcecode kann jedermann mit den frei verfügbaren prc-Tools die Software falls erforderlich erweitern und seinen Bedürfnissen anpassen.

Downlaod der Software hier: http://www.sourceforge.net/porjects/mytemp

Hardware

Die Interface-Schaltung kann mit bedrahteten Bauteilen oder in SMD-Technik realisiert werden. Es werden keine aktiven Bauelemente verwendet, deshalb kann die Spannungsversorgung von der Batterie des Palms mitübernommen werden, sodaß auf eine eigene Batterie verzichtet wird. Sowohl bei der Entwicklung der Interface-Schaltung, wie auch der Software wurde auf einen geringen Stromverbrauch besonderen Wert gelegt, damit der Energiehaushalt des Palms nicht über Gebühr belastet wird.

Die SMD-Technik bietet die Vorteile kleines Gewicht, Robustheit gegenüber mechanischer Beanspruchung und geringem Platzverbrauch, wohingegen die bedrahtete Version die Vorteile einfachen Aufbaus und einfacher Beschaffung der Bauteile bietet.

Technische Daten

Messdauer<1sec
Temperaturbereich-50-125°C
Genauigkeit+/-0.5%bei 0°C-70°C
Auflösung1/100°C
Stromaufnahme1mAwährend der Messung
<6µAidle
53µAMittel bei 10sec Messperiode

Zur Verbindung zwischen Palm und Interface kann die Schaltung entweder in einem herkömmlichen männlichen Sub-D 9 Stecker zum Anschluß an das Cradle bzw. ein HotSync-Kabel oder in einem HotSync-Stecker, um ihn direkt an die Palmschnittstelle anzuschließen, eingebaut werden. Der Sub-D 9 Stecker kann außerdem über einen Gender-Changer (männlichen auf weiblich) an die serielle Schnittstelle eines PCs angeschlossen werden. MicroTemp kann dann innerhalb des PalmOS Emulators POSE ablaufen, oder es kann digitemp von Brian Lane benutzt werden, um Temperaturen zu erfassen.

HotSync Stecker sind bei Carsten Kurz, Audio Visual Systems erhältlich. In SMD paßt MicroTemp auf einer kleinen zurechtgestutzten Lochrasterplatine in einen HotSync-Stecker. Die bedrahteten Bauteile müssen fliegend verdrahtet werden, um darin Platz zu finden. Der Stecker des Palm m100 eignet sich sehr gut. Darin ist genügend Platz, um die Interface-Schaltung mit bedrahteten Bauteilen aufzubauen. (Siehe Bilder.)

In einem Sub-D 9 Stecker ist normalerweise genügend Platz, um die Bauteile unterzubringen.

Von Brian Lane http://www.brianlane.com gibt es wie erwähnt die Software digitemp, mit der von Linux/Unix auf Microlan® Sensoren zugegriffen werden kann. Die Treiber von myTemp basieren auf digitemp-1.3. (Die Version digitemp-2.x funktioniert mit der myTemp Schaltung jedoch nicht.)

Schaltplan

Schaltplan

Die Diode D1 dient zur Beschränkung der Spannung von ML-Data auf 3,9V. Wenn möglich sollte anstatt DTR das Signal +3.3Vcc (Palm Pin2) verwendet werden. Die Diode D1 kann dann entfallen.

Mein Cradle führt +3.3Vcc nicht nach außen, deshalb muß DTR verwendet werden.

Der Schaltplan kann von der Downloadseite als PDF-Dokument heruntergeladen werden. Außerdem sei auf die Application Note 74, sowie das Datenblatt zum DS1820 von Dallas Semiconductor verwiesen, die von http://www.dalsemi.com heruntergeladen werden können.

Es gibt ein Referenzlayout für den SubD-9 Connector, das ebenfalls auf der Downloadseite heruntergeladen werden kann. (Bitte das README im tar-Archiv lesen.)

Bauteleliste

NameBezeichnungWertBestell-Nr.PreisSMD-Typ
R1Widerstand 1,5k, > 0.25W18 00 68-08-,25MELF 1k5
D1Zenerdiode 3,9V, > 0.1W1N5228, ZPD 3,9V18 00 68-08-,25MMBZ5228B
D2Zenerdiode 6,2V, > 0.1W1N5234, ZPD 6,2V18 01 14-08-,25MMBZ5234B
D3, D4Schottky-Diode1N5818, ERA 82-004, SB13016 38 28-08-,87MBRS130LT3
U1Digital ThermometerDS182017 61 68-089,44
X1Sub-D Stecker9-polig, male74 20 66-08-,96
Bestell-Nummern und Preise sind dem 2000er Katalog von "Conrad Electronic" entnommen. Für Richtigkeit und Aktualität kann keine Gewähr übernommen werden.

Der DS1820 scheint bei Conrad nicht mehr lieferbar zu sein. Meine letzten habe ich bei Reichelt gekauft. Dallas stellt im Moment die Produktion auf den Nachfolgetyp DS18S20 um.

Wer günstig zu DS1820s kommen will, sollte versuchen, Muster bei Dallas zu bestellen. Manchmal klappt es.

Die Schottky Diode, die ich verwendet habe (1N5818) wird von Conrad nicht vertrieben. Ich denke jedoch, daß die SB130 ungefähr gleich sein sollte, hatte jedoch noch nicht die Gelegenheit, es zu überprüfen. Außerdem ist im Online-Angebot die 1N5817 aufgeführt,welche die 20-Volt Version der 1N5818 ist. Diese sollte ebenfalls ausreichen.

Projektstatus

Version 3ax ist bietet zwar noch lange nicht alle Features, die ich mir vorstelle, aber ich denke, die meisten sollten Version 3ax den Vorzug geben.

Version 3ax bietet de Folgenden Neuerungen:

Da die Steckerlayouts der Palm's schneller wechseln und inzwischen zahlreicher sind, als die Kurven auf einer guten Moppedstrecke, habe ich es aufgegeben, eine Platine zu entwickeln. Im Moment kommt mit den m50x - Palm's wieder eine neue Schnittstelle hinzu, von den Handsprings, Sony's, Handera's ganz zu schweigen.

Hardware- und Softwareanforderungen

Getestet wurde die Schaltung bis jetzt mit folgenden Geräten: MicroTemp sollte über das HotSync-Kabel an sämtlichen Palm-Geräten mit OS 3.0 oder größer und einer seriellen Schnittstelle funktionieren.

Da MicroTemp Schriften verwendet, die erst in PalmOS 3.0 implementiert sind, läuft MicroTemp nicht unter PalmOS 2.0 und PalmOS 1.0.

Kontakt

eMail: christof.klaiber@gmx.de.

Vorab gibt es mal zwei Bilder, wie das ganze aussieht. Der Sensor wird noch in einem Aluröhrchen mit Deckel verschwinden.

Die zugehörige Software kann von der Projektseite heruntergeladen werden.

Anwendungs-Beispiele

Temperatur Plot

Das Schaubild zeigt den Temperaturverlauf in meiner Wohnung von Abends 0:00 bis morgens 09:00. Die Ausschläge stammen von meinem hochmodernen Außenwandgasofen.

Zwei Sensoren

Hier sind die Temperaturen des Akkusatzes und des Leistungstransistors meines Palm NiMH-Akkuladers von Till Harbaum zu sehen. Erstellt mit Version 3a2.

Langzeitmessung

Dieses Schaubeild zeigt eine Non-Stop Messung die mein Palm IIIe mit einem Paar 550mAh Akkus gemacht hat. Gemessen wurde alle 3 Minuten von abends 16:22:14 bis 23:03:42 am nächsten Tag. (Zeitdauer: 30:41:28)

In der Datei README ist eine Anleitung enthalten, wie solche Schaubilder erstellt werden können

Bilder des MicroTemp-Prototypen

Gesamtansicht MicroTemp

Da das Display beim Abscannen nur schlecht zu erkennen ist, ist das Bild eine Fotomontage, der Displayinhalt entstammt dem PalmOS®-Emulator Pose.

Plug MicroTemp

Der Palm-Stecker mit herausragendem Sensor ohne Aluschutzrohr.

m100 Stecker mit Sensor

m100 Stecker mit Sensor.

Palm Vx PCB
PalmVx Plug

Bestückte SMD-Platine und Stecker für einen Palm Vx. (Die drei Drähte werden an Vcc, RxD und Txd (Pin 2, 3 und 5) des Palms angeschlossen.)

RS232 Probe
RS232 Probe solder side

Bauteil- und Lötseite eines Fühlers zum Anschluß an eine RS232.