Freitag, 26. Juli 2019

Windmesser Teil 4

Der Einbau des Windmessers war noch mit etwas Bastelei verbunden. An Stelle eines alten Kompasses (nicht mehr funktionstüchtig) sollte der Windmesser das Loch füllen. Leider war das Loch zu groß und ich musste noch eine Grundplatte anfertigen und befestigen, bevor die Anzeige hinein passte. Das Kabelziehen und die Kriecherei im Boot war schweißtreibend bei 28° Außentemperatur - der kühlende Ostwind erreichte mich im Boot leider nicht.
Nasa Clipper Tochterinstrument montiert
Die Windmesser Platine hat ihren Platz in der Instrumententafel gefunden. Das Innere der Instrumententafel offenbart eine der nächsten Baustellen. Der Kabelverhau funktioniert - aber wie lange noch? In mir reift die Idee einer Platine mit integrierten, selbstheilenden Sicherungen zur Stromverteilung und integrierten Digitalanzeigen für Spannung, Temperatur, Stromverbrauch, Pegelstände usw.
Windmesser Platine im "Elektrokasten"
Kommende Woche sollten die bestellten USB auf TTL-Wandler (RS422 für Arme 😎) kommen und damit sind dann Funkgerät und Pinnenpilot komplett an OpenPlotter angebunden.

Donnerstag, 25. Juli 2019

Windmesser Teil 3

Nach erneuter Unterbrechung konnte ich heute endlich am Boot weitermachen. Zwischenzeitlich war das bestellte Tochterinstrument (Nasa Clipper) für den Windmesser angekommen. Vor dem mechanischen Einbau habe ich es erst mal elektrisch angeschlossen und getestet, ob es sich mit OpenPlotter (kplex) ansteuern lässt.
Zunächst tat sich gar nichts, da der RS485-Adapter noch auf Eingaben vom Funkgerät (GPS) konfiguriert war. Nachdem das behoben war, wurde die Windgeschwindigkeit schon angezeigt, aber der Windwinkel funktionierte nur in einem Quadranten. Die Ursache war ein falscher Wertebereich im NMEA-MWV-Datensatz. Ich hatte -180° bis 180° geliefert, korrekt ist aber 0° bis 360°.
OpenPlotter Anzeige

OpenPlotter hatte das nicht gestört und die Werte intern umgerechnet. Das Nasa Clipper Tochtergerät nimmt es aber genau.
Nasa Clipper Anzeige
Jetzt bin ich zufrieden und morgen werde ich die Platine und das Tochtergerät mechanisch einbauen.

Freitag, 28. Juni 2019

Auferstehung des Betriebsstundenzählers

Heute war der Cockpitboden dran. Die Holzplatte ist gleichzeitig die Motorabdeckung. Der Boden besteht aus verleimten Brettern mit Teak-Furnier. Die Bretter haben sich aber teilweise voneinander gelöst, so dass Risse entstanden sind, durch die letztes Jahr Regenwasser in den Motorraum gelaufen ist. Wasser im Boot (auch wenn es nur Regenwasser ist) macht jeden Skipper nervös, deshalb wollte ich die Platte wieder dicht haben. Plan A war, damit zu einem Tischler zu fahren und die Bretter wieder verleimen zu lassen. Also schnell drei Tischleradressen in der Nähe aus dem Internet gefischt und los gings. Nummer eins existierte nicht mehr; Nummer zwei habe ich an der angegebenen Adresse nicht gefunden und telefonisch war der auch nicht erreichbar. Bei Nummer drei waren nur die Eltern da, die gar nicht so recht wussten, ob der Sohn (der tatsächlich Tischler sei) so etwas macht. Die Odyssee war vorgestern und danach war ich reif für Plan B. Aus dem Baumarkt habe ich eine Siebdruckplatte gleicher Größe besorgt und die Beschläge von der alten auf die neue Platte montiert. Zusätzlich noch die Schnittkanten mit Bootslack versiegelt und schon war der neue Cockpitboden fertig. Nicht schön, aber als Übergang wird es gehen. Vielleicht finde ich ja noch einen Tischler, der mir die alte Platte richtet.

Nach Einbau des Cockpitbodens fiel mein Blick auf den Drehzahlmesser mit dem nicht funktionierenden Betriebsstundenzähler. Damit hatte ich das Boot schon übernommen.

