Forum: Mikrocontroller und Digitale Elektronik BLDC startup


von Alex S. (thor368)


Lesenswert?

Tach allerseits,

tja nun wird dies also der zigtausendste thread zum Thema BLMC. Aber ich 
habe tatsächlich keinen vergleichbaren/nützlichen im Archiv gefunden.

Es geht um den Start eines BLDC Motors. In allen application notes und 
white papers, die ich bisher gelesen habe, wird mehr oder weniger 
lapidar zum Ausdruck gebracht, dass der Start ein komplexes Thema sei, 
nicht in den Rahmen dieses papers passe und deshalb von einer 
Zwangskommutierung ausgegangen wird.

Man kann sich nun denken, das mir Zwangskommutierung für meinen 
controler nicht reicht. Wenn ich erwähne, dass es um größere Antriebe 
für Elektromobile geht, dürfte das jedem einleuchten.

Ich suche also nach jeglicher Literatur zum diesem Thema. Falls da 
jemandem was konkretes einfällt kann man das hier ja auch durchgehen.

Thor

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


Lesenswert?

Hattest Du da schon mal einen ähnlichen Thread offen ?

Zur Zeit würde ich bei der Problemstellung "EC-Motor beim Anfahren" nur 
die Lösung über Sensoren zur RLE sehen.
Alle sensorless-Konzepte brauchen eine Drehzahl, bevor sie arbeiten.

Wir haben uns für den RC-Großmodellsport mal einen Motor von Plettenberg 
mit Hallsensoren bauen lassen, aber der Fahrtregler existiert noch 
nicht.

von Klaus (Gast)


Lesenswert?

Alex S. schrieb:
> Ich suche also nach jeglicher Literatur zum diesem Thema. Falls da
> jemandem was konkretes einfällt kann man das hier ja auch durchgehen.

Ohne genaue Kenntnis des Drehwinkels geht das nicht. Ich kenne ein 
Verfahren, mit dem der Drehwinkel sensorlos auch bei Stillstand bestimmt 
werden kann. Habe die Unterlagen nicht zur Hand, war IMHO jemand aus 
Wien und es gab auch ein Patent.

Die typischen (chinesischen) Brushlessnabenmotoren haben alle 
Hallsensoren. Meist wird dort Blockkommutierung verwendet, häufig auch 
mit Hallsensoren mit digitalem Ausgang. Wenn man richtig langsam werden 
will, kann man Hallsensoren auch analog auswerten und den Drehwinkel 
feiner als für Blockkommutierung nötig messen. Ausprobieren kann man 
sowas mit älteren Festplatten (die neueren sind sensorlos). Bei diesen 
waren die Komparatoren für die Hallsensoren im Motortreiber, die 
Sensoren selbst sind analog.

Ich hoffe, das hilft dir etwas weiter.

MfG Klaus

von Alex S. (thor368)


Lesenswert?

Danke schon mal für die Antworten.

@Bernd
> Hattest Du da schon mal einen ähnlichen Thread offen ?
Nicht das ich wüsste?!? Denkst du da an was konkretes?

> Zur Zeit würde ich bei der Problemstellung "EC-Motor beim Anfahren" nur
> die Lösung über Sensoren zur RLE sehen.
> Alle sensorless-Konzepte brauchen eine Drehzahl, bevor sie arbeiten.
Unwahr. aber weiter unten mehr.

> Wir haben uns für den RC-Großmodellsport mal einen Motor von Plettenberg
> mit Hallsensoren bauen lassen, aber der Fahrtregler existiert noch
> nicht.
Ja, das ist dann die elegante Variante;) Bei mir wird eher eine 
Lichtmaschine herhalten müssen und die haben nur gaanz selten 
Hallsensoren^^.

@Klaus
> Ohne genaue Kenntnis des Drehwinkels geht das nicht.
Korrekt darum geht es mir. Als ich mich in das Thema eingelesen habe bin 
ich auf eine webside gestoßen, die unter anderem eine Lösung für dieses 
Problem bot.

