PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Xbee: zu geringe Reichweite



crabtack
11.12.2014, 18:59
Hallo!

Für meinen Quadrocopter verwende ich Xbee Funkmodule.
um genau zu sein, das XBee-PRO 802.15.4,63mW,Drahtantenne

Momentan teste ich die Motoren, indem ich mit einem Xmega einen Dualshock2 (PS2 Controller) auswerte und die Daten der Y Achse eines Sticks per UART zum Copter sende, der dann die Motoren entsprechend ansteuert.
Das Problem ist, dass das nur auf einer Reichweite von weniger als einem Meter funktioniert obwohl ja eigentlich ein Km möglich sein sollte.

Früher hatte ich das Problem, dass die gesendeten Daten nur sporadisch ankamen.
Das konnte ich beheben, indem ich die Länge der Antennen verdoppelt habe, danach funktionierte es einwandfrei, aber halt nur auf einer sehr kleinen Entfernung.
Einen Konfigurationsfehler kann ich eigentlich Ausschließen, da ich die beiden Funkmodule erstmal auf Werkseinstellungen zurücksetze und sie dann standardmäßig mit 63mW (18dBm) senden.
Ja, das wird noch auf 10 geändert, wenn es funktioniert, damit ich legal bleibe.

Die Initialisierung des Xbees sieht dabei so aus:
Fernbedienung:


_delay_ms(1000);
UART_Comm::Send_Xcommand("+++");
_delay_ms(1000);
_delay_ms(100);


/* Werkseinstellungen
_delay_ms(100);
UART_Comm::Send_Xcommand("ATRE",true);
_delay_ms(200);
UART_Comm::Send_Xcommand("ATWR",true);
_delay_ms(200);
UART_Comm::Send_Xcommand("ATCN",true);
_delay_ms(200);
*/

UART_Comm::Send_Xcommand("ATID3432",true);
_delay_ms(100);
UART_Comm::Send_Xcommand("ATMY1",true);
_delay_ms(100);
UART_Comm::Send_Xcommand("ATDH0",true);
_delay_ms(100);
UART_Comm::Send_Xcommand("ATDL2",true);
_delay_ms(100);
UART_Comm::Send_Xcommand("ATWR",true);
_delay_ms(100);
UART_Comm::Send_Xcommand("ATCN",true);
_delay_ms(100);
Copter:


_delay_ms(1000);
UART_Comm::Send_Xcommand("+++");
_delay_ms(1000);
_delay_ms(100);
/* Werkseinstellungen
_delay_ms(1000);
_delay_ms(100);
_delay_ms(100);
UART_Comm::Send_Xcommand("ATRE",true);
_delay_ms(200);
UART_Comm::Send_Xcommand("ATWR",true);
_delay_ms(200);
UART_Comm::Send_Xcommand("ATCN",true);
_delay_ms(200);*/

UART_Comm::Send_Xcommand("ATID3432",true);
_delay_ms(100);
UART_Comm::Send_Xcommand("ATMY2",true);
_delay_ms(100);
UART_Comm::Send_Xcommand("ATDH0",true);
_delay_ms(100);
UART_Comm::Send_Xcommand("ATDL1",true);
_delay_ms(100);
UART_Comm::Send_Xcommand("ATWR",true);
_delay_ms(100);
UART_Comm::Send_Xcommand("ATCN",true);
_delay_ms(100);
Die Werkseinstellungen sind auskommentiert, die müssen ja nicht jedes mal wieder hergestellt werden.
Das senden von Daten erfolgt dabei wie erwartet über UART, ich denke, den Code brauche ich nicht reinzustellen.
Die Datenübertragung erfolgt momentan noch mit einer Baudrate von 9600, die wird später natürlich noch raufgeschraubt.

Hat jemand eine Idee, woran es liegen kann, dass die Reichweite so gering ist?
Das Problem ist übrigens unabhängig davon, ob die Motoren laufen oder nicht.

mfg
Olaf

Peter(TOO)
12.12.2014, 06:09
Hallo Olaf,

