-         

Ergebnis 1 bis 10 von 10

Thema: RN-Motor ST reagiert nicht auf mich

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    03.02.2004
    Ort
    Köln
    Alter
    35
    Beiträge
    84

    RN-Motor ST reagiert nicht auf mich

    Anzeige

    Hallo,

    ich versuche grade mein RN-Motor ST über die RS-232 mit Java anzusteuern, auslesen der Einstellungen wenn ich den Reset-Pin drücke funktioniert. Leider aber nicht das Senden von Befehlen, bzw. das Board reagiert nicht darauf.

    So sieht mein Code aus, mit verschiedenen Variationen, die alle nicht funktionieren:

    Code:
    serialConnection.write("#rmi058");
    
    serialConnection.write("#rmi058\r");
    
    serialConnection.write("#rmi058\n\r");
    
    serialConnection.write("#rmi" + (char)0 + (char)58 + "\n\r");
    mit und ohne \n\r
    Die SerialConnection Klasse die ich dort zum schreiben verwende hab ich selbst geschrieben und funktioniert sonst einwandfrei auch mit anderen Boards bzw. auch PC->PC.

    vielen Dank für jede Hilfe!
    Martin

  2. #2
    Gast
    Du musst die Parameter Binär senden und nicht als ASCII-Code wie oben in deinem Beispiel

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    03.02.2004
    Ort
    Köln
    Alter
    35
    Beiträge
    84
    okay, hört sich logisch an:

    Code:
    serialConnection.write("#rmi" + Integer.toString(0, 2) + Integer.toString(58, 2));
    tuts auch nicht, meine SerialConnection Klasse macht übrigens dies:

    Code:
        /**
         * write
         */
        public void write(byte[] data) {
            try {
                os.write(data);
                if(debug) System.out.println("write: " + new String(data));
            } catch(IOException e) { System.out.println(e); }
        }
        
        /**
         * write (string)
         */
        public void write(String data) {
        	write(data.getBytes());
        }
    os ist dabei der OutputStream

  4. #4
    Gast
    So wie ich es sehe, sendest du immer noch Ascii

    Du musst String "#rmi" senden, und dann nur die einzelnen Bytes direkt. an den String hängen. Schau dir die Beispiele an

    http://www.roboternetz.de/phpBB2/viewtopic.php?t=2741

  5. #5
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Ich denk, deine Methode erwartet einen Zeroterm-String. d.h offiziell ist der string bei chr(0) aus, egal, was nachher noch kommen soll.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    03.02.2004
    Ort
    Köln
    Alter
    35
    Beiträge
    84
    Okay, habe es auch mit dem schicken einzelner Bytes probiert.

    Nun hab ich aber irgendwie gepeilt, wieso es nicht gehen könnte. Ich habe die I2C Version des Boards! Ist dann also die Steuerung über RS-232 gar nicht möglich? Die Schnittstelle quasi nur für Debug Zwecke?

    WIe kann ich mein Modul umprogrammieren? Ist das einfach zu machen, und auch wieder zu wechseln?

    Hintergrund ist, das Modul wird später am I2C-Bus laufen, im Moment steht aber die komplette Schaltung noch nicht und ich wollte meinen Roboter schonmal nur so mit den Schrittmotoren an der RS-232 testen. I2C ist leider in Java nicht machbar im Moment, obwohl ich mich glaube ich an die Fertigstellung der Klassen im rxtx Packet dann bald machen werde.

  7. #7
    Administrator Robotik Einstein Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    4.989
    Blog-Einträge
    1
    Nun hab ich aber irgendwie gepeilt, wieso es nicht gehen könnte. Ich habe die I2C Version des Boards! Ist dann also die Steuerung über RS-232 gar nicht möglich? Die Schnittstelle quasi nur für Debug Zwecke?
    =D> Ja genau, so ist es!

    Wie kann ich mein Modul umprogrammieren? Ist das einfach zu machen, und auch wieder zu wechseln?
    Da bräuchtest du noch die RS232 Firmware, kostet aber glaub ca. 9 Euro. Ich weiss nicht ob sich das lohnt wenn du dann sowieso das Board per I2C programmieren willst. Wenn ja müsstest du an robotikhardware.de ne Mail mit Realnamen oder Kundennummer senden. (die Woche, da Ferien anstehn)

  8. #8
    Benutzer Stammmitglied
    Registriert seit
    03.02.2004
    Ort
    Köln
    Alter
    35
    Beiträge
    84
    Kann ich dann meine I2C Firmware auch einfach wieder zurückspielen (ist ja im Moment nur auf dem Chip, oder?!)?

    Wie sieht es mit Copyright aus, dürfte ich für private Zwecke jemanden fragen, mir diese zu geben. 9 € würde ich eher ungern ausgeben, müsste dann aber mind 4 Wochen weiter Theoretisch arbeiten...

  9. #9
    Administrator Robotik Einstein Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    4.989
    Blog-Einträge
    1
    Nein mpelz, die Firmware darf in keinem Fall weitergegeben werden. Gerade die Firmware ist das was immer am meisten Entwicklungszeit kostet, daher die geringe Gebühr. Irgendwie muss sich das ja finanzieren.
    Die I2C Firmware wäre weg wenn du die RS232 Firmware einspielst. Du könntest Alternativ auch noch einen zweiten programmierten CHip RNST01 beziehen (ca. 12 Euro) und je nach Bedarf einfach Chip wechseln.

  10. #10
    Benutzer Stammmitglied
    Registriert seit
    03.02.2004
    Ort
    Köln
    Alter
    35
    Beiträge
    84
    Okay, sehe ich selbst als Softwareentwickler auch ein...das mit dem austauschbaren Chip hört sich praktikabel an, werde ich mir überlegen!

Berechtigungen

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