Sunday, November 12, 2023

Boat Data

I’ve always been comfortable working with data and computers. It turns out that boating generates gobs of data that provide me ample opportunities to do both.

When, in August 2021, we replaced our lead-acid house bank batteries with lithium ferro phosphate (LFP) batteries, their cost, the desire to maximize their longevity and the associated monitoring equipment we installed gave me the impetus to try “up my game” on the analysis of data.

To help me along, I installed a Raspberry Pi (RasPi) microcomputer that connects (and is powered by) the NMEA 2000 (N2k) data bus (installed when the boat was built) running through the boat. The bus cable connects lots of the devices (e.g., inverter/chargers) and sensors (e.g.., voltage and current sensors) onboard.  To collect all the data on the RasPi, I installed the SignalK server software. Fortunately, I was able to use this very helpful blog post from another boater (far more skilled than I am) to work my way through the process. .

WilhelmSK ScreenThe first goal was simply  to display all of the data being harvested. I ended up using the WilhelmSK app on a used second generation iPad Mini. After a few false starts, I created four screens, one for each operational state of the boat (i.e., “At the Dock”, “Cruising”, “At Anchor” and “Generator Running”).  In each screen, I try to display the most relevant boat data for that state that isn’t already being shown elsewhere.

After running the SignalK system for the 2022 cruising season and finding it to be very reliable, I added data logging to it by installing the InfluxDB timeseries database. To keep that data logging manageable, I identified 22 data fields (e.g., wind speed, battery voltage, battery state of charge) to be logged.  The raw data is retained for 24 hours but every 5-minutes is downsampled to summary data (i.e., means and max’s).. Again this is to keep the data manageable. The 24-hour raw data from just 22 data elements is about 800,000 observations. The 24-hour downsampled data is about 6,000 observations.

Grafana Screen ShotI load the downsampled data to my laptop computer into a database (PostgreSQL). From the database I can further analyze it with Excel. I even installed the Grafana software which allows the creation of “dashboards” that can graphically show large quantities of data on one screen.  In my usage, It isn’t a real time data but it does give insight in the relationship between various measurements and any trendlines.

The exampleCharge Cycle in the graph to the right is from our June 26 departure at anchor in Bartlett Cove to go further up Glacier Bay.  It is the raw data (i.e., not down sampled to 5-minute increments) so the 2-hour period shown in the chart has several thousand data points for each parameter. After the engine starts, the alternator output is limited to what it can produce at idle, about 90-100 amps. After the anchor is pulled and we increase the engine speed to normal cruising (~1500 rpm) the alternator output goes to a little above 150 amps (about 4KW of power). The alternator temperature goes up from an initial 70°F to a little over 170°F. Our Balmar 624 regulator is now operating in “bulk” mode where it is trying to output as many amps as the alternator or battery can handle. Because our house bank batteries are LFP chemistry, the battery voltage hardly budges (most lead-acid batteries have a fairly linear voltage response in bulk mode) until we reach a 93% State of Charge (SoC) at which point the battery voltage begins rising more quickly..

When the voltage reaches the absorption voltage, the regulator switches to “absorption” mode and holds the voltage relatively constant adjusting the alternator output amperage to accomplish it. As soon the alternator output begins to decline, the alternator temperature begins falling. Our Victron battery monitor (BMV-712), also detects the falling output and the 99% SoC and decides to says “close enough” by jumping the SoC to 100%..

To protect the battery from being over charged, the alternator is programmed conservatively and only holds the absorption voltage for about 12 minutes before transitioning to “float” mode. It gradually drops its target voltage over a 6-minute period from 28.4V to 27.2V.  Because the battery has been “stuffed” full of electrons at 28.4V as soon as the alternator lowers its target, the batteries actually deplete slightly. Our normal cruising load (e.g., electronics, fans, furnace) is about 30 amps, so as the voltage drops, part of that is provided by the alternator (e.g., 24A) while the remainder is provided by the battery (e.g., 6A).  Once the final float voltage of 27.2V is reached, the batteries settle down and the alternator takes on the full boat electrical load.  The alternator temperature also reaches its normal cruising temperature of about 110°F, down 60°F from its highpoint only 20 minutes earlier.

Fortunately, I don’t have to analyze the data to this level every time we operate the boat. While at the helm, I’ve stared at the display screen I described at the beginning of this post for two years now. At least at the gross level, I think I can see what is normal operation and any variation from the expected (famous last words).