Wenn es keine Störungen sind, bleiben nur die Antennen.
Sowohl Send- als auch Empfangsantenne.

Da sollte keinerlei Metall zwischen den Antennen sein, auch keine Drähte.

Den km erreicht man nur mit optimalen Antennen.

MfG Peter(TOO)

Valen
12.12.2014, 11:52
Ich wurde für 's testen die Motoren ergänzen durch Glühbirnen oder so etwas. Damit ausschließen das sie Breitbandige Funkstörungen machen im XBee Frequenzbereich.

Die RSSI/pwm0 Ausgangpin (und AT Kommando DB ) könnte weitere Information geben über die Empfang-starke der letzte Sendung.

Es gibt auch ein AT commando womit du die Sendeleistung der Xbee einstellt. Den internationale Xbee Pro haben unterschiedliche Sendeleistungen (sehe Kommando AT PL in die Benutzeranleitung)

WL
12.12.2014, 18:09
Hallo Olaf,




Hat jemand eine Idee, woran es liegen kann, dass die Reichweite so gering ist?


Ich hatte auch diese Probleme mit den "Pro"-Modellen. In Deutschland gibt es u.U. auch (max.) 10mW Module mit der Bezeichnung "Pro".
Die Reichweite war in der Konfiguration kleinste Leistung vergleichbar mit den 2mW-Modulen!

Siehe:
https://www.roboternetz.de/community/threads/65789-XBee-Pro-Sendeleistung?highlight=Xbee

Rückfrage bei Herrn Watterott ergab:

Zitat: Die 10mW Modelle haben ein J am Ende der Bezeichnung.


Demnach habe ich 63mW-Module.
Das bezweifle ich bis heute!

crabtack
16.12.2014, 13:42
Hi, Danke für die Antworten!

Es lag wirklich an der Einstellung der Sendeleistung.
Ich dachte, der Default Parameter: 4 wäre die Höchste Ausgangsleistung, die war auch definitiv eingestellt.
Dann sehe ich im Datenblatt, dass die Internationale Version bei 4 die geringste Ausgangsleistung hat und bei 0 die größte.
Also genau das Gegenteil wie bei der Amerikanischen.
Das steht allerdings auch nicht in allen Datenblättern zum Xbee, daher habe ich erst jetzt gefunden.

Jetzt habe ich bei Sichtkontakt ca. 100m Reichweite.
Allerdings kommt es immer wieder mal zu Übertragunsausetzern, besonders dann, wenn eine der Antennen geneigt ist oder in der nähe einer Wand ist.
Die Reichweite ist immer noch ziemlich gering, für einen Copter.
Gibt es noch Möglichkeiten, um die Reichweite zu erhöhen?

Kann ich z.B. die Antenne verlängern?

mfg
Olaf

PICture
16.12.2014, 14:03
Hallo!

Du hast noch nicht die Frequenz genannt. Ich würde zuerst mit senkrecht hängender Litze experimentieren, weil bei Polarisationsänderungen eine Verlängerung nix helfen würde.

crabtack
25.12.2014, 10:31
Hi, danke für die Antwort!

Die Frequenz beträgt 2.4GHz.
Wie genau sollte so eine senkrecht hängende Litze aussehen?
vor allem wie lang?
Standardmäßig hat das Xbee eine Lambda/8 Antenne.
Könnte eine zu lange Antenne Probleme bereiten, z.B. das Anpassungsnetzwerk überlasten?
Habe von Antennen wirklich wenig Ahnung....
Und wie kann ich dafür sorgen, dass die Antenne nicht in die Rotoren gerät?
Das Xbee ist nur etwa 4cm vom Nächsten Rotor entfernt.
Ich müsste dann erstmal die Antenne fest verlegen oder weiter unten hängen lassen.

Oder ist es möglich eine Leitung zu legen, die zur Antenne führt, aber selbst nicht als Antenne wirkt?
Zwei Fotos zur Verdeutlichung im Anhang.

Würde vlt auch eine Richtantenne am Sender eine Verbesserung bringen?

mfg
Olaf

