Forum: Mikrocontroller und Digitale Elektronik Funk-Lichtschranke zur Zeitmessung mittels xBee und ATMega328


von Fabian F. (hugendorst)


Lesenswert?

Hallo Zusammen,

Ich bin neu hier im Forum.
Für ein Projekt an der Hochschule soll ich eine Zeitmesseinrichtung 
mittels zweier Lichtschranken aufbauen. Vorgabe ist, dass die 
Lichtschranken kabellos aufgestellt werden sollen. Sie müssen also per 
Funk miteinander kommunizieren.
Ich dachte ich baue das Ganze mit zwei Arduino Uno R3 Boards auf und 
hänge jeweils ein xBee Shield mit dem xBee Modul dran.
Bei den Lichtschranken setze ich auf Reflexionslichtschranken um die 
Zahl der mit Strom zu versorgenden Teile zu minimieren.
Außerdem soll eine Mittelgroße 7-Segment-Anzeige während der Zeitmessung 
mitlaufen und die Zeit anzeigen.

Die Messeinrichtung soll später auch als Anschauungsmaterial für die 
Vorlesung dienen, sollte daher sowohl im Freien, wie auch in Gebäuden 
funktionieren.

Zunächst mal ist meine Frage, ob die gewählte Komponenten-Konstellation 
sinnvoll ist.

Zwecks yC Programierung habe ich bisher leider nur wenig Erfahrung 
sammeln können. Ich denke die yC sollten auf jeden Fall bidirektional 
kommunizieren, um eventuelle Störungen auszugleichen und es nicht zu 
Informationsverlusten kommt.

Ein yC fungiert als Master und gibt die Zeit vor. An ihm wird denke ich 
die 7-Segment Tafel hängen. Er sendet dem Slave zu welcher Zeit die 1. 
Lichtschranke durchbrochen wurde, quasi die Startzeit. Am Slave befindet 
sich dann die Ziellichtschranke und dieser erfasst somit auch die 
Gesamtzeit. Diese muss dann mittels der Abfrage einer 
Empfangsbestätigung an den Master gesendet werden. Ich denke dass hier 
mit einem NTP gearbeitet werden sollte?

Die größten Schwierigkeiten werde ich wohl beim Programmieren haben. 
Speziell bei den Funkmodulen, da ich mit diesen Themen während meines 
Studiums noch überhaupt nicht in Berührung kam. Kann mir hier jemand ein 
zwei Tipps geben? Sei es geeignete einfache Literatur oder Informationen 
anderer Natur.

Besten Dank schonmal

Grüße

H

von Georg G. (df2au)


Lesenswert?

Welche Genauigkeit ist gefordert? In welcher Entfernung zueinander 
stehen die Lichtschranken? Welche Zuverlässigkeit wird gefordert?

Wegen der Laufzeit des Funksignals wirst du im Slave eine Uhr brauchen, 
die synchron zum Master läuft. Du erwähnst NTP. Das wird vermutlich 
etwas umfangreich werden. Aber als Basis ist es brauchbar.

Die nRF24L01+ Module solltest du dir auch mal ansehen. Da bekommst du 
für wenig Geld brauchbare Hardware, die auch simpel anzusteuern ist. 
Beispiele gibt es hier im Forum etliche.

von Fabian F. (hugendorst)


Lesenswert?

Georg G. schrieb:
> Welche Genauigkeit ist gefordert? In welcher Entfernung zueinander
> stehen die Lichtschranken? Welche Zuverlässigkeit wird gefordert?

Genauigkeit sollte bei mindestens 1/100 s liegen. Die Lichtschranken 
solln von Objekten der Größe eines kleinen Businesskoffers durchquert 
werden und die Entfernung zwischen den Lichtschranken soll mindestens 10 
m schaffen.

