Zur Startseite (www.modellflug-freakshow.at)

Beschreibung des Eigenbau-Datenloggers

von Dietrich Meissner

   

line-factbox.gif (1758 Byte)

Abmessungen: 39 x 28 x 8 mm (inklusive Höhensensor)
Masse: ca. 15 g  (inklusive Höhensensor)
Stromversorgung: 4,0 .. 8 V
Stromaufnahme: ca. 10 mA (inklusive Höhensensor)
Speichergröße: 32 kByte
einstellbare Abtastraten: 0,25 / 0,5 / 1 s 
Auflösung der 2 analogen Kanäle: 12 Bit
Auflösung des Frequenz-Messeingangs (z.B. für Speedsensor): 12 Bit
Auflösung der 4 RC-Kanal-Messeingänge 8 Bit
 

 

 

Bauen

Die wichtigsten technischen Daten:

Betriebsarten des Datenloggers:

  1. Einstellen der Konfiguration (Abtastrate / benutzte Eingangssignale)
  2. Datenloggen (Speichern der Eingangssignale im EEProm)
  3. Übertragung der gespeicherten Daten zum PC (serielle Schnittstelle)
  4. Telemetrie (serielle Ausgabe und Übermittlung der wichtigsten Eingangssignale, ohne Speichern)

1. Einstellen der Konfiguration:
Die Konfiguration des Datenloggers kann an die entsprechenden Messaufgaben angepasst werden. Das Ändern der Konfiguration erfolgt teilweise manuell durch Anstecken eines Kabels mit einem Taster (Abtastrate / analoge Eingänge, Speed On-Off / Datenloggen /Telemetrie ) bzw. teilweise auch automatisch beim Einschalten des Loggers (RC-Kanäle).

Wird der Taster vor Einschalten des Loggers gedrückt, so werden die RC-Meßeingänge abgefragt und die Konfiguration im EEPROM gespeichert (bis zur nächsten Konfiguration). Zusätzlich wird bei jedem Einschalten nach einer Verzögerung von etwa 5s geprüft welche RC-Kanäle benutzt werden (d.h. die an den Empfänger angesteckt wurden).

Ist der Datenlogger auf Datenloggen konfiguriert, so speichert er nur die in der Konfiguration eingestellten Signale. Die Anzahl der aufzeichenbaren Datensätze und die verfügbare Zeit zum Datenloggen ist somit von der Konfiguration abhängig.

Einstellen der Konfiguration:

RC-Eingang

offen 

auf Masse gelegt

RC-0 Speed ON Speed OFF
RC-1 Datenloggen Telemetrie
RC-2 2. analoger Eingang ON  2. analoger Eingang OFF 
RC-3 Abtastrate 0,25s Abtastrate 0,5s
RC-4 Abtastrate 0,25s Abtastrate 1,0s

(Vereinfacht gesagt: wenn alle RC-Eingänge beim Konfigurieren offen sind, wird alles eingeschaltet und 0,25s Abtastrate gewählt)

Maximale Zeiten zum Datenloggen:

Konfiguration Abtastrate -> 0,25s 0,5s 1,0s
All ON+RC1-RC4 9 Byte 15 min 30 min 60 min
All ON+RC1-RC3 8 Byte 17 min 34 min 1 h 8 min
All ON+RC1-RC2 7 Byte 19 min 39 min 1 h 18 min
All ON+RC1 6 Byte 22 min 45 min 1 h 31 min
All ON 5 Byte 27 min 54 min 1 h 49 min
Höhe / AD1 / Speed 5 Byte 27 min 54 min 1 h 49 min
Höhe / Speed / RC1 4 Byte 34 min 1 h 8 min 2 h 16 min
Höhe / Speed 3 Byte 45 min 1 h 31 min 3 h 2 min
Höhe 2 Byte 1 h 8 min 2 h 16 min 4 h 33 min

2. Datenloggen

Nach dem Einschalten des Datenloggers (die Taste zur Konfiguration ist nicht angeschlossen bzw. nicht gedrückt) werden die Signale entsprechend der eingestellten Konfiguration gemessen und im EEPROM gespeichert. Die LED flasht entsprechend der eingestellten Abtastrate und erlischt, wenn der Speicher voll ist.

