Diese Übungen sollte man erst dann durcharbeiten, wenn man im Abschnitt Grundlagen die Kapitel XBee konfigurieren und XBee Kommunikation durchgearbeitet hat.
In diesem Versuch wird eine LED mit einem XBee-Empfänger-Modul verbunden und über Fernabfrage vom Sender-Modul mit Hilfe eines Tasters gesteuert. Die Konfigurationssoftware für die XBee-Module ist XCTU in der Version 6.3.2. Eine Einführung in die Handhabung findet sich bei den Grundlagen - Signale richtig verstehen im Kapitel XBee konfigurieren in Abschnitt 5.
Fernabfrage mit XBees | |
Material |
|
Aufgaben |
|
Schaltungsaufbau Sender
Schaltungsaufbau Empfänger
Bei einer unbekannten Konfiguration eines XBee-Bausteins sollte dieser auf die Werkseinstellung mit Reset zurückgesetzt und dann neu konfiguriert werden. Sind die vorhandenen Einstellungen bekannt, dann lassen sich mit wenigen Veränderungen die Neueinstellungen vornehmen. Sicherheitshalber werden die XBees für diesen Versuch auf die Werkseinstellungen zurückgesetzt.
Konfiguration des Empfängers | |
Aufgaben |
|
Für das Sender-Modul gilt das gleiche wie für den Empfänger. Wenn man sich nicht sicher ist, welche Konfiguration bei dem Modul eingestellt ist, ist es einfacher die Werkseinstellungen mit dem Programm XCTU über Default herzustellen und anschließend mit der Neukonfiguration zu beginnen.
Konfiguration des Senders | |
Aufgaben |
|
Sobald beide XBees an die Spannungsversorgungen angeschlossen sind, beginnt die Datenübertragung. Die schauen wir uns mit XCTU etwas genauer an.
Während der Übertragung der Datenpakete wurde am Sender der Taster gedrückt und wieder los gelassen. Dieser Effekt sollte sich auch in den Datenpaketen zeigen. Ein Vergleich der beiden gerahmten Bytefolgen zeigt, dass eine Veränderung an der 7. und 13. Stelle erfolgt. Die 7. Stelle steht für die Signalstärke des Funksignals und ist für die weitere Untersuchung hier nicht relevant; aber die 13. Stelle. Sie steht für das lower Byte des Datenpaketes.
Bei nicht gedrücktem Taster liegen die Signale am Eingang des XBees auf 1; da zwei Eingänge aktiv geschaltet sind, DI0 und DI1, ergibt sich die Zahl 3 nach der binär codierten Zahldarstellung. Wird der Taster an DI0 gedrückt, wird er auf 0 gezogen und nur DI1 verbleibt auf 1.
Bytefolge für Taster gedrückt
Die Aktivsignal-Bytes teilen sich wie folgt auf
Wie zu Beginn angesprochen, sind die Ports DO0 und DO1 als Eingang aktiv geschaltet worden; dies wird mit je einer 1 in der stellenwertorientierten Tabelle markiert. Der Binärzahl 0b00000011 entspricht die Hexadezimalzahl 0x03 und die steht als lower Byte im Signalpaket. Die Datenpaket-Bytes unterscheiden sich nur an der Stelle D0 voneinander. Dort steht jetzt eine 0. Der Taster wurde gedrückt, damit wird D0 von 1 auf 0 heruntergezogen, während D1 unbeschaltet und damit auf HIGH oder 1 verbleibt.
Bytefolge für Taster nicht gedrückt
Die Aktivsignal-Bytes teilen sich genau so auf wie bei der Besprechung über den gedrückten Taster. Ein Unterschied ist im LowD des Datenpaketes zu erkennen. Die Bits bei D0 und D1 sind beide gesetzt. Das ist richtig, da beide Eingänge offen oder nicht beschaltet sind und damit auf 1 liegen.
Sender und Empfänger im Betrieb
Sobald Sender und Empfänger an die Spannungsversorgung angeschlossen sind, wird vom Sender alle zwei Sekunden ein Datenpaket an den Empfänger gesandt. Wird der Taster gedrückt, dann kann es bis zu zwei Sekunden Zeitverzögerung geben, bis die LED am Empfänger darauf reagiert und an geht.
Die Zeitverzögerung wurde bei der Konfiguration des Senders unter Sample Rate auf 0x7D0 eingestellt. Dieser Hexadezimalzahl 0x7D0 entspricht der Dezimalwert 2000. Die Sample Rate wird in der Einheit Millisekunden (ms) angegeben.
Soll eine kürzere Reaktionszeit erfolgen, muss die Sample Rate heruntergesetzt werden.
Reichweite des Funksignals
Der Abstand zwischen Sender und Empfänger (1mW Version) für einen noch sicheren Funkempfang muss ausprobiert werden. Innerhalb eines normalen Gebäudes (nicht zuviel Beton und/oder Metall) sollten 20 - 30m möglich sein. Im Freien erhöht sich der Wert auf 90 - 100m. Im Datenblatt des Herstellers werden 30m (indoor) und 100m (outdoor) angegeben. Probiere es selber aus.
Wer mit dieser Sendeleistung nicht zufrieden ist, muss auf die leistungsstärkeren PRO Modelle zurückgreifen, die bei 100m (indoor) und 1500m (outdoor) nach Herstellerangaben liegen.
Für den Schulbetrieb sollte die Normalversion ausreichend sein.
Am Ende dieses Kapitels wird jetzt eine Schaltung aufgebaut, die auf der Senderseite aus drei Tastern besteht und bei der auf der Empfängerseite drei LEDs (rot, gelb, grün) mit Vorwiderstand aufgebaut sind. Sobald ein Taster gedrückt wird, leuchtet die entsprechende LED beim Empfänger auf.
Da miteinander kommunizierende XBees auf korrespondierende I/O Pin reagieren und in dieser Schaltung auf der Senderseite die I/O-Leitungen D0, D1 und D2 als Eingang eingebunden werden, müssen auf der Empfängerseite die entsprechenden Kanäle als Ausgang gewählt werden.
Drei LEDs mit drei Tastern fernsteuern | |
Material |
|
Schaltungsaufbau Sender
Schaltungsaufbau Empfänger
Drei LEDs mit drei Tastern fernsteuern | |
Material |
|
Konfiguration Empfänger-XBee
Konfiguration des Empfänger-XBee Moduls | |
Aufgaben |
|
Konfiguration Sender-XBee
Konfiguration des Sender-XBee Moduls | |
Aufgaben |
|
Die Lösung
Die Erklärung zu den einzelnen Bytes gibt die folgende Tabelle.
Welche Taster auf der Senderseite gedrückt wurden, ergibt sich aus dem Bytepaaren 00 07 und 00 02.
Die Aktivsignal-Bytes (00 07) teilen sich wie folgt auf
Die Eingänge D0, D1 und D2 sind aktiv geschaltet (symbolisiert durch die 1). Schauen wir uns dazu jetzt die Datenpaket-Bytes an. Von den drei aktiven Tastern an D0, D1 und D2 ist nach den Informationen aus dem Datenpaket nur D1 auf 1, während D0 und D2 auf 0 gezogen wurden. Das heißt, dass die beiden Taster D0 und D2 gedrückt sind und die LEDs rot und grün leuchten.
Die meisten der hier durchgeführten Experimente gehen zurück auf Vorschläge von J. A. Titus, die er in seinem Buch The Hands-on XBee Lab Manual veröffentlicht hat.