Last Saturday I spent the day in the bush, with Black Monolith #1, for the first time since it was installed 81 days previously.
Many of you would have read about the over-reading State-of-Charge meter
in the MX-5 thread. In short, the Monolith's SoC meter was underestimating Depth-of-Discharge by exactly half. So 50% SoC was really 0% SoC. So when the customer said the meter had never been below 80%, it actually meant the battery had never been below 60%, which was still very good given that they now had an electric fridge and there had been several consecutive overcast days.
There were a number of other non-critical jobs on the Monolith that I had been saving up, and I decided that fixing the SoC meter was important enough to warrant the 2 hour drive.
On the last day of installation I had failed to take the UV-stable (black sheathed) earth wire and the earth clamps for the PV array mounting frames, with their special anodising-piercing stainless washers. So that was one job.
Another was a change to the BMS software so that the bootstrap-loader would be the same for both EV and solar power system (MeXy and Monolith). The bootstrap-loader includes the code that is called on reset. A CMU or IMU is reset on power-up or by receiving a "break" signal on its serial input. When it is reset, it normally sends a break to the next CMU in the chain. But the IMU was acting as the BMS master in the Monolith (unlike in MeXy which uses a Tritium EVDC as the master), so the Monolith IMU receives from the last CMU as well as sending to the first CMU, thereby forming a loop in which the resetting break signal would endlessly circulate if something wasn't done to prevent it. See the diagram here
viewtopic.php?title=pip4048ms-inverter& ... 332#p55579
Coulomb and I decided that rather than make a special case for the Monolith BSL code, we would change the ID of the Monolith's IMU from 0 to 255 (the highest possible ID) and would make it so a device with an ID of 255, no matter whether it was an IMU or a CMU, in a solar power system or an EV, would never send a break on reset.
I also agreed to do a complete discharge of the battery until the load contactor shut off, to prove (to the customer) that it would indeed protect the cells in this case, as well as proving the fix to the SoC-meter.
So on arrival I isolated the PV array, connected the laptop to the optic fibres, extracted the logged data (which held no surprises), changed the IMU ID, updated the software, and began the discharge. We ran a vacuum cleaner and a hair-dryer continuously, and the customer repeatedly boiled kettles full of water. The PIP showed 99% load when all three were running. It kept quite cool despite the lower flow rate of the quiet fans we had put into it.
It took around 3 hours, and while it was discharging I installed the earth wires to the array frames, in drizzling rain. I expected it to cut off the loads when the SoC meter was reading around 20%, but it went all the way down to zero and sat there for a while before it tripped off the loads. We rested the cells for about 30 minutes and I measured them all at around 3.27 V which means that they really were around 20% SoC. It seems that the actual capacity of these CALB cells is quite a bit higher than the nominal 180 Ah -- a bonus which, as I explained to the customer, will gradually disappear over the years.
Then because it was late in the day and very overcast, we ran the petrol generator for long enough to put about 30% back into the battery. At first the generator was browning out at about 180 volts with the PIP putting 40 A dc into the 53 V battery as well as running the fridge and some lights. So I manually set the PIP to put only 30 A into the battery from the generator and all was well.
But any time that the monolith is shut down and restarted, the IMU sends initialisation commands to the PIP, including this generator charge setting, so I SMSed Coulomb, back in Brisbane, to ask him to look up the CRC for the 30 amp version of the command. We had relied on an online CRC calculator, but there was no internet access out here.
The mobile phone signal is very weak too. So to both send and receive TXTs I had to stand on the roof in the drizzling rain, holding my phone above my head, with rapidly dwindling battery. It was rather frustrating at the time, but somewhat hilarious in hindsight, that Coulomb's first long-awaited response was, "Sorry wasn't with phone. Do you still need this?". And after I replied "Yes" his second eagerly awaited response was, "I'll see if I can find a post on how it's done", dropping a notch on my phone's battery meter each time due to its need to use maximum transmit power. Of course Coulomb had no idea of my difficulties.
But Coulomb came through, and I managed to write it down before my phone died. It was hexadecimal C0C0, which I felt like a nice hot cup of, by then.
I made the change, uploaded the software again, said my goodbyes to the happy customer and headed for home.
One of the fathers of MeXy the electric MX-5, along with Coulomb and Newton (Jeff Owen).