Freitag, 2. April 2021

Peripherieprobleme mit dem neuen Kartenplotter

Da hatte ich hier so lapidar davon gesprochen, dass nur noch die Peripherie angeschlossen werden muss. Nun, dieser Beitrag würde nicht existieren wenn es einfach so funktionieren würde. Der alte Plotter läuft auf der Basis eines Raspberry Pi 3B+ und der neue Plotter verwendet das Compute-Modul CM3. Beide Prozessoren sind vergleichbar, das Compute-Modul ist nur etwas langsamer getaktet. Also hatte ich keine Probleme erwartet.

Ein Großteil der Peripherie hängt an einem USB-Hub (CSL - USB Hub 3.0, 7 Ports) mit eigener 12V / 3A Spannungsversorgung, damit die Spannungsversorgung des Raspberry Pi nicht überlastet wird. Extern angeschlossen sind folgende USB-Geräte:

  • Tastatur mit Trackball
  • Serielle Schnittstelle(NMEA0183) für Funkgerät
  • Serielle Schnittstelle(NMEA0183) für Pinnenpilot
  • Serielle Schnittstelle(NMEA0183) für Tochteranzeige Windmesser
  • WLAN Adapter mit externem Antennenanschluss (Dootoper WiFi Adapter, 802.11 ac/n/g/b/a)
  • Windmesser (Arduino Nano)
  • DVB-T Stick, ein SDR zum Empfang von AIS

Also habe ich einfach den Hub an eine USB-Buchse des neuen Plotters angeschlossen und dachte, das war's. Leider Fehlanzeige. Die Tastatur wurde gar nicht erkannt (power cycle am Port) und beim DVB-T Stick und dem WLAN-Adapter blinkten die LEDs am Hub (leider schweigt die Hub-Beschreibung über die Bedeutung des Blinkens). Der WLAN-Adapter funktioniert und der DVB-T Stick funktioniert nur teilweise. Im neuen Plotter hatte ich am internen USB-Port noch einen Bluetooth-Stick (LogiLink BT0015) angeschlossen, über den ich mittels Bluetooth-Tastatur den Plotter wenigstens bedienen konnte. Der Plotter lief relativ instabil und "fror" zwischendurch einfach ein (war nicht bedienbar). CPU-Überlast bzw. -Überhitzung konnte ich ausschließen und ohne DVB-T Stick wurde es deutlich besser. Ich vermute daher den Flaschenhals auf dem USB-Bus, vielleicht mag der interne USB-Hub des Plotters die gesamte Peripherie nicht. Jetzt habe ich mich erst einmal entschlossen, den alten Plotter parallel weiter zu betreiben.

Der neue Plotter mit hellem Display ist vom Cockpit aus einsehbar und erhält erst einmal eine Minimalausstattung (WLAN-Stick, GPS-Maus, oeSENC-Dongle). Mit dem oeSENC-Dongle lassen sich die lizenzierten Karten anzeigen. Eigentlich sollte der Plotter in der Karte auch AIS-Daten anderer Schiffe anzeigen und über gesetzte Wegpunkte den Pinnenpiloten ansteuern. Die Winddaten wären auch nett gewesen, sind aber nicht unbedingt notwendig.

Auf beiden Plottern läuft eine Signal K Instanz von denen sich die Kartenanzeige (OpenCPN) jeweils die Daten holt. Warum also nicht beide Plotter vernetzen und auf den entfernten Signal K Server des alten Plotters auch zugreifen? Der alte Plotter diente mir in der Vergangenheit bereits als Access-Point (interner WLAN-Adapter des Pi), der war also bereits eingerichtet und der neue Plotter benötigte nur noch das Kennwort für das Bord-WLAN.

Nun hatte ich aber ein Zugriffsproblem. Beide Plotter sind im Boot an die Peripherie angeschlossen und können für Tests nicht einfach mit ins warme Haus genommen werden. Die Temperaturen in der Scheune und im Boot liegen aber derzeit im einstelligen Bereich, da ist konzentriertes Arbeiten schwierig. Die Dieselheizung läuft zwar wieder, der Geräuschpegel stört mich aber auf Dauer. Deshalb greife ich via VNC auf die Plotter zu und kann im warmen Büro am großen Bildschirm arbeiten. An den neuen Plotter (hinter dem Access-Point) komme ich von außerhalb des alten Plotters nicht heran, was auch so gewollt ist. In einem Hafen-WLAN sollte auch niemand auf meine lokalen Geräte zugreifen dürfen. Hier benötige ich aber einen Zugang und deshalb muss ich noch die Routing-Tabelle des alten Plotters erweitern.

