Forum: Mikrocontroller und Digitale Elektronik Brushless Motor dreht zu langsam


von schrammler (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich versuche gerade einen Brushless Motor anzusteuern. Nur leider will 
der Motor nicht die volle Drehzahl erreichen. Das heißt, er dreht – aber 
nicht schnell genug. Mir ist bewusst, dass mein derzeitiges Testprogramm 
mit den delays nicht optimal ist. Ich möchte den Motor nur erst einmal 
so einfach wie möglich auf die maximale Drehzahl bringen. Ich bin mir 
auch nicht so sicher ob ich den Motor mit der richtigen Frequenz 
ansteuer.
Als Prozessor nutze ich einen Atmega8. Das ganze soll später mal ein 
Microkopter werden und ist derzeit noch auf einem Steckbrett aufgebaut.
Es wäre nett, wenn jemand mal kurz über das Programm gucken könnte.

von Mazze (Gast)


Lesenswert?

Fuse-Settings und evtl. der Schaltplan wären hilfreich.

von schrammler (Gast)


Angehängte Dateien:

Lesenswert?

Im Anhang ist die Schaltung wie ich sie auf dem Steckbrett aufgebaut 
habe. Die ISP hab ich im Schaltplan weggelassen.
Bei den Fuses hab ich nur den internen 8MHz Oszillator aktiviert. 
BODLEVEL ist 2V7. SPIEN und BOOTRST sind gesetzt.
Nur so als prinzipielle Frage: Ist es mittels Zwangskommutierung 
überhaupt möglich an die normale Leistung des Motors heranzukommen? Weil 
er schon ein bisschen Wind macht. Zum Abheben würde das aber noch nicht 
reichen...

von Naseweis (Gast)


Lesenswert?

Hi,
"dreht zu langsam" im Sinne von was? Soll heißen, was ist Deine 
Erwartung und wie sieht die Realität aus. Der Unterschied zwischen 
elektrischer und mechanischer Drehfrequenz ist Dir bewußt? Polzahl des 
Motors bekannt? Fragen über Fragen....

von schrammler (Gast)


Angehängte Dateien:

Lesenswert?

Danke erstmal für die Antwort!
Also ich nutze einen ROXXY BL-Outrunner 2815 als Motor. Und der sollte 
ja laut Datenblatt eine maximale Schubkraft von ca 400g haben. Ich habe 
daher jetzt den Motor an einen kleinen Holzblock mit etwa diesem Gewicht 
geschraubt und versucht diesen anzuheben. Leider ist an ein Abheben noch 
lange nicht zu denken. Der Motor macht Wind, aber nicht mehr.

Den Unterschied zwischen elektrischer und mechanischer Drehfrequenz 
meine ich verstanden zu haben. Im vorliegenden Fall wäre mein Motor 
14-polig. Das heißt ich bräuchte 7 elektrische Umdreheungen für eine 
mechanische Umdrehung, was wiederum 42 Kommutierungen für eine 
mechanische Umdrehung bedeuten würde. Sehe ich das richtig?

Meine Hauptfrage ist, was ich tun muss um die drehzahl des Motors auf 
einfache Weise (also zunächst ohne Spannungsmessung am Motor) zu 
maximieren. Oder ist das gar nicht möglich? - Ich wollte den Motor 
eigentlich erst einmal nur auf die maximale Drehzahl beschleunigen, aber 
ich bin mir halt mit den ganzen Zeiten für die PWM recht unsicher.

Ich hab den Code jetzt auch noch einmal mit einem Timer und Anlauframpe 
umgesetzt (siehe Anhang), aber irgendwas mache ich noch falsch. Die 
Brushless_Driver.h ist gleich geblieben

von Karl H. (kbuchegg)


Lesenswert?

schrammler schrieb:
> Danke erstmal für die Antwort!
> Also ich nutze einen ROXXY BL-Outrunner 2815 als Motor. Und der sollte
> ja laut Datenblatt eine maximale Schubkraft von ca 400g haben.

Der Motor selbst hat überhaupt keine Schubkraft.
Der Schub, der erzielbar ist, hängt nicht ganz unwesentlich von der 
Qualität der Luftschraube, ihrem Durchmesser und der Steigung ab. 
Ausserdem erreicht das System seinen höchsten Schub auch nicht bei der 
höchsten Drehzahl.

Wenn du also denkst, deine Drehzahl ist zu niedrig, dann miss sie und 
vergleiche mit dem Datenblatt, wo du dich befindest. Deine "Messung" ist 
insofern keine Messung um darüber sagen zu können, dass die Drehzahl 
nicht erreicht wird.

von Gelöscht (kami89)


Lesenswert?

schrammler schrieb:
> Meine Hauptfrage ist, was ich tun muss um die drehzahl des Motors auf
> einfache Weise (also zunächst ohne Spannungsmessung am Motor) zu
> maximieren. Oder ist das gar nicht möglich? - Ich wollte den Motor
> eigentlich erst einmal nur auf die maximale Drehzahl beschleunigen, aber
> ich bin mir halt mit den ganzen Zeiten für die PWM recht unsicher.

Vergiss das. Es ist nicht möglich mit Zwangskommutierung den Motor mit 
vollem Schub laufen zu lassen. Das geht nur mit richtiger, 
elektronischer Kommutierung.

Brushless-Controller für Modellbaumotoren

von schrammler (Gast)


Lesenswert?

Ok, wenn ich ehrlich bin hab ich der Luftschraube bis jetzt noch nicht 
so viel Bedeutung zugemessen. Auf meiner jetzigen steht 10x4.5R drauf. 
Nachdem ich jetzt ein bisschen gelesen habe glaube ich aber das die 
gehen sollte.

Wahrscheinlich ist es wirklich das Beste wenn ich als nächstes die 
elektr. Kommutierung mit einbaue, da der Motor im Moment auch recht heiß 
wird.
Ich wollte eigentlich nur so einfach wie möglich beginnen und dann immer 
das nächste mit dazunehmen.

von Bernd R. (Firma: Promaxx.net) (bigwumpus)


Lesenswert?

Bei Zwangskommutierung läßt du die Wicklungen des Motors gegeneinander 
kämpfen. Einmal soll er beschleunigen, im nächsten (falschen) Moment 
schaltest du wieder um und es wird jetzt gebremst.

Das geht nicht!

Dre Motor dreht wie er will, der uC horcht aufmerksam und steuert die 
Wicklungen so an, wie der Motor es will.

Die Drehzahl wird über die Spannung (PWM) geregelt.

von S.Tronzo (Gast)


Lesenswert?

Nochwas. Hoehere Drehzahlen bedingen auch hoehere Spannungen. Am Besten 
mal den Motor in die Akkubohrmachine einspannen, antreiben und die 
Spannung messen.

von Rolf M. (rmagnus)


Lesenswert?

schrammler schrieb:
> Ok, wenn ich ehrlich bin hab ich der Luftschraube bis jetzt noch nicht
> so viel Bedeutung zugemessen.

Solltet du aber. Darüberhinaus ist es nicht nur vom Propeller, sondern 
auch von der Geschwindigkeit stark abhängig. Der höchste Schub wird 
nicht im Stand erreicht, sondern bei einer von Propeller und Drehzahl 
abängigen Fluggeschwindigkeit. Da du im Stand arbeitest, mußt du also 
mit weniger Schub rechnen.

> Wahrscheinlich ist es wirklich das Beste wenn ich als nächstes die
> elektr. Kommutierung mit einbaue, da der Motor im Moment auch recht heiß
> wird.

Das ist kein Wunder.  Du "pumpst" quasi mit Gewalt maximale Leistung in 
den Motor, und der Teil, den er nicht zum Drehen verbraucht, wird halt 
verheizt.

> Ich wollte eigentlich nur so einfach wie möglich beginnen und dann immer
> das nächste mit dazunehmen.

Dann kauf dir doch für den Anfang fertige Motorsteller.

S.Tronzo schrieb:
> Nochwas. Hoehere Drehzahlen bedingen auch hoehere Spannungen. Am Besten
> mal den Motor in die Akkubohrmachine einspannen, antreiben und die
> Spannung messen.

Normalerweise wird für die Motoren die spzeifische Drehzahl in U/min/V 
angegeben, wobei das die Leerlaufdrehzahl ist. Unter Last wird sich die 
noch rezudieren.

von Joachim... (Gast)


Lesenswert?

Ohne deinen Code jetzt gelesen zu haben... du mußt zwingend die 
Drehzahl über die zurückkommende Elektromotorische Kraft auf der nicht 
bestromten Phase ermitteln (Komparator) und danach den Schaltzeitpunkt 
errechnen - alles andere führt nicht zum Ziel.

Guck mal bei open-bldc.org.

von besserwisser (Gast)


Lesenswert?

Du kannst aber auch die phasenstroeme messen und Feld orientiert 
Regelung machen. Ist im Prinzip ganz einfach.

von Simon K. (simon) Benutzerseite


Lesenswert?

Ich kann dir auch aus Erfahrung sagen, dass das ein steiniger Weg werden 
kann, der ein paar Graue Haare kosten kann, bis die elektronische 
Kommutierung ausreichend gut funktioniert :-)

