PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Grosses Problem mit Servo



Murus
26.02.2006, 15:20
Hallo zusammen,

ich möchte ein TS-901 MGBB Servo von Conrad ansteuern. Ich tue dies mit Bascom. Es ist ein Digital-Servo. Ich steuere mit einem Mega8, der unter 6MHz rennt.
Um den Bereich herauszufinden, liess ich Bascom alle Werte von 1 bis 200 durchlaufen. Bei 33 beginnt er, an eine Position zu fahren. Bei 115 hört er auf, sich zu bewegen. Wenn die Werte tiefer oder höher als die Minima/Maxima liegen, brummt das Servo nicht, es tut einfach nichts, es stösst auch nicht an die Endanschläge, dafür fehlen noch ca. 0.5cm...
Dies ist ein grosses Problem, ich krieg ihn nicht an die Endanschläge, er hört bei Über-/Unterschreiten von gewissen Werten einfach auf, etwas zu tun, er fährt nicht bis an die Anschläge!
Das Servo beginnt auch erst nach ca. 4sec. nach Strom- und Signalanlegen zu arbeiten.
Dann noch ein Problem:
Wenn ich mittendrin den Strom vom Servo nehme, und dann wieder anklemme, dann fährt er schon bei ca. 100 an den einen Endanschlag und steht dafür bei 33 mittendrin... Es gibt also eine Verschiebung der Ausschläge. Erst wenn ich das Servo ganz "resette", also Spannung und Signal wegnehme, funktioniert es wieder wie vorhin...

Kennt jemand diese Probleme bei Digital-Servos? Ich möchte das Ding anständig zum Laufen bringen, sonst hab ich ein Problem...
Wie kann ich diese Probleme beheben?

(PS: zu den Zahlen (33,115 etc.), das sind die Pulslängen im Bascom.
Dort gebe ich ein: Servo(1)=115, dann generiert Bascom die Pulse und lässt diese raus ans Servo.)

Gibt es irgendwo ein DB zum Servo? (In Bezug zu den Pulslängen, die er braucht)
Wieso hab ich so strube Werte?? (33-115) Woher weiss der Empfänger, wo das Servo normalerweise eingesteckt wird, welche Pulslängen er fahren muss?

Hmm, ich hab das Servo jetzt mal an einen Empfänger gehängt. Da funktioniert es sofort und augenblicklich, keine 4sec Wartezeit.
Wenn ich die Bascom-Pulse ans Servo oszillografiere, dann hab ich ansteigende Flanken!! Beim Empfänger waren die Flanken in Ordnung!!
Wieso hab ich am Mega8 langsam steigende Flanken, am Modellbau-Empfänger aber nicht?? Denn: Wenn ich ein analoges Servo an den Mega hänge, dann hab ich schöne rechtwinklige Pulse. Nur beim Digitalen am Mega hab ich schräge Pulse... Häää?? Soll ich die Pulse mal durch einen F kleinen Fet drücken?

Herzlichen Gruss
Mario

Fritzli
26.02.2006, 17:47
Wenn ich mittendrin den Strom vom Servo nehme, und dann wieder anklemme, dann fährt er schon bei ca. 100 an den einen Endanschlag und steht dafür bei 33 mittendrin... Es gibt also eine Verschiebung der Ausschläge. Erst wenn ich das Servo ganz "resette", also Spannung und Signal wegnehme, funktioniert es wieder wie vorhin

Das könnte daran liegen, dass die int. Elektronik über den Signalanschluss immer noch etwas mit Spannung versorgt wird. Da aber nur Signal und Masse eine nicht eingeplante Konfiguration darstellen macht der Chip intern irgendwas. Etwas anderes war auch nicht zu erwarten.
Aber das sollte auch bei Dir kein normaler Betriebszustand sein(?)


