Projekte: Autopilot Selbstbau

Als ich die Schabernack im Dezember 2013 von Wyk auf Föhr nach Holland überführt habe, habe ich die Vorzüge eines Pinnenpiloten kennengelernt.
Als Einhandsegler muss man mal unter Deck, ausruhen, essen, Toilette. Dann übernimmt der Pinnenpilot die Aufgabe des Rudergängers.

Nun habe ich wohl ein besonderes Talent, die Elektronik dieser Teile zu schrotten. Oder ins Wasser zu werfen.

Autohelm Pinnenpiloten werden im Internet mittlerweile zu Mondpreisen gehandelt, und ein neuer kommt nicht in Frage. Für das Geld fahre ich lieber zwei Wochen in den Urlaub.


Meine erste Idee war es, die Platine eines Autohelm einfach nachzulöten, im Zuge meiner Suche nach den Bauplan kam ich allerdings in Kontakt mit einer Vielzahl von Projekten, die sich in unterschiedlichem Umfang mit einer Selbststeueranlage befassen. Das reicht von der einfachen Kompasssteuerung bis hin zum Autopiloten, der eine vorgegebene Route abfährt, dabei Batterie, Temperatur und Luftdruck im Blick behält.

Dazu muss ich bemerken, dass meine Kenntnisse der Elektrotechnik sehr überschaubar sind.Ich kann einen Bauplan, wenn nötig, schon zusammensetzen, bei Projektbeginn hatte ich von Arduino und h-bridge, brushless und Hallsensoren allerdings überhaupt keine Ahnung. Trotzdem hats geklappt.

Bis jetzt habe ich zwei Stück realisiert:
Das erste heißt  Yaaap (Yet another Arduino Autopilot) https://github.com/FilBip/yaaap von Philippe Leclercq.
Die Lösung ist technisch relativ einfach und wenn man den Fehler im System endlich gefunden hat, auch in weniger als 2 Std. nachzubauen.

Aber von Anfang an: 

Gesteuert wird der Autopilot von einem Arduino, einem kleinen und spottbilligen Microcomputer. Auf den kann man, so oft man möchte, Programme aufspielen, zum Beispiel Programme, die einen Autopiloten steuern.
Allerdings: Ich hatte anfangs keine Ahnung, wie ein Programm überhaupt auf den Arduino kommt und so brauchte ich elendig lange, um überhaupt eine Verbindung herzustellen, dann war immer noch nicht geklärt, wie die Software mittels der Arduino IDE hochgeladen wird. Zudem die Arduino IDE, außer der Version 1.8.5. machten, was sie wollten.

Als ich dann endlich in der Lage war, das richtige Programm hochzuladen, wurden die einzelnen Bauteile gelötet (was den Tod eines Arduino mit sich brachte), der Spaß zusammengesteckt und gestartet - aber nichts passiert. Gar nichts. 

Ich habe den ganzen Kram wieder und wieder auseinander gebaut, und wieder zusammen gesteckt. Den Code neu aufgespielt. Nichts. Immerhin konnte ich irgendwann einmal den Arduino dazu bewegen, mir die jeweilige Himmelsrichtung über das Display anzuzeigen, aber der Aktuator bewegte sich keinen Millimeter.

 Dann versuchte ich den Code zu entschlüsseln, beschaffte mir Literatur und durchforstete das Arduino Forum, auf dem Philippe sein Projekt vorstellt (auch noch auf französisch). 

