PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : NIBO2 - Kommunikation ATmega128 mit Xbee-Modul und PC



Hero_123
25.09.2010, 15:43
Hallo!

Ich wollte mal fragen, ob schon jemand Erfahrung mit der Fernsteuerung eines Roboters (ATMega128) mittels PC hat - genauer gesagt - hat schon mal jemand mittels Xbee (und PC) einen Roboter ferngesteuert?
Als Schnittstelle wäre beim ATmega128 frei:
Port PD6, Port PD5, Port PD3, Port PD2, , Port PD1, Port PD0
(die Schnittstelle ist auch zu sehen im angehängten pdf-file)

Ich habe diesbzüglich schon beim Hersteller des NIBO2 (mehrfach) nachgefragt, aber leider keine Antwort erhalten; es ist zwar in der nibolib (z.B. 2.7 und frühere) ein xbee.c-file mit dabei, aber ohne weitere Hinweise kann ich (leider) nichts damit anfangen

für weiterführende Hinweise wäre ich sehr dankbar

mfg

Hero_12

Achim S.
25.09.2010, 16:53
Hallo Hero
In einem telefongespräch hatte ich vor einiger Zeit auch nach diesem Thema gefragt. Hatte auch nur einfach die Antwort bekommen, es dient zum Anschluss eines Moduls. Sonst keine Angaben. Es verwundert mich nicht, das du keine Antwort bekommen hast. Es geht auch anderen so. Habe auch mails bekomme, wo das gleiche drin steht. Habe meine persönliche Meinung in diese Richtung. Wenn man keine Antworten auf technische Fragen bekommt ist am anderen Ende der Leitung keiner oder will oder kann nicht antworten. Es kann sich jeder selbst seine Meinung zu machen.
Achim

Hero_123
25.09.2010, 17:49
Hi Achim

ja, es verwundert mich doch etwas, daß man auf gezielte Anfragen keine verwertbaren Aussagen bekommt; ich weiß, daß mit dem Vorgängermodell (dem NIBO) schon mit XBee und PC kommuniziert wurde...

zu der lib habe ich inzwischen auch meine eigene Meinung - die Doku ist doch etwas "ausbaufähig" - wenn man die lib verwendet, sollte man VORHER den Sourcecode der lib doch etwas genauer ansehen, denn sonst passierts, daß man mittels copro_stop() den Copro stoppt und nicht mehr zum laufen bringt, wenn man HINTERHER nicht mehr mit dem Befehl copro_setSpeedParameters(kp, ki, kd) dem Copro "neues Leben" einhaucht, da der PID-Regler auf NULL gestellt wird...ist mir jedenfalls passiert - habe den NIBO2 mit copro_stop() gestoppt (du weißt ja - immer noch am Testen der Bodensensoren!),wollte ihn dann zurückfahren lassen - der Kerl rührte sich aber keinen MM mehr - erst nach Aufruf von copro_setSpeedParameters(kp, ki, kd) fuhr er zurück - das ist in der lib aber nicht dokumentiert, daß nach copro_stop() der NIBO wieder einen "Anschubser" mittels copro_setSpeedParameters(kp, ki, kd) benötigt...auch nach Aufruf des copro_update() sollte man etwas Pause einlegen

wie gesagt - es ist nirgendwo dokumentiert, wie lange man eine Pause nach einem Fkts-Aufruf einlegen soll - da ist es wohl doch besser, man schreibt seine eigenen Funktionen - da weiß man, was man gemacht hat und was passiert bzw passieren soll...


btw - gibt es noch mehr NIBO2 - User? Wäre schön, mal deren Meinungen zu hören und vlt einen "Gedankenaustausch" machen..


Hero_123

