Also: Vorab: Gefixt, siehe App v.
1.69Story: Unser Mehmet (R2, "Türkheli") kam (Freitag) mit zwei Logs von einem Kollegen, YGE-xT + HoTT. Eines sah ganz ulkig aus, quasi nichtssagend, das andere zeigte, dass mittendrin das Logging 2x ausfiel.
Ich hatte den YGE-xT im Dez 2016 implementiert, dann war natürlich Dunkeltuten.
Obwohl R2 die Dinger nun fertigt, kam bisher keine Response. Es machte mich nur nervös, nie die endgültige mechanische Ausführung gesehen zu haben, und natürlich auch, dass ich nie ein Firmware Update des ESC (hier YGE 200 HVT) probierte. ...bis eben nicht, wäre eine nächste Aufgabe.. Die Firmware hier ist von Dez 16.
Ich packte den Kram auf den Testplatz, nahm aber JETI EXbus, weil's rumlag, und siehe.. Sobald EXbus sendet, wird es mystisch..., egal, ob der YGE wirklich angesteckt ist, - nur konfiguriert im S32.
Ging dann auf HoTT. Jetzt wurde es ganz ulkig, - es ging, es ging nicht. Dachte erst, der S32 wäre kaputt, dann, dass der eine HoTT Rx hier, GR16, hinüber wäre.
Mehmet schloss seinerseits einen YGE mit aktueller Firmware an einen S32, loggte. Das Log war goldgelb, zwei Dinge fielen aber auf:
1. Obwohl der im S32terminal ausgewählte YGE-xT einer ohne BEC war, wurde nicht, wie sonst üblich, die Betriebsspg. des S32 (Vintern) in Ubec gesetzt.
2. Auf den RPM Daten vom ESC sind Hazards ohne Ende, Extreme (Peaks) nach oben und gegen Null.
Ich loggte dann hier (alte ESC Firmware), RPM Log ist sauber.
Es blieb mystisch um JETI EXbus + YGE, - und warum, verdammt, ging plötzlich HoTT nicht mehr (nur immer ganz kurz laut Logic Analyzer), egal, ob/welcher ESC eingestellt?!
Es folgten 48h ungeplanten Wochenendes, so langsam dem Wahnsinn nahe.
Tja..., wer von Euch programmiert, kennt das sicher: Die schlimmsten Fehler sind immer die einfachsten. Man schaut auf die Sourcen (hier >1Mio Zeilen), und wenn man überhaupt auf diese eine Stelle guckt, - man sieht nix. Bingo. (Ich fand dann aber auch in den Sourcen, Dez 2016 geschrieben, dann aus dem Sinn:
// ============> !!! TEL JETI EXbus + YGE hängt sich irgendwann auf. Der ganze S32 hängt !!! <============ Super, gut "abgelegt"...
Am Ende, im wahrsten Sinne des Wortes, man fühlt sich schon dem Ende nah, - war es was ganz dummes: Eine Watchdog Timer Routine für JETI EXbus. So kommt es eben, wenn etwas im Nachhinein in zwei sehr unterschiedliche Dinge zerfällt. Vorher war es einfach "TEL==JETI", nun "TEL==JETI && !JEXbusENA" == JETI EX und "TEL==JETI && JEXbusENA" == JETI EXbus.
Ich definierte den Watchdog nur hinter "JEXbusENA", obwohl das nur ein Qualifier ist zu "TEL==JETI".
Bingo, der Watchdog knallte alle 2 Sekunden in alles, was seriell auf Port 3 läuft. In meiner verzweifelten Suche zerlegte es die HoTT Kommunikation, S32 empfing Schei**e.
Da fängt man nach 48h Mystik langsam an, gläubig zu werden. Finally.., found it!
Nun konnte man sich endlich dem Eigentlichen zuwenden, aktiv Daten von JETI EXbus, wenn ESC==YGE-xT, lässt S32 so ziemlich am Rad drehen.
Auch das wurde gefunden.
Es stellte sich im Laufe der Entwicklung des S32 2016 leider nur step-by-step heraus, dass der UART eines ARM schon ein paar böse Design Flaws hat. Dem wurde bei jeweiliger Gelegenheit in den Sourcen begegnet, aber nicht konsequent als Rundumschlag, zu komplex. Bingo, YGE an Port 2 blieb ein Kandididat, - nun auch befriedet.
YGE-xT ohne BEC liefert nun auch Ubec=Vintern.
Dem Wert Vintern fehlte auch ein ständiges Update, generell, das wurde auch behoben.
Ob Hazards auf den RPM Daten vom YGE ein durch die Firmware des ESC seit Dez 16 erworbener Bug sind, muss ich nun testen, nachdem ich meinen YGE updatete, wenn ich das packte.
Anbei ein "Beweis-Log", YGE 200 HVT mit Firmware von Dez 16.
Was mich immer wieder begeistert:
- Die Genauigkeit und Auflösung der Strommessung. (Ok, Peanuts, einmal über Null, geht es nie wieder unter 0.1A. Muss Fabian trotzdem fixen.)
- Der Anlauf und das Kommutieren mit minimaler Drehzahl, obwohl reine Blockkommutierung. Plus/minus 1% Gas, und er läuft einfach immer wieder an. Ansonsten leiert es so langsam, dass man es kaum hören kann. Siehe unten.
EDIT:
Muss mich korrigieren: Niemand kann die "Physik" austricksen. Es ist am Anfang keine Blockkommutierung, sondern Sinus, - so wie im KOSMIK/Jpro, nur noch besser. Der Grund für "besser" wird wohl sein, dass der Entwickler des YGE im Gegensatz zu dem von Kontronik (Harald, keine üble Nachrede, ich grüße Dich auf Wolke 7), gleich sah, dass es kein unnötig aufwändiges FOC sein muss (teure Shunts in den Motorleitungen), Sinuskommutierung ohne FOC Feedback ausreicht, um diesen wahnsinnigen "Soft-Effect" zu erreichen.
Das ist schon ein Wahnsinnsunterschied zu den YGE zuvor, mit ATMEL MCU. Da war Anlauf ja eher ein "Loshops".