sudo iptables -t nat -A PREROUTING -p tcp -i wlan0 \
    --dport 55900 -j DNAT --to-destination 10.10.10.102:5900
sudo iptables -t nat -A POSTROUTING -p tcp \
    --dport 5900 -j MASQUERADE

Damit wird der VNC-Port 5900 des neuen Plotters (IP-Adr. 10.10.10.102) auf dem Router über den Port 55900 abgebildet und ich kann die weitere Detailkonfiguration in Ruhe aus dem Büro vornehmen.

Neuer Plotter via VNC und Winddaten vom alten Plotter

So, das war heute viel Text ohne Bilder aber ich bin zufrieden mit dieser Lösung. Der Nachteil ist ein erhöhter Stromverbrauch durch zwei Plotter. Das Konzept mit einem Server für die Peripherie gefällt mir aber und wenn es trägt, wird aus dem Server mittelfristig ein Raspberry Pi ohne Bildschirm.

Mittwoch, 31. März 2021

Seewasserpumpe Teil 2

Als ich beim Motor-Service die Pumpe vorzeigte kam gleich ein Kommentar vom Chef: Die ist komplett verschlissen. Mein erster Gedanke war dass der wohl Geld machen will. Dann zeigte er mir aber die Rillen, die die Impeller im Laufe der Jahre ins Metall gegraben haben und der Gedanke, dass die reparierte Pumpe vielleicht nicht lange durchhält in Verbindung mit dem Aufwand beim Aus-/Einbau haben mich dann schnell umgestimmt. Für gute 400 € habe ich eine neue Pumpe (Nachbau, das Original würde das Doppelte kosten) erstanden und das Stirnrad wurde auch noch umgebaut. Für den Konus hätte ich wahrscheinlich einen Abzieher benötigt, den ich nicht habe.

Alte Pumpe mit Riefen

Neue Pumpe mit montiertem Stirnrad

Heute ging ich ausgeruht ans Werk. Das schwierigste war die Schrauben erst einmal in das Gewinde der Pumpe einzufädeln, so dass das Gewinde fasst und nicht verkantet ist. Der Rest war dann wieder ein Geduldsspiel. Teilweise konnte ich den Ringratschenschlüssel einsetzen und für die untere Schraube habe ich mir einen alten Schraubenschlüssel abgesägt, so dass ich größere Umdrehungen schaffe und nicht so oft umsetzen muss. Zusammen mit der Ausbau-Erfahrung konnte ich die Schrauberei beim Einbau auf drei Stunden verkürzen. Knie und Rücken haben sich trotzdem beschwert 😒.

Die beiden Schrauben müssen noch komplett rein

Auf dem folgenden Bild kann man die Gewindespitzen der beiden Schrauben sehen, die von hinten blind durch geschraubt werden müssen.

Fertig, das Feierabendbier ist verdient

Zum Schluss konnte ich die Motorstütze wieder montieren und den Motor absenken bzw. meine Stützen entfernen. Dann kamen noch die Schläuche wieder auf die Stutzen und ich hoffe, dass dann im Wasser alles funktioniert. Ein Trockentest ist eher lebensverkürzend für den neuen Impeller 😉.

Noch mal möchte ich diese Arbeit nicht machen. Da die alte Pumpe genau so wie der Motor lackiert ist, nehme ich an dass die noch original ist. Der Motor dürfte aus den 1990er Jahren sein und wenn die neue Pumpe genau so lange hält wie die alte, reicht mir das 😎.



Dienstag, 30. März 2021

Einbau neuer Kartenplotter

Schon zur letzten Saison lag ein neuer Kartenplotter auf Basis des Raspberry CM3-Moduls und eines 10"-Bildschirms bereit. Die Hardware hat ein Segel-Kollege aus dem Neptun-Forum entwickelt und ich habe ein Gerät erworben. Leider gab es letzten Sommer Software-Probleme mit Raspbian-Buster und dem CM3-Modul, deshalb habe ich meinen alten Plotter auf Basis des RPI 3B+ weiter genutzt. Der neue Plotter hat ein tageslichttaugliches Display und ich wollte ihn auch im Cockpit nutzen. Deshalb hatte ich einige Überlegungen angestellt und Ideen zu einer Schwenkhalterung angestellt, so dass der Plotter bei Bedarf im Niedergang positioniert werden kann und Abends auch im Salon. Vor kurzem fiel mir eine TV Wandhalterung von Schwaiger auf. Die war in der kleinsten Größe (13-29 Zoll) preisgünstig zu haben und für den Preis hätte ich die nicht selbst bauen können. Einen Versuch war es jedenfalls wert.

