1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Weitere Controllerbasteleien

Dieses Thema im Forum "Controller/Regler, Fahrerinformation, Elektronik" wurde erstellt von Joe23, 28.11.16.

  1. Joe23

    Joe23

    Beiträge:
    3.629
    Details E-Antrieb:
    XDURO2011,2XBofeili 1st Gen
    Sinus und 3-phasige Blockkommutierung habe ich nun in einer Software vereint. Leider hat der Debugger zu spinnen angefangen.
    Ich konnte nur noch Programme flashen aber nicht mehr starten.. Zum genauen Einstellen der Kommutierwinkel brauche ich aber einen funktionierenden Debugger, um die Schalterstellung meines 2. Quadraturedrehschalters auslesen zu können. Es ist vermutlich nur das USB-Kabel . Da brauche ich erst mal ein neues. Ich gebe auch zu, gesündigt zu haben :D, indem ich am Kabel gezogen hatte, um den Stecker aus dem USB-Netzteil zu entfernen.
    Jedenfalls scheint die 3-phasige Blockkommutierung ganz gut abgeglichen. Die ansteigende Flanke der pwm-gesiebten Phasenspannung liegt gut auf der Referenzmarke. Allerdings ist die Drehrichtung ccw. Die 5% Stufung des Gasgriffs ist bei Sinuseinspeisung noch nicht gut (siehe Tabelle):
    Drehfrequenz vs. gas.jpg
    Das war mit 12V Batterie.
     
    Zuletzt bearbeitet: 10.01.17
    Pete3 gefällt das.
  2. Joe23

    Joe23

    Beiträge:
    3.629
    Details E-Antrieb:
    XDURO2011,2XBofeili 1st Gen
    Heute habe ich mir zum ersten mal die drei Phasenspannungen bei 3-phasiger Blockkommutierung und Sinuskommutierung angesehen. Leider fehlt mir für beide Kommutierarten die Phasenspannung der grünen Leitung. Vermutlich habe ich versäumt die Savetaste zu drücken. Aber ich habe die Signale gesehen und kann sagen, dassPhasenspannung der grünen Leitung identischen Verlauf haben wie die der blauen und gelben Phasenleitungen.
    Für die Blockkommutierung habe ich den PWM-Nebel der grünen Phase als Referenz (ungefiltert) aufgezeichnet. Extern getriggert wurde durch einen weiteren Tastkopf am Referenzimpuls.
    Da der ungesiebte PWMNebel bei Sinuskommutierung keinen Informationsgehalt bietet, habe ich wie sonst immer den Referenimpuls aufgenommen.
    Bloch3 UVW.jpg Sinus UVW.jpg

    Mit diesen Bildern konnte ich die Phasenbeziehung der 3 Motorphasen beurteilen. Und auch klären, warum die Beiden Kommutierarten unterschiedliche Drehrichtung erzeugten. Die fehlende Phase hat den ansteigenden Nulldurchgang auf der Referenzmarke. Beim Vergleich der Phasenspannungen habe ich die Sinusform in Gedamken in Rechteck gewandelt. Die Tatsache, dass bei der Sinusanzeige 60° einer Div entspricht erleichtert die Rekonstrunktion eines Referenzrechtecksignals.
     
    Zuletzt bearbeitet: 11.01.17
    Jootchy und Pete3 gefällt das.
  3. Joe23

    Joe23

    Beiträge:
    3.629
    Details E-Antrieb:
    XDURO2011,2XBofeili 1st Gen
    Ich hab das Ergebnis von #42 nochmals sauber gezeichnet, damit ich auch eine Unterlage über den derzeitigen Stand habe.
    Jetzt habe ich die Frage ob es einen Standard für die Phasenlagen von U, V und W gibt?
    Mein Elektriker hat jedenfalls ein Meßgerät, um den Drehsinn messen zu können. Das weiß ich auch nur, weil ich bei der Installation der 2. Kraftdose schon Wert darauf gelegt habe, dass diese denselben Drehsinn ergibt, wie die schon vorhandene.
    Hier die Skizze:
    PhasenlageSinBlock3.jpg
     
    Pete3 gefällt das.
  4. Pete3

    Pete3

    Beiträge:
    220
    Ich habe das so in Erinnerung: Im Drehstromnetz gibt es ja die 3 Phasen L1, L2, L3 (früher R, S, T). Die Elektroinstallation wird m.E. so ausgeführt, dass alle Steckdosen "rechtsdrehend" sind. L1 beginnt, dann L2, dann L3.
    Siehe auch hier:
    https://de.wikipedia.org/wiki/Dreiphasenwechselstrom#Dreiphasennetze
    https://de.wikipedia.org/wiki/Drehfeldmessgerät
    Ich vermute, wenn U mit L1, V mit L2 und W mit L3 verbunden wird, dann läuft der Motor rechts herum.
    Keine Ahnung, ob das beim Pedelecmotor auch so ist. :)
    --- Beitrag zusammengeführt, 13.01.17 ---
    Hier gab es 'mal was:
    http://www.pedelecforum.de/forum/index.php?threads/ebike-phase-mapping-standard.44078/
    http://www.pedelecforum.de/forum/in...et-steckerbelegung-ncm-kit.41995/#post-735787
     
  5. Joe23

    Joe23

    Beiträge:
    3.629
    Details E-Antrieb:
    XDURO2011,2XBofeili 1st Gen
    Danke Pete3, das ist doch schon mal ein Anfang und wurde mir auch von einem meiner Berufskollegen so gesagt.
    Allerdings bin ich in einer verzwickten Situation. weil ich gern das, was in der E-Technik üblich ist, mit den Pedelec-Gegebenheiten zusammenbringen würde. Außerdem habe ich auch noch die Vorgaben zu berücksichtigen, die die Industrielle Servo-Technik, eingeführt hat. Von daher habe ich nämlich die Zuordnung des Nullpunktes des Rotary Encoders zu den Phasenlagen der Phasen-Wicklungsstränge zu
    übernehmen.
    Da hat nämlich ein großer festgelegt, dass Gleichstrom durch den Phasenstrang U heraus geleitet wird und durch die beiden parallelgeschalteten V- und W-Stränge hineingeleitet wird. Dort, wo sich der Motor mit dieser Bestromung hinstellt, wird der Nullpunkt des Gebers bei der Montage hinjustiert.
    Ich hatte bis heute die umgekehrte Bestromung angenommen, was zur Folge hatte, dass ich die richtige Phasenlage durch Ausprobieren finden musste.

    Jetzt habe ich halt in Drehrichtung rechts eine negative Halbwelle zu erwarten, was im Sinne einer übersichtlichen Organisation nicht schön ist, aber natürlich machbar.
    Ich werde jetzt erst mal darüber nachdenken, was man daraus machen kann.
     
    Pete3 gefällt das.
  6. Pete3

    Pete3

    Beiträge:
    220
    @Joe23 :
    Zur Drehrichtung einer Drehstrommaschine steht hier auch:
    "beim rechten Drehfeld: L1 an U1, L2 an V1 und L3 an W1" - wie ich oben schon vermutet hatte.
    Ich finde gut, was Du machst und wünsche Dir Erfolg. :)
     
  7. Joe23

    Joe23

    Beiträge:
    3.629
    Details E-Antrieb:
    XDURO2011,2XBofeili 1st Gen
    Gestern habe ich mit der Frage herumgeärgert, warum bei Block3 95% Gas weniger rpm verursacht als 90 %. Zudem sahen in 95% zwei Kommutierstati ganz seltsam angefressen aus und außerdem war nur jede 2. Periode davon betroffen.
    Als 1. Möglichkeit keinen richtigen Kommutierstatus zu erzeugen, vermutete ich ein Überschreiten des PWM-Perioden-Wertes, weil sich dann der PWM-Zähler durch Zählen auf 65535 und danach 0 wieder in einen richtigen Zustand bringen muss. Also habe ich bei abgeklemmter Leitungsversorgung jeden der Zahlenwerte der aus der momentanen Stellung des Gasgriffs resultiert.
    Also Gasgriff auf 100% gestellt, den Programmlauf gestoppt und dabei die Variable "gas" vom Debugger anzeigen lassen. Wenn der Wert nicht passte musste ich noch nachsehen an welcher Programmzeile der Stop ausgeführt worden war. Wenn das innerhalb der Gas-Verarbeitung war, hat ein weiterer Start/Stop den richtigen Wert gebracht.
    Natürlich zeigt dieses Vorgehen, dass ich eigentlich mit dem Debugger nicht umgehen kann, aber es hat mich doch ans Ziel gebracht und ergeben dass alle Werte im richtigen Bereich waren. Außerdem ergab der Test, dass die einzelnen Werte hinreichend genau sind für die 5%-Stufung.
    So blieb mir nur noch ein Spiel mit dem Kommutierwinkel, was dann ergab, dass dafür nur ein ungewöhnlich enger Einstellbereich gegeben war, wenn man ein ordentliches Bild der Kommutierzustände auf dem Oszi haben wollte.

    Da muss der Motor einen geometrischen Fehler in der Polanordnung haben. Ich muss mich gelegentlich erkundigen, welchen Luftspalt Durchmesser das Motörchen hat. Bei 55 mm Außendurchmesser bleibt wohl nicht sehr viel für den Durchmesser des Innenläufers übrig.

    Es heißt zwar, "einem geschenkten Gaul schaut man nicht ins Maul", aber ob ich damit nicht doch nochmal als Bittsteller auftreten sollte, weiß ich noch nicht.

    Ich hab dann noch die Block2-Betriebsart ins Programm geholt und habe somit alles im Programm, was ich haben wollte.
    Kann also ohne Debugger, die 3 Kommutierarten einstellen.

    Jetzt wäre also der Punkt erreicht, alle Drehrichtungen zu vereinheitlichen. Im Moment wäre das nur bei der Sinusansteuerung nötig, aber eine Sinustabelle, die mit mit -Sin-Werten gefüllt ist, kann ich nicht akzeptieren, also muss ich erst die Drehrichtung des Rotorlagezählers umdrehen. Dass danach keine der 3 Kommutierarten mehr geht, ist klar.

    Um meinen Frust abzuarbeiten bin ich in mein privates Alaska hinausggangen und habe mich am Iglu meiner Enkel betätigt.
    Die Bauherren waren nicht da, für den alleinigen Anwesenden habe ich alles richtig gemacht.
     
  8. Joe23

    Joe23

    Beiträge:
    3.629
    Details E-Antrieb:
    XDURO2011,2XBofeili 1st Gen
    Gestern habe ich mit der Frage herumgeärgert, warum bei Block3 95% Gas weniger rpm verursacht als 90 %. Zudem sahen in 95% zwei Kommutierstati ganz seltsam angefressen aus und außerdem war nur jede 2. Periode davon betroffen.
    Als 1. Möglichkeit keinen richtigen Kommutierstatus zu erzeugen, vermutete ich ein Überschreiten des PWM-Perioden-Wertes, weil sich dann der PWM-Zähler durch Zählen auf 65535 und danach 0 wieder in einen richtigen Zustand bringen muss. Also habe ich bei abgeklemmter Leitungsversorgung jeden der Zahlenwerte der aus der momentanen Stellung des Gasgriffs resultiert.
    Also Gasgriff auf 100% gestellt, den Programmlauf gestoppt und dabei die Variable "gas" vom Debugger anzeigen lassen. Wenn der Wert nicht passte musste ich noch nachsehen an welcher Programmzeile der Stop ausgeführt worden war. Wenn das innerhalb der Gas-Verarbeitung war, hat ein weiterer Start/Stop den richtigen Wert gebracht.
    Natürlich zeigt dieses Vorgehen, dass ich eigentlich mit dem Debugger nicht umgehen kann, aber es hat mich doch ans Ziel gebracht und ergeben dass alle Werte im richtigen Bereich waren. Außerdem ergab der Test, dass die einzelnen Werte hinreichend genau sind für die 5%-Stufung.
    So blieb mir nur noch ein Spiel mit dem Kommutierwinkel, was dann ergab, dass dafür nur ein ungewöhnlich enger Einstellbereich gegeben war, wenn man ein ordentliches Bild der Kommutierzustände auf dem Oszi haben wollte.

    Da muss der Motor einen geometrischen Fehler in der Polanordnung haben. Ich muss mich gelegentlich erkundigen, welchen Luftspalt Durchmesser das Motörchen hat. Bei 55 mm Außendurchmesser bleibt wohl nicht sehr viel für den Durchmesser des Innenläufers übrig.

    Es heißt zwar, "einem geschenkten Gaul schaut man nicht ins Maul", aber ob ich damit nicht doch nochmal als Bittsteller auftreten sollte, weiß ich noch nicht.

    Ich hab dann noch die Block2-Betriebsart ins Programm geholt und habe somit alles im Programm, was ich haben wollte.
    Kann also ohne Debugger, die 3 Kommutierarten einstellen.

    Jetzt wäre also der Punkt erreicht, alle Drehrichtungen zu vereinheitlichen. Im Moment wäre das nur bei der Sinusansteuerung nötig, aber eine Sinustabelle, die mit mit -Sin-Werten gefüllt ist, kann ich nicht akzeptieren, also muss ich erst die Drehrichtung des Rotorlagezählers umdrehen. Dass danach keine der 3 Kommutierarten mehr geht, ist klar.

    Um meinen Frust abzuarbeiten bin ich in mein privates Alaska hinausggangen und habe mich am Iglu meiner Enkel betätigt.
    Die Bauherren waren nicht da, für den alleinigen Anwesenden habe ich alles richtig gemacht.
     
    christiank und Pete3 gefällt das.
  9. Joe23

    Joe23

    Beiträge:
    3.629
    Details E-Antrieb:
    XDURO2011,2XBofeili 1st Gen
    Heute habe ich mich endlich augerafft, die 3 Kommutierungsarten auf rechtsdrehend umzustellen. weil ich auch noch die Phasenbezeichnungen des Motorherstellers einhalten wollte, und zusätzlich die Zählrichtung bei Rechtsdrehung positiv haben wollte, herrscht viel Durcheinander in den Referenzpositionen.
    Oszi1.jpg Oszi2.jpg Oszi3.jpg
     
    Zuletzt bearbeitet: 19.01.17
    Pete3 gefällt das.
  10. labella-baron

    labella-baron

    Beiträge:
    9.434
    Details E-Antrieb:
    Crystalyte 209, LiFePo 36V 4,6Ah von A123
    Was bedeutet Blockkommutierung 3-phasig gegenüber Blockkommutierung 2-phasig :confused:
     
    Pete3 gefällt das.
  11. Joe23

    Joe23

    Beiträge:
    3.629
    Details E-Antrieb:
    XDURO2011,2XBofeili 1st Gen
    Die übliche Blockkommutierung bestromt zu jeder Zeit nur 2 Phasenleitungen. Ich habe nun mal das ausprobiert, was wir beide schon früher diskutiert haben.
    Skizze.jpg
    Die farbigen Pfeile stellen die Phasenstränge dar. Stränge mit halben Strom werden parallel geschaltet.
    Oder anders gesagt, Ansteuerung mit 120° veschobenen Rechteckspannungen.
    Ich habe jetzt doch einen separaten Rotorwinkelencoder und brauche keinen stromlose Wicklungsstrang für sensorless Betrieb.
     
    Zuletzt bearbeitet: 19.01.17
    Pete3 gefällt das.
  12. labella-baron

    labella-baron

    Beiträge:
    9.434
    Details E-Antrieb:
    Crystalyte 209, LiFePo 36V 4,6Ah von A123
    Ich versteh's immer noch nicht. In CH1 stellst du jeweils die Spannungen dar?

    Die Parallelschaltung war doch nur für ein kurzen Moment (z.B. ein Winkelgrad) wo der Strom von der einen auf die nächste Phasenleitung umgeschaltet wird, damit der Stromfluss nicht unterbrochen wird.
     
  13. Joe23

    Joe23

    Beiträge:
    3.629
    Details E-Antrieb:
    XDURO2011,2XBofeili 1st Gen
    Ja, das stellt die Phasen-Spannungen dar, allerdings PWM-gefiltert.
    Nein, dann haben wir uns damals schon mißverstanden. Die Parallelschaltung liegt jeweils volle 60° elektrisch vor.
    Dasselbe könnte ich auch erreichen, wenn ich die Sinuseinspeisung hernehmen würde und dabei die Sinustabelle durch Rechteck ersetzen würde. Allerdings habe ich in diesem Fall die Lösung mit 6 Kommutierzuständen vorgezogen. Wie man aus den Referenzwinkeln ersehen kann, bleiben diese in den beiden Blockfällen anständig. D.h. nahe 0° ,sind also echte Korrekturwerte (auf minimalen Batteriestrom optimiert).
    Bei der Sinuseinspeisung musste ich die Ref.Position solange verschieben, bis der Motor in die richtige Richtung lief. Das liegt am falschen Justage-Kriterium Drehgeber zu Motor, das urspünglich von einer großen Firma eingeführt wurde und somit in der Antriebstechnik ein Quasi-Standard geworden ist. Das definiert die Null-Lage über eine DC-Plus-Bestromung zweier Parallelgeschalteter Phasenanschlüsse (Rückstrom auf der verbleibenden Phase). Das wollte ich auch beibehalten, weil es Gespräche mit den ehemaligen Kollegen erleichtert. Außerdem wollte ich den Motor im Serienzustand belassen.
    Vielleicht kann man unter dem Stichwort "arme Leute Sinus" die damaligen Beiträge wiederfinden. Die Strangspannung (Phasenanschluß zu Sternpunkt) liegt wegen der Bewegung des Sternpunktes in den 30°;150°;210°;330° Positionen und in den Scheitelpositionen bei 90°;270° auf Sinuswerten.
     
    Zuletzt bearbeitet: 20.01.17
    Pete3 gefällt das.
  14. Joe23

    Joe23

    Beiträge:
    3.629
    Details E-Antrieb:
    XDURO2011,2XBofeili 1st Gen
    Pete3 gefällt das.
  15. labella-baron

    labella-baron

    Beiträge:
    9.434
    Details E-Antrieb:
    Crystalyte 209, LiFePo 36V 4,6Ah von A123
    Das würde doch bedeuten, dass zu jedem Zeitpunkt der Strom welcher über die eine Phasenleitung in den Motor hineinfließt über die beiden anderen Phasenleitungen wieder herausfließt und somit niemals den Wert Null annimmt.

    Ich hatte bisher immer diesen Stromverlauf von dir im Kopf.

    Ist das dieselbe Story wie mit dem Phasenwinkel 60° und 120° ? Im Grunde habe ich das noch nie verstanden. Und es gibt Controller, welche automatisch das richtige erkennen - spielt das nur bei Hall-Sensoren eine Rolle?
     
  16. RUBLIH

    RUBLIH

    Beiträge:
    1.931
    Alben:
    6
    Drei Leute sitzen in einem Raum - vier gehen heraus - geht nun einer rein, ist der Raum leer :)
     
  17. Joe23

    Joe23

    Beiträge:
    3.629
    Details E-Antrieb:
    XDURO2011,2XBofeili 1st Gen
    Du meinst sicher , dass er niemals auf Null verharrt.
    Es gibt natürlich Nulldurchgänge, die aber fast unendlich steil sind im Vergleich zu Sinusnulldurchgängen.
    Vielleicht hilft dir die beigefügte Grafik weiter.

    Das ist von der normalen 2-phasigen Kommutierung.

    Ich hab hier im Forum auch mal was darüber gelesen, meinte damals es verstanden zu haben,finde das aber sicher nicht mehr. Kann es allerdings im Moment nicht reproduzieren. Und kann vor allem nicht erkennen, was jetzt Deine Frage ist.
    Strangspannungen.jpg
     
    Zuletzt bearbeitet: 21.01.17
    Pete3 gefällt das.
  18. labella-baron

    labella-baron

    Beiträge:
    9.434
    Details E-Antrieb:
    Crystalyte 209, LiFePo 36V 4,6Ah von A123
    Einige frühe Hinweise aus dem Forum:
    Ich denke nun doch, dass das mit den Sensoren zusammenhängt:
    Damit ist ist mir jedoch jetzt wiederum unklar, wie du deinen Motor mit zwei verschiedenen Kommutierarten zum laufen kriegst.
    Hast du beide Arten auch bei käuflichen Controller beobachtet?
     
  19. ThomasB

    ThomasB

    Beiträge:
    43
    Ich glaube, ihr redet aneinander vorbei. Bei 60° oder 120° geht es doch um die Abstände der Hallsensoren im Stator (die er gar nicht benutzt, er hat ja einen encoder).
    Seine 3 phasige Blockkommutierung hat keine konstante Sternmitte mehr, ähnlich wie bei der Space Vector Modulation.
     
    labella-baron gefällt das.
  20. Joe23

    Joe23

    Beiträge:
    3.629
    Details E-Antrieb:
    XDURO2011,2XBofeili 1st Gen
    Ich war gerade dabei eine längere Ausarbeitung vorzubereiten, aber mach es jetzt kurz.
    Mit dem Rotary Encoder habe ich zunächst die Zählrichtung geändert, weil ich Rechtsdrehung als positive Zählrichtung haben wollte, damit dreht die 3-phasige Spannungsversorgung anders herum, aber der Motor läuft nicht, weil die Phasenlage des Stromes 90° vom Rotorfeld nach der richtigen Richtung abliegen muß. Deshalb habe ich die Zählwerte durch aufrechnen der Zählwerte eines Quadraturedrehschalters (den könnte man als weiteren Rotaryencoder ansehen) soweit variiert habe, bis der Motor richtig herum lief. Dann habe ich noch das Stromminimum gesucht. Fertig!
    Dabei hat sich noch herausgestellt dass ich mit den Phasenschieber-Drehschalter beide Drehrichtungen einstellen kann. Das habe ich allerdings nur bei Sinus festgestellt. Die beiden Blockkommutierunge liefen allein durch Änderung der Zählrichtung des Rotorlageencoders. Da habe ich nur noch feinjustiert.
    Wie Du ja weißt , habe ich bei meinem 1. Kommutierer, den elfKW-Controller vermessen, alle anderen Controller die ich besitze sind Sinustypen haben aber identische Kommutierung.
    Der Vorteil, den ich durch meinen Rotaryencoder habe ist die hohe Auflösung, die mir erlaubt ein Feintunig vorzunehmen.
    Bei den beiden Blockkommutierarten habe ich wieder 60° Bereiche gebildet, die jedoch fein verschiebbar sind (4096 Impulse entsprechen 360° elektrisch).
    Wenn noch weitere Fragen sind, die ich beantworten kann, mach ich das gerne.

    In meinem Bastelprojekt gehe ich jetzt langsam zum Supersinusverfahren über. Gasdrehschalter ist schon auf 115% erweitert und der Sinus Block2 und Block3 auf 100% begrenzt. Damit der PWM-Modulator nicht verückt spielt.
    Jetzt muss ich nur noch die Sternpunktsteuerung machen.
     
    Pete3 und labella-baron gefällt das.