PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : RP6 Funk-Problem



AlBundy94
01.01.2013, 22:08
Hallo, und noch ein frohes neues Jahr wünsche ich ;)

Ich habe meinen RP6 nach einigen Startschwierigkeiten mit einem XBEE Funkmodul (für die die es interessiert: Serie 2 von Digi) ausgerüstet und habe auch schon erfeolgreich eine Funkverbindung zwischen dem PC und meinem kleinen Roboter hergestellt. Die Datenübertragung klappt in beide Richtungen tadellos und das sogar auf Anhieb (!) :p

Nun habe ich jedoch ein kleines Problem: Ich habe mir eine GUI geschrieben, mit welcher ich den RP6 fernsteuern kann, bzw Daten von ihm erfasse und diese auswerte. Über den mitgelieferten USB-Adapter mit dem 10-poligen Kabel konnte ich den RP6 reseten, also das laufende Programm beenden. Mit den XBEEs klappt das jedoch jetzt nicht mehr. Ich setze in meinem Programm am PC die RTS-Leitung des angeschlossenen XBEEs zu Beginn auf 0 und switche zum Reseten des Roboters die RTS-Leitung von 0 auf 1 und wieder auf 0. Über das Kabel klappt das perfekt, jedoch nicht per XBEE.

Meine Beschaltung sieht wie folgt aus: PC->XBEE ----FUNK---- XBEE->RP6 (XBEE(DOUT)->RP6(RXD) / XBEE(DIN)->RP6(TXD) / XBEE(CTS)->RP6(RST)) Ich habe also ganz normal die Datenleitungen angeschlossen sowie auch die CTS-Leitung, welche ja das RTS-Signal des am PC angeschlossenen XBEES übertragt, an der Reset (RST) Leitung des RP6.
Wenn ich jetzt am PC RTS auf 1 setze, sollte der RP6 reseten. Aber: Fehlanzeige. Wenn ich den RP6 starte, geht die gelbe PWR-LED kurz an und das war´s, keine blinkende grüne LED, wie normal. Entferne ich den XBEE, dann ist alles wie immer.

Ich stehe jetzt vor einem Rätsel: Ich habe die Lötverbindungen alle durchgemessen, daran liegt es also nicht (sei denn der Schaltplan ist Mist :D ). Also stimmt etwas mit der Funkverbindung bzw der RTS/CTS Leitung nicht - so schlussfolgere ich jetzt mal. Ist die CTS nicht am RST des RP6 angeschlossen, funktioniert alles. Datenübertragung klappt. Sobald aber Kontakt zwischen CTS und RST besteht, bleibt der RP6 in einem.. naja, ?wartenden? Modus hängen.

Ich freue mich über jede Hilfe, denn so langsam weiß ich nicht mehr was ich noch prüfen bzw ändern könnte. :confused:


LG Nils :)

radbruch
01.01.2013, 22:25
Hallo


...die CTS-Leitung, welche ja das RTS-Signal .... überträgt...Wenn ich jetzt am PC RTS auf 1 setze,Ich glaube, da liegst du falsch. Der PC steuert den RP6-Reset mit der RTS-Leitung bedeutet, dass diese Leitung auch verwendet wird. Deshalb würde ich es so versuchen:

XBEE(RTS)->RP6(RESET)

(oder du setzt CTS in deiner GUI auf 1 für einen RESET am RP6)

Im Schaltplan ist die RTS-Verbindung nur zu erkennen, wenn man weiß, dass das Flachbandkabel vom seriellen Adapter über Kreuz aufgelegt ist:

https://www.roboternetz.de/community/threads/51989-RP6-Terminal-%C3%BCber-PC-ansprechen?p=502363&viewfull=1#post502363

Gruß

mic

AlBundy94
01.01.2013, 22:36
Hallo! Bei einem Nullmodemkabel zur gegenseitigen Datenübertragung (was ja hier auch der Fall ist) sind DTR und DTS sowie RTS und CTS gekreuzt. Das heißt, dass wenn ich am PC RTS auf High setze, CTS am Endgerät auf High ankommen müsste. CTS ist der Ausgang der Leitung, den kann ich nicht auf High setzen in meiner GUI. Ich muss den Eingang setzen, also RTS.