Befestigung direkt hinter dem Schott

Der Plotter hatte keine VESA-genormten Befestigungslöcher doch die waren schnell gebohrt.

Rückseite Plotter mit Bildschirm-Halterung

Die Halterung hat eine Adapterplatte mit V-förmigem Schwalbenschwanz, die einfach in die Halterung eingesetzt werden kann und bei Bedarf mit einer Schraube gesichert wird.

Plotter in der Halterung von oben

Das funktioniert genau so wie ich mir das vorgestellt hatte 😀.

Plotter ins Cockpit geschwenkt

Plotter in den Salon geschwenkt

Bei Bedarf kann der Plotter einfach aus der Halterung gehoben werden, durch sein Eigengewicht liegt er sicher in der Halterung. Jetzt nur noch schnell verkabeln und ausprobieren.

Plotter eingeschaltet im Salon

Plotter eingeschaltet im Cockpit
Jetzt muss nur noch die Peripherie angeschlossen werden. Ich bin schon gespannt auf den ersten Törn mit dem neuen Plotter. Bisher musste ich für einen Blick auf den Plotter immer in den Salon, da der alte Plotter nicht tageslichttauglich ist.







Donnerstag, 25. März 2021

Seewasserpumpe Teil 1

Endlich bin ich wieder in Vorpommern-Rügen und kann am Boot die lange Liste der Wartungsarbeiten in Angriff nehmen. Als erstes und wichtigstes Thema kommt die Seewasserpumpe dran. Die wurde gegen Ende letzter Saison zunehmend inkontinent. Vermutlich hat sie zu viel Sand pumpen müssen während meiner Befreiungsversuche als ich bei meiner Boddentour letzten August auf Grund lag.

Auf den Volvo-Penta-Explosionszeichnungen sah das recht entspannt aus. Vier Schrauben lösen und dann die Pumpe vom Motorgehäuse abziehen. Für überschaubares Geld gibt es schon Reparatursätze (Dichtringe, Lager), so dass die Reparatur einigermaßen zügig von statten gehen sollte. Aber meistens kommt es anders...

Seewasserpumpe ohne Deckel und Schläuche

Die ersten beiden Schrauben (linke Seite der Pumpe, hinten mit Mutter) ließen sich relativ schnell lösen und entfernen. Auf der rechten Seite waren nur Gewinde zu sehen und die Schrauben sind von hinten eingeschraubt. Dort kommt man allerdings kaum hin.

Batteriekabel und Motorlager sind im Weg

Also erst einmal das Batteriekabel abschrauben und überlegen, wie der Motor von der Stütze befreit werden kann. Von unten kommen Dachlatten drunter, so dass der Motor auf der Ölwanne liegen kann.

Motor abgestützt

Von oben dient eine Dachlatte als Träger und mit einer Schraubzwinge, die in eine Motoröse eingehängt werden kann, lässt sich der Motor jetzt zusätzlich bequem anheben.

Hebevorrichtung

Jetzt komme ich an die beiden Schrauben wenigstens etwas besser heran. Trotzdem müssen die blind gelöst werden. Ein kurzer 12er Maulschlüssel ermöglicht weniger als 60 Grad Drehung, so dass der Maulschlüssel laufend gewendet werden muss. Meinen Ratschenringschlüssel kann ich leider nicht einsetzen, da die räumlichen Verhältnisse zu schlecht sind.

Blick von der Seite

Blick von unten

Das Ziel rückt näher

Auf den Bildern sieht es recht übersichtlich aus, allerdings kann ich selbst diese Blickpositionen wg. der räumlichen Enge im Motorraum nicht einnehmen, so dass ich zur Orientierung auch nur die Bilder habe. Die Aktion mit den beiden letzten Schrauben hat ca. 4 - 5 Stunden gedauert, Knie und Rücken werden sich noch länger daran erinnern. Die Aussicht auf den Wiedereinbau wirkt nicht erhebend auf mein Gemüt.

Die Alternative wäre den Motor auszubauen und die Motorhalterung komplett vom Motorrumpf abzuschrauben, das erscheint mir aber noch aufwändiger und die techn. Möglichkeiten dazu fehlen mir auch. Morgen fahre ich dann zum Motor-Service und hole mir die Ersatzteile.









Sonntag, 6. Dezember 2020

Statistik 2020

Die Saison war mal wieder kürzer als erhofft - diesmal war die Corona-Pandemie schuld. Macht nichts, nach der Saison ist vor der Saison ☺.