Das Datenloggen kann dabei auf 2 Arten erfolgen:

1.) Wird der RC-0-Kanal nicht benutzt (nicht am Empfänger angeschlossen), so werden die Daten nach Einschalten immer ab der Adresse 0 im EEPROM abgelegt und somit alte Daten überschrieben.

2.) Wird der RC-0-Kanal benutzt, so kann der Logger nach Anlegen der Betriebsspannung über diesen RC-Kanal, ON bzw. OFF geschaltet werden. Dabei wird beim OFF-Schalten (über den RC-Kanal) die Endadresse des letzten Datensatzes gespeichert (auch nach Ausschalten der Betriebsspannung).
Somit können mehrere Flüge durchgeführt werden.
Das Rücksetzen der EEPROM-Adresse auf Null erfolgt in dieser Betriebsart, nachdem die Daten in den PC übertragen wurden bzw. durch erneutes Konfigurieren.

3. Übertragung der gespeicherten Daten zum PC

Zum Übertragen der Daten zum PC wird eine Verbindung zwischen dem Datenlogger und der seriellen Schnittstelle des PCs hergestellt. Das Programm zur Datenübertragung im PC wird gestartet und die Funktion "INPUT" aufgerufen.  Danach wird der Datenlogger eingeschaltet und innerhalb der ersten 5s die Taste für wenigstens 1s gedrückt (Taste aber nicht vor den Einschalten drücken (sonst Neukonfiguration)!!).
Der Datenlogger sendet nun die Daten mit 9600 Baud an den PC. Dabei ist die Übertragung soweit "gebremst", daß auch ein mit 16MHz getakteter Palm Pilot ohne Handshake keine Schwierigkeiten bekommt.
Dadurch dauert das Übertragen des vollständigen Speicherinhaltes (32KByte) dann aber auch länger als 1 Minute.

4. Telemetrie

Ist der Datenlogger auf Telemetrie konfiguriert, werden die beiden analogen Signale und das Geschwindigkeitssignal gemessen und in etwa mit der eingestellten Abtastrate (ein wenig länger) auf die serielle Schnittstelle (mit 2400 Baud) gegeben (ein paar Synchronisationsbytes / die Daten / die Prüfsumme).
Dabei kann entweder ein PC direkt angeschlossen werden oder eben ein Telemetriesender.
Im Telemetriemode werden die Daten nicht im EEPROM gespeichert (alte Daten bleiben erhalten).

Schaltung des Datenloggers

Zur Schaltung des Datenloggers ist eigentlich nicht viel zu sagen, außer:

  • Die  Referenzspannung kann durch die beiden Widerstände am LP2952 eingestellt werden (Beispiele siehe Tabelle rechts).
    (Persönlich arbeite ich mit 4V, habe aber auch schon 3,5V probiert, ohne Probleme).
    Die Betriebsspannung muß etwa 0,4V größer als die eingestellte Referenzspannung sein.
  • Den Transistor T2 nicht einlöten (ist vorgesehen für spätere Updates, Konfiguration über PC)
  • Der Quarz mit dem Widerstand und den beiden Kondensatoren (PIN "Osz 1" und "Osz2" des PIC) kann durch einen 8MHz-Keramikschwinger ersetzt werden.