Es wurde dabei die Idee verfolgt, dass die Statorwicklungen eine 
Induktivität besitzen. Auf diese wirkt die Vormagnetisierung des Rotors. 
Durch bipolares messen von L ergab sich dann ein eindeutiges Pattern zu 
jeder Rotorposition.

Das Problem daran ist nur ich finde die side nicht mehr. Vielleicht 
erinnert sich ja noch jemand.

Thor

von Philipp (Gast)


Lesenswert?

Diese Sensorlose methode, die auch bei niedrigen drehzahlen 
funktioniert, ist vermutlich viel aufwändiger, als dass du einfach 
sensoren auf die achse deiner Lichtmaschine montierst.

von Alex S. (thor368)


Lesenswert?

Eindeutig nicht, denn den Algorithmus kann ich schreiben. Sensoren muss 
ich schrauben. Signifikanter Unterschied!

Thor

von Klaus (Gast)


Lesenswert?

Alex S. schrieb:
> Eindeutig nicht, denn den Algorithmus kann ich schreiben. Sensoren muss
> ich schrauben. Signifikanter Unterschied!

Das ist die Methode, die ich erwähnte. Es ist nicht nur ein Algorithmus, 
du mußt den Strom in der Induktivität kontrolliert verändern, und dabei 
sehr genau die Spannung messen. Daraus kann man dann die Induktivität 
errechnen. Änderst du den Strom zu stark, weil z.B. deine 
Spannungsmessung nicht genau genug ist, beeinflusst du die Ansteuerung 
der Drehung, und der Motor kommt aus dem Tritt.

Inwieweit bei einer so groben Geometrie wie bei einer Lichtmaschine 
reproduzierbare Ergebnisse zu erwarten sind, kann ich nicht beurteilen. 
Die Motoren, die zu diesem Verfahren verwendet wurden, sowie die 
Ansteuerungen waren alle vom Feinsten, so 14 bis 16 Bit PWM, 0 bis 
einige 10 Tausend Umdrehungen.

Die hatten Probleme, daß die Fliehkräfte Lager und Motoren nicht 
zerreißen.

Antriebe mit mit einigen kW und dazugehörige Steuerungen (eigentlich 
alle mit Sensoren) kriegt man aus China. Da Laufen so 100 Millionen 
Elektroroller mit 3 bis 5 kW täglich im Straßenverkehr. In manche 
Städten sind 2Tackt Roller ganz verboten. Schau mal z.B bei alibaba 
rein. Hier gibts Motoren bis 5kW http://www.goldenmotor.com/.

MfG Klaus

von Ralf (Gast)


Lesenswert?

@Klaus
Ich denke Du meinst Manfred Schrödl aus Wien. Der beschreibt zumindest 
eine Methode die die sensorlose Regelung auch bei kleinen Drehzahlen 
ermöglicht indem bestimmte Testpulse auf den Motor gegeben werden.

Gruß,
Ralf

von Alex S. (thor368)


Lesenswert?

Ich denke wir kommen weiter, wenn wir auf einem theoretischen level 
bleiben. Also zurück zur Frage. Kennt jemand gute Doku zum Thema 
sensorlose Nulllagenerkennung?

Die Atmel app sheets kann man in der Pfeife rauchen. Die habe ich alle 
durch. Bei Microchip bin ich noch dabei.

Thor

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


Lesenswert?

Die App-Notes von Microchip habe ich durch.
Ein Seminar mit denen habe ich auch genossen.
Die App-Notes von Atmel habe ich teilweise gelesen.

Von Sensorless Lageerkennung bei Stillstand stand da nichts.

Evtl. hilft es ja, einfach ein starkes Magnetfeld vorzugeben 
(Sinusförmig drehend), damit der Rotor einfach fest folgen muß.

von Klaus (Gast)


Lesenswert?

Ralf schrieb:
> @Klaus
> Ich denke Du meinst Manfred Schrödl aus Wien. Der beschreibt zumindest
> eine Methode die die sensorlose Regelung auch bei kleinen Drehzahlen
> ermöglicht indem bestimmte Testpulse auf den Motor gegeben werden.

Ja, ich hab da mal ein Seminar besucht. Da war auch von einem Patent die 
Rede.

