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?