-
        

Ergebnis 1 bis 6 von 6

Thema: RoboRealm, RN-MotorControl und Serielle Kommunikation

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    25.02.2012
    Beiträge
    5

    RoboRealm, RN-MotorControl und Serielle Kommunikation

    Anzeige

    Hallo liebes Forenteam,

    ich habe einen Roboter gebaut, der mit 2 Motoren, die an einem RN-MotorControl mit RN-VN2DualMotor hängen.
    Der Roboter soll mithilfe von einer Webcam und RoboRealm in Verbindung mit dem AVM-Navigator-Modul später selbstständig fahren und navigieren können. In RoboRealm möchte ich mit dem Serial-Modul die richtigen Befehle generieren (die AVM-Navigator Motor-Variablen werden vorher mit einem Script an den MotorControl-Bereich von 0 bis 255 + Drehrichtung angepasst) und diese dann an das MotorControl schicken.

    Mein Problem:
    Was für eine Syntax muss ich im Serial-Modul verwenden, damit die Befehle von meinem Controller angenommen werden?
    Wie in der Controller-Anleitung beschrieben muss ja immer erst "##", dann Anzahl folgender Bytes, Befehlsbyte, Motorbyte, Wertebyte gesendet werden. Mit meiner in VB.NET eigens programmierten Software kann ich den Controller über die serielle Schnittstelle problemlos ansteuern, aber über eine "normale" serielle Verbindung bekomme ich es nicht hin. Ich weiß leider nicht, in welchem Format (ASCII, Dezimal, Binär,...) ich die Befehle senden muss, und wie diese Befehle dann aussehen müssen. Kann mir da vielleicht jemand helfen?

    In VB.NET sieht mein Befehl um den linken Motor auf Maximalgeschwindigkeit zu beschleunigen zum Beispiel so aus:


    Code:
    SerialPortDrive.Write("##" & Chr(3) & Chr(2) & Chr(1) & Chr(255))
    Wie kann ich jetzt den gleichen Befehl über das Serial-Modul in Roborealm oder ein einfaches Terminalprogramm an den Controller schicken?

  2. #2
    Neuer Benutzer Öfters hier
    Registriert seit
    25.02.2012
    Beiträge
    5
    Hat nicht noch jemand vielleicht ein paar Erfahrungen diesbezüglich? Ich bräuchte echt Hilfe dabei, da dies für meine studentische Studienarbeit ist und als Maschinenbauer habe ich leider nicht allzuviel Erfahrungen damit...
    Danke schonmal im Voraus für eure Hilfe!
    MfG

  3. #3
    Erfahrener Benutzer Roboter Genie Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.410
    Blog-Einträge
    101
    Zitat Zitat von Jo20 Beitrag anzeigen
    Was für eine Syntax muss ich im Serial-Modul verwenden, damit die Befehle von meinem Controller angenommen werden?
    Wie in der Controller-Anleitung beschrieben muss ja immer erst "##", dann Anzahl folgender Bytes, Befehlsbyte, Motorbyte, Wertebyte gesendet werden. Mit meiner in VB.NET eigens programmierten Software kann ich den Controller über die serielle Schnittstelle problemlos ansteuern, aber über eine "normale" serielle Verbindung bekomme ich es nicht hin. Ich weiß leider nicht, in welchem Format (ASCII, Dezimal, Binär,...) ich die Befehle senden muss, und wie diese Befehle dann aussehen müssen. Kann mir da vielleicht jemand helfen?
    Wär nicht schlecht, wenn Du die entsprechenden Beschreibungen zu den von mir hervorgehobenen Einheiten verlinkst. Was ist "normale" serielle Verbindung im Gegensatz zur seriellen Verbindung zum PC?

    Ich selbst habe die Komponenten nicht, aber vielleicht kann man etwas in den Unterlagen erkennen.

    Gruß
    Searcher
    Hoffentlich liegt das Ziel auch am Weg
    ..................................................................Der Weg zu einigen meiner Konstruktionen

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    25.02.2012
    Beiträge
    5
    Hallo! Danke schonmal für Deine Bemühungen!
    Hier die Anleitung zum RN-MotorControl, welches ich ansteuern möchte:
    http://www.robotikhardware.de/downlo...torcontrol.pdf
    Die Befehlsübersicht ist auf seite 6, die Befehlssyntax ab Seite 14 beschrieben.

    Hier findest Du die Dokumentation zum Serial-Modul (Modul im Sinne von Plugin sozusagen) von Roborealm:
    http://www.roborealm.com/help/Serial.php

    Mit "normaler" serieller Verbindung meinte ich beispielsweise über ein Terminal-Programm. Darüber kann ich zwar eine Verbindung zum Controller herstellen, jedoch nimmt dieser nicht die Befehle an, bzw. weiß ich nicht wie ich diese dort schreiben muss.

  5. #5
    Erfahrener Benutzer Roboter Genie Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.410
    Blog-Einträge
    101
    Hallo,

    Zitat Zitat von Jo20 Beitrag anzeigen
    Code:
    SerialPortDrive.Write("##" & Chr(3) & Chr(2) & Chr(1) & Chr(255))
    Wie kann ich jetzt den gleichen Befehl über das Serial-Modul in Roborealm oder ein einfaches Terminalprogramm an den Controller schicken?
    "Settings" entsprechend der Verbindung zum Motorcontrol einstellen und "Initialisation Sequenze" vermulich leer lassen.

    Dann mal in das Feld vom Robo Realm Serial Interface in das Feld unter "Console" so eintragen:
    \x23\x23\x03\x02\x01\xFF und mit Send zum RN-Motorcontrol schicken.

    Das SerialPortDrive.Write schickt die ASCII Werte der aufgeführten Parameterwerte zum Control.
    Der ASCII Wert von "#" ist x23 (Hexadezimal 23), ..., von CHR(255) ist er xFF ...

    Einfache Terminalprogramme lassen die Eingabe und Senden der hex-Werte nicht zu. Beim RoboRealm Serial Interface muß man das wohl in o.g. Form machen.

    Für mich ist immer fraglich, ob da nicht noch irgendwie ein CR (x0D) und/oder LF (x0A) (Carrige Return, Line Feed) mitkommt. Um zB. das zu kontrollieren könnte man versuchen einen Monitor für den Serialport im I-Net zu finden und mitlaufen zu lassen. zB sowas http://www.heise.de/download/free-se...t-monitor.html (den hab ich selbst jedoch noch nicht ausprobiert).

    Hoffe das hilft Dir erstmal weiter
    Gruß
    Searcher
    Hoffentlich liegt das Ziel auch am Weg
    ..................................................................Der Weg zu einigen meiner Konstruktionen

  6. #6
    Erfahrener Benutzer Roboter-Spezialist Avatar von Thoralf
    Registriert seit
    16.12.2003
    Ort
    Dresden
    Beiträge
    530
    vielleicht hilft dir das:

    #s\x01\[servo_x]<lf><cr>#s\x02\[servo_y]<lf><cr>

    x01 ............ hex Motornummer
    servo_x ...... Servogeschwindigkeit

    Das hab ich im Serial unter send sequence eingefügt. Du mußt natürlich deine Motordrehzahl als Variable einfügen.

    Damit steuere ich einen RN-Servocontroller (den einzelnen IC, den die früher mal hatten, find den grad nicht).
    Kannst ja nochmal fragen, wenns nicht ganz klar ist.

Ähnliche Themen

  1. RN-MotorControl Ansteuerungsproblematik
    Von Jo20 im Forum AVR Hardwarethemen
    Antworten: 2
    Letzter Beitrag: 09.03.2012, 14:34
  2. Kinect+RoboRealm Problem
    Von Günter49 im Forum Sensoren / Sensorik
    Antworten: 4
    Letzter Beitrag: 24.11.2010, 20:15
  3. RN-Motorcontrol Soucecode
    Von Mandi Nice im Forum Schaltungen und Boards der Projektseite Mikrocontroller-Elektronik.de
    Antworten: 3
    Letzter Beitrag: 09.03.2010, 07:39
  4. Roborealm fuer X-Y-Tisch mit optischer Erfassung?
    Von KaptnKoma im Forum Sensoren / Sensorik
    Antworten: 0
    Letzter Beitrag: 03.06.2008, 23:00
  5. Freie RoboterBildVerarbeitung „RoboRealm“
    Von Günter49 im Forum Sensoren / Sensorik
    Antworten: 1
    Letzter Beitrag: 20.01.2007, 15:58

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •