Forum: Mikrocontroller und Digitale Elektronik Fragen zu FOC-Implementierung STM32F1


von Jens Jørgensen (Gast)


Lesenswert?

Hallo,

ich möchte einen BLDC Motor mittels feldorientierter Regelung steuern.

Dazu habe ich einige Fragen.

1. Ich weiss nicht, wann der ADC für die Strommessung genau getriggert 
werden muss. Derzeit wird es getriggert, wo die Strangspannungen alle 
auf High sind bzw. genau in der Mitte der Center Aligned PWM Periode.

2. Auf der Low Side der MosFets sind 3 Shunt Widerstände für die 
Strommessung da. Da messe ich immer nur positive Spannung, bzw. 
positiver Strom.

Ich bin mir nicht sicher, ob ich wirklich den definitorischen Strom 
messe, welche eigentlich ab und zu negativ sein muss.

Daher frage ich mich wie wandle ich die gemessene Ströme in die 
definitorischen Ströme Ia, Ib, Ic. Wobei Ic = Ia + Ib ist.

Es wäre klasse, wenn jemand sich damit auskennt, mir auf meine Fragen 
antwortet.

Vielen Dank im Voraus.
Jens

von Jim M. (turboj)


Lesenswert?

Jens Jørgensen schrieb:
> 2. Auf der Low Side der MosFets sind 3 Shunt Widerstände für die
> Strommessung da. Da messe ich immer nur positive Spannung, bzw.
> positiver Strom.

Da die andere Seite des Widerstands vermutlich fest auf GND hängt sind 
für den ADC nur positive Spannungen überhaupt messbar. ADCs die negativ 
gegen GND messen können sind auf µCs extrem selten - IIRC können 
bestimmte ATXMEGA ein paar mV unterhalb GND noch messen.

von STK500-Besitzer (Gast)


Lesenswert?

Jens Jørgensen schrieb:
> 1. Ich weiss nicht, wann der ADC für die Strommessung genau getriggert
> werden muss. Derzeit wird es getriggert, wo die Strangspannungen alle
> auf High sind bzw. genau in der Mitte der Center Aligned PWM Periode.

ST hat zu dem Thema sogar ein Application Note herausgebracht. Die 
müsste jetzt jemand suchen...

von jemand (Gast)


Lesenswert?

STK500-Besitzer schrieb:
> müsste jetzt jemand suchen

von Jens Jørgensen (Gast)


Lesenswert?

a man is still waiting for an good answer

von Sebastian K. (sek)


Lesenswert?

Je nachdem wie du die Low-Side Strommessung in Hardware umgesetzt hast, 
siehst du über den Shunt an den Bottom FETs auch nur einen positiven 
Strom. Dieser fliest in der aktiven Phasen der PWM Periode. In der 
inaktiven Phase hast du dann einen Freilauf. Der Strom der gerade über 
das High Side FET durch die Phasenwindungen geflossen ist, fliest in 
gleicher Richtung durch das gegenüber liegende Bottom FET weiter. Du 
misst dann eine negativ Spannung über dem Shunt. Problem ist, dass du 
mit einem einfachen gegen Masse messenden Operationsverstärker den 
negativen Strom über dem Shunt nicht auswerten kannst. Und hier liegt 
auch die Herausforderung der Low-Side Strommessung.

Aus dem bisher Geschriebenen leitet sich ab, dass der Strom in einer der 
drei Phasen nur gemessen werden kann, wenn der Raumzeiger der FOC um 
mehr als 90° von der zu messenden Phase verdreht ist. Nehmen wir Phase A 
als Beispiel, welche der x-Achse des Koordinatensystems entspricht. Dann 
lässt sich der Strom I_A nur zwischen Pi/2 und Pi*3/2 messen.

Den Vollkreis kann man so in sechs Sektoren einteilen. In drei Sektoren 
lassen sich zwei Phasenströme messen, in den anderen dreien nur einer. 
Willst du aus dieser Messung die Größe des Stromvektors berechnen, musst 
diesen Messwert mit dem aktuellen Feldwinkel über die Kreisfunktionen 
verrechnen und den Strom "rekonstruieren".

von Jens Jørgensen (Gast)


Lesenswert?

Sebastian K. schrieb:

Vielen Dank für die ausführliche Erklärung.

von Christopher J. (christopher_j23)


Lesenswert?

Eine wirklich sehr gut gemachte Übersicht zu dem Thema:

http://www.embeddedlightning.com/bldc_motor/

von Jens Jørgensen (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich bin auf einen Schaltplan gestossen, der mich total verwirrt. Siehe 
Anhang.

Nun frage ich mich warum ist der Widerstand R5 parallel zum 
Motoranschluss. Würde man überhaupt dadurch den Phasenstrom messen?

von Christopher J. (christopher_j23)


Lesenswert?

Nene, R5 gehört zum Widerstandsnetzwerk um den Operationsverstärker. 
Hier geht es nur darum die Spannung zu messen. Einen Strom wird man 
durch einen 10k Widerstand wohl kaum messen wollen, jedenfalls nicht bei 
einem Motor der hunderte mA und mehr zieht. Der Strom wird wenn 
überhaupt eher an R6 gemessen.

Beitrag #5115657 wurde von einem Moderator gelöscht.
von Jens Jørgensen (Gast)


Angehängte Dateien:

Lesenswert?

Christopher J. schrieb:
> Nene, R5 gehört zum Widerstandsnetzwerk um den
> Operationsverstärker.
> Hier geht es nur darum die Spannung zu messen. Einen Strom wird man
> durch einen 10k Widerstand wohl kaum messen wollen, jedenfalls nicht bei
> einem Motor der hunderte mA und mehr zieht. Der Strom wird wenn
> überhaupt eher an R6 gemessen.

Danke! heißt das etwa, dass der Gesamtstrom über R8  und jeweiligen 
Phasenspannung R5, R6 gemessen werden können, wie in der neuen 
Darstellung.

Wie kann man die Phasenströme von dem Gesamtstrom extrahieren?

Angenommen, Der Spannungszeiger ist im Sektor 1. Dann ist der 
Gesamtstrom gleich Ia. bzw. Ib + Ic = -Ia, Ich weiss immer noch nicht, 
wie Ib und Ic genau aussehen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.