von Jürgen (jliegner)


Lesenswert?

besserwisser schrieb:

> Du kannst aber auch die phasenstroeme messen und Feld orientiert
> Regelung machen. Ist im Prinzip ganz einfach.

da hat der besserwisser aber vergessen zu sagen, dass er das mit "nur im 
Prinzip ganz einfach" auch wirklich wörtlich meint. Die Realisierung ist 
alles andere als trivial. Sensorlos erst recht nicht.

von besserwisser (Gast)


Lesenswert?

Zugegeben, es wird schon ne Stunde dauern, geeignete Hardware 
vorausgesetzt. Aber schwer ist anders.

von schrammler (Gast)


Lesenswert?

Danke für die vielen Antworten! ;)
Ich hab zwar leider die nächsten 2 Tage keine Zeit das alles 
auszuprobieren, aber werde mich danach hinsetzen und das mit der 
elektronische Kommutierung angehen.

Simon K. schrieb:
> Ich kann dir auch aus Erfahrung sagen, dass das ein steiniger Weg werden
>
> kann, der ein paar Graue Haare kosten kann, bis die elektronische
>
> Kommutierung ausreichend gut funktioniert :-)

Das glaube ich dir gern, zumal ich auch noch lange nicht perfekt im 
Programmieren bin ... Aber mich hetzt ja keiner und man lernt nur dazu 
;)

