Forum: Mikrocontroller und Digitale Elektronik RS485 Funkübrtragung mit XBEE?


von Sebastian G. (sgraw)


Lesenswert?

Hallo,
ich würde gerne ein RS485 Signal über Funk übertragen.
Am liebsten wäre es mir wenn Master und Slave immer Sendebereit wären. 
Wenn dann der Master Daten sendet, soll der Slave zunächst einen Ausgang 
schalten der am MAX485 des Slaves RE und DE enabled.
Will der Slave Daten an den Master zurücksenden soll das Mastermodul 
auch erst erkennen das Daten kommen einen Ausgang schalten um RE und DE 
zu enablen und dann die Daten annehmen.
Ist das mit XBEE möglich?
Oder wie würdet ihr das realisieren?
Wichtig ist mir auch das wenig Strom verbraucht wird.

Schonmal Danke im voraus.

von Kein Troll (Gast)


Lesenswert?

Dir ist aber schon klar, dass RS485 bidirektional ist, und Master Slave 
dann ein pollen des Slaves bedingt? Insofern passt das, als beide per 
Protokol wissen muessen, wann sie senden duerfen.

von Sebastian G. (sgraw)


Lesenswert?

Ja das ist mir bewusst.
Die "Intelligenz" hinter den Funkmodulen weiß wann es senden darf.
Meine Frage ist eigentlich noch, ob es möglich ist das ein Ausgang 
geschaltet wird sobald das Xbee Modul Daten empfängt. Mit diesem Ausgang 
würde ich dann halt den DE und RE Pin am MAX485 enablen, sodass das 
Funkmodul im Empfangsmodus ist.

von ..,- (Gast)


Lesenswert?

Muss es denn unbedingt XBee sein?
Gehe ich richtig davon aus das es nur eine Punkt-zu-Punkt-Verbindung 
ist?
Würde da ein Wald-und-Wiesen-Bluetooth-Modul nehmen ... SPP fahren ... 
und durch deren SerialSelect's dein DirectionPin wackeln lassen.
Was Stromverbrauch angeht ist Bluetooth vielleicht auch noch 
verschmerzbar ... kommt natürlich ganz auf deine Ansprüche an.

von Sebastian G. (sgraw)


Lesenswert?

In den meisten Fällen reicht Punkt zu Punkt aus, allerdings werde ich 
auch Anwendungen haben bei denen ich Punkt zu Mehrpunkt benötige.
Die einzelnen RS485 Teilnehmer sind mit Adressen versehen.

von trog (Gast)


Lesenswert?

XBee als ein Zigbee derivat hat ein ganz anderes Protokoll im Vergleich 
zum Blutooth. Bluetooth verplempert viel mehr Zeit fuer die 
Verbindungsaufnahme. Bleib bei Zigbee, resp Xbee

von Sebastian G. (sgraw)


Lesenswert?

Hab mir jetzt mit zwei Arduinos einen Testaufbau aufgebaut.
Ich sende über einen MAX485 meine Daten an den Arduino. Die Empfangenen 
Daten werden dann an die zweite Schnittstelle, an der das XBEE Modul 
sitzt, weitergegeben. Das zweite XBEE Modul empfängt die Daten und 
sendet diese an ein zweites XBEE Modul, dieses gibt sie an den zweiten 
Arduino weiter. Der zweite Arduino schaltet einen Pin HIGH womit er den 
Zweiten MAX485 auf senden stellt und gibt die Empangenen Daten weiter.
Wurden die Daten übertragen schaltet der Arduino den Pin wieder auf LOW 
und die Datenübertragung kann in die andere Richtung ausgeführt werden.

Das Funktioniert so auch alles... alerdings perfekt ist was anderes :)
Ich würde mir wünschen das das XBEE Modul selber einen Pin HIGH schaltet 
wenn es Daten empfängt um so den MAX485 auf senden zu schalten.

Das ist aber wohl nicht möglich oder?

Oder habt ihr eventuell Ideen wie ich es ansonsten lösen kann.
Wichtig ist halt das ich Zweidraht 485 nutze und auch nicht auf 4 Draht 
wechseln kann.

Schön wäre vielleicht auch anstatt des MAX485 ein IC welches selber 
erkennt von wo gerade Daten kommen sodass ich garnicht umschalten musss.

Gibt es da was?

: Bearbeitet durch User
von Weingut P. (weinbauer)


Lesenswert?

Du kannst im Prinzip die Treiber vom CAN-Bus nehmen, dann erübrigt sich 
die Umschaltung PCA82C250 z.B.. Allerdings bekommst Du dann ein Echo.

von Marcel L. (superhans)


Lesenswert?

Sebastian Graw schrieb:
> Das Funktioniert so auch alles... alerdings perfekt ist was anderes :)
> Ich würde mir wünschen das das XBEE Modul selber einen Pin HIGH schaltet
> wenn es Daten empfängt um so den MAX485 auf senden zu schalten.

Wie lange must du das High signal denn haben? Vielleicht kannst du den 
RSSI Eingang oder den ON Eingang nutzen. Der RSSI liefert allerdings ein 
PWM Signal bei empfangenen Daten, in Abhängigkeit der Signalstärke, 
somit sind das nicht immer 3,3V. Der ON Eingang wird HIGH sobald ein 
Sleepy End Device Daten empfängt. Sobald sich das Modul wieder schlafen 
legt wird der Eingang auch wieder LOW.

von Harald (Gast)


Lesenswert?

Die meisten XBees haben eine eingebaute Flusskontrolle für RS485, für 
das XBee 802.15.4 z.B. zu finden unter I/O-Settings in den AT Kommandos. 
Hier kann man DIO7 zur Steuerung des RS485 programmieren. Muss man also 
einmalig nach Factory-Default einstellen.
Möglichkeit 2 ist die Nutzung eines Transceivers mit Auto-Direction, 
gibt es aber keine große Auswahl (z.B. Maxim MAX13487)

von Sebastian G. (sgraw)


Lesenswert?

Hatte meine XBEE Module auf Version 10EC stehen und deshalb bei DIO7 
nicht die Möglichkeit auf Flusskontrolle für 485 zu stellen.
Bin gespannt wie das läuft werde es am Freitag ausprobieren.
Danke Harald

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.