Often the question comes up: I observed this and that deviation between mAh numbers from JIVE/JLog and mAh recharged. Which value should I try by “Imot Shunt” (JLC)? Answer: Almost 1:1, just try it out flight by flight. I w’d start a bit below the differences been seen.
Some “internals” about mAh accumulation JLog has to do if the ESC is a JIVE. (In anticipation of the future, JIVE Pro: We speak about the “classic” JIVE here.)
mAh with a JIVE is a bit complex..
JLog alone calculates the mAh. (Other ESCs calculate by themselves, KOSMIK for example. In that case JLog only adds the capacity consumption by a HV²BEC if used and configured.)
No reading from JIVE refers to primary current but measurement of primary current over time is the base of mAh.
Main current is what the motor draws but what the JIVE delivers here is no more than “lottery numbers”. Measurement is done motor low side by an ADC. Variable PWM duty, variable PWM frequency and fix ADC conversion time interfere with each other.
Well, numbers coming from JIVE are not really “lottery-based” but it is mathematically relatively complex. JLog recalculates the motor current by exponential functions of higher order. Only reference variable is PWM and 2-pole-normalized RPM (-> PWM frequency by some “knowing”). Based on PWM we span “quadrants” for calculating.
On top input values are not very “granular”, current in steps of 1A and digital “accuracy” not better than 2A, PWM in steps of 1..100, practically 60..90, RPM is step 10, temperatures in 1°C steps (digital accuracy of 2) and practically may jump by 5 degrees.
It also depends on the pole number of the motor but special honors by JLog are for a 2-pole only. It works, proven over years and by thousands of JLogs w/ a JIVE as ESC, but there may be some motors out there which could cause extra deviation.
The inner resistance of the power source seen by the “inner” ESC is much lower than that of the voltage source we draw the capacity out of. (in dynamical respect) Reason is the low ESR caps on that voltage. Luckily mAh accumulation is a giant integrator by itself so that does not matter in the end. (Only the peak current values we get are much more “live” and realistic than those from other R/C loggers.)
The JIVE builds us another hurdle on top: JLog tries to be “just-in-time” by using the time stamps coming from JIVE as the time base for everything. Only problem is that those time stamps are not equidistant. If processor #1 in JIVE (a rather old TI signal processor) does commutation it may send “duplicates” and omits time stamps in between. JLog considering that in its data processing and mAh accumulation.
Graphs below are from the development phase of JLog1. At that time we had only 7 quadrants, later we went on the more granular so more accurate 16 quadrant model. (Working name of JLog had been “KLog” that time – guess why. )
(Yellow is the measurement (by a SM Unilog) in the right place between ESC and voltage source, – primary current seen by the voltage source.)
This is the result w/ the 16 quadrant calculation we have in each JLog model (JLog1 also) and corresponding firmware types today, motor was a PYRO 400:
Now the “peanuts” comes on top of the mAh calculation:
Capacity consumption by BEC: What we get from JIVE is the BEC output current (again not the primary current!) more or less accurate. JLog has to do some extrapolation:
Extrapolation of the efficiency (Eta) based on 1) measurement and statictics, 2) voltage relation input:output, 3) temperature.
Consumption by primary idle current, extrapolated, based on 1) measurement/statistics, 2) raw voltage, 3) temperature.
On top the so-called “shunts” come into play, concerning both, for Imot and Ibec.
We do some re-correction for Imot only:
The “shunt” is a piece of conductor on the PCB.
It is not calibrated. We “calibrate” by JLog. “Reference” is the charger. Calibration acts to the raw values from JIVE (before post-processing).
The conductive material has a relatively high temperature coefficient. Because this is alloy metal the coefficient is also some non-linear. We can not directly measure the temperature of that conductor acting as “shunt”. Only temperature values we have is tFET and tBEC from JIVE. Not very accurate, not very granular, not directly matching the temperature we need to know about. JLog does a post-temperature-compensation starting above 35°C.
If the warm up in the JIVE goes too fast then thermal latency may kid us a bit.
You can see: “Simple mAh calculation” looks different.