Hi, ich habe einen Lenkung für Schottelantriebe in einem Modell gebaut. Ein umgebautes Servo (jetzt ein simpler Getriebemotor) dreht über eine Untersetzung die Schottelantriebe gemeinsam um 180°. Die Drehbewegung erkenne ich per Codierscheibe und Lichtschranke (das Teil wo "D" markiert ist). Am Anfang macht das Ding eine Referenzfahrt von Anschlag zu Anschlag (Endschalter rechts auf dem Bild unter den grauen Zahradsegmenten). Gesteuert wird das Ganze von einem Tiny841. Lichtschranke wird mit PCINT eingelesen und je nach aktueller Drehrichtung des Getriebemotors rauf oder runtergezählt. Das wird mit dem Signal vom Empfänger verglichen und der Getriebemotor per SI9986 Endstufe angesteuert. Funktioniert soweit erstmal prima. Bis die Antriebe ins Spiel kommen. Das Drehmoment auf die Propeller stützt sich komplett an der Lenkung ab und das kompensiert sich wenn beide vor oder zurück laufen. Es addiert sich aber, wenn die Antriebe gegenläufig laufen. Da gibt es natürlich auch mal Lastwechsel. Jedenfalls zappelt das Signal vom Optokoppler dann gelegentlich mal fürchterlich rum, wenn er gerade an der Erkennungsschwelle ist und die Software verliert Schritte oder zählt welche wo gar keine sind. Das passiert natürlich auch, wenn der Getriebemotor aus ist und dann zähle ich gar nicht, ich wüsste ja auch gar nicht in welche Richtung. Ursache dafür ist das Spiel im Getriebemotor, das offensichtlich deutlich größer als die Hysterese der Erkennung ist. Das Spiel ist etwa 10-20% der Teilung der Codierscheibe. Ich habe schon ein RC-Glied an der Lichtschranke und daran herumgedreht aber auf dem Oszi kann man sehen, daß man das damit nicht in den Griff bekommt, das Spiel ist im Vergleich zur Teilung einfach zu groß. Verbessern kann man es damit, lösen aber nicht. Mir fällt auch keine Idee ein, wie ich das per Software lösen könnte. Kurz noch ein paar Angaben, warum ich das so gemacht habe wie es jetzt ist: Das Drehmoment ist beachtlich, deswegen die Untersetzung und die riesigen Zahnradsegmente. Modul 1 weil ich das 3D-drucken kann und alles toleranter beim Zahnflankenspiel wird. Das Ganze ist Bastelei und soll möglichst günstig sein bzw. aus dem Fundus gelöst werden. Mechanisch ist das ja auch ok so (bereits der zweite Ansatz). Naheliegend wäre ein Poti direkt an einem der Zahnradsegmente. Das wäre aber mechanisch sehr schwierig umzusetzen. Ein normales Poti dürfte das auch nicht lange mitmachen, fürchte ich. Meine erste Idee ist jetzt: Ich mache erstmal die Codierscheibe etwas gröber. Momentan sind das 25 Fenster, ich gehe runter auf 18. Die Auflösung mit der gegebenen Übersetzung wäre dann 2,67°, womit ich noch leben könnte. Weniger sollte es dann aber nicht mehr sein. Dann baue ich eine zweite Lichtschranke dazu, um eine halbe Teilung versetzt. Wenn die eine Lichtschranke auf der Schwelle rumzappelt, sollte die andere einen stabilen Pegel liefern. Damit lässt sich dann eine echte Drehbewegung von dem Gezappel unterscheiden. Erst die Flanken von beiden Sensoren in der richtigen Reihenfolge wären ein wirklich Schritt. Hat jemand Einwände gegen diesen Plan? Am schönsten wäre natürlich ein absoluter Geber. Ev. ein verrecktes Servo soweit ausnehmen, daß ich nur noch das Poti mit der Lagerung habe. Dann mit 1:6 untersetzt das Poti des Servos von dem Getriebemotor antreiben (anstatt der Codierscheibe). Damit hätte ich einen Winkel von 225° am Servopoti, das sollte gehen. Ich hab mal ein verrecktes 9g-Servo drangehalten, das müsste gehen. Im Gegensatz zu einem normalen Poti ist das Servopoti für diese Art der Bewegung ausgelegt. Was meint Ihr, welchen Weg sollte ich verfolgen? Ich bin auch offen für alle anderen Lösungsansätze, wie ich die Drehbewegung mit der gegeben Mechanik machen könnte. Gruß, Norbert
Also was mit so einfallen würde: 1. "Drehencoder-style" mit 2 Lichtschranken abtasten und so Drehrichtung mit erfassen. Sollte mit minimalem AUfwand gehen, erfordert aber etwas Trickserei in der SW damit gezappel nicht als Drehung erfasst wird (grade wenn alles noch etwas vibriert und nicht 100% ausgerichtet ist). 2. Absolutwert-Encoderscheibe auf die großen Zahnräder kleben (und mit mehreren LS abtasten). Kostet halt u.U. heftig Geld (man braucht für 2^n Schritte n Lichtschranken). 3. Antrieb über einen Motor mit mehr Haltemoment (oder evtl. selber aktiv gegenhalten, in Verbindung mit 1.).
Hi, 1. ist so etwa mein erster Ansatz. Die Drehrichtung kann ich damit aber eher nicht erkennen, wenn eine von beiden Lichtschranken zappelt. Muß aber auch nicht. Wirkliche Drehbewegungen passieren nur, wenn die Steuerung angetrieben wird. Das Selbsthaltemoment ist absolut. Drehmoment von den Antrieben bewegt den Getriebemotor nicht aber klappert an dem Spiel herum, das ist das Problem. 2. fällt aus weil Bastelei. Natürlich kann man das mit professionellen Drehgebern perfekt lösen aber 1. darf (oder besser soll) das nichts kosten und ausserden kann das ja jeder ;-) 3. Haltemoment ist nicht das Problem sondern das Spiel. Ich probiere jetzt erstmal meine zweite Lösung mit ausgeschlachtetem Servo als Poti. Gruß, Norbert
Würde das mit einem Schrittmotor mit ausreichend großem Haltemoment machen. Du sparst den ganzen Aufwand mit dem Enkoder(n) und eine aktiven Regelung.
Norbert S. schrieb: > Die Drehrichtung kann ich damit aber eher nicht erkennen, wenn eine von > beiden Lichtschranken zappelt. Doch! Die Lichtschranken müssen natürlich um einen halben Impuls versetzt angebaut sein! wie bei einem Drehencoder mit 2Bit-Gray-Code
Max Mustermann schrieb: > Norbert S. schrieb: >> Die Drehrichtung kann ich damit aber eher nicht erkennen, wenn eine von >> beiden Lichtschranken zappelt. > > Doch! > Die Lichtschranken müssen natürlich um einen halben Impuls versetzt > angebaut sein! > wie bei einem Drehencoder mit 2Bit-Gray-Code Hi, urgs, hast natürlich recht. Zappeln ist keine Flanke wenn sich danach die andere Lichtschanke nicht rührt. Das ist aber nicht das primäre Ziel. Ich versuche jetzt aber den Königsweg: Wieder untersetzen und dann ein Servo das nur noch als Poti fungiert. Dann habe ich immer die absolute Position, das wäre am schönsten. Ich drucke jetzt mal Modul 0,7 Zahnräder dafür, das müsste noch gehen. Leider muß ich 1:8 untersetzen weil das Servopoti nur gut 180° macht. Mit Modul 1 wird mir das zu gewaltig aber da ist kein Drehmoment, das müsste mit 3d-Druck mit Modul 0,7 noch gehen. Kann jetzt etwas dauern, bis ich das Ergebnis posten kann, ich muß auch noch wählen gehen (HH). Gruß, Norbert
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.