In opvolging van mijn voltooide NMEAtor-project bouw ik nu een waterdicht Wind-display. Het moet de huidige 25 jaar oude Robertson Wind-display vervangen.
Het belangrijkste doel is om de NMEA0183-gegevens van het bedrade netwerk in te lezen, de gegevens SOG, COG, AWA en AWS te interpreteren en dienovereenkomstig in de wind-display weer te geven. Omdat het beeldscherm deel uitmaakt van een doorgelust netwerk, moet het de gelezen gegevens opnieuw naar het bekabelde netwerk schrijven.
Voortgang
In de huidige versie worden NMEA-gegevens gelezen en worden COG, SOG, AWA en AWS weergegeven op de meter, waardoor ze in feite doen wat ze moeten doen.
De huidige softwareversie is v 1.0 en is klaar voor gebruik aan boord
De volgende stap
Hoewel de opstelling wordt getest met 5 minuten aan echte live gegevens die tijdens een zeiltocht zijn gesampled en worden afgespeeld via Cool Term, is de volgende stap om het display fysiek in het netwerk aan boord aan te sluiten en in het echt te testen.
Update 15-08-2020; Release 1.0
De pre-FAT was succesvol, dus de software is nu klaar voor gebruik in release 1.0.
Het waterdicht maken van het display in een doos is de laatste stap voor installatie aan boord.
Afronding
De dozen zitten erin en ik heb de doos van 120x70x20 mm gebruikt. Snij een frame uit als gespect op de Nextion-site (https://nextion.tech/datasheets/nx4832k035/) als 73,44 mm (L) × 48,96 mm (W). Vier nylon boutjes in het deksel gelijmd om de Nextion-print vast te houden, die ik vastschroef met nylon moertjes. Open celrubber wordt gebruikt om de schermfitting waterdicht te maken en als afdichting tussen het deksel en de doos. Boor een gat van 6 mm in de achterkant om de draden erdoor te leiden. Het idee is om de Arduino Nano in het midden aan de achterkant te monteren, zodat deze past in de ronde opening die al beschikbaar is in de console van het oude display.
De display is gepersonaliseerd met de naam en het logo van mijn jacht, gewoon omdat het kan.
Laatste stap
Monteer het aan boord.
Update 21-08-2020; Arduino oververhit
Na montage op de console raakt de Arduino Nano na een minuut of 2 oververhit en komt in een eindeloze bootloop terecht. Uitschakelen wanneer hij te heet is en weer aan als de temperatuur wat is gezakt. Dat is mijn theorie in ieder geval. Volgens de specs zou de Nano (een kloon) voltages op ingang tot 15V moeten kunnen verdragen. De 13V in mijn netwerk zijn kennelijk toch te veel… Daarnaast was er een probleem met de voltages van het signaal, die bij de console nog maar 1,38V zijn van de oorspronkelijk, met openklemspanning gemeten aan de databox, van 6,5V. In het originele netwerk blijft daar 4,5V van over bij de eerste display in de keten. Al metende ontdek ik dat de RS-422/485 naar TTL converter de spanning verder laat zakken naar 1,58V. Net genoeg om de 0 en de 1 te kunnen onderscheiden.
De RS-422/485 TTL converter is nu vervangen door een RS-232 naar TTL converter en de spanning is nu 3,58V. Het gevolg is dat er voldoende spanning op het datasignaal overblijft waardoor ook de originele klokken weer werken.
Om het frituren van de Nano te voorkomen heb ik weer een Buck step-down converter besteld om het spanningsniveau terug te regelen naar 7 V en die komt samen met de Nano in een apart kastje dit binnen in de console wordt gemonteerd.
Update 14-09-2020: Arduino loopt nog vast
De Arduino wordt niet meer gefrituurd, maar liep na een 15-20 minuten wel vast. De display was nog te bedienen maar de data kwam niet meer door. De Arduino is dus de verdachte hier. Een optimalisatie slag in de code leverde slechts een paar minuten extra op. Ergens loopt er dus geheugen vol (= aanname ).
Update 02-10-2020: Arduino vervangen door ESP-32
Ik heb besloten om eerst zwaarder geschut in te zetten door de de Arduino te vervangen door een ESP32-WROOM-32D unit. Een dual core processor op 240Mhz en 512Kb SRAM en 2MB flash, ipv 16Mhz, 2Kb SRAM en 32Kb flash, en 1/3 van de prijs van een Nano. Uiteraard verbruikt de ESP32 wat meer stroom, maar dat zorgt niet voor hoofdbrekens. Wel moet software hier en daar , mn voor de aansturing van de display, wat worden aangepast. Maar dat blijkt achteraf reuze mee te vallen. De controller is wel groter dan de Arduino, maar blijkt precies in het doosje bij de Buck converter te passen.
De nieuwe opstelling geeft in een 8 uur durende ’tafel-test’ geen krimp en is klaar om te worden ingebouwd voor de finale test.
Update 11-10-2020: ‘lakmoesproef’ positief
Na een meer dan 6 uur durende test aan boord, is deze als geslaagd beschouwd. Omdat het seizoen nu bijna is afgelopen, zal ik het inbouwen uitstellen tot het nieuwe seizoen. Ik zal dan ook gelijk een grotere 7″ display monteren. Dat geeft ook de mogelijkheid om meerdere pagina’s met nuttige info te kunnen tonen. Hierdoor kan naast de 2 windmeters ook de SD vervallen. De 7 inch display zal waarschijnlijk ook over de 2 gaten van de de windmeters vallen, zodat het voor het oog ook aantrekkelijk blijft.
Update 3-11-2020: de laatste loodjes
Intussen is de 7 inch display binnen en is de user-interface klaar. Ook de software om de display te voorzien van de benodigde data is klaar. Er moet alleen nog een nieuwe behuizing om de display komen. Die heb ik ik intussen ontworpen en moet alleen nog geprint worden.
De behuizing bestaat uit een base-box (zwart). Daaroverheen wordt een ‘deksel’ geschoven waarin de display wordt gemonteerd (geel). Daar overheen komt een zgn. sun-cover (wit) voor als de display niet in gebruik is.
De display zelf geeft naast de informatie over de schijnbare windhoek, koers, diepte en snelheden, ook van de laatste 15 minuten de snelheid en diepte en de maximaal behaalde snelheid.
De display wordt niet meer door de ESP-32 van spanning voorzien, maar direct door de Buck converter (die ook de ESP-32 voorziet) op 5,5V. Dit omdat de display meer vermogen (lees spanning) vraagt dan de 3,5 inch display.
Update 30 December 2020; klaar voor montage
De display zit nu gemonteerd in de behuizing. Een 3D geprinte case uit 3 delen, gemaakt van PETG. Daarbij zijn er nog een paar toevoegingen aan het scherm doorgevoerd, zoals de TWS en de HDG.
Update 9 april 2021; eindelijk operationeel
De display is nu gemonteerd op de cockpit van de boot als vervanging van de oude windmeters. Hiermee is in principe het project afgerond.
Update 9 mei 2021: Geinverteerd
Omdat de afleesbaarheid van een zwart scherm toch blijkt tegen te vallen in de praktijk heb ik besloten om de display te inverteren naar een witte achtergrond met zwarte cijfers en letters. Dat blijkt in de praktijk toch beter af te lezen.