Archiv verlassen und diese Seite im Standarddesign anzeigen : Servo Ansteuerung
Hallo zusammen.
Hab's endlich geschafft einen Servo mittels PWM anzusteuern. Das Problem ist nur, dass ich da etwas nicht verstehe. Es steht doch überall man muss die mit ca. 50Hz betreiben. Mit meinen Voraussetzungen krieg ich 61Hz hin, aber dabei flattert der schrecklich und hat keine Kraft. Wenn ich ihm hingegen 245Hz liefere, dann funktioniert der bestens, nur die Schrittauflösung ist ziemlich klein (ca. 14 Schritte)
Die Frequenz hab ich richtig berechnet oder? Frequenz = Clock/(N*510)
Clock= 8MHz
N=64 (vom Prescaler)
510, da 8-bit-Timer
Andree-HB
03.01.2005, 17:17
Du bekommst da wohl schätzungsweise etwas durcheinander - (Modellbau-)Servos steuert man per Tastverhältnis an...Schrittmotoren hingegen steuert man über Taktfolgen (Halbschritt/Vollschritt) in verschiedenen Geschwindigkeiten, haben diesbezüglich dann auch andere Haltemomente/Stromaufnahmen.
Siehe dazu auch :
https://www.roboternetz.de/schrittmotoren.html
toemchen
04.01.2005, 19:28
Die Angabe "Schrittauflösung" verwirrt mich auch etwas.
Ist jetzt ein Modellbauservo oder ein Schrittmotor gemeint?
Mit 61Hz Grundfrequenz auf einen Modellbauservo gehen, da hätte ich jetzt auch gedacht, das müßte eigentlich noch gehen. Eine althergebrachte Servoelektronik geht ja vor allem auf die Pulsdauer. Ob die Pulse sich mit 50 oder 61 Hz wiederholen, dürfte eigentlich nicht die Welt ausmachen.
Daß mit 245 Hz an einem Modellbauservo irgendetwas funktioniert, verstehe ich nicht.
Kannst Du die Frequenz mit nem Oszi messen?
Beschreibs nochmal genauer.
So wie ich es lese wird hier im Versuch ein Sevo mit PWM angesteuert.
Das Servo versteht aber nur Pulse in Bereich von 1ms bei denen die Pulsdauer die Information trägt und die mit 50Hz (oder in dem Bereich ) wiederholt werden.
Es wurden beim Testen wohl gerade bei 245 Hz ausreichend kurze Pulse erzeugt, sodaß sich das Servo bewegt.
Manfred
Hallo,
Modellbauservos brauchen 50Hz, dürfen aber mit 61Hz auch noch funktionieren.
Kontrollier doch mal, ob du bei den 61Hz auch die Pulsdauer von
min. 1ms und max. 2ms einhältst. Das ist wichtig.
Gruß Jan
Vielen Dank für die Antworten. Es handelt sich um einen Modellbauservo. Bei den 61Hz funktioniert er zwar schon, aber wie gesagt hat er keine Kraft und braucht eine Ewigkeit, bis er seine Position eingenommen hat. Die Pulslängen, die ich getestet habe, waren alle zw. 1 und 2ms lang, also das, was er erwartet. Ich habs auch schon versucht mit umrechnen auf die 61Hz, also etwas kürzere Pulse, hat aber auch nichts gebracht. Hab ihn jetzt neuerdings an einem 10-bit Timer und hab da ca. 480Hz drauf und der servo geht ab wie ne Rakete (beängstigend 8-[ )
Dank den 10 bit hab ich jetzt auch ungefähr 220 Positionen, die ich Ansteuern kann (das meinte ich mit Schrittauflösung).
Leider hab ich kein Oszi zur Verfügung, das würde wohl einiges klären. Vieleicht ist ja meine Rechnung für die Frequenz falsch, die ist aber aus dem Datenblatt also eigentlich richtig?!?
Blackbird
05.01.2005, 09:36
480 Hz ergeben eine Periodendauer von 2,083 ms. Bei einem Tastverhältnis von 1:1 ergibt das einen Puls von 1,04 ms und eine Pulspause von ebenfalls 1,04 ms. Wird das Tastverhältnis erhöht, so verlängert sich der Puls > 1,04 ms. Die Pulspause (also die Wiederholzeit) wird dementsprechend kleiner. Zusammen werden die beiden jedoch nie größer als 2,083 ms.
Die Ansteuerung eines Servos kann so gemacht werden, aaaber .... die Pulspause sollte möglichts nicht unter 1 ms liegen, weil die Erholzeit der internen Elektronik (Monoflops oder Software-Interrupts) immer noch vorhanden ist und den neuen Puls beeinflussen kann.
Du solltest die Ausgangsleitung Deines Controllers so Programmieren:
einen poitiven Impuls (5 Volt) mit einer Länge von 1,00 ms in 256 (oder 1024) Schritten bis 2,00 ms, an den ein Impulspause (null Volt) von ca. 5 ms angehängt wird.
Im Modellbau wird mit einer Impulspause je nach Anlage von ca. 20 ms bis ca. 40 ms gearbeitet, das ENTSPRICHT einer Frequenz von 50 Hz bis 25 Hz (hat aber nichts mit einer üblichen symetrischen Rechteckfrequenz zu tun!).
Die PWM-Ausgänge der Controller lassen jedoch nicht das Generieren eines teilerabhängigen Impulses gefolgt von einer festen Pause zu, sondern können nur das VERHÄLTNIS zwischen Puls und Pause verändern.
Blackbird
PS: Das Vergrößern der Wiederholrate (von 25 Hz auf z.B. 200 Hz) erhöht die Haltekraft eines Servos. Das wird auch in kleinen Zusatzmodulen (Simprop-electronik) angewendet, die es im Modellbaubereich gibt.
Eine kurze Frage:
Wie erfolgt die Spannunsversorgung des Servos?
Aus dem Pic oder extern??
michael_maier@aon.at
Aus einem Prozessor sollte nur die Timing-Information kommen. Der Servo (Modellbauservo) hat eine Versorgungsleitung die direkt von der "Versorgung" gespeist wird.
Manfred
Hallo Freunde
Hier ein Link, leider auf englisch, wo auf sehr anschauliche Weise die Funktion von einer Fernsteuerung bis zur Steuerung des servos gezeigt wird.
http://www.veetail.com/HowRCworks.shtml
Ich habe mit Verweis auf diese Quelle hier im Forum einmal dokumentieren müssen das ich weiss wovon ich rede. Es lohnt sich wenn man sich für Servos interessiert.
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.