MfG Klaus

von Alex S. (thor368)


Lesenswert?

>  damit der Rotor einfach fest folgen muß.

Leider muss er nicht. Ein BLCD ist ja keine Asynchronmaschine. Wenn die 
Phasenlage nicht exakt passt, erzeugt er nicht das geringste Drehmoment. 
Sollte der Rotor dem Feld nicht folgen können springt er abwechselnd vor 
und zurück, sodass sich das Drehmoment aufhebt.

In den appnotes wird einfach davon ausgegangen, dass ein BLDC wie zB 
eine Benzinpumpe immer das selbe Startverhalten hat und deshalb der 
Start zuverlässig durch einmaliges Parametrieren des start-up 
Algorithmus gelöst werden kann. Aber das ist bei Elektromobilen eben 
nicht der Fall. Das erforderliche Drehmoment und damit das gesamte 
Startverhalten kann erheblich variieren.

Microship war übrigens auch keine Hilfe. Ich arbeite jetzt jede 
Chipschmiede einzeln durch aber vielleicht fällt ja doch noch jemandem 
was ein.

Thor

von Klaus (Gast)


Lesenswert?

Alex S. schrieb:
> Ich arbeite jetzt jede
> Chipschmiede einzeln durch aber vielleicht fällt ja doch noch jemandem
> was ein.

Ich habe mich mit dem Thema seit längerem immer mal wieder beschäftigt. 
Außer dem Ansatz von Manfred Schrödl aus Wien habe ich nichts gefunden. 
Das Umfeld, in dem sich seine Anwendungen bewegen, ist mit deiner 
absolut nicht zu vergleichen. Da wird nichts entwickelt, man kombiniert 
fertige Module. Also ein DSP-Modul der Fa. XYZ für einige hundert 
Euronen, eine 3 Phasen Stromsteuerung mit 16 Bit PWM für tausend plus 
und einen Absolutwinkelencoder mit x Bit Auflösung. Das sind alles 
"Billigteile", die Vorgängermodelle haben das dreifache gekostet. Den 
Absolutwinkeldekoder hat er mit seinem Konzept rausgekickt, in der 
Hoffnung, daß das DSP Modul das schaft, oder das der nächst größere DSP 
nicht mehr kostet, als der Winkeldekoder. Man spart sich auch das 
Anschrauben, wie du es nennst.

Jetzt aber mal vorwärts gedacht:

Ich weiß zwar nicht, was du für Erwartungen an einen Elektromotor hast, 
der über das hinaus geht, was im Prinzip schon unsere Großväter kannten, 
hier mal meine Vorstellungen.

Der Anker soll sich unter Kontrolle eines externen Signals in jede 
beliebige Stellung bringen lassen, so schnell, wie es das 
Trägheitsmoment der Mechanik zulässt, und beliebig langsam. Außerdem 
soll immer das maximal mögliche Drehmoment zur Verfügung stehen.

Ich will das etwas erläutern. Bei hohen Drehzahlen ist das alles kein 
wirkliches Problem, erst bei niedrigen wird es schwierig. Ich stelle mir 
dazu immer ein altes Wagenrad vor, bei dem in die Speichen gegriffen 
wird, um es über ein Hindernis zu rollen. Dabei wird das Rad bei vollem 
Drehmoment nur um kleinen Winkel gedreht. Die heute üblichen Antriebe 
können das nicht. Entweder der Antrieb läuft mit voller Kraft, das Rad 
dreht durch, greift dann irgendwann doch und muß danach gebremst werden. 
Oder eine schleifende Kupplung sitzt zwischen Antrieb und Rad. Mit 
diesen Konzepten ist aber so was wie ein Segway nicht möglich.

Wie du aber selbst gesagt hat, geht das nur wenn man die Rotorposition 
kennt. Abgesehen von externen Decodern ist die Sache mit den 
Hallsensoren noch die einfachste. Als Magnet wird der sowieso vorhandene 
magnetische Anker verwendet. Und entgegen der landläufigen Annahme ist 
der Halleffekt analog, mit dem richtigen Sensor kann man mehr als nur 
eine Auflösung von 60° erreichen. Eine alte Festplatte ist da gut zum 
Üben.

