PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Bascom-Servobefehl lässt variable Pulse raus....



Murus
29.01.2006, 15:29
Hallo zusammen.

Probier grad wieder mal erfolgslos, ein Servo (altes Graupner, aber noch voll funktionstüchtig) anzusteuern.

Hier mal der Code:



Config Servos=1, Servo1=Portb.1, Reload=10
Config portb=Output
Enable Interrupts

Servo(1)=150



Verwende einen Mega8 mit 6MHz vom Quarz. (ist im Code richtig drin)

Wenn ich Saft gebe, fährt das Servo volles Rohr an eine Endstellung. Nur: Dies tut es auch, wenn ich Servo(1)=100 sage.. und zwar fährt es immer in dieselbe Stellung. Dort verharrt es wackelnd (mit etwa 3Hz). Wenn ich eine Gegenkraft ausübe, "wackelt" es mit etwa 3Hz zurück, es brummt nicht, wie es die Servos sonst ja tun..
Wenn ich mir das Signal am Oszi anschaue, dann sehe ich, dass die High-Phase ihre Länge ändert!! Und zwar immer alternierend. Einmal ist sie 1.5ms lang, dann etwa 3, dann wieder 1.5ms etc... Häää? Der Puls sollte doch immer 1.5ms lang sein??

Was ist denn da los?

Herzliche Grüsse
Mario

super_castle
29.01.2006, 15:31
alternierend...


hä, was ist das für ein wort.


Castle

Murus
29.01.2006, 15:33
mal so, dann wieder so, dann wieder so, dann wieder so etc. etc.
Wenn der Faktor einer geometrischen Reihe ein negatives Vorzeichen hat, dann haben die Summanden abwechselnd negatives und positives Vorzeichen, halt eben alternierend.

Murus
29.01.2006, 15:44
Oh, jetzt gehts! Musste nur den Bereich ändern!
Er geht von 27 bis 120...

super_castle
29.01.2006, 18:28
scheint ziemlich ungenau zu gehen.
man kann daraus keine zyklen erkennen zu den daten des servo.

Castle

Ratber
30.01.2006, 03:29
Oh, jetzt gehts! Musste nur den Bereich ändern!
Er geht von 27 bis 120...


Ja,wollte das gerade anmerken.

die Eckwerte sind vom Modell abhängig,der Controller darf nicht zu niedrig getaktet sein und am besten fänngt man einfach mit 50/100 an und tastet sich voran bis zum meist typischen Brummen wenn man über den Bereich kommt.