Hallo, hätte eine Frage was das Timing von Servos angeht. Versuche 2 Servos auf einem Atmega8 anzusteuern, sollte kein Problem sein, es gibt auch viele Beispiele im Netz. Bei mir will das aber einfach nicht funktionieren. Beide Servos fahren links wie auch rechts, immer hin und her. Leichte unterschiede sind zu erkennen, also wenn er rechts fahren soll dann tendiert er auch zu rechts, aber wie gesagt es geht immer hin und her. Hier hab ich jetzt mal ein Bild von einer Messung eines Oszi und ich wollte fragen ob das Timing genau genug ist für die Steuerung? (Auf diesem Bild soll einer der Servos ganz rechts bzw. links drehen) lg Ps: Die unregelmäßigen Messungen bei Channel 2 (Blau) kommen von der Strippe
Vielleicht sind die 10ms Zyklus für diese Servos zu kurz? Hast du einen Widerstand > 100 Ohm in der Signalleitung? Moderne Servos vertragen oft keine 5V auf der Signalleitung.
Das normale Timing sind 20ms Pause (50Hz), aber ich habe da schon tolle Systeme gesehen, bei denen diese Zeiten stark gekürzt werden, um die Reaktionszeit zu verbessern. Die Servos, die ich hier hatte, spielten alle mit den verkürzten Zeiten mit. Bei den Funken sind das dann High-Speed- oder -Resolutions- oder andere nette Abkürzungen. Mir sehen die Flanken aber relativ schmierig aus. Sind die Flanken nicht besser hinzubekommen bzw. gibt es ein Schaltbild ?
Ich verwende zur Zeit folgende Werte: Pulsdauer: 1,0 ms bis 2,0 ms Frequenz: 54 Hz Funktioniert eigentlich sehr gut. Bei dir sind die Flanken sehr verschliffen und sehen nur entfernt wie ein Rechtecksignal aus. Woher kommt's? Gruß Gerd
Oh Gott, jetzt sehe ich erst das ich auf dem Bild ja nur einen 10 ms Zyklus habe. Ist das falsche Bild, mein Fehler. Hier gleich ein neues, sind recht genau 20ms. Beim Signal selber hätte ich auch eine Frage, wie genau bzw. schön muss das Signal sein? Wenn mein Signal 1ms andauert schwächt es schon bei ca. 0.5ms stark ab und endet bei genau 1ms.
Eben die Flangen sind nicht sehr sauber, könnte dies also das Problem sein ? Hier ein bild...
Der Abstand der Impulse ist zu kurz (10ms). Er muss aber 20ms sein. http://www.robotstore.com/download/Servo_Motor_Timing_1.pdf
Sorry, Flanken :) Schaltung habe ich keine, ich fahre direkt vom STK500 mit dem Signal in den Servo. Es ist auch sicherlich kein neuer Servo, der hat schon gute 6-8 Jahre hinter sicht (ohne genutzt zu werden) sollte also keinen Widerstand benötigen.
Habe jetzt noch ein einfachs Programm geschrieben welches nur einen Servo steuern soll, hier sehen die Signale viel schöner aus. Jedoch zittert der Servo noch immer extrem und macht was er will. Inwiefern könnte der Servo selbst daran schuld sein ?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.