Forum: Analoge Elektronik und Schaltungstechnik BLDC-Motorsteuerung - Motor steigt bei 2 A aus


von Kalle (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich habe derzeit folgendes Problem: Sobald ich mit meinem Motorstrom 
über ca. 2 A komme, steigt die Kommutierung aus und der Motor wird 
wieder im Schrittmotorbetrieb angelaufen. Liegt das vielleicht an meinen 
Elkos die als Zwischenkreiskapazität unterdimensioniert sind? Die können 
nämlich nur 1 A Rippelstrom ab. Hat das damit überhaupt etwas zu tun? 
Die Betriebsspannung vom Motor beträgt 14 V

Es ist unabhängig ob der Strom durch die Drehzahl oder durch die am 
Motor hängende Last erreicht wird. Sobald die 2 A überschritten werden, 
funktioniert der Motorbetrieb nicht mehr richtig.

Das Netzteil kann einen Strom von 30 A liefern.

Hat jemand vielleicht einen Rat? Die Schaltfrequenz der MOSFETs beträgt 
32 kHz. Eine Absenkung der Schaltfrequenz war auch erfolglos.

Bin über jeden Tip dankbar!

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Kalle schrieb:
> Liegt das vielleicht an meinen
> Elkos die als Zwischenkreiskapazität unterdimensioniert sind? Die können
> nämlich nur 1 A Rippelstrom ab.

Wenn da wirklich nur 2* 220µF sind, kannst du da gut und gerne nochmal 
1000µF+ rauftun. Denk auch an robuste Verkabelung der gesamten Endstufe, 
dicke Drähte und so kurz wie möglich.

Kalle schrieb:
> Sobald die 2 A überschritten werden,
> funktioniert der Motorbetrieb nicht mehr richtig.

Oszillografiere doch mal die Spannung über dem Shunt. Wenn du da mit 
steigender Drehzahl Spitzen siehst, kommt es möglicherweise zum 
'Shoot-Through' und deine Totzeit ist zu kurz. Das ATA Dings kenn' ich 
nicht, aber es wird sicher eine Einstellmöglichkeit dafür haben.

Kalle schrieb:
> Die Schaltfrequenz der MOSFETs beträgt
> 32 kHz. Eine Absenkung der Schaltfrequenz war auch erfolglos.

Senkt aber die Verluste. Meistens ist es sinnvoll, die PWM gerade 
ausserhalb des Hörbereichs zu halten, das reicht.

: Bearbeitet durch User
von Kalle (Gast)



Lesenswert?

Hallo zusammen,

also als erstes zur Cross Conduction Zeit, diese stellt sich durch die 
RC-Kombination am Port CC vom Gate-treiber (ATA6843) ein, die bei Atmel 
Datenblatt hinterlegte Formel für die Berechnung der "Totzeit" lautet:

Kcc*Rcc*Ccc -> meine alte Konfiguration ergibt eine Totzeit mit der 
Konstanten Kcc(= 0,405) von 0,891µs

Habe den Widerstand heute 33kOhm erhöht um die Totzeit zu verlängern, 
somit ergibt sich eine neue Totzeit von 2,94µs

Die Zwischenkreiskapazität habe ich auf jeweils 1000µF erhöht.

Ein erneuter Versuch zeigt leider wieder das es trotzdem nicht 
funktioniert. Ein Oszilloskop habe ich leider nicht zur Hand aber ich 
zeichne einen der Phasenströme auf. Mir fällt auf das der Phasenstrom 
absolut unsymmetrisch verläuft. Könnte das durch einen Vorwiderstand am 
Gate behoben werden?

Man erkennt auch das sobald der Motor  aussteigt eine Strom- bzw- 
Spannungsspitze erkennbar ist. Wird wahrscheinlich daran liegen, dass 
der High-Side und Low-Side Schalter der halbbrücke durchschalten.

Ich habe insgesamt 3 Grafiken angehängt, bei der ersten sieht man den 
unsymmetrischen Phasenstromverlauf. Die zweite Grafik zeigt den 
Zeitpunkt an dem der Motor aussteigt (hoher Strom. -bzw. 
Spannungsimpuls). Die dritte Grafik zeig den symmetrischen Phasenstrom, 
vom BLDC-Controller der original für die Ansteuerung des Motors 
verwendet wird. Der Phasenstrom ist jeweils hellgrün in der Grafik 
dargestellt.

Wenn ein Vorwiderstand helfen könnte, wie groß sollte dieser ca. sein?

Vielen Dank!

von qwerty (Gast)


Lesenswert?

Wenn der Motor wie ein Stepper Motor agiert, dann ist der Motor fähig 
schneller zu kommutieren als die angelegte Kommutierungsrate.

Wenn die Kommutation so früh erfolgt, dass der Motor nicht folgen kann, 
führt das dazu, dass der Motor zu spät die nächste Phase erreicht, bei 
gleichzeitiger Stromerhöhung. Das soll abrupt passieren, nicht weit von 
der idealen Rate. (AN857)

Das Problem könnte also vielleicht auch an einem falschen Zeitpunkt der 
Kommutierung liegen.

Im Prinzip misst man die BEMF und die Zeit zwischen zwei zero crossings, 
was 60° entspricht. Insgesamt sind es ja 6 Phasen mit je 60°. Die Zeit 
zwischen zero crossings wird durch zwei dividiert, wodurch man den 
Zeitpunkt für die Kommutierung der nächsten Phase, nach dem letzten zero 
crossing erhält. Wobei die Kommutierung tatsächlich einige Grad früher 
erfolgen soll, was man als sogenanntes Timing bezeichnet.

Es stimmt also evt. etwas nicht an der BEMF Messung oder Berechnung der 
Kommutierungsphasen. Vielleicht helfen die entsprechenden application 
notes (AN857, AN901 etc.) auch weiter.

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.