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