von temp (Gast)


Lesenswert?

besserwisser schrieb:
> Zugegeben, es wird schon ne Stunde dauern, geeignete Hardware
> vorausgesetzt. Aber schwer ist anders.

Ich weiss nicht was dein Beitrag hier soll. Hier ist jemand der hat 
schon Probleme eine Blockkommutierung hinzubekommen. Dem dann 
vorzumachen eine FOC ist Spielerei halte ich für dreist oder arrogant. 
Wenn man das komplett selbst Programmieren will gehen da wohl einige 
Wochen oder Monate drauf, ausreichende Kenntnisse in dem Bereich 
vorausgesetzt. Irgend eine AppNote zu kopieren kann jeder, da kann man 
dann aber gleich kaufen. Und wann man durch den Code dieser AppNote 
nicht durchsteigt sollte man es lieber gleich lassen.

Wenn du hier nur deinen langen .... zeigen willst, dann such dir lieber 
eine andere Spielwiese und versuche nicht den Rest hier dumm zu machen.

Oder zeig mal deine selbst entwickelten Projekte. Vielleicht erzittern 
wir dann alle gemeinsam vor dir.

von schrammler (Gast)


Lesenswert?

Danke nochmal an alle für die Antworten. Habe mir jetzt eine Platine 
erstellt und die elektronische Kommutierung eingebeut - und es geht ;)

Jetzt kommt die Steuerplatine ...

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.