Forum: Mikrocontroller und Digitale Elektronik Bruschless Treiber


von Rene K. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,
Ich bin gerade dabei mir einen BLCD-Treiber zu bauen. Allerdings möchte 
ich keine fertigen IC´s verwenden, sondern wirklich die elektronische 
kommutierung diskret erzeugen. Um einfach mal zu sehen und um ein gefühl 
für die schwierigkeit zu bekommen.
Bild 1 ist die Ansteuerung des BLCD für eine Phase zu sehen.
Bild 2 sind die Ansteuersignale für die 6 Mosfets zu sehen. Das oberste 
Diagramm zeigt die Spannung der sternwicklung, die meine rmeinung nach 
immer 6v sein müsste.
Bild 3 Zeigt die Strangströme die wie ich finde auch nicht so ganz 
richtig aussehen. eigentlich müssten die ströme um 120 grad versetzt 
sein, es sind aber nur 60 oder?

von Jens B. (jensboe)


Angehängte Dateien:

Lesenswert?

Ich glaube I(L1) ist verpolt gemessen. Die Ströme müssten in Summe immer 
0 ergeben.

Spannung über Wicklungen Bild 3 sehen gut aus. Ansteuerung auf Bild 2 
auch.
Im Anhang ein Bild wie die Spannung in "echt" an einem Widerstand 
aussehen, allerdings ist da zusätzlich noch eine PWM draufgelegt

Im Anhang ein realer Ausgang von einem Brushless-Controller Phase A und 
C mit PWM an ohmscher Last. Vergess die Spannungsskala, jedes Signal hat 
unten 0V ;)

von Rene K. (Gast)


Lesenswert?

Danke schön für die Antwort.
Ich kann ejtzt garnicht nachschauen ob ich tatsächlich falsch herum 
messe. Kann ich mir aber vorstellen dass das so ist. Wenn ich die Spule 
symbolmäßig "falsch" herum im schematic liegen habe und mit lt-spice den 
strom drüber messe, klar dann misst der das auch flasch herum :)  Anders 
könnte ich mir die 60° statt 120° verschiebung nicht erklären :)

Aber bitte gugg nochmal auf das Bild 2. Mich stört daran irgendwie das 
oberste plot. Dies soll der Sternpunkt der Motorwicklungen sein. Dort 
würde ich sowas wie 6V (in etwa konstant) erwarten. 6V weil ich ja 
zwischen 0 und 12V schalte und sich die spannungen und ströme hier 
aufheben müssten. Aber irgendwie hab ich hier ein rechteckoffset drinn.

von Rene K. (Gast)


Lesenswert?

Dann habe ich nochmal ne Frage. In deinem Bild nutzt durch PWM statt wie 
bei mir (ich schalte ja nur ein ein paar ms ein und dann wieder aus). 
Hab mir grad so überlegt, gerade wenn ich den motor starte um zur 
nenndrehzahl zu kommen, ist bei niedrigen drehzahlen die Impedanz 
besonders klein .. also sollte ich da auch pwm mäßig was tun, damit der 
motor nicht durchbrennt oder?
Ich müsste in abhängigkeit von der drehzahl den strom überwachen und 
regeln.

von Jens B. (jensboe)


Lesenswert?

Den Motor am Anfang auf eine Feedback-fähige Spannung zu bekommen ist 
gar nicht so einfach.
Wenn du erstmal die zwangskommutierte Ansteuerung fertig hast wirst du 
hinterher auf die Spannungsfeedback Ansteuerung umschalten, und dann 
über den Strom die Drehzahl regeln. Weil wenn du nur von Außen das 
Drehfeld vorgibts hast du keinen Plan ob der Rotor folgt oder nicht, und 
ist er einmal asynchron und bleibt irgendwann stehen. Außerdem kann es 
sein das der Motor unrund läuft und viel mehr Strom verbraucht als 
notwendig.

Motoren brennen von kurzfristig hohen Strömen nicht durch, bzw durch die 
Induktivitäten steigt er auch nur langsam. Wenn Motoren überlastet sind 
werden sie warm und irgendwann mag das der Wicklungslack nicht mehr. 
Durch das viele Metall wird die Wärme aber auch gut abgeführt.

Um die Sternpunktspannung beurteilen zu können bräuchte ich mehr 
Schaltplan, ganz 0V ist die aber auch nicht immer, ich glaube ich hatte 
da leicht einen "Sinus" drauf, weis ich aber nicht mehr genau.Die 
meisten Motoren führen den Sternpunkt auch nicht nach draußen, da muss 
man dann einen Sternpunkt nachbauen.

Falls der Fehler beim Treiber liegt (kann ich mir nicht vorstellen) kann 
ich dir nicht weiterhelfen.

Wenn du es mal aufbaust:
Kauf da gleich etwas Vorrat ein und nutze den Watchdog (falls du doch 
noch einen µC nimmst) Äußerst ungünstig kann deine Highside langsam 
hochohmiger wenn das Programm an der falschen Stelle steht. Irgendwann 
entweicht dann funktionswichtiger Rauch aus dem MOSFET. ;)

Oha, den Beitrag wollte ich schon früher abschicken bin aber erst jetzt 
wieder am PC.

von Stephan (Gast)


Lesenswert?

Rene kPunkt schrieb:
> kommutierung diskret erzeugen

Die Kommutierung meinetwegen. Zwangskommutierung beim Hochlaufen, 
Drehzahlsteuerung per PWM, voreilendes Timing, etc. sind in nem 
Controller gut zu machen. Diskret wirds aufwändig.

Rene kPunkt schrieb:
> also sollte ich da auch pwm mäßig was tun, damit der
> motor nicht durchbrennt oder?
> Ich müsste in abhängigkeit von der drehzahl den strom überwachen und
> regeln.

Durchbrennen eher weniger. (wenn die Sache erst mal richtig funktioniert 
und er unbelastet hochläuft) Ein paar zehntel Sekunden hält der das 
locker aus.
Erst beim Anlaufen unter hoher Last wirds problematisch, allerdings ist 
Back-EMF dann auch eher am Ende.

MOSFets und Stromversorgung müssen den Strom halt abkönnen. Vom 5-fachen 
Nennstrom solltest du mindestens ausgehen.


Rechenbeispiel (Motor unbelastet)

50g-Motor, 1000rpm/V, 10A Nennstrom, Drehmoment ca. 0.9Ncm/A
Trägheitsmoment=4.5e-6 kg*m^2 (sehr hoch angesetzt: m=20g, r=1,5cm)

Spannung: 10V
Leerlaufdrehzahl: 10.000 rpm = 166,7 rps > 60'000 °/s
Drehmoment bei 40A: 36Ncm = 0.36Nm
Drehbeschleunigung=Drehmoment/Trägheitsmoment = 80'000 rad/s^2 = 4.6e+6 
°/s^2

Macht 13ms oder gut 2 Umdrehungen bis Nenndrehzahl (unbelastet). 
Praktisch dauerts natürlich länger weil der Strom zurückgeht.


Stephan

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.