Achim S.
25.09.2010, 20:06
Hallo Hero
das mit stop ist mir total neu, aber gut zu wissen. Wenn ich die Sache richtig verstanden habe, setzt du zuerst die Werte für den PID Regler und diese sind dann anschliessend weg ?? !! Ist sehr komisch.
Zu deiner zweiten Frage. Ich habe schon einige Namen von Freunden, Mit einigen tausche ich mich aus. Damals wie ich mir den Nibo angeschafft habe, hat mir die Funktion und solider Bau sehr gefallen. Es konnte ja keiner wissen wie es weiter geht. Da ja die Hilfe damals noch anders war, habe ich lieber etwas selbst gemacht. Daraus ist ja das Magazin entstanden. Obwohl es einige nicht verstehen können. Alle wollen news, aber keiner macht was. Ein grosses Anliegen ist dabei auch der Nibo. Ist ein gutes Teil und verdient mehr Aufmerksamkeit. Da ja der Hersteller vom Teil lebt, müssen es doch einige sein. Wieviel ist nicht bekannt. Bin gerade dabei was zum neuen Bot Magazin zu machen. Es sind tolle Bilder dabei. Hätte nicht gedacht das es sowas gibt. Ansonsten mache ich jetzt was in Hardware. Hat es noch gar nicht gegeben. Ist nur klein, aber es geht weiter in die Richtung. Ansonsten bin immer offen für anderes und neues.
Achim

Hero_123
25.09.2010, 20:41
Hi Achim

zu dem Thema "Bot Magazin" - gibt's da was Neues? Habe ich da was verpasst? Was machst Du gerade in HW? Hast Du schon viel mit dem NIBO2 gemacht (ich meine eigene Programme, Funktionen etc)? Mit welcher Programmiersprache "fütterst" Du den NIBO (ich machs mit C und dem guten WINAVR/AVRstudio4)?


Zum Magazin - stellst Du da auch Programme usw mit rein?

Hero_123

Achim S.
26.09.2010, 08:16
Hallo Hero
nicht gleich so viel Fragen auf einmal. Werde versuchen alle zu beantworten. Ob du beim Bot Magazin was verpasst hast, weiss ich nicht. Jetzt ist auf jedenfall Nr 10 raus. Habe es umbenannt von Nibo auf Bot. Es soll offen für alle Sachen und Modelle sein. Esx können sich auch gern mehrere Leser dran beteiligen. So von der Suche im Netz nach Neuigkeiten bis zur Vorstellung von eigenen Sachen. Auch soll ein Bereich news und Museum kommen. Es gibt so viel interessante Sachen di mal ans Licht kommen sollen. Bereite gerade das nächste vor. Stelle dabei etwas ganz neues altes vor. Komisch ? Die ganz neuen Sachen sind noch top geheim. Auch an anderen Leser. Von diesen Sachen gibt es kein Datenblatt. Und wenn es sowas gibt, hat es bestimmt einige zig Bücher Umfang. Mit dem Nibo 2 mache ich es so wie viele andere auch. Ich nehme ein Programm aus dem Lib und versuche mich dran. Erst einmal zu verstehen was da steht und warum so und nicht anders. Dabei kommt auch das verständnis für C. Daraus kommen eigene Prg. Erst mal um verschiedene Funktionen kennen zu lernen und zu testen. Ich arbeite mit C++ und dem AVR Studio so wie du. Beim HW habe ich mir den Prozessor vorgenommen und erst mal nachgesehen was so alles dran hängt. Dann hab ich mir denn NDS 3 geholt. Dort sind mehrere Eingänge als fei angegeben. Die Funktion, Programmierung, Belegung, Anschluss versuche ich gerade zu machen. ES gibt für andere Modelle schon einiges an HW. Warum nicht bein Nibo. Es gibt zu wenig User die sich damit beschäftigen. Auch das veröffentlichen von Prg im Magazin ist geplant. Zu Anfang hab ich es schon gemacht. Doch dabei musste ich festtsellen, das der Platz nicht reicht. Bei Prg mit 500 Zeilen ist alles zu klein. Da will ich was anderes machen. Erst einige Zeilen rein um zu erklären und den Rest bei mir per mail in Word oder so. Dann kann jeder übersetzen wie er will.
Hoffe das es zur ersten erklärung reicht. Meine mail steht auf jeder Ausgabe. Es wird jedes Beantwortet. Noch eins. Mir kommt es immer so vor, als ob die Firmen was neues bringen. Verkaufen und anpreisen ist das wichtigste. Die Qualität und der Service bleibt dabei auf der Stecke. Eine Firma die nicht erreichbar ist, existiert nicht. Habe schon beide extreme erlebt, sehr gut und schlecht. Ich weis s aus Erfahrung, das einigen das nicht gefällt wenn man so offen darüber spricht. Doch was wollen wir machen. Das sauer erarbeitetes Geld beim Hersteller abliefern und das Modell liegt dann in der Ecke oder Mülltonne. Es braucht eine unabhängige stelle, die auch mal die Wahrheit sagt. Gute Sahen verdienen es auch. Schlechte Sachen können weg.
Achim

Kalle55
11.11.2010, 15:43
Hallo Hero,
ich weiß das ich ein bißchen spät mit der Antwort bin, habe aber Heute im Online-Katalog von Nicai-Systems eine neue Adapterplatine (NXB2) für die XBee-Funkmodule gesehen. Vielleicht Ist das ja für Dich interessant.

Der Link:
http://www.nicai-systems.com/de/zubehoer/nxb2.html

Gruß Kalle

Hero_123
11.11.2010, 20:59
Hi Kalle55

danke für den link/tipp - ich habe mir zwischenzeitlich selbst was gebastelt und hänge mich an den Stecker X6 des NIBO2 dran (am UART1, PORTD); den Tipp mit der Adapter-Platine hatte mir workwind schon vor einiger zeit mal gesandt, da war aber noch nichts im online-katalog von nicai...
Die Lösung von nicai sieht ganz interessant aus, die verwenden den ISP-Stecker...

naja, habe das mit der Xbee-Kommunikation zwischenzeitlich zum laufen bekommen, bin aber nicht zufrieden - ich kann Daten zwischen PC und NIBO2 mittels Xbee-Kommunikation austauschen, aber wenn ich vom NIBO2 Daten erhalte, wird bei den empfangenen Daten immer eine Pause von 16ms eingelegt -> siehe Beitrag "XBee Module - Kommunikation PC <-> ATmega - Datenanzeige"...

mfg

Hero_123

workwind
12.11.2010, 14:43
Hallo Hero_123,

die 16 ms Pause kommen vermutlich vom RS232<->USB Adapter... Es gibt aber in der Regel einen Buffer Flush Timer, den man runter setzen kann, zumindest beim FTDI Treiber. Welche Gegenstation verwendest Du denn?

Hero_123
12.11.2010, 18:57
Hi workwind

vielen Dank für den Tip - Du hast recht, die 16ms "Gedenkpause" kamen vom RS232<->USB Adapter; da waren bei "latency timer" 16ms eingestellt - habe es auf 1ms gestellt - und schon gings ohne "Gedenkpause"!

Ich verwende 2 Xbee - eines hängt am X6 des NIBO2 (PORTD, da ist ja RX1/TX1, konfiguriert als "ROUTER/END DEVICE") und eines, das am USB-PORT des PCs hängt (Trägerplatine ist ein XBEE EXPLORER USB mit FTDI-Chip); ich sende derzeit mit 38,4kB 8N1; Endziel ist es, am PC darzustellen, wie der NIBO2 ein Gelände abfährt (so, wie es der NIBO1 bei der TH Wildenau macht - da ist aber noch ein weiter Weg dahin...)

jedenfalls vielen Dank für Deine Hilfe!

mfg

Hero_123

