-
        

Ergebnis 1 bis 8 von 8

Thema: RS232 mit Visual Basic

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    04.08.2006
    Beiträge
    140

    RS232 mit Visual Basic

    Anzeige

    Hi,
    ich habe ein Programm mit Visual Basic geschrieben, um meinen Roboter mit einem Joystick zu steuern. Dabei habe ich mich an dem Beispiel aus dem RN-Wissen orientiert. Mit dem Programm steuer ich das RN-MotorControl an. Leider funktioniert das Programm manchmal nicht. Dann reagieren die Motoren erst verzögert auf die Joystick-bewegung oder gar nicht. Hier ist ein Teil aus meinem Programm:
    Code:
     Dim Z As String
            Z = state.Z
    
            If Z > 5 Then
                SerialPort1.Write("##")
                SerialPort1.Write(Chr(3)) 'Anzahl der folgenden Bytes
                SerialPort1.Write(Chr(5)) 'Befehlscode Drehrichting
                SerialPort1.Write(Chr(1)) 'Rechter Motor
                SerialPort1.Write(Chr(0)) 'Geschwindigkeit
    
                SerialPort1.Write("##")
                SerialPort1.Write(Chr(3))  'Anzahl der folgenden Bytes
                SerialPort1.Write(Chr(2)) 'Befehlscode Leistung
                SerialPort1.Write(Chr(1)) 'Rechter Motor
                SerialPort1.Write(Chr(Z)) 'Geschwindigkeit
            ElseIf Z < -5 Then
                SerialPort1.Write("##")
                SerialPort1.Write(Chr(3)) 'Anzahl der folgenden Bytes
                SerialPort1.Write(Chr(5)) 'Befehlscode Drehrichting
                SerialPort1.Write(Chr(1)) 'Rechter Motor
                SerialPort1.Write(Chr(1)) 'Geschwindigkeit
    
                SerialPort1.Write("##")
                SerialPort1.Write(Chr(3)) 'Anzahl der folgenden Bytes
                SerialPort1.Write(Chr(2)) 'Befehlscode Leistung
                SerialPort1.Write(Chr(1)) 'Rechter Motor
                SerialPort1.Write(Chr(Z * -1)) 'Geschwindigkeit
            ElseIf 2 > Z > -2 Then
                SerialPort1.Write("##")
                SerialPort1.Write(Chr(3)) 'Anzahl der folgenden Bytes
                SerialPort1.Write(Chr(2)) 'Befehlscode Leistung
                SerialPort1.Write(Chr(1)) 'Rechter Motor
                SerialPort1.Write(Chr(0)) 'Geschwindigkeit
            End If
    
        End Sub


    Wie kann man z.B das in eine Zeile schreiben?
    SerialPort1.Write("##")
    SerialPort1.Write(Chr(3)) 'Anzahl der folgenden Bytes
    SerialPort1.Write(Chr(5)) 'Befehlscode Drehrichting
    SerialPort1.Write(Chr(1)) 'Rechter Motor
    SerialPort1.Write(Chr(0)) 'Geschwindigkeit


    Bitte gebt mir Vorschläge wie man das Programm verbessern kann.

  2. #2
    Erfahrener Benutzer Roboter Genie Avatar von Willa
    Registriert seit
    26.10.2006
    Ort
    Bremen
    Alter
    37
    Beiträge
    1.269
    Hi!
    Das ist natürlich etwas blöd dass du so ein langes Protokoll senden musst um den Motor zu bewegen... Geht aber wohl nicht anders mit dem RN Motorcontrol. Auf was für einem Event liegt denn dein Code? Ich würde den in einen ~250ms timer legen, damit sich der serialport nicht verschlucken kann wenn du den joystick schnell bewegst. Und die Baudrate könnte vielleicht auch etwas hochgesetzt werden. Sonst könntest du höchtens den microcontroller anders programmieren.....
    Viele Grüße, William
    -> http://william.thielicke.org/

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    04.08.2006
    Beiträge
    140
    Hi,
    danke für die Antwort. Ich werde das mit dem Timer und der Baudrate mal versuchen. Gestern habe ich schon statt der String Variablen eine Integer Variable genommen und da hat es immer funktioniert. Aber das kann auch Zufall gewesen sein.

    Übrigens: Ich kenne dich glaube ich. Du warst mal beim BitZ in Darmstadt oder? Da habe ich dort gerade mein Betriebspraktikum gemacht.

    Viele Grüße
    Felix

  4. #4
    Erfahrener Benutzer Roboter Genie Avatar von Willa
    Registriert seit
    26.10.2006
    Ort
    Bremen
    Alter
    37
    Beiträge
    1.269
    Haha, stimmt, das ist ja der Hammer :-D
    Was machst du mittlerweile? Schon fertig mit der Schule?
    Was baust du denn für einen Roboter? Hast du Bilder oder so?
    Viele Grüße, William
    -> http://william.thielicke.org/

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    04.08.2006
    Beiträge
    140
    Mit der Schule bin ich leider noch nicht fertig. Ich bin in der 11. Klasse.

    Das ist mein Roboter




    Und was machst du so? Machst du noch etwas, was mit Bionik zu tun hat?

  6. #6
    Erfahrener Benutzer Roboter Genie Avatar von Willa
    Registriert seit
    26.10.2006
    Ort
    Bremen
    Alter
    37
    Beiträge
    1.269
    Hi!
    Der sieht ja echt gut aus! Das Oberteil ist ein alter scanner...? Cool :-D
    Das hier ist mein (erster) roboter:
    http://www.villalachouette.de/willia...uchtliesel.wmv
    Im moment sitze ich an meiner Doktorarbeit. Das Thema ist die instationäre Aerodynamik des Schlagflugs der Vögel. Dafür muss ich mir mein ganzes Setup selber bauen, deswegen habe ich überhaupt erst mit Robotik angefangen. Das Wissen kann ich jetzt gut für meine Forschung gebrauchen.
    Wirst du in Zukunft was mit Bionik zu tun haben?
    Alles Gute,
    William
    Viele Grüße, William
    -> http://william.thielicke.org/

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    04.08.2006
    Beiträge
    140
    Deine Doktorarbeit hört sich ja sehr interessant an. Bist du zur Zeit in Darmstadt? Bei Wohnort hast du nämlich Hamburg stehen.

    Der Roboter sieht auch sehr cool aus, auch das mit der Beleuchtung. Ich hab ihn mir hier im Forum schon mal angeschaut.

    Ja das Oberteile ist von einem alten Scanner den hatte ich noch rumliegen und das hat von der Größe gut gepasst.
    Mein Roboter ist auch mein erster Roboter (Asuro zählt ja eher nicht). Leider macht mir das Programmieren nicht so großen Spaß (liegt wohl daran, dass ich es nicht richtig kann) Ich baue lieber die "Hardware". Aber ohne Software läuft bei einem Roboter eben wenig.

    Ob ich was mit Bionik zu tun haben werde weiß ich noch nicht. Aber ich habe auf jeden Fall vor Maschinenbau zu studieren. Für die Oberstufe habe ich Mathe und Physik als Leistungskurs gewählt. Bio habe ich nicht mehr gewählt. Das viele Auswendiglernen...

    Viele Grüße und viel Spaß bei deiner Doktorarbeit

  8. #8
    Erfahrener Benutzer Roboter Genie Avatar von Willa
    Registriert seit
    26.10.2006
    Ort
    Bremen
    Alter
    37
    Beiträge
    1.269
    Hallo Felix!
    Was macht dein Problem? Hast du es mittlerweile gelöst?
    Ich bin z.Zt. in Groningen (Niederlande) werde aber evtl. bald nach Bremen wechseln. Hamburg ist nur meine Heimatstadt.....
    Viel Erfolg in der Schule...!!!
    Viele Grüße, William
    -> http://william.thielicke.org/

Berechtigungen

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