Strecke Datum Start Dauer (h) Distanz (nm) Geschw. Durchschn. (kn) Geschw. Max (kn)
Barth-Grabow-Barth 12.08.20 13:32 03:32 13,2 3,7 4,5
Barth-Wiek 14.08.20 07:04 04:52 15,2 3,1 4,6
Wiek-Wustrow 15.08.20 11:28 04:05 14,0 3,4 4,9
Wustrow-Saal 16.08.20 11:02 01:37 4,5 2,8 3,8
Saal-Neuendorf-Born 17.08.20 11:21 02:55 10,3 3,5 4,7
Born-Wiek 18.08.20 11:53 01:49 5,6 3,1 3,9
Wiek-Barth 19.08.20 08:34 03:40 9,7 2,6 4,7
Barth-Barhöft 14.09.20 09:57 04:31 14,7 3,2 4,4
Barhöft-Vitte 15.09.20 10:04 05:49 19,8 3,4 4,4
Vitte-Lohme 16.09.20 09:43 08:08 27,4 3,4 4,4
Lohme-Sassnitz 18.09.20 10:16 04:30 9,4 2,1 3,0
Sassnitz-Seedorf 19.09.20 10:36 06:02 25,1 4,2 5,7
Seedorf-Lauterbach 20.09.20 10:14 04:35 12,7 2,8 3,7
Lauterbach-Wiek Greifswald 21.09.20 10:23 04:48 15,7 3,3 4,6
Wiek Greifswald-Gustow 22.09.20 10:04 05:22 17,8 3,3 4,8
Gustow-Barth 23.09.20 10:47 07:16 26,9 3,7 4,6
Summe/Schnitt
73:40 241,9 3,2 4,4

Trotzdem sind einige Meilen zusammen gekommen und hoffentlich wird es im kommenden Jahr etwas mehr. Ein neues Großsegel ist bestellt und ich hoffe, dass sich das in den Durchschnittsgeschwindigkeiten niederschlägt 👍.

Mittwoch, 25. November 2020

Fernbedienung für den Pinnenpilot - Teil 2

Ursprünglich wollte ich die Fernbedienung für den Pinnenpiloten bei mir am Boot testen, aber einer meiner Abnehmer aus dem Neptun-Forum konnte mir schon nach wenigen Tagen zurückmelden, dass die Platine an seinem Pinnenpiloten nicht funktioniert. Das hat uns beiden keine Ruhe gelassen und mein Forenkollege hat mir seinen Pinnenpiloten mitsamt Netzteil per DHL geschickt, so dass ich mir das Problem direkt ansehen konnte.

Die gesendeten Daten kamen auf dem Seatalk-Bus wie gewünscht an, allerdings funktionierte der Rückweg bis zum seriellen Eingang beim Arduino nicht. Der Arbeitspunkt der Eingangsschaltung (Pegelwandler) lag zu hoch, so dass am seriellen Eingang permanent ein hoher Pegel lag. Durch Austausch eines Widerstands im Eingangsspannungsteiler (27 ㏀ durch 2,7 ㏀ ersetzt) konnte der passende Arbeitspunkt hergestellt werden und alles funktioniert jetzt wie gewünscht.

Seitdem ist auch der "Send Error" aus dem Display verschwunden. Das hatte nichts mit einer offenen Leitung zu tun.

Dann werde ich hoffentlich bei meinem Boot keine Überraschung erleben 😎. Spannend wird es dann wieder, wenn ich mein Echolot auslesen will. Dazu dann später mehr.

Samstag, 14. November 2020

Fernbedienung für den Pinnenpilot - Teil 1

Herbst- und Winterzeit ist Bastelzeit 😎. In diesem Sinn habe ich mich die letzten Tage mit einer Fernbedienung für den Pinnenpiloten beschäftigt. Dafür gibt es schon eine schöne Anleitung bei Github. Also alles ganz einfach - dachte ich. Zunächst wurden die Teile und die Platinen bestellt. Zwischenzeitlich konnte ich mich mit den Programmen für den Arduino Mikrocontroller beschäftigen. Verwendet wird ein lizenzierter Nachbau des Arduino Leonardo (Sparkfun ProMicro). Da die Platinen mit einer Mindestanzahl von 3 bestellt werden mussten, habe ich mich entschieden gleich drei Fernsteuerungen zu bauen. Abnehmer aus dem Neptun-Segel-Forum haben sich schon gefunden.