Um zu sehen, was man für "kleines" Geld bekommen kann, habe ich mir 
einen Chinesischen 750W BLDC Nabenmoter mit Kontroler fürs Fahrrad 
besorgt. Ich hab das mal in ein altes Rad eingebaut, ohne bisher Motor 
oder Kontroler aufzumachen (Kontroler ist vergossen, beim Motor mußte 
ich mich beherrschen). Das Teil läuft auch an einer Steigung einfach an 
und tut es bis ca. 30kMh. *) Das Sensorkabel hat 5 Anschlüsse, ich 
vermute daher die einfache Blockkommutierung. Ob man damit meine 
Vorstellung erreicht, das Rad halb einen Bordstein hochgerollt zu 
halten, wie man das bei einem Griff in die Speichen sehr wohl hinkriegt, 
weiß ich nicht.

Ich warte jetzt auf einige kleinere Motoren, von denen ich einen auf 
jeden Fall von innen ansehen werde. Der Wind auf dem indischen Ozean 
scheint aber gegen mich zu arbeiten, oder Somalische Piraten haben den 
Container geklaut.

@Alex S.
Ich hoffe, ich hab dir nicht zu sehr dei Ohr abgekaut

MfG Klaus

*) Naaatürlich baue ich die Pedelec Sache noch ein, bevor ich auf der 
Straße damit fahre, versprochen!

von Alex S. (thor368)


Lesenswert?


von Klaus (Gast)


Lesenswert?

Hallo

Leider nur die halbe Miete:

> If we want a fast and safe startup we need to get the rotor position
> while the motor is stopped. Can we get the rotor position from this
> minimalist hardware?

und:

> I made a startup program that begins with the rotor position detection
> followed by a 32 phase rotor acceleration controlled by an EPROM table.
> With a WD hard disk like the one you can see in the video I need 260ms to
> put it rotating at 40 electrical turns/sec (600 rpm) with PWM=80 (in 256).

Der Autor versucht nicht, die Position bei einem langsam drehenden Motor 
zu messen. Er will nur die Startposition bestimmen, dann gehts weiter 
mit einer festen Beschleunigung. Er könnte auch eine Phase bestromen, 
warten bis der Rotor sich danach ausgerichtet hat, und dann loslegen.

MfG Klaus

von Sensorless (Gast)


Lesenswert?

Hi,

ich kann z.B. den MLX81200 sehr empfehlen. Die Doku dazu beschreibt das 
Reluktanzmessverfahren zur Positionsbestimmung bei stehendem/langsamem 
Rotor sehr genau. Falls man ein wenig rumsucht kann man sogar die 
Sourcen des Entwicklungssystems im Netz finden. Funktioniert alles 
einwandfrei. Eine weitere Alternative findet sich noch von Elmos. 
Funktioniert auch einwandfrei, ist allerdings eine ASIC-Lösung ...

Gruss

von dettmer (Gast)


Lesenswert?

Hallo
habe diesen Fred gerade mal durchgelesen
Bin mi nicht sicher ob wir das gleiche meinen es gibt aber eine Methode 
die die genaue Position ermittelt und  damit steuert kein Umschalten von 
fester Frequenz auf BEMF oder ähnliches.
Patent ist von einem Herrn Strothmann
Implementierung schon in einem IC der Firma ELMOS vorhanden
BLDC Motor controller E918.15
Jetzt nicht in Jubel ausbrechen das Ding hat einen eklatanten Nachteil
Es braucht den Sternpunkt der Starterwicklung rausgeführt.
Ich habe mir das Entwicklungsboard mal bestellt ist aber noch nicht da.
Anfahren mit höchstem Drehmoment usw ist schon interessant
Ich wollte die Drehstromlima eigentlich nur zum Benzinmotor starten 
missbrauchen und eventuell als Booster (Motorrad) das ist bei 500W Lima 
Leistung wohl eher nicht richtig interessant.
Mal sehen ich probier das mal aus
Gruss
Hartmut
zum ersten mal hier

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.