BLDC Kommutierung

Gast #7084030
Lesenswert?

Hallo,
ich arbeite aktuell daran einen BLDC mit Hallsensoren und PIC32 zu 
kommutieren. Im Leerlauf klappt auch alles super nur unter Last bricht 
die Drehzahl rapide ein. Nun habe ich etwas von Advanced kommutierung 
gelesen. Bedeutet das, man kommutiert bereits vor dem Hall Signal oder 
eher verzögert? Kann mir da jemand helfen um die Drehzahl unter Last 
stabiler zu halten?

Gruß Peter
#7084042
Lesenswert?

Schau dir mal die Konze BLDC ESC software an (falls du avr asm 
verstehst).

Eigentlich kannst du nach dem hochfahren auf eine fixe timerbasierte 
kommutierung umstellen. Der hall sensor sagt dir dann ob der rotor 
hinterherhinkt oder vorauseilt. Je nachdem jagst du dann mehr oder 
weinger strom durch die windungen.

Du hast dann noch ein gewisses phasenrauschen, aber die drehzahl ist 
quartzgenau stabil.
Gast #7084140
Lesenswert?

Klar will ich eine konstante Drehzahl. Ich weis aber auch, dass diese 
unter Last nicht Konstant bleiben kann weil der Motor vielleicht zu 
knapp bemessen ist. Aber er darf nicht ganz so in die Knie gehen. Nehmen 
wir ein Akkuschrauber. Der wird unter Last auch langsamer aber bringt 
volles Moment. Mein Motor bei Hall Kommutierung stirbt da voll ab.
(Firma: matzetronics) #7084176
Lesenswert?

Entweder ist der Motor einfach zu schwach (oder deine 
Versorgung/Endstufe) oder du musst einen Regler einstricken. Dazu gibts 
ja genug Rechenpower im PIC32. Ist-Grösse ist praktischerweise die Zeit 
zwischen 2 Hallevents.
Machst du Block oder Sinuskommutierung?
Vor allem bei Sinus kann man die Hallevents zeitlich etwas verschieben. 
Aber weniger fürs Drehmoment, sondern eher für die Geräuschentwicklung.
Beitrag #7084192 wurde von einem Moderator gelöscht.
(Firma: matzetronics) #7084198
Lesenswert?

Peter schrieb:
> Also nehme ich bei konstanter Drehzahl die Zeit zwischen zwei Hall
> Signalen, verschiebe das dann um x us nach vorne und behalte dann die
> Abstände wieder gleich?

Wie gesagt, das hat wenig Einfluss aufs Drehmoment, wenn die Sensoren 
richtig montiert sind. Man kann da ein wenig hin- und hershiften, aber 
ändern tut sich da eher was am Laufgeräusch.
Nein, wenn dein Motor zu schwach ist, musst du mit dem PIC nachregeln 
und zwar z.B. mit einem PID Regler. Die Sollgrösse bestimmst du und die 
Ist-Grösse ist der zeitliche Abstand von 2 Hallevents als Meßgröße für 
die Geschwindigkeit des Motors. Das fütterst du in den Regler und 
steuerst mit seinem Ausgang die Motor-PWM.

Ich habe an meinen Motoreelektroniken eine serielle Konsole und kann so 
im Betrieb die P,I und D Parameter ändern.
(Firma: matzetronics) #7084203
Lesenswert?

Peter schrieb:
> Aber mehr als 100% Duty geht ja nicht. Trotzdem bricht die
> Drehzahl ein…
>
> Wenn ich Phase Advanced google finden sich Diagramme dass das Drehmoment
> und Drehzahl größer werden
Das ist aber sehr abhängig von der Drehzahl - du müsstest diese auf 
jeden Fall in die Schieberei des Umschaltpunktes mit einbringen. Sonst 
gibts nämlich Punkte, an denen der Motor gar nicht mehr anläuft oder 
Drehmoment verliert.
Aber wenn du schon auf 100% bist, ist eh alles vorbei. Dann ist der 
Motor einfach zu schwach für den vorgesehenen Zweck. Da hilft Zeitpunkte 
shiften auch nicht mehr.
Gast #7084793
Lesenswert?

Vielleicht mal die Abgabeleistung mit den Nenndaten des Motors 
abgleichen.
Oder das ganze mit nem gekauften Regler vergleichen.

Wenn die Kommutierung grob falsch programmiert ist kanns natürlich sein, 
dass da kein Drehmoment rauskommt.
(Firma: matzetronics) #7084992
Lesenswert?

Stephan schrieb:
> Wenn die Kommutierung grob falsch programmiert ist kanns natürlich sein,
> dass da kein Drehmoment rauskommt.

