Status - In dry dock - Data not updating
Data below is stale. Failure on 7/13 was caused by the firmware on the supervisory board (EWDT) running extremely slowly and holding SCL down; this was causing the AVR to hang during startup. Resetting the EWDT resolved the issue. But while I have it apart, I'm doing some upgrades to fix a somewhat critical bug: I discovered a pair of hardware bugs (one mine, one not mine) that interact badly. So keeping this out of the water until somewhere between the first and second week of August while I wait for hardware to make a modification.
The first bug (mine) is the buoy occasionally flips over, at which point the solar cells stop providing power and it will run off battery until the battery is exhausted. The second bug is while the MakerFocus LIPO I am using allegedly has a protection circuit to prevent overdischarge (actually, I disassembled one and verified there is a pcb that looks like a protection circuit), in practice its cutoff is uselessly low. In bench testing the discharge curve (to add the battery percentages) I had one of that model battery discharge until it started inflating before the cutoff was hit at 2.376V (this is below the specs for the ina3221 doing the measurements and so may be unreliable).
Lithium ion batteries don't like being discharged too deeply, in the worst case they can catch fire. They also have a discharge curve in which nearly all of their energy is released well above these thresholds. During this test discharge cycle, the battery had provided 3351.79mah when it reached 3.3v (the lowest cutoff I would choose). Running it down to 3.0v provided an additional 110.63mah for a total of 3462.42mah. The final 0.6v from 3v to self-destruct provided an insignificant 72.19mah for a total at failure of 3534.61mah. That means the 3V conservative cutoff provides 97.96% of the runtime of 2.376V (not the energy, and running the rest of the system below 2.7v is out of spec for some of the parts). The even more conservative cutoff of 3.3v provides 94.83% of the runtime. The battery is actually rated for 3000mah which had been provided by 3.632V.
The fix I am waiting for is some FS321F-G battery protector chips. Unfortunately these are only available from vendors in China. The FS312 has a 2.9V (+/- 0.08V) cutoff which, while far lower than I would go intentionally, won't destroy the battery and even keeps everything in spec (2.9V = 3479.24mah 98.4% of the self-destruct total) .I'm looking at the MAX17303G but that is way more involved. Also, while I can readily solder 0.5mm pitch DFNs this would be my first attempt at an 0.4mm dfn.
Wave Activity
This shows the raw data points underlying the most recent 3 measurements. This is a graph of the measured buoy height over 16 seconds, measured at 16hz. The data is refreshed every couple minutes assuming the buoy is transmitting, right side up, the receiver hasn't crashed, and the software on the pi is still working:
Power Status (approximate sun intensity):
This reflects the operating status of the buoy. The revised buoy is far more efficient and tends to charge the battery fully earlier in the day. This makes the solar cell output as indication of sun not work as well. But when the battery isn't fully charged, > 70ma is reasonably bright, > 120ma is full sun. The battery charge is determined by voltage and due to swings across the sense resistor when the current flow direction changes can jump above and below the true value. The lower the battery current the more accurate the charge % is. This is limited by the 13-bit ADC on the INA3221, still havn't been able to track down an INA233.
Data Quality / Known Issues
- It appears that when the buoy is upside-down the callibration is way off and wave activity is underestimated. This makes sense as it makes the vent inoperative. Working on both a hardware fix to auto-right and a web-site indication when the buoy is upside-down. For now, hints that the buoy is upside-down include solar panel current of 0-2 ma when it is sunny or a LORA SNR < -20 (often around -40-80) vs the typical -20 to 5 when it is right side up.
- Power graphs are smoother starting around 8pm on 07/07/2022. This is a change to a new metric that averages power use during a GPS reading cycle. The prior spikes were the GPS cycling on and off.
- on 7/5/2022 I switched out the Google sheets backend for a brand new one with brand new bugs
- Google sheets is starting to hit limits. Working on a replacement backend. This data will break intermittantly until that is done.
- It was observed on 7/1/2022 that the buoy was occasionally upside-down. This can cause gaps in the data as the antenna being submerged greatly increases SNR. When data comes through it can be determined by the solar cells not working in bright light. In sufficiently heavy waves it will eventually re-right itself. If you see it flat-side up feel free to right it.
- The anchor line was cut around 6/11, the buoy turned up in Kingston, and was returned (Thanks!), re-painted, and re-launched.
- Data starting on 5/22/2022 comes from a new version of the buoy and may not be directly comparable. The prior prototype failed on 5/20/2022 due to the mx1.25 male battery connector coming loose. Additionally, the new version leaked around 5/24 and was repaired and re-launched on 6/4/2022. Kind of expected a few proto-boards taped together being knocked around in the waves to have failed sooner than they did. This version uses a goretex vent which may reduce wind-related noise. Updates describing the new hardware pending.