NMEA motor gegevens / display
Zojuist een projektje afgerond om motor gegevens zichtbaar te maken en te kunnen loggen via NMEA 0183. Voor geinteresseerden in dit soort materie hier mijn verhaal:
Van een kleine scheepsdiesel zijn maar weinig gegevens beschikbaar die je kunt monitoren om te zien of alles naar behoren blijft funktioneren. Er gaat een alarm af wanneer de motor oververhit raakt of wanneer de oliedruk wegvalt, maar daar blijft het wel ongeveer bij. De oorzaak moet dan nog achterhaald worden. Even kijken of er wel voldoende water uit de uitlaat komt is een voor de hand liggende controle maar het is soms moeilijk te beoordelen of het minder is dan "normaal" en zo ja, wat dan?
Er is een veelheid van mogelijke oorzaken bij oververhitting van de motor:
· (gedeeltelijk) geblokkeerde (zee)water huid doorvoer.
· Blokkering groffilter
· Beschadigde impeller
· Verstopte warmtewisselaar
· Kapotte thermostaat.
· Kapotte koelwater circulatiepomp of gebroken V-snaar.
· enz. enz.
Door de doorstroming van zowel het buiten water als de koelvloeistof in het gesloten koelsysteem in de gaten te kunnen houden kunnen mogelijke problemen in een vroeg stadium worden onderkend.
De aanzet om hier iets voor te maken was de recente ombouw van de direkte koeling van mijn VP2003 naar een gesloten systeem met warmtewisselaar. Zie:
ombouw naar indirekte koeling
Als circulatiepomp voor de koelvloeistof heb ik een elektrische Johnson pomp geinstalleerd, die speciaal voor dit doel is ontworpen. Alles werkt uitstekend.
Ik moest even wennen aan het idee van een elektrische pomp, maar in feite is deze borstelloze Johnson pomp met minimale bewegende delen net zo betrouwbaar als een mechanische, zo niet betrouwbaarder.
Alleen zou bij onverhoopte elektrische storing de koelvloeistof circulatie stoppen, wat snel tot oververhitting zou leiden. Daarom heb ik een dubbelpolige noodschakelaar aangebracht om bij calamiteit de voeding van de pomp rechtstreeks te kunnen omzetten naar de service accus.
Een tweede maatregel die ik had gepland was het aanbrengen van een flow meter van de koelvloeistof. Bij lopende motor kun je de elektrische pomp niet horen en ik vond het wel prettig te allen tijde in de kuip te kunnen controleren of de circulatiepomp werkt. Dat zette me ook aan het denken over de zeewater koeling van de warmtewisselaar. Als ik nou toch de moeite ging nemen om de flow van de koelvloeistof te meten en zichtbaar te maken, dan ook meteen maar van de raw water toevoer. Ik weet het, je kunt ook even kijken of er een voldoende waterstroom uit de uitlaat komt, zo heb ik het altijd gedaan, maar in twijfelgevallen is het wel fijn om wat meer nauwkeurige informatie te hebben. Als er een gedeeltelijke blokkering is van de watertoevoer, dan komt dit meteen tot uitdrukking in de flow rate en kan je onderzoeken wat er precies mis is, voordat de motortemperatuur te hoog oploopt.
Van het een komt het ander en al gauw was het idee er om een wat meer uitgebreid systeempje te maken waarmee de diverse motor funkties in de gaten kunnen worden gehouden en dat als een "diagnostic tool" kan worden gebruikt.
Voor mij was de direkte aanleiding de elektrische circulatiepomp, maar een dergelijk systeem kan natuurlijk voor elke motor nuttig zijn.
Het systeem is gemaakt rond een Atmel AVR MCU en heeft de volgende funkties:
1. Flow rate sensor voor koelvloeistof.
Funktie: In de eerste plaats om te kunnen constateren dat de circulatiepomp loopt maar ook nuttig om te zien of de thermostaat goed funktioneert. Bij geopende thermostaat neemt de flow rate toe. De temperatuur moet dan rond de 75 graden liggen.
2. Flow rate zeewater.
Funktie: Controle op vrije doorstroming via huiddoorvoer, groffilter, waterpomp, warmtewisselaar.
3. Flow rate sensor voor watergesmeerde schroefasafdichting.
Funktie: Volgens de fabrikant Chatfield engineering moet dit minimaal 3 liter/minuut zijn. In het verleden was dit niet controleerbaar. Is regelbaar met een kraantje.
4. Motor toerental.
De zeewater flow rate is uiteraard afhankelijk van het motor toerental, daarom is het handig om toerental en flowrate naast elkaar te kunnen displayen en ook samen in de NMEA XDR zin te hebben.
5. Motor temperatuur, gemeten bij thermostaat.
6. Display
Alle gegevens kunnen op een 2x16 char LCD worden weergegeven. Met een drukknop kan het gegeven cyclisch worden geselekteerd. Gegevens kunnen ook gecombineerd worden weergegeven. De default kan met dezelfde knop worden geselekteerd. Bij starten van de motor wordt het default gegeven weergegeven. Meestal zal dat het toerental zijn. De backlighting is eveneens aan/uit schakelbaar.
Het LCD is aangebracht in de behuizing van een Raymarine instrument naast de kajuitingang. De linker druktoets is de display selektie toets.
7. NMEA (RS422) en RS232 uitgang.
Via beide wordt de standaard XDR NMEA zin verstuurd, met alle motorgegevens voor logging of weergave elders.
Nog een (slecht) filmpje:
Voorbeelden logged NMEA XDR sentences:
1. Motor is bijna op temperatuur (73 graden), RPM is 1125. De zeewater flow rate bij dit toerental is 5.8 l/min. De thermostaat is pas gedeeltelijk open, daardoor is de flowrate van de koelvloeistof nog maar 3 l/min.
01:39:13.42 $ERXDR,C, 73,C,T1,T,1106,R,R1,R, 5.8,l,F1,R, 2.9,l,F2,R, 0.0,l,F3*1B
01:39:14.52 $ERXDR,C, 74,C,T1,T,1114,R,R1,R, 5.9,l,F1,R, 2.9,l,F2,R, 0.0,l,F3*1E
01:39:15.68 $ERXDR,C, 73,C,T1,T,1125,R,R1,R, 5.8,l,F1,R, 3.0,l,F2,R, 0.0,l,F3*12
01:39:16.77 $ERXDR,C, 74,C,T1,T,1135,R,R1,R, 5.9,l,F1,R, 3.0,l,F2,R, 0.0,l,F3*15
01:39:17.87 $ERXDR,C, 74,C,T1,T,1133,R,R1,R, 5.8,l,F1,R, 3.0,l,F2,R, 0.0,l,F3*12
01:39:18.97 $ERXDR,C, 74,C,T1,T,1129,R,R1,R, 5.9,l,F1,R, 3.0,l,F2,R, 0.0,l,F3*18
01:39:20.07 $ERXDR,C, 74,C,T1,T,1120,R,R1,R, 5.8,l,F1,R, 3.1,l,F2,R, 0.0,l,F3*11
2. Motor is op temperatuur (78 graden), RPM is wat teruggebracht naar 820. Flow rate zeewater daardoor wat lager 4.2 liter/min, flow rate koelvloeistof is 11 liter/min. omdat thermostaat geheel is geopend.
02:13:39.56 $ERXDR,C, 78,C,T1,T, 820,R,R1,R, 4.3,l,F1,R, 11.0,l,F2,R, 0.0,l,F3*1D
02:13:40.65 $ERXDR,C, 78,C,T1,T, 820,R,R1,R, 4.2,l,F1,R, 11.0,l,F2,R, 0.0,l,F3*1C
02:13:41.75 $ERXDR,C, 78,C,T1,T, 820,R,R1,R, 4.0,l,F1,R, 11.0,l,F2,R, 0.0,l,F3*1E
02:13:42.85 $ERXDR,C, 78,C,T1,T, 820,R,R1,R, 4.2,l,F1,R, 11.0,l,F2,R, 0.0,l,F3*1C
02:13:43.95 $ERXDR,C, 78,C,T1,T, 820,R,R1,R, 4.2,l,F1,R, 11.0,l,F2,R, 0.0,l,F3*1C
02:13:45.10 $ERXDR,C, 78,C,T1,T, 820,R,R1,R, 4.3,l,F1,R, 11.0,l,F2,R, 0.0,l,F3*1D
02:13:46.20 $ERXDR,C, 78,C,T1,T, 821,R,R1,R, 4.0,l,F1,R, 11.0,l,F2,R, 0.0,l,F3*1F
02:13:47.30 $ERXDR,C, 78,C,T1,T, 821,R,R1,R, 4.0,l,F1,R, 11.1,l,F2,R, 0.0,l,F3*1E
Met Excell kunnen hier heel makkelijk grafiekjes van worden gemaakt om bijv. gedrag van de thermostaat grafisch weer te geven. Voor als ik helemaal niks anders meer te doen heb.
De flow rate sensoren zijn via Aliexpress gekocht. Werken met hall-effect sensors. Ik heb er een opengemaakt en constructie blijkt goed, met RVS asje en afdichting met 2 O-ringen. Kosten maar weinig. Ik had even een bedenking betr. mogelijke fouling van de zeewater sensor, maar deze zit hoog in de slang naar het anti-syphon ventiel, dus komt alleen in kontakt met zeewater als de motor loopt. Bovendien zijn de sensors maar een paar Euro per stuk en ik heb enkele reserve besteld. Mocht er ooit een stuk gaan, dan hoeft niet de hele sensor vervangen te worden. Alleen even het dekseltje losschroeven en het binnenwerk vervangen. De tijd zal het leren.
De RPM sensor zelf gemaakt, ook met hall effect sensor en rare earth magneetje. Kost bijna niks. Als temperatuursensor een 10K thermistor gebruikt. Geliniariseerd in de software. Range 0-100 graden Celcius.
Op de MCU zijn nog genoeg poorten beschikbaar voor andere funkties. Misschien voeg ik ooit nog oliedruk toe.
Misschien heeft iemand hier iets aan of geeft het inspiratie voor een leuk projektje.