Wieso hab ich so strube Werte?? (33-115) Woher weiss der Empfänger, wo das Servo normalerweise eingesteckt wird, welche Pulslängen er fahren muss?
Der Empfänger merkt sich da gar nichts, der nimmt die Signale vom Sender und gibt sie 1:1 weiter. Weil es so versch. Servotypen gibt haben die Sender ja auch alle möglichen Einstellmöglichkeiten (oder zumindest ein Trimmung)


Das das Servo nicht an den Endanschlag läuft könnte daran liegen, dass der interne Chip sich ev. dagegen wehrt, dass die Mechanik in die Endanschläge läuft, d.h. wenn er merkt, dass es gefährlich wird stellt er einfach ab.

Warum nimmst Du eigentlich kein normales Servo? Die reichen meistens locker aus.


Gruess
Fritzli

Murus
26.02.2006, 18:03
Ich wusste gar net, dass es ein digitales ist... Von der Ansteuerung sollten sie sich ja auch net unterscheiden...
Mir macht Sorgen, wieso der Puls beim Digitalen langsam ansteigt und nicht schön rechtwinklig wie beim analogen ist... Beim Empfänger hab ich keine Probleme, nur am Mega...
Zu den Endanschlägen: Ich denke nicht, dass der Chip so viel "vorig" lässt, damits nicht brummt..... Es ist nämlich ein rechts Stück Weg bis zum Anschlag...
Wie kann man das beheben, dass ich auch mit dem Mega wie ein analoges Servo steuern kann?

Murus
26.02.2006, 19:02
Wenn ich das Servo an einen Empfänger häng, dann komm ich auch voll in den Endanschlag rein.
Das Problem liegt meiner Meinung an den schiefen Pulsen. Die Bringen die Servo-Elektronik ins Holpern.
Im Anhang mal ein Bild von so einem Puls.
Die Einstellung ist 2ms/div.

Wieso nur ist der am Mega so schief? Am Empfänger ist der absolut sauber...

Fritzli
26.02.2006, 19:15
Schaut nach extrem grosser kapazitiver Last aus.
Was hängt an der Leitung alles dran?
Kleiner Schaltplan Deiner Hardware?

Gruess
Fritzli

Murus
26.02.2006, 19:19
An der Leitung hängt sonst gar nichts dran....
Ich hab den AVR in der Grundbeschaltung, alles gut abgesichert. Dann einfach an Portb.5 das Servo und das Oszi. Sonst gar nichts da, alles auf Breadboard. Aber mit anderen Servos funzts!

ABER;
Bascom lässt mir die Pulse erst alle 35ms raus!!! Der Empfänger lässt sie alle 20ms raus... Das macht Bascom mit allen Servos! Reload hab ich auf 10..
Hääää?? Ich verzweifel langsam...

Fritzli
26.02.2006, 19:22
Hallo

Sehe in den 35ms nicht so ein grosses Problem...
Anderer Pin am AVR?

Murus
26.02.2006, 19:24
Schon probiert... Aber wieso sind die 35ms kein Problem?

Fritzli
26.02.2006, 19:46
Beim analogen Servo generiert der RC-Impuls auch intern den PWm-Impuls für die Motoransteuerung. Dort sind 35ms nicht immer ein Problem, das Servo wird u.U. etwas langsamer/Schwächer.
Digitale Servos produzieren die PWM-Impulse sowieso gelöst vom RC-Signal, deshalb nehme ich an, dass die (noch) weniger Probleme damit haben - kann mich da aber auch irren.

Du kannst ja mal eine eigene Software schreiben, die die 20ms besser einhält und dann schauen, was passiert.
Oder man legts zu den Akten und nimmt ein analoges...

linux_80
26.02.2006, 19:49
Passen die MHZ vom AVR und wie es in Bascom angegeben ist auch zusammen, läuft der AVR auch mit dieser Frequenz ?
Den normalerweise sollten es schon 20ms vom Bascom her sein.

Murus
26.02.2006, 20:06
Jep, der AVR rennt korrekt.