Schaltung des Höhensensors

  • Wer den Höhensensor nicht benötigt, kann diesen Teil von der Leiterplatte einfach absägen (dann ist der Datenlogger etwas kleiner).
  • Wer nur den Höhensensor braucht (ich hatte ihn zuerst an einem Robbe Bordcomputer benutzt), kann ebenfalls die Leiterplatte abtrennen (für einen 4-V-Festspannungsregler (SMD) ist Platz vorgesehen).
  • Zur Beschaltung des zweiten Teils des  OPV ist das Layout ebenfalls vorbereitet (z.B. für andere Sensoren).
  • Der TLC2262 kann gegen einen LM358 (pinkompatibel) ersetzt werden (dann etwas mehr Rauschen).
  • Aufgrund der geringen Betriebsspannung des Drucksensors (Hersteller verlangt 5 V) und des nachgeschalteten Verstärkers muß der Höhensensor kalibriert werden (zwei Punkte mit bekanntem Höhenunterschied und der Tagesdruck vom Wetterbericht sollten dafür reichen).
  • Mit den Widerstandskombinationen läßt sich der Meßbereich des Sensors anpassen.
  • Mit den angegebenen Werten wird ein Meßbereich von nur etwa 1025 .. 930 mbar eingestellt (ca. 800 m Höhenunterschied, (ca. 20 cm Auflösung))
  • Je nachdem, wozu man den Höhensensor einsetzen will, kann es auch besser sein den Meßbereich zu vergrößern.
  • Die hohe Auflösung sollte nur gewählt werden, wenn kurzfristige Höhenänderungen untersucht werden sollen (z.B. Phygoide), da die Druckschwankungen der Atmosphäre eigentlich viel zu groß sind um so genau messen zu können.
    Außerdem driftet der Sensor nach dem Einschalten um bis zu 4m innerhalb der ersten Minuten.

Layout

               Rückseite:                                          Vorderseite:

Ich persönlich habe 0,5mm-starkes fotobeschichtetes Epoxyd-Material für den Datenlogger verwendet. Das Layout kann mit einem Laserdrucker auf Transparentpapier bzw. mit einem Tintenstrahldrucker auf Klarsichtfolie gedruckt werden. Bitte nicht das obige Bild zum Drucken verwenden, sondern folgendes verwenden: Dlog_lay.zip(300dpi)

Beim Belichten muß die bedruckte Seite zum Kupfer zeigen.

Bestückungsplan

  

  • Achtung: Die Durchkontaktierungen und Brücken nicht vergessen!
  • Noch ein Tip für die Kabel zum Empfänger:
    • Es braucht nur ein Stecker (am besten RC-1) mit Masse und Betriebsspannung versehen zu werden, die anderen nur mit dem Kanalimpuls.
    • Die Kabel gut beschriften.
  • Die Stecker für den 2. analogen Sensor und den Speedsensor können  von  der Referenzspannung gespeist werden.
  • Der Taster zum Konfigurieren und Datenauslesen kann z.B. am RS-232-Stecker angebracht werden.

       

Stückliste des Datenloggers / Höhensensors

Controller PIC16F84-10 (SMD)
ADC LTC1288 (SMD)
EEPROM 24C256 (SMD)
Spannungsversorg. LP2951 (SMD)
OPV TLC2262 oder LM358
Drucksensor MPX4100A
Quarz
oder Keramikresonator
8MHz
T1 BC807 (SMD)
Widerstände siehe Schaltung, Bauform 0805 
Dioden LL4148
Kondensatoren siehe Schaltung (alles SMD)
LED z.B. Bauform 1208 (SMD) 
Steckverbinder  entsprechend RC-Empfängertyp

Software des Datenloggers

Die Software besteht aus 3 Teilen:

  1. Der Software im Logger.
  2. Der Software im PC zur Datenübertragung.
  3. Der Software für die Datenvisualisierung.

Zur Software des Datenloggers möchte ich an dieser Stelle nicht tiefer eingehen. An sich steckt in dieser Software relativ wenig Intelligenz (einfach nur Messen und Speichern). Wer vorhat, bei der weiteren Verbesserung des Datenloggers zu helfen, dem stelle ich gern das Assemblerlisting zur Verfügung (Mail an mich).

Dlog_hex.zip

Die Software zur Datenübertragung läuft, wie bereits gesagt, zur Zeit nur unter DOS (die Datenübertragung an sich, der Rest funktioniert auch im DOS-Fenster unter Windows).
Die Daten des Loggers können empfangen und gespeichert werden (in einem platzsparendem Format oder in einem ASCII-Format welches z.B. MS-EXEL verstehen kann).
Des weiteren zeigt das Programm die aktuell eingestellte Konfiguration des Loggers an.
Die grafische Anzeige der wichtigsten Daten dient lediglich dazu, um zu überprüfen ob die Datenübertragung geklappt hat.
(Für den "Palm-Pilot" entwickle ich gerade die Software zur Datenübertragung, bei Interesse Mail an mich.)
Auch hier der Hinweis, wer helfen will die Software zu verbessern: Mail an mich.