PICture
25.12.2014, 11:29
Wie genau sollte so eine senkrecht hängende Litze aussehen?
vor allem wie lang? Standardmäßig hat das Xbee eine Lambda/8 Antenne.

Die Länge sollte, falls möglich, gleich bleiben und Aussehen hängt vom Aufbau ab.


Könnte eine zu lange Antenne Probleme bereiten, z.B. das Anpassungsnetzwerk überlasten?
Habe von Antennen wirklich wenig Ahnung....

Es kann nie mehr als bei perfekt abgestimmter Antenne ausgestrahlt werden. Wenn die Antenne länger seien sollte, dann deutlich. Sie heisst "long wire" was in UHF Bereich eher nicht verwendet wird.


Und wie kann ich dafür sorgen, dass die Antenne nicht in die Rotoren gerät?

Am besten wäre die Antenne unten aufhängen, was Verlagern des Funkmoduls bzw. zusätzliches Kabel mit passender Wellenimpedanz benötigt.


Oder ist es möglich eine Leitung zu legen, die zur Antenne führt, aber selbst nicht als Antenne wirkt?

Ja, aber für 2,4 GHz müsste man angeblich ziemlich dickes SAT Kabel nehmen um Lerluste zu minimieren.


Würde vlt auch eine Richtantenne am Sender eine Verbesserung bringen?

Ja aber nur dann, wenn der Copter sich immer sicher in der "Energiewolke" befinden wird.

Auf die Schnelle habe ich kleine Lektüre gefunden: http://www.itwissen.info/definition/lexikon/Antenne-antenna.html . ;)

crabtack
25.12.2014, 11:53
Danke, für die schnelle Antwort!

Gut, das Funkmodul nach unten zu verlagern stellt nicht wirklich ein Problem dar.
Aber ein Problem ist, dass die Antenne nur 25mm lang wäre, ich denke, da würde es nicht wirklich viel sinn machen, wenn sie runter hängt, da sie bei den Bewegungen des Copters schnell anfangen wird zu schwingen und dann ist die Polarisation auch nicht mehr besonders gut.
Ich habe mal ein wenig gesucht und bin auf Clover Leaf Antennen gestoßen, bei denen die Polarisation aus jeder Richtung recht gut sein soll, was hältst du davon?

Richtantenne würde dann sinn machen, wenn der Copter sein GPS Modul hat, dann könnte das Automatisch ablaufen, dann bräuchte die Richtantenne natürlich auch noch GPS und Kompass, aber das ist noch alles weit entfernt :D

mfg
Olaf

PICture
25.12.2014, 12:10
Aber ein Problem ist, dass die Antenne nur 25mm lang wäre, ich denke, da würde es nicht wirklich viel sinn machen, wenn sie runter hängt, da sie bei den Bewegungen des Copters schnell anfangen wird zu schwingen und dann ist die Polarisation auch nicht mehr besonders gut.

Ich denke, dass man ein Gewicht am unterem Ende der hängender (HF) Litze befestigen könnte.


Ich habe mal ein wenig gesucht und bin auf Clover Leaf Antennen gestoßen, bei denen die Polarisation aus jeder Richtung recht gut sein soll, was hältst du davon?

Das kenne ich gar nicht, kannst du aber ausprobieren. Auf die Schnelle gefunden: http://www.kopterforum.de/topic/21989-24-ghz-cloverleaf-antenne-am-sender-mz24/ . ;)

crabtack
25.12.2014, 12:15
Ich denke, das man ein Gewicht am unterem Ende befestigen könnte.
Die Idee ist so einfach, wie genial, danke!

Ich werde beides mal Ausprobieren und mich melden, wenn es Ergebnisse gibt.
Am besten Lege ich mir mal Xbees mit HF-Verbindern anstelle von Drahtantennen zu, sonst wird das etwas kompliziert mit CL Antennen.
Dann kommen die alten in den Panzer, der braucht nicht so eine hohe Reichweite.

Aber erstmal versuche ich es mit einer hängenden Antenne.

mfg
Olaf

PICture
25.12.2014, 12:20
Dann wünsche ich dir vieeel Erfolg und erwarte nur positive Berichte. :D