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:
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.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
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?
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.
Lesezeichen