...ich hatte auch erst so gedacht wie du: RTS vom XBEE an den RST des RP6 angeschlossen und dann RTS in der GUI auf High. Kann aber gar nicht funktionieren, da die Leitungen ja gekreuzt sind. Ich hatte also Dateneingang an Dateneingang gehängt, nicht Ausgang an Eingang.

Ich kann mich da auch irren bei meinen Vermutungen, aber so habe ich das jedenfalls gelesen mit den gekreuzten Leitungen :/

LG Nils

radbruch
01.01.2013, 22:46
Hallo


Ich kann mich da auch irren bei meinen Vermutungen, aber so habe ich das jedenfalls gelesen mit den gekreuzten Leitungen :/

Mit einem Messgerät könntest du die Spannung an CTS und RTS messen, wenn du mit der GUI etwas ausgibst. (Oder die Pins mit einem freien Eingang verbinden und den Status an einer LED anzeigen)

Gruß

mic

AlBundy94
01.01.2013, 22:49
Ich werde das morgen mal durchmessen und poste dann gleich das Ergebnis ;) Danke für deine Hilfe. Ums Messen komm ich wohl nicht drumrum. :b

AlBundy94
02.01.2013, 19:01
UPDATE: Also, ich habe heute mal mein Multimeter rausgeholt und mal fleißig drauf los gemessen. Wenn ich in meiner GUI RTS auf 1 setze, so liegt am angeschlossenen XBEE Modul am RTS-Pin eine Spannung von 0 Volt an. Setze ich RTS auf 0, so liegen am Pin 3.39 Volt an. Am XBEE des RP6 ändet sich aber nichts. Habe vorsichtshalber auch mal die anderen PINS gemessen (DTR,CTS,RTS,etc.) aber die Spannungen bleiben alle gleich, das RTS Signal des PC-XBees scheint das RP6-Xbee gar nicht recht zu interessieren habe ich das Gefühl :) Ich habe dann mal in der GUI DTS auf 1 gesetzt, danach auf 0, aber da ändert sich am RP6 auch nichts. Nur wie schon gesagt das am PC angeschlossene Modul führt diese "Befehle" aus - nur das am RP6 nicht.

Schon mal danke für eure Hilfe! ;)

SlyD
05.01.2013, 13:55
Hallo,

RTS/CTS werden bei den Funkmodulen natürlich zur Flusskontrolle für das Modul selbst genutzt - also damit der Host nicht zu schnell Daten über die Funkstrecke schickt. Die sind dort nicht als I/Os gedacht.
Musst mal ins Manual schauen ob man das konfigurieren kann. Ich meine irgendwer hätte das schonmal irgendwann hinbekommen aber ist schon lange her kann mich auch irren ;-)

Bei ner normalen seriellen Schnittstelle kann man das nutzen wie man mag. Beim RP6 wird darüber eben Reset ausgelöst.

MfG,
SlyD

AlBundy94
08.01.2013, 23:34
Hallo, SlyD!

Genau das habe ich nach mehrere Versuchen auch endlich rausgefunden :) Ich habe einfach mal die Datenflusssteuerung aktiviert, aber dann kamen keine Daten mehr durch, da ja das andere XBee auf eine Bestätigung zum Senden gewartet hatte. Hmpf. :D Ich bin jetzt gerade dran, einen anderen digitalen I/O zu verwenden um mit einem Transistor den Resetpin des ATmega32 auf masse zu ziehen. Irgendwie bekomme ich das schon hin, ich bin im Moment erstmal zufrieden, dass die Datenübertragung steht, denn das macht mich ja etwas "mobiler" in Sachen entwicklung ;) Erstmal danke für eure Hilfe, ich werde bei Zeiten mal einen neuen Thread hier starten und mein Projekt vorstellen, dann könnt ihr ja mal Meinungen dazu abgeben. Das Projekt fließt nämlich als besondere Lernleistung ins Abi mit ein und daher wäre es von großer bedeutung für mich noch ein paar meinungen dazu einzuholen :) LG Nils

radbruch
09.01.2013, 00:22
Hallo

Man lernt mehr und schneller, wenn es nicht auf Anhieb funktioniert.

Eine drahtlose Verbindung zum Bot ist schon eine feine Sache. Echt super ist ein W-Lan-Modul. Für die besondere Lernleistung ein "Daumen hoch" von mir.

Gruß

mic