Das ist ja leicht zu prüfen. Der Motor muss einfach in jeder Lage von 
alleine anlaufen und durchziehen. Mehr kann da nicht schief gehen. Wenn 
das kein selbstgebauter Motor ist, wird die Lage der Sensoren auch 
richtig sein.
Gast #7085023
Lesenswert?

Ich habe heute mal das vorauseilende Schalten Probiert. Egal ob bei 10° 
oder 60° im Unterschiedzu 0° wird die Drehzahl im Leerlauf höher. Bei 
60° klingt das Motor wie eine Drohne, was bei 0° Teilweise ein holpern 
ist. Unter Last fällt die Drehzahl dann aber bei jeer Eisntellung genau 
so weit ab wie ohne vorauseilendes Schalten.
Gast #7085035
Lesenswert?

Getestet habe ich jetzt bei 18 Volt und 60 Ampere, da fällt es stark 
auf. Geteste wird mit dem MCVL-2 von Microchip. Diese Paltine ist aber 
nur für 10 Ampere ausgelegt. Eventuell ist das Layout zu schwach? Die 
Mosfet habe ich zu IRFS7430 getauscht.
#7085040
Lesenswert?

Wenn der Motor ja Permanentmagneten drin hat, kannst du das Drehmoment 
abschaetzen. Nimm einen Akkuschrauber und drehe am Motor. Der Strom der 
rauskommt, ist proprtional zum Drehmoment, die Spannung proportional zur 
Drehzahl.
Also einfach mal den Motor mit Widerstaenden belasten und den Strom 
messen.


Die 100% dutycycle gehoeren natuerlich zu einer Spannung. Allenfalls 
kann man die spannung erhoehen..
(Firma: matzetronics) #7085064
Lesenswert?

Peter schrieb:
> Geteste wird mit dem MCVL-2 von Microchip.

Das mag ja ein nettes kleines Board sein, aber schon die verbauten 
Shunts limitieren den möglichen Strom auf wenige Ampere. Da es ein 
Entwicklungstool ist, mussten die Microchip Jungs auch mit Fug und Recht 
keine dicken Endstufen verbauen, da 48V/10A für die vorgesehenen Motoren 
wirklich ausreichen.
Gast #7085521
Lesenswert?

Falls du wirklich die shunts ausgelötet hast, ist die Stromzufuhr zu den 
Fets und somit zum Motor unterbrochen. Den Abgriff Richtung MC würde ich 
an deiner Stelle nicht manipulieren, weil sonst möglicherweise der 
Stromfluss nicht mehr kontrollierbar ist, oder dein Controller Schaden 
nimmt.
Gast #7085662
Lesenswert?

Moin,
So ein Verhalten hatte ich auch mal. Motor wenig Kraft, lief nicht ohne 
weiteres an (man musste ihn anwerfen).
Das Problem saß wie immer vor dem Monitor. Das Timing stimmte 
schlichtweg nicht, bemerkt hatte ich es, als ich den Motor rückwärts 
laufen lassen wollte.
Ich hatte zum Schluss eine extrem simple SW, die je nach Zustand der 
Sensoren die passenden Spulen ansteuert - d.h. man holt aus den 
Sensordaten 6 Zustände raus und weist die den 6 möglichen Zuständen für 
die Spulen zu. Kein nach- oder vorauseilen, keine Berechnung 
irgendwelcher UPM oder sonstwas. Der BL-Motor verhält sich - wenn alles 
passt - wie ein normaler DC, d.h. die Drehzahl sinkt mit Belastung und 
der Strom steigt. Wenn diesen Stand erreicht hat, kann man eine 
Drehzahlregelung oben drauf packen.
(Firma: matzetronics) #7085681
Lesenswert?

Peter schrieb:
> Wieso ist die Chance verbaut auf 48 Volt zu gehen

Datenblatt des IRFS7430: VDS max. 40V

Marvin M. schrieb:
> Motor wenig Kraft, lief nicht ohne
> weiteres an (man musste ihn anwerfen).

Über dieses Stadium sollte der TE aber hoffentlich hinaus sein. Ich 
schrieb oben schon mal

Matthias S. schrieb:
> Der Motor muss einfach in jeder Lage von
> alleine anlaufen und durchziehen. Mehr kann da nicht schief gehen.

Ja, das kann man mit einem einfachen Array lösen, oder bei fertigen 
Kontrollern die richtigen Anschlüsse der Sensoren und Phasen 
ausprobieren. Das ist besonders lustig, wenn du, wie ich, einen 6kW 
Motor an einen Kelly Controller anpassen musst, ohne das der Lieferant 
die blasseste Ahnung hat und du in einer kalten Halle voller Schiffe 
sitzt.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren