- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 10 von 24

Thema: BLDC Regelung

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    11.11.2012
    Beiträge
    10

    BLDC Regelung

    Hallo Leute,

    ich war mir nicht ganz sicher, ob ich das unter "Motoren" posten sollte, oder hier. Bitte entschuldigt also, wenn meine Frage nicht ganz passen sollte
    Ich habe ziemlich viele Fragen zur Ansteuerung eines BLDC.

    Ich bin im Moment daran, ein kleines Fahrzeug mit einem BLDC anzutreiben.
    Ich habe einen maxon motor, dieser verfügt über 6 Hallsensoren. Da mein Fahrzeug auch sehr langsam fahren können muss, habe ich ein Getriebe 1:10 drin; die minimalste Drehzahl vom Motor möchte ich zwischen 100..200 U/min regeln (Maximal dann 8000 U/min).

    Erst mal zur Ansteuerung des Motors. Diese mache ich wie folgt: jede Änderung der Hallsensoren löst einen Interrupt aus. Im Interrupt werden dann die aktuellen Hallsensor-Zustände abgefragt. Danach lege ich die zu bestromende Phase jeweils an einem Anschluss an Masse, mit dem anderen Anschluss "wackle" ich PWM-mässig zwischen 0V und 12V. So kann ich den Motor steuern. Ist das richtig so, oder sollte ich das anders machen? eine Seite fest auf Masse, und die andere PWM-mässig entweder offen oder 12V?
    seltsam an meiner Ansteuerung ist nämlich, dass der Motor am meisten Strom verbraucht, wenn der Tastgrad so um 50% rum ist. Und das, obwohl ich eine grosse Totzeit eingebaut habe, von 2 us! mit kleineren Totzeiten wird es nicht besser. Zwar dreht der Motor immer sauber, aber es irritiert mich, dass er bei 50% duty cycle mehr Strom braucht als bei 100%. Woran könnte das liegen?


    Dann, zur Regelung des Motors: ich messe mit einem Timer des Mikrocontrollers (ein STM32F4) die Pulsbreite der Hallsensoren, und diese versuche ich auf einen konstanten Wert zu regeln. Leider oszilliert meine Regelung und ist recht träge. Wenn ich Kp und Ti ändere, kriege ich das oszillieren im höheren Drehzahlbereich zwar weg (Stichwort Ziegler Nicholls), allerdings kann ich den Motor im Unteren Drehzahlbereich kaum regeln, weil ich ja nur 6 Impulse pro Umdrehung kriege. Ich dachte erst, das würde reichen, aber jetzt sehe ich, dass es ein wenig knapp ist. Oder liegt es tatsächlich an meinem Regler? den habe ich einfach so in 10 Minuten mal schnell zum Testen geschrieben und dann damit ein wenig experimentiert

    Ich überlege gerade, ob ich noch einen Drehgeber an den Motor bauen soll, damit ich mehr Impulse pro Umdrehung kriege. Das würde wohl mein Problem lösen, oder?

    dann, noch eine Frage. Im Moment fahre ich mit Blockkommutierung. Damit dreht der Motor gut, aber schöner wäre eine Sinuskommutierung. Ich habe mir jetzt überlegt:
    ich könnte einen Timer nehmen, und diesen z.B. alle 100 us einen Interrupt auslösen lassen. Und im Interrupt zähle ich dann, abhängig von meiner gewünschten Drehzahl, eine Variable phi hoch, die mir den Rotorwinkel angibt. Mit einer Sinus-LUT könnte ich dann den duty cycle für die PWM bestimmen. Und dann, alle 60°, kriege ich von den Hallsensoren einen Interrupt, und kann phi wieder synchronisieren. Ist das ein möglicher Ansatz?

    Noch besser wäre eine feldorientierte Regelung, ich möchte aber nicht unbedingt die Phasenströme messen. Wäre es auch möglich, eine solche zu bauen, wenn ich nur die Ströme an den lowside MOSFETs messe?

    Ich hoffe, ihr könnt mir mit meinen Fragen ein wenig weiter helfen.

    Wichtig: ich bin noch im Studium, also verzeiht mir, wenn ich teilweise etwas naiv Frage

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    27.08.2004
    Ort
    Kreis Starnberg
    Alter
    59
    Beiträge
    1.825
    ... Danach lege ich die zu bestromende Phase jeweils an einem Anschluss an Masse, mit dem anderen Anschluss "wackle" ich PWM-mässig zwischen 0V und 12V ...
    Das Kurzschließen von Motorwicklungen ist in diesem Fall ungünstig. Die Generatorspannung verursacht einen hohen Strom in der Wicklung, dessen Magnetfeld wirkt der Antriebsrichtung entgegen. Der Strom verursacht entsprechende Erwärmung der Wicklung, der Wirkungsgrad ist schlecht. Unterbrechen ist richtig, gegebenfalls müssen aber hohe Abschaltspannungen über Freilaufdioden abgeleitet werden.

    ... Wenn ich Kp und Ti ändere, kriege ich das oszillieren im höheren Drehzahlbereich zwar weg (Stichwort Ziegler Nicholls), allerdings kann ich den Motor im Unteren Drehzahlbereich kaum regeln ...
    Bedenke dass sich die Regelstrecke nochmals völlig verändert, sobald der Motor mechanisch als Antrieb für das Fahrzeug eingesetzt wird. Drehzahlschwankungen gibt es dann wegen der hohen Masse kaum noch, entsprechend können (müssen) die Regelparameter angepasst werden.

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    11.11.2012
    Beiträge
    10
    Hallo,

    sorry für die späte Antwort. Ich hatte sehr viel zu tun...

    also, wegen dem Kurzschliessen der Motorwicklungen - da habe ich keine neuen Erkenntnisse gewonnen. Ich habe mal versucht, die PWM anders zu implementieren: nun liegt immer ein Anschluss fest auf Masse, der andere ist entweder offen oder auf +. Das hat den Stromverbrauch aber nur unwesentlich beeinflusst -- ist eigentlich ja auch klar, denn beim Motor handelt es sich ja um was induktives, d.h. der Strom fliesst eh noch weiter, wenn die PWM aus ist. Warum der Motor bei 50% duty am meisten Strom verbraucht, ist mir ein absolutes Rätsel. Ich schiebe die "Schuld" mal auf eine nicht so optimale Endstufe (vielleicht shoot through oder sowas).

    Zur Regelung - ich habe jetzt einen Drehgeber am Motor montiert, mit 1024 Inkrementen pro Umdrehung. Damit lässt er sich auch im unteren Drehzahlbereich super einfach regeln. Die Kommutierung läuft weiterhin über die Hallsensoren; ein Hardwaretimer wertet die Drehgebersignale aus. Ca. alle 100ms schaue ich nach, wie viele Inkremente der Timer gezählt hat, und regle dann auf die Anzahl Inkremente - so funktioniert das wunderbar!

    Jetzt komme ich zur feldorientierten Regelung. Meine Endstufe kann bei jedem lowside FET den Strom gegen Masse messen. Geht das so? eigentlich möchte man für eine feldorientierte Regelung ja den Strom in den Phasen kennen.

  4. #4
    Erfahrener Benutzer Roboter Experte Avatar von ikarus_177
    Registriert seit
    31.12.2007
    Ort
    Grein
    Alter
    31
    Beiträge
    601
    @bert89: ich arbeite auch gerade an einem Brushlesscontroller mit feldorientierter Regelung. Sieh dir dazu mal von Microchip die AN1078 an (auf deren Basis ich meinen Regler aufbaue), interessant für Schaltplaninspirationen ist auch der "dsPICDEM MCLV Development Board Users Guide".

    Falls du Interesse hast, kann ich dir den Schaltplan meines Reglers zukommen lassen (für den ich gerade die Platine geätzt habe, die Schaltung wurde also noch nicht getestet)!

    Schöne Grüße!

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    11.11.2012
    Beiträge
    10
    Hallo Ikarus,

    danke für den Tipp. Die AN schaue ich mir gleich an! Allerdings habe ich mit der Hardware am allerwenigsten Probleme. Eher Sorgen bereitet mir die Ansteuerung der Brücke! Eben diese Raumzeigermodulation, die ganzen Drehzeigertransformationen etc. Leider wird in der gängigen Literatur alles immer mystifiziert, obwohl es wahrscheinlich nicht soo kompliziert ist. Immerhin habe ich jetzt schon das Schema gezeichnet für eine Hardware incl. Motortreiber, Interface für die Hallsensoren und Drehgeber sowie eine Strommessung in allen 3 Phasen (jeweils am lowside MOSFET).

    Eine Frage taucht auch immer wieder auf -- für die Park-Transformation benötige ich ja den aktuellen Rotorwinkel. Der kann zwischen 0° und 360° liegen, ja? Nun, wie finde ich heraus, wo denn die Position 0° liegt? ich habe nur einen Inkrementaldrehgeber mit A und B Signalen, die mein Mikrocontroller in Hardware schön brav hoch zählt. Ich habe 1024 Inkremente pro Umdrehung, das sollte ja schon recht gut sein, oder?

    Gruss

  6. #6
    Erfahrener Benutzer Roboter Experte Avatar von ikarus_177
    Registriert seit
    31.12.2007
    Ort
    Grein
    Alter
    31
    Beiträge
    601
    Ich denke, das ist einfach Definitionssache, soll heißen, wenn du vor Hochlauf des Motors einfach zwei Wicklungen für eine gewisse Zeit bestromst und die dritte offen lässt, müsste das doch dem Winkel 0° entsprechen, oder?

    Eine andere Frage: die Application Note, die ich angesprochen habe, verwendet eine Sensorlose Implementierung, d.h. die Ermittlung des Rotorwinkels für die Park-Transformation geschieht über ein Modell des Motors, welches über einen "Slide-Mode-Controller" an das tatsächliche Motormodell angeglichen wird (über die Rückspeisung eines Korrektursignals). Den Teil, den ich nun nicht verstehe, ist jener, bei dem über Tiefpassfilterung dieses Korrektursignals Z die Back-EMF abgeschätzt wird (siehe ab S.12, im speziellen S. 14 unten). Wieso genau Tiefpassfilterung (das Modell enthält als zusätzlichen Term ja den Korrekturwert, der natürlich im physikalischen Motor nicht enthalten ist - kann man daher die beiden Größen zusammenfassen und die Back-EMF einfach als niederfrequenten Teil auffassen (der die "höherfrequenten" Störungen durch die Adaption des Algorithmus nicht enthält))?

    Schöne Grüße!

    EDIT: so wie es aussieht, verwendet auch die AN1078 für den Anlauf einen vorherige "Ausrichtung" des Stators - zu sehen z.B. auf Figure 1-20 (Seite 17).
    Geändert von ikarus_177 (22.11.2012 um 14:37 Uhr)

Ähnliche Themen

  1. Motortreiber für BLDC
    Von SirHonk im Forum Motoren
    Antworten: 1
    Letzter Beitrag: 29.01.2012, 15:29
  2. [ERLEDIGT] Bidirektionaler BLDC ?
    Von PICture im Forum Elektronik
    Antworten: 6
    Letzter Beitrag: 14.09.2011, 11:17
  3. [ERLEDIGT] BLDC mit 1V ?
    Von PICture im Forum Elektronik
    Antworten: 9
    Letzter Beitrag: 17.06.2011, 17:35
  4. 3 V BLDC's ?
    Von PICture im Forum Suche bestimmtes Bauteil bzw. Empfehlung
    Antworten: 0
    Letzter Beitrag: 29.03.2011, 18:13
  5. BLDC als Lictmaschine
    Von BlackDevil im Forum Elektronik
    Antworten: 15
    Letzter Beitrag: 23.12.2009, 13:17

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress