Die Idee hinter diesem Projekt ist ein
DIY-Autopilot den man mit etwas Elektronikwissen selber aufbauen und –
noch wichtiger – später auch irgendwo am Ende der Welt mit Standartteilen wieder reparieren
kann. An dem Projekt bastle ich gerade zusammen mit dem Hannes von
der Optimist (früher Pukuri) – ich bin dabei eher für die
Hardware, also die Elektronik zuständig und der Hannes schreibt die
Software – damit das Ding am Ende auch weiß, das es ein Autopilot
ist und wie man sich als solcher zu benehmen hat.
Das
Herzstück der Hardware ist ein Arduino Mega 2560, das ist eine
Computerplatine basierend auf einem Atmega2560, also ein kleiner
Computer mit jeder Menge frei programmierbarer Ein- und Ausgänge. Den
Arduino Mega 2560 bekommt man Bei Reichelt, Pollin, Conrad & Co
für etwa 40-50€ - in Hongkong
(http://stores.ebay.at/rcmodelpart?_rdc=1) bekommt man das gleiche
Teil aber auch schon um einiges Billiger.
Von dort haben
wir auch unsere Sensoreinheit, eine GY-80. Auf der kleinen Platine –
die auch etwa 20€ kostet – sitzt je ein L3G4200D, ein ADXL345,
ein HMC5883Lund ein BMP085. Damit hat man einen Magnetkompass, einen
Gyro, einen Beschleunigungsmesser und ein Barometer – nicht
schlecht für eine Platine die gerade mal 27x17mm groß ist.
Dann gibt es da noch eine Bedieneinheit
mit 4 Tasten und einem 2x16 Zeichen Display, einem Ruderlagengeber
und NMEA Ein- und Ausgänge um GPS, Windanzeiger und AIS anzuschließen.
Der Autopilot steuert dann die Drive Unit (DU) also einen Motor oder eine Elektropumpe an.
Der Autopilot steuert dann die Drive Unit (DU) also einen Motor oder eine Elektropumpe an.
Es gibt noch extra Ausgänge für eine
Bremse (um ein Bewegen des Ruders während der Pausen zu verhindern)
und einen Schaltausgang wenn das Gerät eingeschaltet ist (für
etwaige elektrohydraulische Bypassventiele). Zwei weitere Ausgänge
stehen für weitere Entwicklungen zur Verfügung.
Der Aufbau schaut so aus, daß der
Arduino (MCU – Micro Computer Unit) auf einer Verstärkerplatine
(AMPU – AMPlifier Unit) sitzt, alle Leitungen von und zum MCU
laufen also über die AMPU. Auch die Stromversorgung der MCU erfolgt
über die AMPU. Alle Datenbusse und alle Ausgänge werden über
Optokoppler galvanisch von der MCU getrennt – die Ausgänge werden
danach mit niederohmigen MOS-FETs (IRF3205 & IRF4905) verstärkt.Der Strom welcher über die DU fließt
wird im Betrieb überwacht und bei einem Kurzschluß oder längerer
Überlast schaltet der Computer den Verstärker ab.Des weiteren ist der Verstärker
mittels Schutzdioden gegen Abschaltspitzen der DU und auch gegen
Verpolung der Versorgungsspannung geschützt
Die Sensoreinheit (SENSU – SENSor
Unit) und das Bedienteil (UIU – User Interface Unit) werden mittels
eines seriellen I2C Bus von der MCU gesteuert und abgefragt. Der
Ruderlagengeber (RFB – Rudder Feed Back) ist einfach ein 10k
Potentiometer (für höhere Lebensdauer ein Keramikmodell) welches
über einen der Analogeingänge der MCU ausgewertet wird.
Die Software wird über die USB
Schnittstelle des Arduino aufgespielt und auch in der jetzigen
Testphase haben wir den PC fast ständig mitlaufen um Daten zu
protokollieren – im Endeffekt ist der Pilotino aber nach einmaligem
aufspielen der Software autark und kann ohne PC betrieben werden.
Den ersten Aufbau auf Lochrasterplatte
diente hauptsächlich dazu die Schaltung zu testen und noch diverse
Verbesserungen einfließen zu lassen. Im Laufe so eines Projekts
verändert sich gerade am Anfang fast täglich noch was an der
Schaltung. Da wurden mal hier ein paar I/O Pins getauscht um das
Platinenlayout zu verbessern, da noch eine Extraleitung für den
Standbymodus zur UIU eingebaut, Lötaugenabstände für verschiedene
Bauformen optimiert, ….. wie gesagt, es gab einiges zu tun.
Irgendwann waren wir dann aber alle
Änderungen eingebaut und alle Details ausgearbeitet, die Schaltung sowie
das Platinenlayout waren also fertig und wir
haben die ersten Platinen bestellt.
Hier sind noch die Links zu den Eagle Dateien des Projekts. Einmal der Schaltplan und einmal das Layoutder Platine.
Hier sind noch die Links zu den Eagle Dateien des Projekts. Einmal der Schaltplan und einmal das Layoutder Platine.
Der erste Aufbau auf der gefertigten
Platine schaut auch schon richtig gut aus und auch die Tests mit dem
Platinentestprogram sind alle problemlos verlaufen.
Der nächste Schritt war dann das Ganze
in Boote einzubauen um die Software entwickeln zu können. Der erste
Pilotino verrichtet seit einigen Wochen schon seinen Probebetrieb in
der 'Optimist', der zweite seit einer Woche auf der 'Yab Yum'. Soweit schaut alles gut aus, nur an der Software müssen wir noch arbeiten. Das 'Betriebssystem' - also die Bedienbarkeit des Pilotino funktioniert schon recht gut und erst kürzlich hat Hannes ein Problem mit der Zeichendarstellung am Display gelöst das uns schon seit Wochen Kopfzerbrechen macht. Jetzt steht uns noch einige Arbeit am Alogarythmus ins Haus bis der Autopilot mit möglichst wenig Schlangenlinien und bei allen Bedingungen geradeaus fährt - und dabei auch noch möglichst wenig Energie verbraucht.
Stand 2013-7-22
Stand 2013-7-22
Dezember 2013
Der
Pilotino hat die erste echte Testfahrt erfolgreich bestanden. Hannes
und Christine hatten einen Schaden bei ihrem normalen Autopiloten als
sie in Tonga waren und so haben sie die Überfahrt von Tonga nach
Fiji (ca. 400 Seemeilen) mit dem Pilotino gemacht und das hat ganz
gut funktioniert. So ein breiter Katamaran ist aber auch leicht auf
Kurs zu halten, ein Monorupf wie die Yab Yum ist da schon etwas
schwieriger. Bei glattem Wasser geht es schon sehr gut, bei Welle
oder Wind von der Seite oder von Vorne fahren wir aber immer noch
deutlich mehr Schlangenlinien als unser alter Autopilot. Das wird die
Aufgabe der nächsten Monate sein, die ideale Einstellung das Systems
zu finden, damit es bei minimalem Stromverbrauch auch bei Wind und
Welle kursstabil genug ist und dabei aber nicht übersteuert und
sich aufschaukelt. Da wir jetzt beide über die Cyclon Saison hier in
Savu Savu sind haben wir jede Menge Zeit das Projekt in diese
Richtung weiterzuentwickeln.
Die
Software hat sich auch weiterentwickelt und nach langem Kampf hat
Hannes vor ein paar
Tagen auch das Tastenproblem - unser größtes Sorgenkind bisher –
lösen können. Bei zu
vielen und schnellen Tasteneingaben ist der Computer manchmal
abgestürtzt oder hat am Display chinesische Zeichen fabriziert. Das
Problem lag wohl im Interrupt der Zeitsteuerung des Beepers in der
Bedieneinheit.
2014-01-15 Hannes hat letzte Woche die vielen Seiten Berechnungen aus seinem Notizbuch in den Pilotino Quellcode gearbeitet - die neue Version 3.0. Jetzt ist die Sensoreinheit voll kompensiert, kann schief stehen und auch wackeln und zeigt trotzdem noch den richtigen Kurs. Wir waren kurz draußen und sind ein paar Runden gefahren um den neuen Kompass zu testen – und was für ein Unterschied! Der Kompass liefert jetzt vernünftige Daten und reagiert in guter Zeit, eine 30° Drehung hat plötzlich wirklich 30 Grad, die Deviationstabelle hat jetzt gewohnte Werte von maximal 10° (statt 50-60° vorher) und das Fahren Geradeaus ist auch merklich exakter. Also ein voller Erfolg und ein Hoch auf die Mathematik.
2014-02-22 Seit ein paar Tagen kann der Pilotino auch nach GPS Wegpunkten fahren. Dazu wird der 'Cross Track Error' der mitles NMEA Signal vom GPS kommt ausgewertet und daraus eine sanfte Annäherungskurve berechnet. Bei der letzten Probefahrt hier in Savu Savu hat das alles schon ganz gut geklappt.
Ansonsten habe ich jetzt den ersten Wasserdichten Bedienteil gebaut - jetzt kommen wir in die Phase wo wir den Autopiloten bei verschiedensten Bedingungen testen - und die besten Einstellungen finden müssen.
Ansonsten habe ich jetzt den ersten Wasserdichten Bedienteil gebaut - jetzt kommen wir in die Phase wo wir den Autopiloten bei verschiedensten Bedingungen testen - und die besten Einstellungen finden müssen.
Wenn dass ganze mahl weiter Entwikelt wierden sollte könnte mann ja auch den Atmega direkt auf die Platine setzen. Das Spart platz und evtl. spätere kontaktprobleme mit den Federleisten. Des weitern könnte mann zum Stromsparen auch einen Schaltregler verweden der die 5V oder 3,3V zur verfügung stellt. Und nachdem dass ganze ja auf einem Boot ist. würde ich die Schaltung mit einem Schutzlack(z.B.:Plasik 70) gegen Feuchtigkeit versigeln.
AntwortenLöschenAlles gute Vorschläge - Danke.
LöschenWir sind mit dem Projekt noch in der Entwicklungsphase und da ist uns die Flexibilität des aufgesteckten Arduino noch sehr praktisch. Außerdem ist eines der Hauptziele des Projekts, daß der Autopilot einfach und mit Standartteilen zu reparieren sein soll. So eine Platine kann bald mal wer umstecken und auch einen FET auszutauschen bringen viele Segler im Notfall noch selber hin. Bei einen aufgelöteten SMD Chip schaut die Sache da schon ganz anders aus, da sind wahrscheinlich die meisten überfordert.
Die Versiegelung mit Plastik ist so eine Sache, einerseits bietet sie natürlich den besten möglichen Schutz, andererseits macht sie aber auch eine eventuelle Reparatur fast unmöglich. Ich weiß nicht, wie viele Vergossene Geräte (Balmar, B&G, ...) ich schon für tot erklären habe müssen, da eine Reparatur durch die Vergussmasse einfach nicht möglich war.
Mit welchem Schaltregler hast du den schon gute Erfahrungen für so eine Anwendung gemacht? Ich bin gerade dabei einen solchen mit einem LT1776 für das nächste Projekt zu planen, muß mir die Teile aber erst aus China kommen lassen - in Fiji bekommt man in dieser Beziehung ungefähr nichts.
Heinz
Moin
AntwortenLöschenspannendes Projekt. Ich habe ähnliches gemacht, basierend auf einem Raspberry, bzw jetzt Banana Pi mit opencpn, sodass ich die Seekarte direkt auf der Selbststeueranlage laufen lasse. Mich würde ein Erfahrungsaustausch interessieren. In diesem Jahr sind wir mit Colomba, einer C&C34 nach Göteborg gesegelt und die selbstgebastelte Anlage hat ziemlich gut funktioniert. Meine Probleme liegen derzeit in einer besseren Idee zum Ruderlagengeber, habe derzeit auch einen Poti, aber bin davon nicht begeistert, das andere Problem hattet ihr ja auch, die Kompensierung des Kompasses. Da bin ich nicht wirklich weiter gekommen, nehme den Kompaß derzeit praktisch als Drehsensor, maßgeblicher Kurs ist GPS, da das aber zu träge ist, halt den Drehsensor um schneller reagieren zu können. Ist nicht so optimal, deshalb würde mich eure Methodik interessieren.
Btw. habt ihr zufällig Kontakt zu einem Amerikaner, Joseph M. Dragovich? Joe tingelt seit Jahren im Südpazifik und ist wohl ab und an auf Fidji. Falls ja, bestellt ihm einen Gruß von mir.
Gruß
Peter
(colomba at peter-gottwald.de)
Hallo Peter
LöschenWir haben am Beginn des Projekts auch zuerst an einen Drehimpulsgeber gedacht, ist sicher das bessere Bauteil für diesen Fall. Dann haben wir uns aber doch für ein Potentiometer entschieden, unser Autopilot soll nämlich ganz bewusst simpel und reparaturfreundlich sein. Ein Potentiometer bekommt man fast überall auf der Welt aufgetrieben, aber wenn du dann in der Karibik, in der Südsee oder sonst irgendwo am Ende der Welt plötzlich einen speziellen Drehimpulsgeber brauchst, dann hast du ein Problem.
Deshalb verwenden wir normale Potentiometer guter Qualität und hatten bisher keine Probleme damit. Welche Sorgen hast du denn genau mit dem Ruderlagengeber?
Wegen dem Kompensieren des Kompasses - da werde ich mal Hannes fragen, der hat sich in dieses Thema eingearbeitet und kann dir da sicher besser helfen als ich.
Liebe Grüße
Heinz
Wegen dem Kompensieren des Kompasses - Hannes e-Mail ist pukuri@gmx.at.
Löschen