“ImotShunt” ist ein virtueller Shunt-Widerstand. Er wirkt auf den Strom, den der ESC meldet, – und darüber natürlich via Kumulation über die Zeit auf das Ergebnis: mAh.
Man sollte sich auch immer vor Augen halten, wie “Messen” hier aussieht:
Es ist schon etwas anderes, ob ich batterieseitig messe, wo sich alles bereits per Low-ESR-Elkos beruhigt hat, – oder im ESC selbst. Der Strom dort hat eine Dynamik mit einem Shape, der ist nicht DC, aber auch nicht AC ist (kein Sinus).
Er ist einfach “Dynamik-Wahnsinn”.
Kommt hinzu, dass pro Umdrehung ständig umgepolt wird (Kommutierung), es gibt also x zeitliche Phasen, in denen der Wahnsinn gemessen wird.
Was ist nun “mAh kumulieren”? Der ESC misst irgendwann. Irgendwann schiebt er diesen Wert per Datenprotokoll zu S32. Der kumuliert ihn. Dabei kann er nur so tun, als wäre der Strom I1 vom Zeitpunkt t1 bis zum neuen Wert I2 im Zeitpunkt t2 konstant geblieben. Natürlich war es nicht so. Der integrative Effekt durch das Kumulieren ist zwar genauso gegeben wie auf der Elko-Seite zur Batterie hin, nur bekommt die Batterie zeitlich jeden Wert zu sehen, während der ESC eben nicht jeden Wert reportet zum Kumulieren. Daher ist es eigentlich besser, wenn der ESC selbst kumuliert, so er wirklich richtig und häufig genug misst. Dadurch wird das zeitliche “Du-lässt-mich-dumm-sterben”-Loch zwischen den Updates im Datenprotokoll eliminiert.
Es hat sich aber rein aus ganz praktischer Erfahrung beim Einsatz von JLog in den vergangegen 6 Jahren herausgestellt, dass Zeitschritte von 100ms vollkommen ausreichend sind beim Beobachten des Prozesses, was im Log und in der mAh-Kumulation landet. Im Gegensatz zur sonstigen Theorie: Man verpasst nichts, was überhaupt gemessen werden kann. Somit relativiert sich o.g. “Zeitlücke” zu: Die Update Rate jedes ESC mit Daten-Output ist momentan ausreichend für ausreichende Genauigkeit im Kumulieren der mAh.
Grundsätzlich gilt natürlich: Wer misst, misst Mist. Das hier ist kein Messgerät, – und von Messgerät zu Messgerät muss man auch immer fragen, wer die Referenz war.
ImotShunt wirkt grundsätzlich auf Imot, auch wenn der ESC mAh selbst kumuliert und sendet (ImotShunt wird dann separat auf diese mAh ebenfalls angewendet), – auch, wenn der Strom durch S32 mittels C200 Hall Core gemessen wird.
S32 (dessen Entwickler) weiß natürlich nicht wirklich, wie das “Messen” im jeweiligen ESC erfolgt. Gerade durch die Kommutierung und durch den Messpunkt könnte man manches weniger gut gemacht haben. Auch der Stromsensor selbst ist ein Faktor, – ist der kalibriert, ist er temperaturkompensiert? Beispielsweise, wenn man in Serie mit den Motorleitungen misst, kommt es darauf an, wie man damit umgeht, dass die jeweilige Phase nur für einen Teil der Zeit aktiv ist. Dann ist da die Conversion Time des verwendeten ADC, die bei entsprechender PWM Duty und Frequenz mit dieser interferieren kann. So kommt es dann mit demselben Motor an demselben ESC, mit derselben Batterie und demselben ImotShunt Wert, dass das Ergebnis “mAh” schwanken kann synchron zur “Agressivität” des Fluges, genauer, zum Verlauf der PWM während des Fluges.
Zusatzfrage: Wenn der ESC am Motor misst, aber nicht Ibec, – wo bleibt dann der “Peanuts”, den der BEC im ESC auf der Primärseite verbraucht? S32 addiert den “Peanuts” vom HV²BEC, so verwendet, am Datenbus angeschlossen und im Setup.