Hi,
danke für den Tipp! Werde ich gleich mal umsetzen.
Ich verwende deswegen einen Mega32, weil da später noch die ganzen Berechnungen für IK und so dazukommen sollen.
Man kann mehrere Servos auch ansteuern, du musst nur unten die Interruptroutine folgendermaßen umändern:
Du musst halt dann oben im Deklarationsteil die Ports noch hinzufügen:Code:Servo: Select Case I Case 1 : Servo1 = 0 Case 2 : Servo2 = 0 Case 3 : Servo3 = 0 Case 4 : Servo4 = 0 Case 5 : Servo5 = 0 Case 6 : Servo6 = 0 End Select Incr I If I = 7 Then I = 0 End If If Servo_ein(i) = 1 Then Select Case I Case 1 : Servo1 = 1 Case 2 : Servo2 = 1 Case 3 : Servo3 = 1 Case 4 : Servo4 = 1 Case 5 : Servo5 = 1 Case 6 : Servo6 = 1 End Select End If Timer1 = 65535 - Servo(i) Return
Man könnte wahrscheinlich auch noch mehr als die 6 Servos ansteuern, ab einer bestimmten Grenze wird halt dann der Impuls nicht mehr alle 20 ms wiederholt und die Servos werden kraftlos.Code:config PortX.X = output Servo4 alias PortX.X Servo5 alias PortX.X Servo6 alias PortX.X
Gibt sicher noch eine elegantere Lösung.
Viele Grüße
ikarus_177







Zitieren

Lesezeichen