"Custom Rom" für Kunteng S06S/KT36 Controller

Dieses Thema im Forum "Controller/Regler, Fahrerinformation, Elektronik" wurde erstellt von Hochsitzcola, 03.08.17.

  1. Xnyle

    Xnyle

    Beiträge:
    196
    Ort:
    Essen
    Details E-Antrieb:
    48V DD 30A
    Danke für die vielen qualifizierten Beiträge, kommt ja wohl aufs Bezugsystem an.
     
  2. Hochsitzcola

    Hochsitzcola

    Beiträge:
    1.649
    Details E-Antrieb:
    NC FH154 mit EB306 und EB-Precontroller
    ja und? Ich weiß doch, um wieviel die Spule voreilt, das ist mechanisch fest gegeben. Das würde nur bei extremen Winkelgeschwindigkeitsgradienten Probleme machen. Die 60°-Interpolation geht davon aus, daß sich die Winkelgeschwindigkeit von einem Hallsensor-Event zum nächsten (also 60° einer elektrischen Umdrehung) nicht (wesentlich) ändert.

    Wenn ich um 5 Minuten vor 12 auf die Uhr schaue, weiß ich, daß es in 5 Minuten 12 Uhr sein wird ;)

    Aber du hast insofern recht, in der aktuellen Implementierung regeln wir eigentlich zu einem falschen Zeitpunkt den Phasenstrom auf Null. Die Implementierung von Casainho ist da korrekter. Ob das wirklich Auswirkung auf die Laufruhe und den Stromverbrauch hat, wirst du uns bald zeigen (y)

    Gruß
    hochsitzcola

    upload_2018-10-11_16-2-3.png
     
    Zuletzt bearbeitet: 11.10.18
  3. Xnyle

    Xnyle

    Beiträge:
    196
    Ort:
    Essen
    Details E-Antrieb:
    48V DD 30A
    Wo in der aktuellen Implementierung addierst Du dann die 5 Minuten auf die gemessene Uhrzeit? Der Vergleich hinkt, ich meine nicht den 5 Minuten Versatzwinkel.

    Du misst doch den Phasenstrum zu einem zeitpunkt wo er eben nicht 0 sein soll. Was hilft dir, wenn Du genau weiß, wo die Spule ist, wenn Du diese Info nich verwertest?
     
  4. Hochsitzcola

    Hochsitzcola

    Beiträge:
    1.649
    Details E-Antrieb:
    NC FH154 mit EB306 und EB-Precontroller
    Genau das steckt in dem motor specific angle

    da habe ich dich ja auch bestätigt:

    Gruß
    hochsitzcola
     
  5. Xnyle

    Xnyle

    Beiträge:
    196
    Ort:
    Essen
    Details E-Antrieb:
    48V DD 30A
    Also: Die Änderung bringt etwas, bei mir sieht das wie im Bild aus. Warum das so rauskommt? Keine Ahnung.

    Wie ich zu den Winkeln gekommen bin:
    1. Correction abschalten, Motorwinkel so einstellen, dass er bei 10km/h sauber läuft, da kommt dann -85° raus. Eigentlich sollten das -60° sein, also die 213.
    2. Correction auf 127 stellen (angenommener Motorwinkel 180°, Correction regelt wie blöd rum und man hat einen eingebauten Vibrator.
    3. Correction so einstellen, dass bei 10 km/h wieder alles rund läuft, also 0A Strom gemessen wird, da kommt dann 52° vorher, als bei den angenommenen 180° raus.

    Bei höheren Geschwidigkeiten wird mit den Einstellungen auch ein paar Grad geregelt und es fühlt sich insgesamt recht ruhig an. Es gibt immer noch ein paar Vibrationen hier und da, aber im allgemeinen besser, als vorher, als genau dann gemessen wurde, wenn der HS 180° sagt.

    Warum das so ist? k.A. Ich vermute auch mal, wenn die Kalkulation dem Motorwinkel 180° annimmt, sind das nicht wirklich 180° weil noch andere Faktoren mit ins Spiel kommen.

    Wie auch immer, man kann jetzt durch stumpfes Rumschrauben an den Winkeln den Motorlauf verbessern. Verstehen wäre natürlich noch schöner.
     

    Anhänge:

    Hochsitzcola gefällt das.
  6. Hochsitzcola

    Hochsitzcola

    Beiträge:
    1.649
    Details E-Antrieb:
    NC FH154 mit EB306 und EB-Precontroller
    Ich kann zwar nicht nachvollziehen, was du da unter 1., 2. und 3. gemacht hast, wenn's schlußendlich funktioniert hat, soll's mir recht sein (y)
    Die neuen Parameter kann man aber anscheinend nur in der App, nicht in der config.h definieren. Das finde ich schade.

    Gruß
    hochsitzcola

    Edit: ich bin grad eine Runde im Torque-Simulation-Mode gefahren (nachdem mir ja gestern wieder mal ein Drehmomentsensor verreckt ist :() Funktioniert so weit (y), allerdings wird im Phasenstrom-Graph jetzt bei 180° das Maximum des Phasenstroms erreicht, da scheint die Indizierung des Arrays nicht zu stimmen.
     
    Zuletzt bearbeitet: 13.10.18
  7. reinosmart

    reinosmart

    Beiträge:
    137
    Ort:
    Remseck
    Details E-Antrieb:
    BionX mit ext.Controller
    Hurra, habe nun endlich X4 gefunden, nachdem ich das Gehäuse ganz entfernt habe und die Kabel nun frei beweglich sind. Bin auch gerade dabei mich um die Gehäusefrage zu kümmern, da durch die Zusatzplatinen das Orginalgehäuse nicht mehr viel taugt. Ein ABS-Gehäuse von 124x71x38 schaut ganz gut aus. Den KT36 habe ich jetzt auf ein Alu U-profil 30/50/30 geschraubt und so auch gleich den LM317 gekühlt. Die Isolierfolien fehlen noch.

    Gruß reinosmart
     

    Anhänge:

  8. Xnyle

    Xnyle

    Beiträge:
    196
    Ort:
    Essen
    Details E-Antrieb:
    48V DD 30A
    Hab ich schon geändert, das war ja vorher der Winkel wo der Sensor gezündet hat.

    Correction ein/aussschalten kann man auch im Java Tool wenn man Spass an Flash Orgien hat. Den Phasenstrom Winkel von 127 ändern wären 10 Zeilen, kannst ja als Hausaufgabe machen :) Mach ich dann später.

    Man kann jetzt die PWM Zyklen ablesen in dem Hallsensor Diagramm, ich hab auch ein Spreadsheet mit meinen Daten ins App Repo gelegt, wär ganz nett, wenn ihr auch ein paar Daten sammelt zum Vergleich.

    Meine Daten sind recht unrund:

    Code:
    4 6 2 3 1 5
    
    40 48 49 40 48 49
    37 44 46 37 43 45
    63 74 79 62 74 78
    134 164 174 136 161 168
    
    Ob das jetzt schon der Grund für die Vibrationen is, k.A. 12% sind schon ein bischen was.
    --- Beitrag zusammengeführt, 13.10.18 ---
    @reinosmart wär das nicht günstiger, gleich nen 1000W KT48 zu kaufen? Da ist viel Platz im Gehäuse und vor allem überhitzt das Innenleben dann nicht im ABS Gehäuse. Der läuft ja wohl auch mit 36V zumindest mit dem Custom Rom.
    --- Beitrag zusammengeführt, 13.10.18 ---
    Bischen mehr Enthusiasmus :) Der dynamic Assist ist doch wohl der Hammer. Ich fahr nur noch auf Stufe 1 damit.
     
  9. reinosmart

    reinosmart

    Beiträge:
    137
    Ort:
    Remseck
    Details E-Antrieb:
    BionX mit ext.Controller
    was soll ich mit 1000 Watt? Ich möchte schon Pedelec-konform bleiben. Beim Originalgehäuse stört mich schon das ganze Kabelgedöns. Zur Wärmeabfuhr schraube ich auf das U-Profil einen Kühlkörper der aus dem ABS-Gehäuse herausschaut.
     
  10. Xnyle

    Xnyle

    Beiträge:
    196
    Ort:
    Essen
    Details E-Antrieb:
    48V DD 30A
    Solang der Motor 250W Nenndauerleistung hat, aber dazu gibts ja schon einen ausführlichen Thread.
     
  11. reinosmart

    reinosmart

    Beiträge:
    137
    Ort:
    Remseck
    Details E-Antrieb:
    BionX mit ext.Controller
    Funktioniert denn das Bluetooth-Modul durch das Alugehäuse hindurch?
     
  12. Hochsitzcola

    Hochsitzcola

    Beiträge:
    1.649
    Details E-Antrieb:
    NC FH154 mit EB306 und EB-Precontroller
    Hast du einen Link, ich find die Tabelle nicht.

    Darum hier von Hand:

    Code:
    BionX IGH3:
    4 6 2 3 1 5
    
    63 59 62 65 59 62
    202 183 200 196 188 207
    
    Shengyi Mittelmotor:
    31 32 30 30 32 30
    13 12 12 12 13 11
    
    Den Modus kann ich nicht testen, am Gaseingang hängt noch der Drehmomentsensor...

    Gruß
    hochsitzcola
     
  13. Xnyle

    Xnyle

    Beiträge:
    196
    Ort:
    Essen
    Details E-Antrieb:
    48V DD 30A
    Ist im App Repo :) pack ich vielleicht mal um.

    Mit den Daten kann man zumindest mal den Einfluss von irgendwelchen Rechenzeiten auschliessen. So richtig rund sind die dann aber wohl alle nicht.

    Ich bau grad um, insbesondere möchte ich den Motorwinkel umdefinieren, so dass 0 Normal ist bei 60° Versatz.

    Das hier versteh ich aber nicht

    Code:
    #if MOTOR_TYPE == MOTOR_TYPE_Q85
           ui8_sinetable_position = ui8_motor_rotor_hall_position + ui8_s_motor_angle + ui8_position_correction_value + ui8_interpolation_angle;
    #elif MOTOR_TYPE == MOTOR_TYPE_EUC2
           ui8_sinetable_position = ui8_motor_rotor_hall_position + ui8_s_motor_angle + ui8_position_correction_value - ui8_interpolation_angle;
    #endif
    
    -ui8_interpolation_angle ist doch nichts anderes, als ui8_s_motor_angle +127 und dann +ui8_interpolation_angle?

    Warum gibt es diese Unterscheidung dann?

    Mit welchem Zeichentool hast Du das Schema vom Motor erstellt?
    Ich würd so eine Zeichnung zum besseren Verständnis gerne mit im Java Tool/der App haben.
     
  14. Hochsitzcola

    Hochsitzcola

    Beiträge:
    1.649
    Details E-Antrieb:
    NC FH154 mit EB306 und EB-Precontroller
    genau da hab es nicht gefunden, ist aber auch wurscht.

    Diese Unterscheidung nutzen wir schon ewig nicht mehr, was das sollte musst du casainho fragen.

    Das Bildchen hatte ich im Internet geklaut und dann mit Powerpoint drüber gemalt...

    Ansonsten nutze ich für solche Skizzen INKSCAPE.

    Gruß
    hochsitzcola
     
  15. Xnyle

    Xnyle

    Beiträge:
    196
    Ort:
    Essen
    Details E-Antrieb:
    48V DD 30A
    So das wars wohl, keine Vibrationen mehr. Die App macht jetzt im Halldiagramm Vorschläge, wie man die Winkel ausgehend von 0 einstellen soll. (linke Spalte).

    Damit ist dann vermutlich auch ermittelt, dass die original FW entweder ganz schlau ist und die Position lernt, oder ganz doof und nur eine 360° Interpolation macht.
     
    reinosmart, Pete3 und Hochsitzcola gefällt das.
  16. Xnyle

    Xnyle

    Beiträge:
    196
    Ort:
    Essen
    Details E-Antrieb:
    48V DD 30A
    Eine Anmerkung zur FAQ:
    Q: Can I use a KT36/48 ZWS type controller
    Warum eigentlich nicht. Ich bin Freitag zum Testen mit ausgeschalteter Correction gefahren, das macht kaum Unterschied, solange man den Motorwinkel richtig eingestellt hat.
     
  17. Hochsitzcola

    Hochsitzcola

    Beiträge:
    1.649
    Details E-Antrieb:
    NC FH154 mit EB306 und EB-Precontroller
    Bisher konnte man die automatische Winkelanpassung ja nicht im Javatool/App abschalten. Damit ist der Winkel ohne Phasenstromsensor immer ins Nirvana gelaufen.

    bei niedriger Drehzahl und geringer Last ist der Unterschied nicht groß. Mit steigender Last und Drehzahl wird der Controller aber immer ineffizienter und produziert damit unnötig Wärme, die gefährlich für Motor und Mosfets werden kann.
    Ich hatte dazu etliche Messungen gemacht. Es gibt ja auch genügend Veröffentlichungen dazu. Bei einem Direktläufer mit seinen bauartbedingten niedrigen Drehzahlen mag sich der Einfluß im Rahmen halten, bei Getriebemotoren mit hoher Drehzahl ist die unnötige Wärmeentwicklung sicherlich nicht zu vernachlässigen.

    I_Omega_L.png

    Gruß
    hochsitzcola
     
  18. Xnyle

    Xnyle

    Beiträge:
    196
    Ort:
    Essen
    Details E-Antrieb:
    48V DD 30A
    Danke für die Erklärung. Dann sollten wir dazuschreiben, dass es bei Direktläufern kein Problem ist (ist es nicht, zumindest bis 35 km/h)

    Die Phasenstromanzeige in der App ist immer noch kaputt, das liegt aber glaub ich diesmal am Chart, das 60° nach rechts verschoben ist.

    Was ich heute noch herausgefunden habe: Nachdem die Mikroruckler/Vibrationen weg sind, sieht es so aus, als dass mein Motorwinkel -120° ist, könne man jetzt durch Permutation der Hallsensorkabel vermutlich ändern, aber wofür hat man Software.

    Wenn ich das so einstelle, habe ich beim Anfahren ein Blockkommutierer Verhalten, also deutlich hörbar, bis die Interpolation anschaltet, deckt sich ja auch mit der Software.

    Solange der Winkel noch "falsch" eingestellt war, hatte ich das aber nicht.

    Sofern ich keinen Denkfehler habe, heißt das, dass man einen wesentlich sanfteren Anlauf hinbekommt, wenn man beim Anfahren den Advance Angle <90° setzt. Vielleicht ein Ansatz für Verbesserung.
     
  19. romanta

    romanta

    Beiträge:
    21
    Ich vermute, dass das ursprüngliche Programm dumm ist, und passt einfach die Geschwindigkeit und den Winkel der Korrektur gemäß einer gegebenen Tabelle an, die empirisch im Testprozess an verschiedenen Motoren bestimmt wird. Somit wird viel Speicherplatz für andere Algorithmen freigegeben. Die Korrektur des Betriebswinkels der Aufnahme des Stroms in den Motor hängt von den Umdrehungen pro Sekunde ab, und dieser Parameter kann statisch sein, gemäß der Wertetabelle (0,5 Grad pro 100 Umdrehungen pro Minute) :) Ich sage dies als ein Beispiel.
     
  20. Hochsitzcola

    Hochsitzcola

    Beiträge:
    1.649
    Details E-Antrieb:
    NC FH154 mit EB306 und EB-Precontroller
    So, ich habe heute die erste Fahrt zur Arbeit im Torque-Simulation-Mode gemacht. Es ist für mich sehr ungewohnt, nicht mit den Beinen "Gas geben" zu können. (Wird ja hoffentlich bald wieder möglich sein, wenn der Zoll meine Sendung aus seinen Fängen lässt :))
    Zwei Verbesserungsvorschläge, die mit dem Ride-Mode aber garnichts zu tun haben:

    1. die Spannungskalibrierung Parametrierbar machen, analog dem Strom. Bei mir wird in der App gut 1 Volt zu wenig angezeigt. Die Messung geht ja nur über einen primitiven Spannungsteiler, da haben die Widerstände einfach Toleranzen. (Controllerseitig kann ich das selbst implementieren, in der App nicht....)

    2. Optional die App auch ohne Fokus aktiv lassen, damit man Tripdaten auch erfassen kann, wenn das Handy in der Hosentasche steckt.

    Gruß
    hochsitzcola
     


  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden