Kommen wir nun zu all den Funktionen, die das Böötchen und den Ruderer kennzeichen:
Betriebsmodi:
Die Steuerung unterstützt insgesamt 9 Betriebsmodi. Die Selektion erfolgt nach dem Einschalten durch Festhalten des Tasters bis der gewünschte Modus erreicht ist. Der jeweils aktive Modus wird über ein Blinkmuster der Kontroll-LED angezeigt.
- 0: Normalbetrieb - Boot und Ruderer werden über die fernbedienung gesteuert
- 1: Demonstrationsmodus - Boot und Ruderer vollführen eigenständig eine ca. 5 Minuten lange Show, die sich immer weiter wiederholt (für Ausstellungen etc.)
- 2: Servotest - erlaubt das Bewegen der 5 angeschlossenen Servos über den Trimmer - gut zum Prüfen / Optimieren der mechanischen Installation
- 3: Factory Calibration - setzt alle Einstellungen auf meine "Hersteller-Basiswerte" zurück
- 4: Kreuzknüppel-Kalibrierung - erlaubt die exakte kalibrierung des verwendeten Fernsteuersenders (diese unterscheiden sich immer geringfügig)
- 5: Kalibrierung Backbord-Servos - erlaubt die Endlagen- und Richtungskalibrierung der zwei Servos für den Backbord-Riemen
- 6: Kalibrierung Steuerbord-Servos - erlaubt die Endlagen- und Richtungskalibrierung der zwei Servos für den Steuerbord-Riemen
- 7: Kalibrierung Rudermännchen-Körper - erlaubt die Endlagen- und Richtungskalibrierung des Servos für den Rudermännchen-Körper
- 8: Servo-Zentrierung - bewegt alle 5 Servos in die exakte Mittenposition (hilfreich bei der Justage aller Gestänge)
Die beiden Servos zur Kopfbewegung des Rudermännchens sind ja wie bereits geschrieben direkt an den Empfänger angeschlossen. Wenn man Pech hat, dann ist die Drehrichtung gegenüber dem Kreuzknüppel genau verkehrt herum.
Gemäß Murphy musste ich beide Servos invertieren. Dazu vertauscht man einfach jeweils 2 Drähte am Servomotor und am Servo-Potentiometer durch Umlöten.
Ruderbetrieb:
Um den Ruderbetrieb zu verstehen, stelle man sich bitte vor: Man hält den Sender in den Händen und schaut auf den rechten Kreuzknüppel. Das folgende Bild zeigt das mögliche Bewegungsfeld dieses Knüppels als zweidimensionale Matrix.
Vor einem steht das Böötchen und zeigt mit dem Bug auf einen. Man selber hat also die Position des Ruderers. Rechts liegt Backbord, links liegt Steuerbord. Im Grunde genommen fährt man die ganze Zeit über rückwärts, wie auch beim echten Ruderboot.
Gehen wir nun mal durch die einzelnen implementierten Aktionen. Sie sind aufgeteilt in "mnauelles Rudern" und "automatisches Rudern":
- 01: Kreuzknüppel-Mitelstellung, nach 0,5 Sekunden werden beide Riemen angehoben und bleiben in der Luft
- 02: Beide Riemen sind eingetaucht - je nach Ausschlag werden sie zum Bug bewegt
- 03: Beide Riemen sind eingetaucht - je nach Ausschlag werden sie zum Heck bewegt (über 2-3-2-3 kann man das Boot hin-und-her schwabbeln lassen)
- 04: Backbord-Riemen eingetaucht, Steuerbord-Riemen in Mittelposition in der Luft, Backbord-Riemen lässt sich manuell entsprechend Ausschlag vor- und zurück bewegen
- 05: Wie 4, nur spiegelbildlich
- 06: Beide Riemen sind eingetaucht, das Boot ruder von selber vorwärts geradeaus, der Speed (die Ruderfrequenz) steigt entsprechend Knüppelausschlag
- 07: Beide Riemen sind eingetaucht, das Boot ruder von selber rückwärts geradeaus, der Speed (die Ruderfrequenz) steigt entsprechend Knüppelausschlag
- 08: In allen grauen Feldern ruder das Boot automatisch, der Ausschlag in Y steigert den Speed, der Ausschlag in X verkürzt den Hub des kurveninneren Riemens (wie in echt)
- 09: Beide Riemen eingetaucht, Steuerbord-Riemen in Mittelposition, Backbord-Riemen in Mittelposition
- 10: Wie 9, nur spiegelbildlich
- 11: Beide Riemen eingetaucht, Steuerbord-Riemen in Mittelposition, Backbord-Riemen rudert automatisch vorwärts, Speed entsprechend Knüppelausschlag in X-Richtung
- 12: Wie 11, nur rückwärts
- 13: Wie 11, nur spiegelbildlich
- 14: Wie 12, nur spiegelbildlich
- 15: Beide Riemen eingetaucht, Boot dreht auf der Stelle, Riemen bewegen sich entgegengesetzt, Tempo entsprechend Knüppelausschlag in Y-Richtung
- 16: Wie 15, nur entgegengesetzte Drehrichtung
Sorry - das ist nicht ganz trivial am Anfang. Aber von der Ergnomie bei der Bedienung absolut schlüssig. Meine 3 Ältesten (4, 6, 8 ) konnten es nach 1 Minute bedienen...
Ruder-Prinzip:
Beide Riemen können in 8 definierte Positionen bewegt werden. Das zyklische Durchlaufen dieser Positionen ergibt das Rudermuster.
Konkret heißt das: Mitte oben, Mitte unten, max. vor oben/unten, max. zurück oben/unten plus 4 Positionen 20% vor dem Ende des max. Ausschlags.
Entspricht in etwa einem Rechteck mit abgerundeten Ecken bzw. einer nahezu rechteckigen Ellipse.
Der horizontale Hub der Bewegung ist variabel und wird errechnet.
Rudermännchen:
Je nach Sendr-Kreuzknüppelposition ergibt sich ja ein bestimmter Bewegungsablauf der beiden Riemen oder zumindest eine definierte Riemenposition.
In Abhängigkeit davon bewegt die Software den Körper des Rudermännchens in die jeweils richtige Position.
Dabei ist die Körperbewegung geringfügug voreilend, damit es so ausschaut, als ob der Ruderer an den Riemen reisst oder drückt.
Demonstrationsmodus:
Jetzt noch ein Wort zum Demo-Mode. Mich reizt der Gedanke eines Top-Manager-Schreibtisch-Gimmicks, sprich einem Mini-Ruderboot mit Acrylglas-Rumpf und Carbon-Innereien.
Dieses sollte in der Lage sein auf dem Schreibtisch eine gigantiische Show abzuziehen. Zumindest elektronisch ist dies soweit fertig.
Der Demo-Mode ist nichts anderes als eine Tabelle mit Einträgen für die Kreuzknüppelposition plus eine Zeitangabe, wie lange diese Phase abläuft.
Soll heißen: Der Mikrocontroller macht nichts anderes, als einen Benutzer zu simulieren, der nacheinander den Kreuznüppel immer für ein paar Sekunden in eine bestimmte Position bewegt.
Das Blöde freilich war massiver Speichermangel im Chip. Darum musste ich ein Verfahren zur Datenkompression einsetzen. Also hab ich mir flott eine EXCEL-Maske gebastelt, die mir die Kreuzknüppel-Positionen in ein schlankeres Format übersetzt. Der Controller übernimmt dann bei der Abarbeitung die Dechiffrierung. Sieht so aus:
Die gesamte Software-Entwicklung lief über knapp 2 Wochen, danach dann noch einmal 2 Wochen vereinzelt Verbesserungen angebracht. Ist also alles nur halb so wild.
Zu Beginn hatte ich den Aufbau lose auf dem Tisch stehen. Die Servos "rührten" also fste vor sich hin. Aber irgendwann ist man am Ende des eigenen Abstraktionsvermögens und kann den Bewegungen einfach nicht mehr folgen. Also hab ich mir von den Kids die große Lego-Kiste geschnappt und aus Lego-Technic einen Simulator gebaut. Die Verbindung zwischen Servos und Riemen übernahmen auf die Schnelle zurechtgebogene Kupferdrähte. Fertig.
So, das war jetzt alles reichlich pervers. Für die, die das schlichtweg anekelt: Bitte nehmts nicht krumm, ein Klick und Ihr seid in einem anderen Thread.
Für die anderen unter Euch hoffe ich, dass es vielleicht ein wenig Hintergrundgedanken, Vorgehen und Umsetzung erläutern konnte.
Der Status des Projektes insgesamt zum gegenwärtigen Zeitpunkt:
- Ruderbootregelung Software komplett fertig - erfordert noch Alltagserprobung
- Ruderbootregelung Hardware (Prototyp) komplett fertig und einsatzbereit - SMD-Zielversion vorbereitet
- Rudermännchen Medium-Size als Prototyp fertig - 12 kleine Änderungen im Datenstand noch einzupflegen
- Ruderboot in der Konstruktion auf 30% - Baustand 0%
- Ruderbootantrieb konstruktiv auf 80% - Baustand 20% (Material besorgt)
Soll heißen: wenn es da nicht zig Parallelprojekte und null Zeit gäbe, dann könnte das Baby noch locker im Frühjahr den Pool entern...
Machts gut,
Johannes