I’m designing a nRF52832 SOC based device and I came across this issue with energy buffering and battery voltage drop.
I am using a CR2032 battery, nRF52832 SoC and a VCNL3040 proximity sensor.
This sensor has a pulse current up to 200mA for a few milliseconds (attached image below - captured one measurement,) but the battery is rated only for max 0.2 mA continuous load and for peak load the capacity drastically decreases, as it can be seen in this article.
The problem is that these high current pulses are causing a voltage drop from the battery. When the battery is older and cannot deliver enough current, the voltage drops below the operating voltage limit causing a hard reset of the device.
One more important thing is that the device is designed for a long battery life. Most of the time, it is in sleep mode. The sensor measures only once in a few minutes. A BLE data transfer is done once in a few days, therefore the average power consumption is around 5 µA.
As I understand it, the workaround would be to attach a capacitor which will cover the current pulses. That would mean - if I assume full consumption of the proximity sensor 200mA for approximately 5 milliseconds (4 peaks of 1.25 ms) and 100mV voltage drop - I will need a 10 mF capacitor (200 mA)(5 ms)/(100 mV). In this case, I will need a capacitor with high discharge current rating and as low leakage current as possible - I imagine leakage current around 1 uA, but I don’t know how realistic this is.
I found a capacitor of desired capacity and low leakage current (CPH3225A,) but the rated maximum discharge current is only 10µA. According to the datasheet it seems that when increasing the discharge current the capacity decreases.
Is there any way around the limitations?