Die Antwort finde ich tatsächlich filmreif mitten in den Nacht: Als ich versucht habe, den Code zu verstehen, fielen mir die "define"-Befehle auf. Tatsächlich sind das die ersten, die ich auch verstanden hab. Diese Befehle definieren, welcher der Anschlüsse am Arduino welche Funktion übernimmt. Abends, kurz vor dem Einschlafen, grübelte ich noch über das Projekt, oder gegebenenfalls Alternativen nach, falls es mir nicht gelänge, das Teil zum Laufen zu bringen. 
Nur: Irgendwas war mir aufgefallen, was mich störte: Es juckte mir schon den ganzen Tag im Kopf und als mich gerade entspannte und einschlafen wollte, fiel es mir ein, was ich die ganze Zeit mal überprüfen wollte:
Die Verbindungen im Schaltplan (und nach dem hatte ich das Ganze zusammengbaut) stimmten nicht ganz mit den im Code unter "define" beschriebenen überein. Ich verändere also Stecker und nach mehr als 3 Monaten verzweifeltem Hinarbeiten läuft der Yaaap. Ganz einfach so. Tssssst-Tssssst.
Bewegt sich die Kiste nach rechts (also jetzt das Boot) fährt die Aktuatorstange ein und würde das Boot in die gegenrichtung korrogieren. Und andersherum.
Das Ganze mit drei wasserdichten Druckknöpfen in einer wasserdichten Box:



Für den, der es nachbauen will: Es ist wirklich ganz einfach.
Man benötigt:
1 Stück Arduino pro mini oder 
 
1 Stk.  Arduino Nano (ca. 7Euro)
1 Stk. Arduino Nano Terminal Adapter (optional), erspart einen Haufen Lötarbeit und schafft solide Schraubverbindung (ca. 6 Euro)

Der Arduino nano hat den Vorteil einer aufgelöteten micro-Usb-Buchse. Das erleichert das Aufspielen des Codes.







1 Stk. ACS712 Hallsensor (ca. 8 Euro)
1 Stk. Display 16 X 2 (ca.7 Euro)
1 Stk. Konverter 12 V auf 5 V  (ca. 6 Euro)
1 Stk MPU 9260 (ca. 5 Euro)
1Stk. TB6612fng Motortreiber (12 Euro)
1 Tillermotor. Das kann ein Schubstangenmotor aus ebay für 50 Euro sein, aber auch ein Autohelm-Motor mit defekter Elektronik tuts.  

Die Teile sind im wesentlichen in Deutschland bei ebay gekauft, wenn man Zeit genug hat, bestellt man sie in China, dann kosten sie nur noch ein viertel des Preises

1 Wasserdichte Verteilerdose
3 Wasserfeste Drucktaster

1. Arduino Programm (Version 1.8.5!) installieren. Windowsnutzer müssen dann auch noch die zugehörigen Treiber von der Arduinoseite herunterladen und installieren.
Auf der Github-Seite des Projektes (s.o.) das ganze Paket mit allen Bibliotheken und .ino Dateien als zip-Datei herunterladen und entpacken.

Arduino mit Mini-USB-Kabel mit dem PC verbinden. 
Die Datei motor.ino öffnen, alle Bibliotheken und Zusatzprogramme werden mitgeladen.
Unter Werkzeuge den Eintrag "Board" und hier "Arduino Nano" auswählen.
Unter Sketch den Eintrag Hochladen auswählen.  
Nun wird das Programm in Maschinensprache übersetzt und auf den Arduino hochgeladen.

2. Das ganze Gerödel wie folgt zusammenstecken

Das MPU ist praktisch der Kompass, er registriert aber auch die Krängung und die Seitenbeschleunigung in einer Welle. Der muss beim Einbau so angebracht werden, dass die aufgedruckte x-Achse in Fahrtrichtung des Bootes zeigt. 
 
Das hier ist die korrigierte Version mit dem richtigen Anschluss für den ACS712. Die Grafik auf der Internetseite ist falsch. Aber Achtung: Hier ist noch der Arduino pro Mini eingezeichnet. (Den man natürlich auch benutzen kann, das Aufspielen des Programms ist allerdings aufwändiger). Der Nano hat die gekennzeichneten Anschluss zum Teil woanders.

Keine Kommentare:

Kommentar veröffentlichen

Schleuse Altenrheine - Kurz vor Lingen 2.4.2024 (Ach, Du Scheiße!)

  Ich habe das Gefühl, ein bisschen was aufholen zu müssen und bin früh unterwegs. Ich kann mich hinter einem Tanker einordnen, der ziemlich...