Bascom Servos "Beschleunigung"
Hey Leute,
da ich gerade ein Roboterarm mit Servos baue hab ich folgendes Problem.
Ich möchte das der Servo nicht mit voller Geschwindigkeit sich von Pos. A nach Pos. B bewegt.
Er sollte am Anfang beschleunigen und kurz vor erreichen der Position langsamer werden, geht das?
Zurzeit steuer ich ihn so an (ATMega16):
Code:
'Config Servo
Config Servos = 1 , Servo1 = Portb.3 , Reload = 7
'Config Servopin on AVR
Config Portb.3 = Output
'Enables Interrupts
Enable Interrupts
Do
Servo(1) = 50
Wait 1
Servo(1) = 145
Wait 1
Servo(1) = 240
Wait 1
Loop
End
Und überhaupt, wie realisiere ich am besten eine Roboterarmsteuerung für 7 Servos?
Mfg
Stefan
Re: Bascom Servos "Beschleunigung"
Zitat:
Zitat von Lenox
Hey Leute,
da ich gerade ein Roboterarm mit Servos baue hab ich folgendes Problem.
Ich möchte das der Servo nicht mit voller Geschwindigkeit sich von Pos. A nach Pos. B bewegt.
Er sollte am Anfang beschleunigen und kurz vor erreichen der Position langsamer werden, geht das?
Zurzeit steuer ich ihn so an (ATMega16):
Code:
'Config Servo
Config Servos = 1 , Servo1 = Portb.3 , Reload = 7
'Config Servopin on AVR
Config Portb.3 = Output
'Enables Interrupts
Enable Interrupts
Do
Servo(1) = 50
Wait 1
Servo(1) = 145
Wait 1
Servo(1) = 240
Wait 1
Loop
End
Und überhaupt, wie realisiere ich am besten eine Roboterarmsteuerung für 7 Servos?
Mfg
Stefan
Wenn Du den Servo langsamer bewegen willst, kannst du den Paramater für die Positionierung in Schritten in Richtung Zielposition zählen. Zwischen den Schritten kannst Du mit WAITMS Pausen einlegen - um so länger die Pausen, um so langsamer die Bewegung. Alternativ könntest Du auch zum Beschleunigen die Zählschritte erhöhen bzw. zum verlangsamen verringern.