Georg G. schrieb:
> Wegen der Laufzeit des Funksignals wirst du im Slave eine Uhr brauchen,
> die synchron zum Master läuft. Du erwähnst NTP. Das wird vermutlich
> etwas umfangreich werden. Aber als Basis ist es brauchbar.

 Was wäre denn als einfachere Alternative zu dem NTP für die Uhr 
denkbar?

Georg G. schrieb:
> Die nRF24L01+ Module solltest du dir auch mal ansehen. Da bekommst du
> für wenig Geld brauchbare Hardware, die auch simpel anzusteuern ist.
> Beispiele gibt es hier im Forum etliche

Die xBee Module mit der ZigBee Spezifikation war lediglich ein Vorschlag 
meines Professors. Die fertigen Shields machen es natürlich überaus 
bequem das ganze zusammen zu stecken.

von Georg G. (df2au)


Lesenswert?

Fabian F. schrieb:
> Was wäre denn als einfachere Alternative zu dem NTP für die Uhr
> denkbar?

Den Algorithmus von NTP solltest du verwenden, nur nicht das ganze IP 
Gedöns drum herum.

von Jakob (Gast)


Lesenswert?

Verstehe ich das richtig?
- Der µC am Startpunkt hat die Start-Lichtschranke und das Zeitnormal.
- Dem µC am Zielpunkt meldet den Zieldurchlauf.

Ich glaube, hier ist NTP, oder irgendwelche andere Synchronisierung
überflüssig! Die Laufzeit von Funkwellen ist bis 300 m unter 1 µs.

Allerdings muss die DAUER DES DATENPAKETS samt Entschlüsselung für
die Meldung des Zieldurchlauf-Ereignisses herausgerechnet werden.

Selbst das könnte wegfallen, wenn du eine Zentrale hast, die
einfach nur die Meldungen zweier "dummer" Durchlauf-Erkennungs-
Module (mit gleich langen Datenpaketen) auswertet.


Wenn aber mehrere Koffer zwischen Start und Ziel unterwegs sind,
hast du ein anderes Problem... (Koffererkennung)

von Georg G. (df2au)


Lesenswert?

Jakob schrieb:
> DAUER DES DATENPAKETS samt Entschlüsselung

Bleibt die Hoffnung, dass diese Zeit konstant ist und, dass die 
Übermittlung immer im ersten Versuch klappt. NTP ist so kompliziert auch 
nicht und damit ist der TO auf der sicheren Seite.

von Fabian F. (hugendorst)


Lesenswert?

Georg G. schrieb:
> Bleibt die Hoffnung, dass diese Zeit konstant ist und, dass die
> Übermittlung immer im ersten Versuch klappt


Das Problem mit der Übermittlung ist auch der Grund warum die Module 
bidirektional arbeiten sollen. Das Datenpaket wird so oft gesendet bis 
der eigentliche Zielsender vom Startempfänger die Antwort bekommt, dass 
das Datenpaket ordnungsgemäß angekommen und verarbeitet wurde.

Jakob schrieb:
> Verstehe ich das richtig?
> - Der µC am Startpunkt hat die Start-Lichtschranke und das Zeitnormal.
> - Dem µC am Zielpunkt meldet den Zieldurchlauf.

> Ich glaube, hier ist NTP, oder irgendwelche andere Synchronisierung
> überflüssig! Die Laufzeit von Funkwellen ist bis 300 m unter 1 µs.
>
> Allerdings muss die DAUER DES DATENPAKETS samt Entschlüsselung für
> die Meldung des Zieldurchlauf-Ereignisses herausgerechnet werden.

Dass das nicht zwangsläufig nötig ist glaube ich auch nicht. Es macht 
das Ganze aber ein Stück weit stabiler. Das System ist so deutlich 
weniger Fehler anfällig wie ich meine. Falls nämlich ohne ein 
Zeitprotokoll mal das Senden eines Datenpakets schief läuft ist die 
ganze Messung dahin und muss wiederholt werden.

Allgemein soll sich aber immer nur ein Objekt zwischen Start und Ziel 
Lichtschranke befinden.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.