Valen
14.11.2010, 10:58
Ich weiss nichts von den Nibo Botfamilie (wie die ATMega128 in dem schaltung sitzt). Aber den XBee pins darfst du nicht mit mehr als 3.3v betrieben. Sonnst geht es Kaput auf der weile. Wen du mit 5v Spannungen arbeitest muss du einer Niveau Wandler machen. Ich benutze ein einfache Schaltung fuhr mein Asuro (4.8v-5v). Den XBee RX pin ist mit ein pull-up widerstand mit 3.3v verbunden. Und auch mit den Anode einer signal diode. Der Kathode ist mit den Atmega TX Pin verbunden. Dadurch kann kein Strom fließen durch den Diode zu dem XBee wann die Leitung hoch ist. XBee RX bleibt an 3.3v durch den pull-high widerstand. Aber die Atmega128 TX pin kan es doch zu 0v ziehen womit den XBee ein 0 Bit/Pegel erkannt.

Den XBee TX pin ist mit 3.3v hoch genug für den Atmega RX pin das es ein "1" bit/ pegel erkennen kann. Nur aufpassen das dieser pin niemals als ausgang geschaltet wird in deinem program.

shedepe
14.11.2010, 11:11
Klar das ganze modul muss man mit 3,3 V betreiben. aber die RX / TX Pins vom Xbee sind 5V tolerant.

Valen
14.11.2010, 11:36
Klar das ganze modul muss man mit 3,3 V betreiben. aber die RX / TX Pins vom Xbee sind 5V tolerant.Ich habe von mehrere fehlende XBee's gehört auf das Internet der von Anfang an mit 5v betrieben sind. Und auch in das Digi.com Forum wird das empfohlen. Ich möchte das nicht Riskieren.

workwind
14.11.2010, 11:52
Bist Du sicher, dass alle XBee Module 5V tolerant sind, nicht nur die XBee-PRO XSC Module?

shedepe
14.11.2010, 12:32
Bisher ist mir weder eins abgeraucht, noch kaputt gegangen. Aber ich verwend auch immer vorsichtshalber noch jeweils nen Vorwiderstand für die RX/TX Pins.

Hero_123
14.11.2010, 15:45
Hm.... so wie Schaltung des NIBO2 des PORTD aussieht, ist je ein Widerstand mit 100 Ohm am RXD und TXD dran.

Empfangs-Xbee am PC: am PC dürfte ich keine Probleme haben (das Xbee ist ja auf dem Xbee Explorer USB und wird da spannungsmäßig korrekt versorgt, ebenso was RXD/TXD angeht).

Sende-Xbee am NIBO2: das Xbee, das über RXD/TXD mit dem NIBO2 verbunden ist, sitzt ja auf einem Xbee Explorer Regulated, auch da dürfte es keine Probleme geben, wenn ich mir die Schaltung und die Beschreibung von watterott ansehe; versorgt wird das Ding mit 5V und GND, DIN des Xbee wird mittels Diode spannungsmäßig "runtergeschraubt", der DOUT ist ja irrelevant..)

Hero_123

workwind
14.11.2010, 16:16
Guck Dir mal den Schaltplan vom NXB2 an:

http://download.nicai-systems.com/nibo/nxb2_schematic_1_02.pdf

Din wird mit einem Spannungsteiler von 5V auf 3V runtergeschraubt und Dout mit einem FET auf 5V gebracht. Zusätzlich wird die Resetleitung als reine Stromsenke betrieben. Es kann also auch bei falschen Port-Einstellungen nix passieren...

Hero_123
14.11.2010, 18:30
Hi workwind

das mit dem Schaltplan vom NXB2 ist ja ok, mein Xbee-Sende-Modul sitzt aber auf einem Xbee Explorer Regulated Board (www.watterott.com) und hängt am X6 Stecker des NIBO2 (angeschlossen am Board: 5V, GND, RXD und TXD) und da stellte sich die Frage, was passiert, wenn der NIBO2 in Betrieb ist...