NMEA 2000 uitgelegd: het netwerk waar onze boot op praat

In bijna elk artikel op deze site valt de term NMEA 2000 — het netwerk waarop de motor, het scherm, de GPS en de Raspberry Pi met elkaar praten. Eén keer goed uitgelegd: wat het is, hoe het in elkaar zit, en waar je op moet letten.
NMEA 2000 T-connector Network Terminator
NMEA 2000 - de data backbone van onze schuit

Wie een oudere boot openschroeft, ziet hoe het vroeger ging: elke meter op je dashboard had zijn eigen kabel naar zijn eigen sensor. De toerenteller naar de motor, de dieptemeter naar de transducer, de log naar het schoepenrad. Elk nieuw instrument betekende een nieuwe kabel door de boot trekken — en elk merk had zijn eigen standaarden.

In een moderne boot loopt de communicatie via één netwerk, en alles praat daarop mee. Dat netwerk heet NMEA 2000.

Wat NMEA 2000 is

NMEA 2000 is een open standaard van de National Marine Electronics Association, gebouwd op CAN, dezelfde bustechniek die in elke auto zit. Preciezer: het is familie van het J1939-protocol uit de vrachtwagenwereld. De bus draait op 250 kbit/s over een getwist aderpaar (CAN-H en CAN-L, van High en Low): een differentieel signaal, en dus goed bestand tegen storingen — relevant op een elektrisch aangedreven boot waar de buskabel soms vlak langs dikke DC stroomkabels loopt.

NMEA 2000-apparaten sturen korte berichten via de bus. Elk berichttype heeft een nummer, de PGN (Parameter Group Number): 129025 is positie, 127488 is motortoerental, 127508 is accuspanning en -stroom. Er is geen centrale computer die alles regelt — elk apparaat zendt wat het weet, en iedereen die wil leest mee. Botsingen bestaan niet: als twee apparaten tegelijk willen zenden, wint het bericht met de hoogste prioriteit en komt de rest vanzelf daarna.

Meerdere apparaten mogen ook hetzelfde berichttype zenden. Elk apparaat heeft een eigen adres op de bus, dus een luisteraar ziet wie wat zegt en kiest zelf welke bron hij wil. Bij ons zetten de VETUS-shunt en het MG Energy Systems BMS een tijd lang allebei accudata op de bus, en kozen we zelf op het scherm welke van de twee we zagen — tot we er één weghaalden.

Het mooie is dat de standaard merkonafhankelijk is. Raymarine noemt het SeaTalk NG en Simrad noemt het SimNet, maar elektrisch is dat allemaal hetzelfde netwerk met een andere stekker. Apparaten van verschillende merken combineren kan dus zonder meer. Daarom kunnen wij een VETUS-motor, de Victron Cerbo GX, een LXNAV GPS-ontvanger en een Raspberry Pi op dezelfde bus aansluiten.

De anatomie: backbone, T-stukken en terminators

Een NMEA 2000-netwerk heeft altijd dezelfde opbouw. Door de boot loopt een ruggengraat: de backbone, met de gangbare microkabel tot zo’n 100 meter lang. Elk apparaat hangt daaraan via een T-stuk en een dropkabel van maximaal 6 meter; per netwerk passen er zo’n vijftig apparaten. De connectoren zijn gestandaardiseerd: 5-polige M12-schroefconnectoren met twee aders voor data, twee voor voeding en één voor afscherming.

De NMEA 2000-componenten: dropkabels, T-stukken en terminators.
De NMEA 2000-componenten: dropkabels, T-stukken en terminators.

Over de bus loopt namelijk ook 12 volt, zodat kleine apparaten geen eigen stroomkabel nodig hebben. Dat budget is niet oneindig: elk apparaat heeft een LEN-getal (Load Equivalency Number, stappen van 50 mA), en alle LEN’s bij elkaar moeten passen binnen wat de busvoeding levert. Grote verbruikers — bijvoorbeeld een Raspberry Pi — horen dus op een eigen voeding, niet aan de bus.