Rückseite Bedienplatte
Die Bedienplatte für den Motor war schnell abgeschraubt und der Drehzahlmesser ließ sich leicht ausbauen.
Ausgebauter Drehzahlmesser mit defektem Betriebsstundenzähler
Auf Youtube gibt es einige Videos zu dem Thema mit dem nicht funktionierenden LCD-Display des Betriebsstundenzählers. Offensichtlich tritt das Problem häufiger auf. Auf dem Video ist schön zu sehen, wie man den Drehzahlmesser zerlegt und wieder zusammenbaut. Eine Bezugsquelle für das (veraltete) LCD-Display konnte ich auch auftreiben. Allerdings finde ich 20 £ für ein kleines Display reichlich happig. Deshalb habe ich mich an die alte Bügel-Technik erinnert, mit der ich schon alte Telefone reanimiert habe.
Ausgebautes Display mit Kontaktfolie
Meist ist das Problem die Klebestelle zwischen Display und Kontaktfolie (roter Kreis). Dort habe ich mit einem Lötkolben (200° C) die Folie etwas erhitzt, damit der Kleber schmilzt und die Kontakte wieder aufliegen. Das funktioniert häufig, allerdings kehrt das Kontaktproblem nach einiger Zeit wieder. Besser wäre langfristig ein neues Display.
Aufdruck auf dem Display
Deshalb habe ich mir die Bezeichnung des Displays notiert - so etwas scheint aber nicht mehr lieferbar zu sein (außer durch die o.g. Bezugsadresse).
Geht doch ☺
Nach dem Wiedereinbau ging das Display wieder und ich kenne jetzt wenigstens die Betriebsstunden meines Motors. Der Betriebsstundenzähler läuft ja unabhängig vom Display weiter. Ob der Wert wirklich die tatsächlichen Betriebsstunden meines Motors wieder gibt ist nicht sicher - aber ich glaube mal dran. Ich bin gespannt, wie lange die provisorische Reparatur hält.
Und eingebaut

Donnerstag, 27. Juni 2019

Weiter gehts mit der Saisonvorbereitung

Die Saisonvorbereitung der Whisky wurde durch einen Trauerfall in der Familie unterbrochen. Doch jetzt geht es mit Verspätung weiter. Gestern hatte ich Hart-Antifouling in Barth gekauft und heute konnte ich mich ans Werk machen.
Neue Sohle für die Yacht

Die Opferanode muss frei bleiben
Bei gut 20° in der Scheune war die Verarbeitstemperatur optimal. Allerdings liegt ein Kielschwerter doch recht niedrig auf dem Trailer und das artet in eine Kriecherei unter dem Boot aus. Nach Studium der Warnhinweise auf dem Gebinde (Antifouling ist ja ein Biozid) war ich zusätzlich bemüht, etwas Abstand zu halten. Insgesamt war es ein anspruchsvolles Fitness-Programm 😎.

Bei der Arbeit fiel mir wieder ein, dass die Saildrive-Rumpfmanschette runterhängt und wieder am Rumpf verklebt werden muss. Die einzige Funktion dieser Manschette ist, dass das Boot von unten strömungsoptimiert ist, die Dichtigkeit ist nicht betroffen. Zunächst muss ich aber recherchieren, welchen Kleber ich nehmen kann.

Freitag, 12. April 2019

Windmesser Teil 2

Die Bauteile kamen aus Deutschland und waren recht flott da, auf die Platine (aus China) musste ich bis heute warten. Nachdem der Postbote mittags geklingelt hatte und das Päckchen brachte, war die Nachmittagsbeschäftigung klar 😀.
Bestückte Platine

Platine Rückseite
Das Warten hat sich gelohnt. Die Platine ist professionell gefertigt - das hätte ich in Heimarbeit nie so gut hinbekommen. Jetzt kommt Spannung auf, ob Fehler im Entwurf sind, wird sich gleich zeigen.

Provisorischer Anschluss an den Windmess-Geber
Den Geber habe ich provisorisch angeschlossen und die Platine dann mit der Arduino-IDE verbunden.
NMEA0183 Datensätze auf der Entwicklungsumgebung

