Guten Morgen, Ich möchte gern diesen Servo: https://www.premium-modellbau.de/feetech-ft90m-fb-metall-digital-servo-14g-2-2kg-2700-feedback-arduino mit einem Teensy 3.2 per PWM steuern. Da ich nirgends eine Info über die PWM Frequenz gefunden habe, gehe ich von den modellbautypischen 50 Hz = 20 ms aus. Entsprechend das PWM setup: analogWriteFrequency(9, 50); // Pin 9, 50 Hz analogWriteResolution(8); Auf der verlinkten Seite steht: Betriebswinkel: 270 Grad (500us-2500us) Die PWM Frequenz beträgt 50 Hz = 20 ms = 20.000 µs Bei den 8 Bit kann ich 1 bis 255 nutzen also 254 Schritte, wäre also 20.000 / 254 = 78,7 µs ein Schritt. Da ich von 500 bis 2500 µs steuern kann, hätte ich also per analogWrite(9, value); einen Wertebereich für value von 7 bis 31 zur Verfügung? Ist die Überlegung so korrekt? Ich könnte auch 12 Bit für eine bessere Auflösung nehmen: analogWriteResolution(12); // analogWrite value 0 to 4095 Danke vorab für eventuelle Hinweise und Hilfe. lg Frank
Frank K. schrieb: > Ich könnte auch 12 Bit für eine bessere Auflösung nehmen Oder du stellst den Timer von 50 auf 250 Hz um und nutzt nur jeden 5. Durchlauf aus, um das PWM Signal zu generieren. Also immer abwechselnd 4x ohne Impuls und 1x mit Impuls. Den PWM Ausgang kann man ja in der ISR bequem ein/aus schalten. Dann hast du effektiv die 5-fache Auflösung. Feiner lassen sich normale analoge Servos eh nicht bewegen. Ich habe die Idee mal aus Spaß an der Machbarkeit weiter gesponnen und so mit den beiden Compare-Einheiten eines 8-bit Timers ganze 10 Servos angesteuert. Falls dich das interessiert, schau dir die ISR und die Kommentare im Quelltext an: http://stefanfrings.de/servocontroller/index.html
Danke, das werde ich mir auf alle Fälle mal ansehen, die Idee ist super. Für meine Anwendung oversized ;-) Ich baue hier eine "analoge" Zeiger-Uhr zur Temperaturanzeige des Wassers in unserem Freibad, LED ist zu teuer. Da ich nur die Zahlen von 18 bis 26 anfahren muss und wir uns (erst einmal) auf ganze Grad beschränken, muss ich die 9 Positionen einigermaßen genau treffen. Ich kenn mich ja, wenn ich Beckenaufsicht habe und der Zeiger dann nicht genau steht, macht es mich alle ... :-) Mal sehen, wie gut die Positionierung geht, dann mache ich eventuell auch "halbe" Grad. Der Messwert wird aller 5 min aktualisiert und dann der Servo positioniert. Der Zeiger ist mittels Gegengewicht ausbalanciert, so dasss der Servo nur die Kraft zur Positionsänderung benötigt. Mal sehen, wie es sich machnisch darstellt, ob ich die Positionen direkt anfahre oder per Schleife "sanft" auf die nächste Position drehe. Gruß, Frank
Das ist doch ein Arduino-Projekt? Dafür gibt's ungefähr +- eine Million Servolibraries, die zum einen die Ansteuerung vereinfachen und zum anderen ein gutes Signal mit hoher Auflösung liefern. z.B. https://www.pjrc.com/teensy/td_libs_Servo.html
ein Schrittmotor mit Poti als Absolutwertgeber dürfte bei der groben Mechanik auch einfach zu verbauen sein. Poti mit Untersetzung aus Riemenscheiben und Zahnriemen aus dem 3D Drucker Bereich, oder Schrittmotor mit Doppelschaft. Gut sind auch diese Servos mit serieller Ansteuerung: https://www.amazon.de/lewansoul-Drehmoment-Echtzeit-Feedback-Kugellager/dp/B0763CJYXK https://github.com/madhephaestus/lx16a-servo Modellbauservos haben eine begrenzte Haltbarkeit wenn die sehr lange auf einer Stelle rumrubbeln.
Johannes S. schrieb: > ein Schrittmotor mit Poti als Absolutwertgeber dürfte bei der groben > Mechanik auch einfach zu verbauen sein. "Moderne Anzeigen im Automotiv-Bereich" - auf Deutsch: der gute alte Tacho - bedient sich billiger Schrittmotoren (z.B. eBay-Artikelnummer: 174084147785). Die Steuerung schickt den Zeiger auf Anschlag und gewinnt damit die Null=Position. Danach gehts weiter im Blindflug. Ich würde mir z.B. einen Stepper Motor 28BYJ-48 (eBay-Artikelnummer: 63658424900) für < 5€ holen und, falls 24/7-Betrieb gewünscht, zur Sicherheit einmal in der Nacht die Nullposition anfahren. Just my 2 ct.
Danke für die wrtvollen Tipps, der Servo blockiert, wenn erst stromlos ist sehr stark. Sollte er anfangen zu "rubbeln" schalte ich die Spannungsversorgung des Servos über einen Output einfach ab. Die Position wird eh nur aller 5 Min ggf. aktualisiert. Darum ach ein Servo mit einem gut untersetzem Getriebe um stromlos eine gewisse Festigkeit zu haben. Die PJRC lib kannte ich schon, wollte nur erstmal rudimentär das Projekt beginnen, vielen Dank.
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.