Die S32 Firmware 1.51 sollte die Lösung sein.
ESC nur bestromen, wenn Sender via Rx ein gültiges Gas-Nullsignal liefert! (sonst piept es ewig, zieht pulsierenden Strom während der Sekunde des Nullens)
Vor Ablauf von mindestens 6..7s nach Powerup, besser nicht vor 10s, nicht Stoff geben!
Ungefähr 6.5 bis 7s nach Bestromen von S32 führt der das Nullen durch, was selbst genau eine Sekunde dauert (100 Messungen im Abstand von 10ms, Averaging).
Wenn der ESC einen BEC hat, betrifft das natürlich auch etwas diesen, - wobei der Primärstrom eines Buck natürlich deutlich geringer ist als dessen Ausgangsstrom.
Was nicht zu eliminieren ist: Der Ruhestrom des ESC, temperaturabhängig: 70..80mA, ergo Peanuts.
==================================================================================
Hier das Blabla. Ich denke immer, das muss sein, aber die meisten Leute werden es lieber nicht lesen.
Trotzdem, steter Tropfen höhlt den Stein, wenn's auch meist dauert, die 7-jährige Geschichte von JLog beweist es. (Wer wusste damals, was "PWM" ist beim ESC? Wer weiß so was heute nicht?)
Mal versuchen, wie ich das geordnet an den Mann kriege..
Zunächst: Der C200 hat mich in den vergangenen Jahren schon uuuuuendlich viel Zeit gekostet, heute auch den Tag.
Man muss aber auch sagen: Das Ganze ist sehr komplex, und die höchste Potenz ist es mit einem Hall Toroid, - besonders einem bezahlbaren wie dem C200.
Warum ich mir das Blabla on top antue? Weil ich hoffe, dass auch hier eines Tages der Stein gehöhlt wird. Was zum Thema "Messen" die meisten RC-User für einen weltfremden Anspruch an den Tag legen, graust'n Doten.
Man muss schon immer alles betrachten, - das Sensorelement, seinen Platz im Gekröse, die Umgebungsbedingungen, die Referenz, die Messwertdarstellung, die Zeit, das zeitliche Gebahren der Messgröße, - und auch den Preis für etwas, sowie Volumen und Masse.
Wo fange ich an?...
1. Wir messen keinen Gleichstrom. Selbst, wenn man wie in diesem Fall die luxuriöse Situation hat, außerhalb des ESC zu messen, - zwischen ESC und Batterie, - kann das sehr beeinflusst werden durch den jeweiligen ESC, seine Ausführung. Es hängt viel davon ab, welchen dynamischen Innenwiderstand die Low-ESR Elkos haben, welchen Capa Wert, welche Position, welches Routing auf dem PCB des ESC. Wenn es schlecht läuft, haben die Elkos eher kontraproduktiven Einfluss auf die Möglichkeit zu genauer Strommessung.
2. Sensorelement: Man ist immer gut dran, eines zu haben, was man vorkalibriert zum Einsatz bringen kann (oder sogar kalibriert zu bekommen ist), - sprich, seine Eigenschaften unterliegen keinem wesentlichen äußeren Einfluss, wie der Temperatur, z.B. Ein echter, guter Messwiderstand ist hier das Beste.
3. Spannungsabhängigkeit: Die ist immer gegeben, wenn nicht am Sensor selbst, dann an den nachgeschalteten Komponenten der Messanordnung. Es braucht eine Referenz: Wie genau trifft die den Wert einer (unbezahlbaren) Referenz? Wie beständig ist sie über die Zeit? Temperaturkoeffizient? Von weiteren Umgebungsbedingungen abhängig? -- Spätestens hier geht immer mein Kopfschütteln los, wenn ich die Ansprüche der User lese. Ganz wenig bezahlen wollen, aber Gold haben wollen dafür.
4. Habe ich keine hinreichend treffsichere bzw. stabile und von Umgebungsbedingungen unabhängige Referenz (bzw. ein solches Sensorelement), muss ich situationsbezogen kalibrieren beim Startup. Da wird's haarig: Das Sensorelement befindet sich in der Anordnung, aber zum "Nullen" brauche ich einen bekannten Zustand, eine Null-Situation. Nicht garantierbar, denn fremde aktive Komponenten sind in ihrem Startupverhalten nicht vorbestimmbar. Kommt der Drahtverhau und das Powerup-Gebahren des Users hinzu..
Nun zum Speziellen:
- Ein Hall Element hat einen TK (Temperaturkoeffizienten), deutlich wirksamer als der Nahe-Null-TK eines echten Messwiderstandes.
- Fertigungsbedingte Exemplarstreuungen sind an der Tagesordnung, vor allem bei preislich günstigen Ausführungen. (Hier ist wieder die Crux aus Zahlungswilligkeit und überzogenem Anspruch aus Unverständnis.
-- Ich weiß, im Softwarebereich wird in RC ja auch meist verschenkt. Hey, ein JLog müsste eigentlich paar 1000 kosten.
)
So ein Hall Element zum Messen eines Magnetfeldes ist so ähnlich wie eine Wheatstone-Messbrücke. Der Messwert schwebt um einen Idle Wert, aber der ist nicht vorkalibriert.. Und betriebsspannungsabhängig ist das Ganze natürlich sowieso.
Es gibt Hall Elemente mit fix montiertem Leiter, an dem man sich an beiden Seiten konnektiert. Das Ding hat auch einen TK und Exemplarstreuung, - es gibt aber eine feste Ausrichtung des Magnetfeldes des stromdurchflossenen Leiters zum Element, - und die Fläche zum "Durchströmen" des Feldes ist so klein wie möglich.
Dagegen gibt es mit einem Hall Element in Form eines Ringkerns, den man über irgendeinen Leiter steckt, noch Umgebungsvariablen on top:
- Ausrichtung des Ringkerns zum Leiter und damit zum Feld. Wer macht das schon exakt lotrecht?...
- Fremdfelder von anderen stromdurchflossenen Leitern, dazu gehört auch ein E-Motor, haben es relativ leicht, sich auch durch den Ring zu schummeln. Der Ring sollte sich entsprechend entfernt und fixiert von allem befinden, was Magnetfelder erzeugt.
- Auch das Erdmagnetfeld spielt mit, - wie stark, hängt vom Messbereich ab. Beim C200 kann das Erdmagnetfeld 1..2A Offset ausmachen. Der ist variabel: Mal in der Orientierung zum Erdmagnetfeld genullt, mal in einer anderen, - und nach dem Nullen ändert sich die Orientierung im RC eh ständig.
- Aufgrund der Ausführung ist beim Ring genügend Handarbeit beteiligt. Das erhöht Exemplarstreuungen entsprechend.
Versucht mal, einen Hall Toroid zu bekommen auf dem Weltmarkt, - einen bezahlbaren, - kein teurer Messklops, sondern klein, leicht, günstig für RC (ein Schätzeisen). Ralf (Graupner) und ich versuchten es damals (2011, glaube ich). Wir fanden genau EINEN Anbieter, in China, - und dazu keine hinreichend vertrauenerweckenden, weil inkonsistenten Specs. -- Das hat sich bis heute nicht geändert.
Ergo schnappte ich mir den C200 (theoretisch auch den C50). Das kostete richtig viel Zeit, - und wahrscheinlich hatte sich jemand bei HiTec damit auch die Karten gelegt.. (Aus CN?
)
Es stellte sich bald heraus: Der HiTec Sensor Hub (HTS) liefert die unbehandelten Hausnummern des C direkt an den Rx, und der an den Tx. Erst der Tx fummelt am Rohdatum, bevor etwas im Display erscheint.
Bingo! Die Aufgabe war, diese Formel im Tx auszubaldovern, schließlich sollte ja JLog seinen Stromwert im Display unverfälscht darstellen können. Sprich, die Aufgabe war eh, sich wie ein C zu verhalten (unterschiedlich bzgl. C200, C50), damit im Display das erscheint, was man darstellen will.
Das klappte nach viel Aufwand. Ergo war es "nur" umzudrehen, um selbst einen C als Sensorelement zu verwenden.
Eine nichtlineare Gleichung höheren Grades. In JLog2.x wurde dann on top und ewig tuned/messen/tweaked/messen.., in Summe waren es etliche Wochen, bis es wirklich zu passen schien.
Es hat aber einen sehr unangenehmen Nebeneffekt: Man kann den Offset der Messbrücke nicht einfach messen und in die Gleichung einbringen. Die ist komplex nichtlinear, weshalb das Nullen in der Formel erfolgen muss. Das dauert lange (8s im Mittel, Gefahr, dass ein Laststrom reinfunkt), aber manchmal, C200-exemplarbedingt, wesentlich länger, oder es wird gar nie fertig, kann nicht Nullen. (Daher bekam JLog2.x per JLC später einen Pre-Counter Offset, dessen Wert der User empirisch ermitteln muss.)
Nun kam die Syphilis-, ähh, Sysiphos-Arbeit des JLog3 (S32). ALLES zu reimplementieren. (und leider in der Situation von Null Zeit, weil ein anderes Projekt so zeithungrig ist, bis heute, immer mehr...)
Ich machte einen auf ungläubigen Thomas, hinterfragte alles, vor allem auch aus Zeitnot, und unterstellte, dass der C200 vielleicht doch linear misst, - HiTec im Irrtum ist.
Also mal bei R2 in Zürich eine Messanordnung für reinen Gleichstrom bis 40A, hochgenau, aufgebaut, und Bingo! Es ist linear! Kalibriert, fertsch.
Es war nun mal so, dass das Sensorchen C200 nur ein Promille eines Promille des gesamten S32-ToDo war. Später nämlich, - ich hatte beschlossen, den C200 nur im Zusammenhang mit HWv3 und HWv4-60A ESCs mit S32 anzubieten, - bemerkte ich auf dem Teststand mit so einem ESC: Häh?! Die "beruhigte" Messung zwischen ESC und Spannungsquelle sagt 10A, die Messung mit dem kalibrierten C200 sagt nur 5.6A?! -- So einen Kommentar hatte ich nämlich heute in den Sourcen gefunden, - meinen.
- Nur ging das dann unter im anderen ToDo und im Zeitmangel und dem Herumhopsen zwischen den Projekten..
Also wurde heute etwas nachgeholt. Bevor ich das darstelle, aber noch zwei weitere Aspekte mit JLog:
1. Die Referenz(!): Die Prozessoren in JLog2.x haben sogar zwei Referenzspannungsquellen, Band Gap, ziemlich treffsicher und stabil. Ein ARM Prozessor wie in JLog3 (S32) hat so was aber nicht. Die Referenz ist der interne Spannungserzeuger. Er muss ergo möglichst immer dieselbe Spannung liefern, und dann auch lastunabhängig. - Nun.., ich habe nicht dutzende Exemplare S32 getestet.., aber es sieht so aus, als würde der Buck (getakteter step-down Wandler) es bringen. Beim Nullen des C200, dauert eine Sekunde, stoppe ich trotzdem das Zwinkern der LEDs.
2. Die Messbrücke, was der Hall Sensor ist, sollte eigentlich immer dieselbe Betriebsspannung bekommen, und dann auch während einer Session stabil. Punkt 1 ist nicht wirklich erfüllbar, das Nullen muss es heilen. Um dem Anwender Stripperei zu ersparen (obwohl S32 wie JLog2.5, 2.6 eine stabilisierte Spannung für solche Zwecke herausgibt), wird der C200 einfach aus 3 GPIOs (Prozessor-Pins) auf High versorgt, jeweils ein 100 Ohm Widerstand in Serie. Das ist natürlich nicht wirklich eine stabilisierte Spannung. Außerdem treibt ein GPIO eines ARM nur die Hälfte dessen, was die MCU (Prozzi) in JLog2.x treiben kann per GPIO.
Nun zum Eigentlichen. (Bevor ich das ausführe: Es wird nun wirklich Zeit für R2's "SUIR". Ein Dingens, was auf den Datenbus des S32 kommt, per Messwiderstand(!) Strom misst, außerdem die Spannung am heißen Ende des Widerstandes, sowie Drehzahl. ..Wer weiß, vielleicht sogar PWM mit ein bisschen Softwarekino, wenn die DZ von einem BL-Motor kommt.)
Wie oben dargestellt: Der C200 an S32 wurde kalibriert, und abgesehen von etwas möglicher Exemplarstreuung und vom TK: Das steht, hinreichend genau und zuverlässig.
Nur, warum weichen die Messwerte so ab am Objekt, ESC HWv3, HWv4-60A?
Gegenfrage: Fließt zwischen ESC und Batterie reiner Gleichstrom?
Natürlich nicht wirklich, aber erhofft hinreichend. (Der Batterie ist das egal. Deren gefressene mAh sind der ideale Integrator.)
Leider denkste! Hobbywing's Low ESR Elkos in diesen ESCs wirken, als wären sie gar nicht da.
Könnte man nun sagen: Ok, dann eben nicht. Ich messe den Peak Strom in der aktiven Phase der PWM, - die PWM als Wert habe ich ja auch (der Wahnsinn, sogar beim daten-ärmlichen V3), wende sie an, und habe den tatsächlichen integralen Momentanstrom aus der Batterie.
Leider wieder denkste: Die Low ESR Elkos sind schon da.., nur der ESR ist nicht besonders low. Somit kann man mit keiner höheren Mathematik aus dem Stromgezappel rechnerischen Gleichstrom machen. Guckstu:
Ach du Himmel, das Rote. Das Gelbe ist eine Integration der Katastrophe. Man sieht: Die PWM wird umgeschaltet, 40--43--46%, entsprechend etwa 7--8--9A bei dieser Spannung (25V) und Last. In der Messung aber wird der Strom eine amorphe Masse.
Wie erreichen wir nun, dass wir quasi Gleichstrom messen, obwohl alles andere anliegt?
Ok.. Machen wir was schlimmes, - schlimm für ein Ding wie S32, was sehr viele zueinander asynchrone, aber teilweise (unsinnig: Castle, Futaba) extrem zeitkritische Prozesse zu bedienen hat:
Nicht eine Messung der Spannung am C200 zum Zeitpunkt n, sondern 50, dann Averaging (Durchschnitt):
Man sieht vielleicht: Es dünnt sich etwas aus (die Ausreißer werden weniger), aber ansonsten bringt es nicht viel. Man sieht es nicht im Log, es hat aber trotzdem einen wichtigen Anteil am "DC-Machen". Na ja..., man sieht es doch: Die Stufen fangen an, zu erscheinen.
Was kann man noch tun? Etwas, was zuvor bereits dort war, aber mit schwächerem Parameter als jetzt: Ein Integrator. (Bis zur 1.50 gab es kein Averaging, aber einen Integrator mit Faktor 40 (Hosenknopfwert
). Jetzt wurde der "Knopf" größer am Integrator: 60
Der Integrator allein reicht aber nicht, das Averaging war das fehlende Geheimnis, wie oben gesagt. Hier sieht man es deutlicher:
Nach der Devise: Von dir kann man kein Foto machen, du Zappel-Philipp. Ok, dann schießen wir eben eine Serie, wird schon genügend verwertbares dabei sein.
Es macht eben irgendwann keinen wirklichen Sinn mehr mit einem Integrator, wenn sein Input derart breit durch die Gegend springt. Man muss die Sinnfälligkeit des Inputs zuvor verbessern, weil sonst dem "Gedächtnis" des Integrators zuviel Bullshit eingepflanzt wird.
(Natürlich ist die negative Wirkung des Gezappels besonders ("nur") in den unteren Stromgefilden da, dergestalt, dass man die Tendenz des Stroms nicht mehr erkennen kann. Bei höherem Strom verliert sich das im Verhältnis etwas. Gleichnis: Die Bewegungsrichtung einer vibrierenden Schnecke auszumachen, dürfte schwer sein. Den schnellen Weg eines vibrierenden Flugzeugs könnte ich trotzdem klar erkennen. -- Aber wir wollen ja zu JEDEM Zeitpunkt wissen, was Phase (Stromwert) ist, denn am Ende soll die Kumulation über die Zeit (mAh) halbwegs stimmen.)
Viele Stunden wurden heute verbraten mit Kablibrierungsfaktoren (Messwert linear multiplizieren). Eigentlich der falsche Weg, nichtlinearen Verfälschungen kann man mit fixer Korrektur nicht beikommen.
Aber am Ende kam (zum Glück) das heraus, wo man hin wollte: Der Kalibrierungsfaktor ist wieder derselbe, der zuvor mit reinem Gleichstrom ermittelt wurde, - und es stimmt trotzdem beim Messen zwischen ESC und Stromquelle. Sprich, wir haben es gepackt: Aus dem Irrsinnsgezappel wurde hinreichend reiner "Gleichstrom", - so, wie die Batterie den Mist "empfindet":
Wir mussten hier im Sept. vorigen Jahres umziehen. Ein tierischer Schlag in's Kontor für einen Tekki-Messie wie mich, vor allem einem Elektroniker mit fast 50J Historie.
Momentaner Status ist: Ich bin noch gar nicht umgezogen.
- Das Lab musste gleich wieder ran, aber etliches ist noch in Kartons, kann ich nicht finden.
...So auch die Gerätschaften zum Messen/Loggen bis 400A... Tja, und mit so einem "Zappel" (Multimeter) bis 10A kann man nicht viel ankeilen. Mit einem Digital-Zappel zappligen Strom messen: Wer misst, misst Mist. Da nutzt es nix, wenn das Netzteil 250A kann. (Der Load am Bremsmotor kann auch nur weniger, - aber mit 25V kommt eigentlich kein ESC über 40A.)
Dann isses natürlich enge, wenn mit dem kleinen ESC-Spielzeug bereits bei 46% PWM Schluss sein muss, weil sonst Rauchzeichen vom Ampmeter.
Ich hoffe aber inständig (bin ziemlich sicher), dass ich obiges trotzdem gebacken bekam.
Gewissermaßen als Aufatmen, - ohne Zappel in der Leitung, also Knüppel auf den Tisch
:
=====
Übrigens, 3x könnt' Ihr raten, wie der Strom von der internen Messung eines HWv4 ungleich 60A aussieht. Genauso furchtbar.
Nur hilft hier kein Averaging, - das müsste im ESC selbst geschehen, - aufgrund der im Verhältnis viel geringeren Data Update Rate macht es hinterher keinen Sinn.
Da wende ich nur einen Pre-Integrator an.
Noch jemand da, der sich über Streuungen der mAh Ergebnisse wundert?
Kommt on top, dass viele V4 einfach nur Hausnummern liefern..
Aufgrund von PWM Interference, Frequenz und Duty Cycle, und anderer Zappelfaktoren verursachte Unruhe lässt sich nicht mit einem linearen Faktor "ImotShunt" heilen.
Man sollte zwar bzgl. "Messen" in diesen Gefilden die Kirche im Dorf lassen, - es gibt aber auch Fälle, wo die Kirche gleich Meilen entfernt vom Dorf errichtet wird..