En dan het detail dat geen detail is: aan beide uiteinden van de backbone hoort een terminator — een afsluitweerstand van 120 ohm. Zonder terminators werkt het netwerk “een beetje”, en dat is verraderlijker dan helemaal niet: berichten vallen weg, apparaten verdwijnen en verschijnen weer. Wie een NMEA 2000-probleem zoekt, controleert eerst de terminators. Dat kan met een multimeter: meet (met de voeding eraf) de weerstand tussen CAN-H en CAN-L. Zo’n 60 ohm betekent twee terminators in parallel — goed. 120 ohm: er ontbreekt er één. Oneindig: er zit er geen.

Zenden is niet hetzelfde als ontvangen

Eén les die wij zelf moesten leren: dat een apparaat óp het netwerk zit, betekent niet dat het alles deelt wat het weet. Ons VETUS-scherm heeft een eigen GPS-ontvanger en toont positie en snelheid — maar het zendt die positie niet naar de bus. Het scherm is gebouwd om te tónen, niet om te zenden. Voor de rest van de boot bleef onze positie dus onzichtbaar, en dat werd het startpunt van een eigen GPS-ontvanger op het netwerk.

Check bij de aanschaf van apparatuur dus niet alleen wat iets kan tonen, maar ook wat het op de bus zet. Die informatie staat in de handleiding, meestal als een lijst ondersteunde PGN’s — met “transmit” en “receive” als het verschil dat ertoe doet.

Zelf controleren kan ook: wie met SignalK meeleest (daarover hieronder meer) ziet in de Data Browser per waarde welk apparaat de bron is. Elke PGN die je daar ziet, wordt daadwerkelijk gezonden — en wat er niet staat, komt dus ook niet.

Hoe het op Cornelis zit

Voor de volledigheid: op Cornelis is NMEA 2000 één van vier CAN-netwerken. De andere drie spreken elk een eigen dialect: VETUS V-CAN (de gashendel, motorcontroller en het motorpaneel onderling), Victron VE.Can (het MG Energy Systems BMS en de Cerbo) en de MG-bus tussen de accupakketten en hun BMS. NMEA 2000 is de gemeenschappelijke taal waar het samenkomt.

Tussen die werelden staan vertalers. De VETUS CANverter zet de J1939-motordata van V-CAN om naar NMEA 2000. En de Victron Cerbo vertaalt minstens zoveel: die verzamelt data over zijn eigen verbindingen — VE.Bus van de MultiPlus-lader, VE.Direct van de SmartShunt, en via Bluetooth zelfs een Ruuvi-temperatuursensor — en geeft ze door aan het NMEA 2000-netwerk en aan de VRM-cloud. Hoe dat allemaal gegroeid is, lees je in Deel 3; dat het op één plek uitkomt, in het artikel over de Raspberry Pi.

Zelf beginnen

Veel is er niet voor nodig. Een stuk backbone met twee terminators, een voedingsaansluiting op 12 volt, en voor elk apparaat een T-stuk met drop-kabel. Wie al een modern kant-en-klaar systeem aan boord heeft, hééft waarschijnlijk al NMEA 2000 — mogelijk onder een merknaam als SeaTalk NG.

En wie wil meelezen met zijn eigen boot: een Raspberry Pi met een MacArthur HAT is een betaalbare instap. Hoe wij dat hebben aangepakt, staat in het artikel over de Raspberry Pi.

Dit is de basis waar de komende artikelen op leunen — de GPS-ontvanger die zijn positie met de bus deelt, de AIS-ontvanger die meeluistert. Vanaf nu verwijzen we gewoon hierheen.

Verder lezen

Iedere stap in het proces is te volgen op het elektrisch-varen blog. Volg ons in alle keuzes die uiteindelijk moeten leiden tot een moderne en stille aandrijving zodat Cornelis nog tientallen jaren mee kan.

Alle berichten over de geschiedenis van onze schuit vind je hier. Verder hebben we artikelen over de restauratie, het ombouwen naar elektrisch en techniek, achtergrondartikelen en schrijven we over de eerste ervaringen met het elektrisch varen en die met de gemeente.