Archiv verlassen und diese Seite im Standarddesign anzeigen : Servos ohne Impuls ansteuern?
:-k Hallo, ich hätte eine Frage:
Ich habe bei meinem Roboter einen BS2 Prozessor und programmiere ihn mit Basic.
Mich stört die zwingende Schleifenfunktion zum Antreiben der Servos.
FOR counter = 1 TO 24
PULSOUT 13, 650
PULSOUT 12, 850
PAUSE 20
NEXT
Kann man Servos irgendwie auch nur mit high bzw. low steuern, ohne
ständig puls-Signale geben zu müssen? Ich habe da was von PWM gehört.
Wie müsste ich die Servos umbauen? Weiß jemand eine gute Lösung?
Danke im Voraus.
Peter
PWM ist im Grunde nichts anderes als das Servosignal.
Beim Servosignal sendest du alle 20 ms ein Signal das je nach Länge (und das entscheidende ist, dass die Länge zwischen 1 und 2 ms liegt (je nach Servo auch 0,7 und 1,4)) eine bestimmte Position vorgibt. Wenn du den Servo mit der Poritionierung weiter betreiben willst, würde ich alles so lassen.
WEnn du ihn aber hacken willst, also z.B. voll drehen lassen willst, kannst du ihn ihn mit nem PWM betreiben, also Lektronik raus, Motortreiber dran. Das PWM Signal ist so aufgebaut, dass du alls x ms (x: es müssen nciht 20 sein, aber sollten schon mindestens 20 Hz sein) ein Impuls sendest, dessen länge aufschluss über die Geschwindigkeit gibt. also kein Impuls motor dreht nicht, 50 % , 50 % Motor dreht mit bestimmter Geschwinidkeit. 100% an also einfach an: Motor dreht mit maximalgeschwindigkeit.
Der Nachteil beim PWM ist, dass du den Motor beim Richtungwechsel halt umpolen musst, wenn du die Servoelektronik benutzt, gibst du ja schon über die Impulslänge die Richtung an. Der Vorteil von PWm ist halt, dass du die Geschwindigkeit serviel genauer regulieren kannst. Bei einer schlechten Servoelektronik kann es schon mal passieren, dass der Motor bei keiner Pulslänge richtung zum stehen kommt.
Noch Fragen?
MFG Moritz
DANKE für die schnelle Antwort!
Bin noch ein ziemlicher Beginner beim Roboterbauen - also bitte entschuldige falls blöde Fragen.
Wenn ich das richtig verstanden habe sende ich hier (nach dem Servoumbau) vom Prozessor
aus über einen Port das PWM-signal zum Servo und je nach Signal dreht sich der Motor in einer
bestimmten Geschwindigkeit in eine bestimmte Richtung. Oder?
Mein Hauptwunsch:
Am liebsten würde ich die Servos wie eine einfache LED mit einem Befehl
im Programm über den Prozessor einschalten und mit einem anderen Befehl wieder
ausschalten (inkl. Geschwindigkeit). Dazwischen wäre dann eine PAUSE.
Ich würde gerne max. Power aus den Servos herausholen.
Ist das alles irgendwie möglich?
Dann hab ich noch 3 Fragen:
Sollte das tatsächlich so funktionieren – Wie müsste ich die Servos dann genau umbauen?
Was versteht man darunter, den Motor zum Richtungswechseln umzupolen?
Was ist ein Motortreiber?
Sind ziemlich viele Fragen. Mir wäre aber mit Antworten sehr geholfen.
Peter
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.