PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Servos spielen verrückt



Murus
12.09.2005, 17:24
Hallo zusammen,
ich probier grad mit Bascom ein Servo anzusteuern.
Doch: das Ding spinnt total. Es fährt beim anschalten den Arm an den einen Anschlag und zittert dort deutlich hin-und her (so ca. 5mm Zitterweg, er zittert aber "langsam")
Hab zwei Servos und zwei Ports probiert, bei beiden das gleiche Resultat.

Hier mal der Code:

$regfile="m8def.dat"
$crystal=1000000

Ddrd.6=1
Config Servos =1, Servo1=Portd.6, Reload=10
Enable Interrupts

Dim A As Byte
A=100
Servo(1)=100

Do
Waitms 40
Servo(1)=A
A=A+1
If A=200 Then
A=0
Endif
Loop
End

Der Code soll zuerst das Servo an den einen Anschlag fahren. Dann soll er es langsam an den anderen Anschlag fahren...

Nur: Es dreht direkt an den einen Anschlag und verharrt dort zitternd. Das macht es auch, wenn ich ihm nur eine einfache Stelle gebe, er bleibt da und zittert...

WAs ist da krumm? Servo ist richtig angeschlossen.

Herzliche Grüsse
Mario

Murus
13.09.2005, 21:35
Hmm, könnte mal schnell einer von euch den Code posten, mit dem ihr erfolgreich eure Servos ansteuert? Vielleicht hab ich was vergessen...??

Herzliche Grüsse
Mario

Murus
15.09.2005, 20:09
Also: hab jetzt über ne Stunde experimentiert... Meine Servos brauchen andere Zeitwerte....

Nun sieht der Code bis jetzt mal so aus:

$regfile="m8def.dat"
$crystal=1000000

Ddrd.6=1
Config Servos =1, Servo1=Portd.6, Reload=10
Enable Interrupts

do
servo(1)=10
loop
End

Der Bereich geht von (servo(1)=9 (ganz links) bis servo(1)=33 (Anschlag ganz rechts) Irgendwie sind diese Werte komisch! Sie stimmen aber! Gehe ich drunter oder drüber, is er am Anschlag...

Doch: irgendwie stimmt etwas mit der Wiederholung net...
Der Servoarm fährt nur "hötternd" in seine Position, er ruckelt.
Wenn ich ihn auch mit Kraft aus seiner Position bewegen will, dann brummt er nicht, was normal wäre, sondern ruckelt auch nur.
Was muss ich ändern, damit er sich sauber bewegt? Zudem ist er recht langsam...

Herzliche Grüsse
Mario