Dlog_exe.zip

Die meiste Intelligenz steckt in der Software zur Datenvisualisierung (Umrechnung Druck in Höhe usw., Ausdruck der Flugdaten). Ich persönlich benutze dazu MS-EXEL. Jeder sollte das benutzen, womit er am besten klar kommt.

Dlog_xls.zip

Geschwindigkeitssensor

Zur Geschwindigkeitsmessung verwende ich ein Eigenbau-Sensor aus ein paar Teilen einer defekten PC-Maus.

Das Prinzip:

Ein Minipropeller dreht eine Codescheibe welche eine Lichtschranke unterbricht. Dadurch werden Impulse erzeugt, deren Frequenz sich ziemlich proportional zur Geschwindigkeit verhält. Vorteil: Es ist kein A/D-Wandler nötig und die Messung klappt auch bei geringen Geschwindigkeiten.

Anfangs habe ich das interessierende Stück aus der Maus einfach herausgesägt und direkt (inklusive Lager) verwendet. Später habe ich dann auch mal eine kugelgelagerte und eine rubingelagerte Variante entworfen, in denen dann nur noch die Codescheibe und die Lichtschranke verwendet werden (gute Lager sind übrigens in alten analogen Uhren und Weckern zu finden). Der Sensor sollte wegen der Lichtschranke entsprechend abgedunkelt werden.

Folgend ein paar Abbildungen:

        
     

Eine andere einfache Möglichkeit ist die Verwendung eines kleinen Motors, welcher mit einem Minipropeller versehen als Generator arbeitet (bei Conrad gibt es z.B. Motoren mit nur 3-mm Durchmesser, inklusive Kugellager). Die erzeugte Spannung muß dann allerdings dem freien analogen Eingang zugeführt werden. Um den Motor "leichtgängiger" zu machen, sollte er mit einem kleinen Strom durchflossen werden, welcher gerade nicht zum Anlaufen des Motors führt (mittels Vorwiderstand realisiert).

Ausblick

Hier noch ein Ausblick zu bereits teilweise verwirklichten Dingen: Einige, neben den oben beschriebenen Sensoren, wurden schon ausprobiert.  Vielleicht später dazu mehr.

Auch zur Telemetrie wurde einiges, mit den bei Conrad erhältlichen 433MHz- Sender / Empfänger und ein paar Möglichkeiten zur Datenausgabe getestet.

Ein Laptop funktioniert in geschlossenen Räumen ja ganz gut, auf dem Flugplatz ist er jedoch absolut unbrauchbar, deshalb möchte ich auch lieber nicht die Telemetriesoftware für den Laptop an dieser Stelle veröffentlichen.

Ein alphanumerisches Display zur Datenausgabe ist da schon besser, aber wie meine praktischen Tests zeigten, kommt kaum jemand mit den angezeigten Zahlen klar. Die für mich derzeit beste Lösung stellt die Verwendung eines PDA's dar.

Hier ein Beispiel (Palm-Pilot / IBM-Workpad):

Das Display ist im Gegensatz zu Laptop-Displays auch bei Sonneneinstrahlung gut lesbar. Auch die Ausgabe von Tönen ist problemlos möglich (bei einigen Exemplaren vielleicht sogar mit Sprache).

Man kann das Gerät natürlich neben der Telemetrie auch noch bequem zur Datensicherung auf dem Flugplatz benutzen.
In der Endlösung habe ich das PDA in der Jackentasche, gehe mit ihm nur noch in die Nähe des Modells (vielleicht 2m Entfernung), starte ein Programm, und die Flugdaten vom Logger im Modell werden über Infrarotschnittstelle zum PDA zu übertragen (zur Zeit muß ich dazu noch ein Kabel anschließen).

Bis das alles richtig funktioniert, werde ich aber noch einige Zeit brauchen.

Auch hier noch mal der Hinweis: Wenn jemand bereit ist, bei der Weiterentwicklung des Datenloggers zu helfen: Mail an mich.

Frohes Basteln wünscht Dietrich Meissner