Die Fernbedienung besteht aus einem handelsüblichen Handsender (433 MHz), der angelernt werden kann (z.B. für Garagentore) und einer Platine mit einem 433 MHz Empfänger, dem ProMicro und einem Pegelwandler (auf 12 V) für das Seatalk1 Protokoll. Seatalk1 ist ein proprietäres Datenprotokoll von Raymarine, das aber weitgehend entschlüsselt ist. Mein Pinnenpilot (Raymarine ST1000 Plus) hat einen Seatalk1-Eingang über den er fernsteuerbar ist.

Eine Besonderheit von Seatalk1 ist die Verwendung von 9 Bit Wörtern. Der ProMicro hat aber nur Unterstützung (UART) für 8 Bit Worte, die bei Mikrocontrollern üblich sind. Findige Entwickler haben eine Kernbibliothek (HardwareSerial) des Arduino modifiziert, so dass 9 Bit Worte gesendet und empfangen werden. Die Anpassung der Kernbibliothek war die erste Hürde auf meinem Linux-System. Einfaches Patchen mit Systemrechten ist zwar möglich, nach dem nächsten Update durch die Paketverwaltung (Snap) wären die Änderungen aber wieder weg. Für Linux habe ich bislang keine dauerhafte Lösung gefunden - ein Ablegen des Patches in der benutzerspezifischen Konfiguration (~/snap/arduino/current/.arduino15/packages/SparkFun/hardware/avr/1.1.13/cores/arduino) hat nicht funktioniert. Deshalb musste ich auf Windows ausweichen. Dort konnte ich die Core-Dateien erfolgreich ersetzen und nach einem Neustart der IDE wurden sie verwendet. Nachdem weitere Bibliotheken nachgeladen waren, konnte ich die Software erfolgreich übersetzen.

Update vom 09.04.2021: Die Anpassung der Kernbibliothek unter Linux funktioniert, wenn man den kompletten Hardware-Ordner (/snap/arduino/current/Arduino/hardware) von root in das lokale Snap-Verzeichnis kopiert und dort die 3 HardwareSerial-Dateien ersetzt.

Als erstes kamen die Handsender und zum Zeitvertreib konnte ich diese mit einem der Programme aus dem Github-Repository (_433_Programming_New) und einem 433 MHz Sender schon mal mit individuellen Codes versehen.

Nach und nach kamen auch die Bauteile und gestern die drei Platinen. Das Bestücken ging recht zügig bis ich festgestellt habe, dass die ProMicro-Platine nicht passt. Die gelieferten ProMicros sind breiter und länger als auf der Platine vorgesehen. Sie sind zwei Reihen breiter als auf dem Raster vorgesehen und auch etwas länger. Glücklicherweise wird auf einer (Außen-)Seite nur ein Pin verwendet, deshalb konnte ich die Platine einseitig wie vorgesehen einlöten und auf der anderen Seite den einen Pin mit einem Draht verbinden. Durch die vergrößerte Länge stößt der MicroPro an den 433 MHz Empfänger und dieser muss etwas schräg eingelötet werden.


Nicht schön, aber funktioniert

Ein weiteres Manko der gelieferten Platinen sind fehlende Befestigungslöcher. Die Platinen müssen im Gehäuse eingeklemmt oder festgeklebt werden. Zunächst muss die Fernbedienung aber erst einmal auf dem Boot getestet werden. In Bayern, fernab vom Boot konnte ich nur feststellen, dass die Signale des Handsenders ankommen und vom ProMicro wieder ausgegeben werden.


Da an der Seatalk1-Leitung momentan nichts angeschlossen ist, wird im Leerlauf ein "Send Error" angezeigt. 

Falls die Fernbedienung auf dem Boot funktioniert, werde ich überlegen ob ich nicht eine neue Platine entwerfe, die etwas größer ist, zum vergrößerten ProMicro passt und auch Befestigungslöcher hat. Das vergrößerte ProMicro-Board hat auch einen Vorteil: Die Mini-USB-Buchse, die beim Vorgänger für Kritik sorgte (brach leicht ab) ist jetzt an vier statt an zwei Laschen angelötet.

Da die Platine nicht nur auf dem Seatalk1-Bus schreiben, sondern auch lesen kann, verfolge ich noch ein weiteres Ziel: Das Einlesen von Daten von meinem Tiefenmesser und der Logge (ein Raymarine Bidata ST30) und Umwandlung in NMEA0183. Damit könnten dann die Wassertiefen und die Fahrt durchs Wasser (STW) in den Plotter eingespeist werden. Sobald ich wieder am Boot in MeckPomm bin, geht es mit dem Projekt weiter 😀.