- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 2 von 2

Thema: Servo zucken beim Steuern über RS232

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    30.01.2005
    Ort
    HH
    Beiträge
    215

    Servo zucken beim Steuern über RS232

    Anzeige

    Praxistest und DIY Projekte
    Moin!

    Ich bin dabei mir den Arm von www.lynxmotion.com nachzubauen. Dieser ist bis jetzt soweit mit den 5€-billig-Servos von Conrad bestückt die aber nicht so pralle sind. Habe mir jetzt testweise ein analoges Power-Servo(Dymond D8500) und ein Digitales-Power-Servo (Dymond DS9500) geholt.
    Das Digi-Servo hat auf jedenfall mehr Kraft und ist schneller.

    Habe jetzt folgendes Test-Programm geschrieben:

    Code:
    '--------------------------------------------------
    '                   Servo über RS232
    '                1.10.2005 Martin Jacobsen
    '--------------------------------------------------
    
    
    Config Portc = Output
    
    'dim a variable
    Dim Wort As String * 10                                     'Empfangener String
    Dim Pos1 As Long                                            'Positionen der Servos
    Dim Pos2 As Long
    
    
    Dim A As Long                                  'Variable für den empfangenen Wert
    
    
    Enable Interrupts
    Config Servos = 2 , Servo1 = Portb.4 , Servo2 = Portb.5 , Reload = 10
    On Urxc Onrxd
    Enable Urxc
    
    
    Pos1 = 100
    Pos2 = 100
    
    
    Prog:
    
    
       If Len(wort) > 3 Then                                    'wenn mehr als 3 zeichen empfangen worden sind
    
          A = Val(wort)
          Select Case A
           Case 1000 To 1999 : Pos1 = A - 1000
           Case 2000 To 2999 : Pos2 = A - 2000
          End Select
           Print "Position1: " ; Pos1
           Print "Position2: " ; Pos2
          Wort = ""
    
       End If
    
    
    
    Servo(1) = Pos1
    Servo(2) = Pos2
    
    Goto Prog
    
    Onrxd:
      Wort = Wort + Chr(udr)
    Return
    Das Programm funktioniert mit dem Analogem Powerservo einigermaßend zufriedendstellen. Das Digital-Servo geht gar nicht mit diesem Programm, nicht als Servo1 oder Servo2. Das analoge funktioniert mit beiden Ausgängen.
    Mit nem anderen Programm das so ähnlich aussah gingen beide servos. Mit einem Delphiprogramm konnte ich bei steuern. Das Problem war nur das das Digi-Servo ab und zu zuckt wenn ich das Analoge Servo verstelle.

    Desweitern sind die Schritte die man mit dem Servo-Befehl machen kann zu groß. Das DigiServo ist so schnell, das gibt nur ruckelnde Bewegungen beim Arm. Ich braucht eine Funktion mit mehr Schritten.

    Ich habe das Gefühl das das Digital-Servo das Eingangssignal viel genauer nimmt als das Analoge, kann das sein?

    Hat jemand Tipps für mich?

  2. #2
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Da ist auf jeden Fall das protentielle Problem, daß du mit dem Zurücksetzen von "wort" sehr lange wartest. In der Zeit, die die zwei PRINT verbraten, bringt Bill Gates drei neue Updates heraus. Im vollem Betrieb gibt's da auf jeden Fall ein Durcheinander.
    Ich empfehle zwei abwechselnde "wort" variablen. Umschalten INNERHALB der ISR
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

Berechtigungen

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

Solar Speicher und Akkus Tests