Danach kam die große Erleichterung. So weit funktioniert alles wie es soll, die NMEA0183-WIMWV Datensätze kommen mit sinnvollen Daten an. Zwischenzeitlich hatte ich ja die OpenPlotter-Software auf dem Raspberry Pi aktualisiert. Jetzt möchte ich noch sehen, ob die Daten bei OpenPlotter ankommen.
Auch hier sieht es gut aus. Nach dem Konfigurieren des neuen seriellen Gerätes liefert Signal-K die gewünschten Daten in der grafischen Anzeige. Die nächsten Arbeitsschritte werden am Boot erfolgen. Dort muss die Platine noch einen geeigneten Platz finden und angeschlossen werden. Dann wird sich in der Praxis zeigen, ob die Daten brauchbar sind. Ich vermute, dass noch eine softwareseitige Dämpfung in der Richtungsanzeige eingebaut werden muss und die gemessene Windgeschwindigkeit muss noch irgendwie kalibriert werden. Da fehlt mir noch der zündende Funke. Man könnte den Geber bei wenig Wind aus dem Autofenster halten und die Fahrtgeschwindigkeit mit der Windgeschwindigkeit gleichsetzen.

Freitag, 5. April 2019

Touch Display mit Raspbian Stretch

Nach den positiven Erfahrungen mit OpenPlotter in der letzten Saison wollte ich die gesamte Plattform aktualisieren. Das aktuelle OpenPlotter-Image basiert auf Rasbpian Stretch - und damit fingen die Probleme an. Die rechte Maustaste ließ sich nicht mehr simulieren und mit Touch-Gesten war das System fast nicht mehr bedienbar. Die Treiberinstallation für den Monitor bezieht sich auf ältere Distributionen und funktioniert nicht mehr. Nach dem Durchlauf des Installationsscriptes war der Raspi mitsamt X-Window-System in einer Boot-Schleife. Deshalb habe ich die Installation in Einzelschritten vorgenommen und angepasst.

Zunächst sollte das System aktualisiert werden und anschließend werden die Pakete evdev (erweiterte Maus- und Tastaturunterstützung) und ein Kalibrierungswerkzeug installiert.

sudo apt-get update && sudo apt-get -y upgrade
sudo apt-get install -y xserver-xorg-input-evdev xinput-calibrator

Danach sollte die Datei config.txt im boot-Verzeichnis angepasst werden. Das kann vorab schon direkt nach dem Kopieren eines Images auf dem eingebundenen Image erfolgen oder später auf dem laufenden raspbian. Ggf. ist das Display bei unmodifizierter Datei noch nicht nutzbar.
sudo nano /boot/config.txt
Ergänzung/Anpassung in config.txt.
# 10.1“ LCD Display
hdmi_group=2
hdmi_mode=87
hdmi_cvt 1024 600 60 6 0 0 0
dtoverlay=ads7846,cs=1,penirq=25,penirq_pull=2,speed=50000,keep_vref_on=0,swapxy=0,pmax=255,xohms=150,xmin=200,xmax=3900,ymin=200,ymax=3900
Nach dem Editieren den Editor nano mit Strg-O, Strg-X schließen. Falls der Touchscreen noch nicht nutzbar war, sollte das System jetzt neu gestartet werden:
sudo reboot
Im Hauptmenü sollte jetzt „Einstellungen > Touchscreen Kalibrieren“ verfügbar sein.
Toucscreen kalibrieren

Zum Kalibrieren werden vier Punkte dargestellt, die nacheinander per Touch berührt werden müssen. Danach werden die Kalibrierungsdaten dargestellt. Der Teil zwischen „Section“ und „EndSection“ wird in die Zwischenablage kopiert.
Kalibrierungsdaten kopieren

Falls noch nicht vorhanden, sollte das Konfigurationsverzeichnis angelegt werden.
sudo mkdir -p /usr/share/X11/xorg.conf.d
Jetzt wird die Konfigurationsdatei erstellt (ggf. geöffnet falls schon vorhanden).
sudo nano /usr/share/X11/xorg.conf.d/99-calibration.conf
Der erste Teil des Inhalts (bis zur Leerzeile) wird aus der Zwischenablage eingefügt. Der zweite Teil sollte angehängt werden, um die rechte Maustaste simulieren zu können.
Section "InputClass"
        Identifier      "calibration"
        MatchProduct    "waveshare HDMI/VGA/AV RTD2660H Viedo Board"
        Option  "MinX"  "43"
        Option  "MaxX"  "65492"
        Option  "MinY"  "73"
        Option  "MaxY"  "65462"
        Option  "SwapXY"        "0" # unless it was already set to 1
        Option  "InvertX"       "0"  # unless it was already set
        Option  "InvertY"       "0"  # unless it was already set

        Driver  "evdev"
        Option  "EmulateThirdButton" "1"
        Option  "EmulateThirdButtonTimeout" "1000"
        Option  "EmulateThirdButtonMoveThreshold" "300"
EndSection
Nach dem Editieren den Editor nano mit Strg-O, Strg-X schließen. Nach einem Reboot sollte die Touch-Maus besser funktionieren und auch die rechte Maustaste simulieren (Finger für 1 Sekunde auf dem Display lassen).
sudo reboot
Das Problem hat mich viel Zeit gekostet und ich hoffe, die Beschreibung hilft anderen diese Zeit einzusparen.

Dienstag, 2. April 2019

Windmesser Teil 1

Der Winter war lang und die Segelsaison rückt in greifbare Nähe 😅. Auf der langen ToDo-Liste vom Herbst steht auch die Windmessanlage. Wie sich herausgestellt hat, ist das Display der Anzeige defekt und die Elektronik im Display komplett vergossen. Die Anlage (VDO CompactWind) gibt es schon lange nicht mehr und Ersatzteile sind nicht verfügbar. Also habe ich mich entschlossen, das Anzeigeinstrument nicht weiter zu verwenden.

Meine Hoffnung lag auf dem Geber (VDO A2C59501983), der an der Mastspitze befestigt ist. Den habe ich in aller Ruhe durchgemessen auch aus dem alten Handbuch noch Informationen gezogen.
Geber VDO Windmessanlage
Erfreulicherweise ist der noch intakt und liefert am wasserdichten Rundstecker folgende Anschlüsse:
  1. 10 V
  2. 8 V
  3. cos
  4. Minus / GND
  5. sin
  6. Windgeschwindigkeit als Rechteck-Impuls
Den Innenaufbau kann ich nur erahnen, da es keinen Grund gab, den Geber zu öffnen. Ich vermute für die Richtungsanzeige zwei Hall-Sensoren, die im 90°-Winkel zueinander stehen. Die Versorgung erfolgt über die 8 V und bei cos / sin kommen die analogen Winkelwerte an. Der Rechteck-Impuls-Ausgang ist ein offener Kollektor, der per Pullup-Widerstand auf einen Sollpegel gehoben werden kann. Da ich noch zwei Arduino-Nano Platinen herumliegen hatte, war schnell die Idee geboren, die Signale auszuwerten.
Arduino Nano auf dem Breadboard
Mit einigen Zeilen C-Code für den ATmega328, einigen Widerständen, Steckbrücken und zwei Labornetzteilen war es schon getan. Auf der Arduino-Nano Platine gibt es Analogeingänge mit 10bit-A/D-Wandlern, die die cos / sin Signale ausreichend genau digitalisieren. Über einen Interrupt-Eingang konnte die Drehzahl (Rechteck-Impuls) ausgewertet werden. Durch den Zusammenhang
sin α cos α =tan α
ergibt sich aus dem Verhältnis der Werte von Pin 5 zu Pin 3 der Tangens des Windwinkels. Durch die Verhältnisbildung wird auch gleich eine Unabhängigkeit von der Versorgungsspannung erreicht, da davon auszugehen ist, dass Veränderungen sich auf beide Werte beziehen. Bei der Berechnung der Windgeschwindigkeit kommt die Schnelllaufzahl des Kugelschalenanemometers ins Spiel. Die liegt lt. Wikipedia zwischen 0,3 und 0,4. D.h. die Windgeschwindigkeit entspricht der Winkelgeschwindigkeit der Schalen (Mittelpunkt der Schale). Da mein Geber drei Impulse pro Umdrehung liefert, entspricht die Windgeschwindigkeit dann annähernd der Winkelgeschwindigkeit.

Soweit die Theorie. Ich habe jetzt eine Platine mit EAGLE entworfen und die Bauteile bestellt.