Hey, thanks for showing me this forum, now I can freely discuss custom mods.Hi @DIY_Quad I was the one asking you to come over here instead of DJI forums, welcome. I'm glad you got sorted out and can start posting.
I too have some doubts on whether it will really triple the battery life time expectancy, by reducing the maximum charging stress. One thing I am guessing (Stress - Guessing) is that the life cycle limit is also likely limited or mostly affected by the thermal stress from discharge.
Nonetheless a cool mod. Can I know how does your mod works actually? Are you just detecting the battery voltage and applying a hard disconnect to the affected port? Or are you communicating to the charging IC and instructing a stop at your desired voltage? For the purpose of storage and actual flight for max performance, can we have some presets for like 3.9V and 4.4V per cell?
I understand your doubt and there is nothing wrong with having a doubt, cuz that leads to experiments and better understanding of the subject matter.
I am convinced that reducing max voltage stress will increase number of discharge cycles, but it remains to be seen exactly how close it would get to the projected 3X increase in discharge cycles.
Even if it gets me 2X increase, I will take that tradeoff any day of the week.
Thermal stress is definitely another factor that affects number of discharge cycles.
Temperature and max voltage are 2 independent variables.
In this particular study, they are fixing temperature variable and only sweeping max voltage variable.
In other words, wear and tear by thermal stress is equally applied to all of their testing while sweeping max voltage.
Such that they can focus on effect of max voltage on discharge cycles only.
With that said, let's get to some technical details of the mod.
The battery has 10 pins.
Left 4 are ground pins, next 2 are communication bus and the last 4 are +ve terminal.
The charging hub uses pin #4 as a sensing pin to see whether or not a battery is plugged in to a given port.
It's normally 3.3V and when pulled low by inserting a battery, the MC (micro controller) in the hub knows there is a battery on that particular port.
There is a resistor between pin#4 and the hub-MC.
I disconnected that resistor and connected the pin side and hub-MC side to my own MC (my-MC).
So that my-MC can sense presence of a battery on a given port and be able to tell the hub-MC whether or not a battery is present on that port.
Basically, my-MC is intercepting signal on pin#4 and let the hub-MC know when to start/stop charging on each port.
When a battery is plugged in to a given port, my-MC lets the hub-MC know that there is a battery present and the hub-MC will automatically start charging that battery.
When that happens, my-MC reads charging voltage going into that battery.
There is a voltage divider that the hub-MC reads to determine voltage of the charger (current limited source) and my-MC is sensing that same voltage divider output to know charging voltage across the battery.
This lets me determine state of charge (SoC) for that battery pack.
I compare that voltage level to my preset level and let it continue charging if below my preset level and stop charging if preset level is reached by tricking the hub-MC to think that the battery has been pulled out from the port.
I do that for all 3 ports and any battery connected to the hub will be charged to a preset level and then stop.
I have programmed 3 preset levels/modes to choose from; ~50% (3.85V/cell), ~90% (4.25V/cell) and 100% (4.4V/cell).
With the 100% mode, I let the hub-MC completely take over sensing of pin#4 by simply passing whatever my-MC senses on pin#4 directly to the hub-MC.
In this mode, the hub functions exactly like it normally would without the mod.
The added LED shows currently selected preset charge level or mode.
For example, if currently selected mode is 50% charging, it blinks with 50% duty cycle.
For 90% mode, the LED blinks with 90% duty cycle and so on.
Pls feel free to ask questions!
Last edited: