Forum: Analoge Elektronik und Schaltungstechnik Brushless Motor (BLDC) will sich nicht drehen


von Ben S. (theben)


Angehängte Dateien:

Lesenswert?

Hallo Leute,
ich habe von einem Studienkollegen ein Projekt übernommen das er ganz 
schön vergurkt hat. Leider stelle ich mich momentan nicht besser an. 
Als ich die Steuerung bekommen habe lief nichts mehr da der 
Leistungsteil einen satten Kurzschluss fabrizierte. Ich habe dann den 
Leistungsteil, also alles ab den Motsfet Treibern LM5107 neu aufgebaut. 
Die Kommutierung übernimmt der TB6556FG. Normalerweise wird der von 
einem µC gesteuert der die Geschwindigkeit regelt. Zu Testzwecken  regle 
ich momentan die Geschwindigkeit mit einem Poti  an dem V_E Pin.

Zu meinem Problem: Der Motor macht nur eine Drehung und bleibt dann 
leicht zuckend an einer Stelle stehen. Wenn ich die Welle von Hand etwas 
weiter drehe, läuft der Motor wieder eine Runde und bleibt genau wieder 
an derselben Stelle stehen. Mit meinem DSO habe ich die U V W X Y Z 
Ausgänge gemessen und da scheinen mir die Signale gescheit zu sein. 
Jedenfalls sind sie Symmetrisch (je nach Motorstellung) Als ich dann die 
Signale am LO Ausgang eines Mosfet Treibers nehmen wollte ist mir gleich 
der zugehörige Mosfet durch gebrannt.

Hat einer von euch eine Idee woran dieses Problem liegen könnte? Sind 
vielleicht die Hall Sensoren vertauscht? Habe mich daran noch nicht ran 
getraut um nicht noch mehr kaputt zu machen.

Danke Ben

von MaWin (Gast)


Lesenswert?

Hmm, deine Schaltung nutzt nicht die Überstrom-Erkennung I_DS,
was passiert mit dem REV Ausgang wenn deine Motor steht ?
Vielleicht sind ie Hallsensoren andersrum angeordnet.

Sind die Signale wenn du die Motorachse festhältst und langsam drehst 
(bei geringem Strom also niedriger Motorspannung) wie in dem Diagramm in 
dem Absatz ?

The modulation waveform is generated using Hall signals. The modulation 
waveform is then compared with the triangular wave and a sine-wave PWM 
signal is generated. The time (electrical degrees: 60°) from the rising 
(or falling) edges of the three Hall signals to the next falling (or 
rising) edges is counted. The counted time is used as the data for the 
next 60° phase of the modulation waveform. There are 32 items of data 
for the 60° phase of the modulation waveform. The time width of one data 
item is 1/32 of the time width of the 60° phase of the previous 
modulation waveform. The modulation waveform moves forward by the width. 
In the above diagram, the modulation waveform (1)’ data moves forward by 
the 1/32 time width of the

Ich bin noch nicht klar, was mit der Ansteuerung der high side und der 
dead time ist, ob die Polarität richtig ist und die dead time bei der 
Ansteuerung über 2 Leitungen pro Phase nicht auch lange Zeit beide aus 
haben kann, was dann zum verhungern der gebootstrappten high side 
Spannung führen würde.

von operator (Gast)


Lesenswert?

Versuch mal herauszufinden in welchem Winkel die Hallsensoren angeordnet 
sind. Normal ist 60° oder 120° Verschiebung.
Und dann nachschauen was beim Motortreiber eingestellt ist.

von Ben S. (theben)


Lesenswert?

Na das sehe ich ja. immer um 120° verschoben

von operator (Gast)


Lesenswert?

"22 SS 120°/180° select signal L: 120° turn-on mode, H or OPEN: 180° 
turn-on mode"

So wie ich es verstanden habe, benutzt du noch keinen uC richtig? Dann 
ist Pin22 Open und somit für 60° ausgelegt.
Führe diesen direkt auf GND und schau dann ob sich was bessert.

von Ben S. (theben)


Lesenswert?

Ich habe mal die Signale gemessen ohne den Motor Leitungen und habe den 
Motor jeweils auf die Hallsensorstellungen gedreht.
Hallsensor für U:
Ausgange am TB6556FG:
U low
X high
V low
Y PWM
W PWM mit deutlicher sinus Oberwelle
Z PWM

Hallsensor für V:
U PWM mit deutlicher sinus Oberwelle
X PWM
V low
Y high
W low
Z PWM

Hallsensor für W:
U low
X PWM
V PWM mit deutlicher sinus Oberwelle
Y PWM
W low
Z high

von Ben S. (theben)


Lesenswert?

Doch der µC ist dran nur das Signal zum V_E Pin gekappt und da ein Poti 
angeschlossen. der µC arbeitet noch. Aber das ist ne gute Idee da werde 
ich gleich mal das Programm checken

von asd (Gast)


Lesenswert?

Bist du sicher, dass der Leistungsteil geht?
Die Bootstrapkondensatoren mit 100nF kommen mir arg komisch vor.
Halt mal mit nem Oszi drauf was passiert.

von Ben S. (theben)


Lesenswert?

Den Leistungsteil habe ich selber nochmal nach gebaut. Ich wollte ja den 
auch durch messen aber da habe ich dabei einen Mosfet zerbraten, da bin 
ich jetzt ein bisschen vorsichtig. Bootstrapkondensatoren sind von der 
alten Schaltung übernommen die ja schonmal lief. Bis jemand 
intelligentes die Shottky Dioden weg gelassen hatte und mittem im Lauf 
die Stromversorgung ab und wieder angeklemmt hatte

: Bearbeitet durch User
von Ben S. (theben)


Lesenswert?

Um diesen Tread nicht offen sterben zu lassen hier meine letzten 
Erkenntnisse. Leider musste ich eine Weile auf neue Mosfets warten 
deswegen jetzt erst eine Meldung.

Letzte Regung war, dass sich die Welle um eine Drehung gedreht hat dann 
leicht zuckend stehen blieb und erst durch leichtes Weiterdrehen per 
Hand konnte der Motor wieder von selbst weiter drehen bis er wieder eine 
Runde rum war...

Deswegen habe ich ein wenig mit Phasen gespielt. Nach dem Tausch zweier 
Phasen blieb der Motor stark zuckend an einer Stelle stehen. Das 
Weiterdrehen per Hand war nicht mehr Möglich.

Dann wurde die Original Polung wieder hergestellt. als nächstes wurden 
die Phasen alle eins weiter gerückt, also 1 auf 2, 2 auf 3 und 3 auf 1 
und siehe da! Es funktioniert! Also war es eine Vertauschung der 
Hallsensoren (die dann durch Tausch der Phasen wieder ausgeglichen 
werden konnte)

So und nun zum neuen Problem. Der Motor heult ein bisschen. Man merkt 
das hier etwas noch nicht richtig läuft. Per Hand kann der Motor leicht 
angehalten werden, also kein Drehmoment. Wenn ich die Spannungquelle ab- 
und wieder anklemme passiert es manchmal (also zufällig nach öffteren ab 
und anklemmen) das der Motor ruhig läuft und auch ordentlich Dehmoment 
bietet.

Hm woran könnte das liegen?

von Magic S. (magic_smoke)


Lesenswert?

Frequenz des Drehfeldes passt nicht zur Drehzahl.

von ich (Gast)


Lesenswert?

magic smoke schrieb:
> Frequenz des Drehfeldes passt nicht zur Drehzahl.

Wie kann das sein? Das Drehfeld wird direkt durch die Hallsensoren 
bestimmt, die hardwareseitig am gleichen IC angeschlossen sind wie die 
H-Brücken. Wie kann es dann eine andere Frequenz haben?

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


Lesenswert?

Miss doch mal mit einem Oszi die Ansteuerung und Gate, sowie die 
Phasenausgänge zum Motor.
Evtl. hast du eine ungünstige PWM Frequenz gewählt (wie hoch ist sie 
denn?).

ich schrieb:
> magic smoke schrieb:
>> Frequenz des Drehfeldes passt nicht zur Drehzahl.
>
> Wie kann das sein?

Gar nicht, ist natürlich Quak. Wieder mal der Irrtum, das die Frequenz 
des Drehfeldes die Umdrehungen des Motors bestimmt... Beim Sensor-BLDC 
ist es natürlich die Stromstärke in den Spulen. Die Kommutierung hat 
nichts mit der Drehzahl zu tun, sondern schaltet stur durch die 
Sektoren. Ich empfehle allen, die diesem Irrtum unterliegen, sich mal 
die Grundlagen z.B. in AVR447 von Atmel anzuschauen.

Wenn die 6 Sektoren der Hallsensoren sauber erkannt werden, könnte 
höchstens die Phasentabelle oder deine Sektorerrechnung Unsinn liefern, 
das ist aber leicht zu prüfen. Gebe wenig PWM auf den Motor und brems 
ihn (z.B. mit der Hand) ab, lass ihn langsam weiterprobieren und checke, 
ob es irgendeinen Sektor gibt, an dem er nicht von alleine weiter drüber 
will. So kannst du auch mal die Phasenausgänge durchgehen und zusehen, 
das die Phasen über alle Sektoren das machen, was sie sollen.

von Steffen W. (derwarze)


Lesenswert?

Das Gemeine an den Hallsensor BLDC-Motoren ist das es 36 Möglichkeiten 
gibt den zu verschalten. Aber nur eine davon geht richtig, auch wenn bei 
den anderen sich der Motor mehr oder weniger gut dreht. Nach den Farben 
der Anschlüsse kann man sich auch nicht richten, da macht jeder was er 
will. Habe da schon die verrücktesten Sachen erlebt.
Bleibt oft nur sich eine Tabelle zu machen und alle Kombinatinen zu 
probieren. Dabei immer den Motorstrom von der Spannungsquelle her 
begrenzen! So bleiben die FET heil. Dabei den Motorstrom messen, der 
darf im Leerlauf nur gering sein und bei leichter Belastung nicht 
wesentlich ansteigen. Gemeinerweise gibt es eine Betriebsart bei der der 
Motor prima dreht aber recht hohen Leerlaufstrom hat der bei Belastung 
schnell ansteigt. Diese Anschlußvariante hast Du sicher erwischt.
Totzeitprobleme sollte es mit dem TB6556 nicht geben da der das 
eingebaut hat.
Der IRL1404, die Daten habe ich jetzt nicht hier, scheint ein 
Logic-Level FET zu sein, das wäre für die Ansteuerung mit einem Treiber 
nicht nötig. Möglicherweise ist der Deinen Motor auch zu schwach 
(Sichwort SOAR Diagramm, wird leider oft ignoriert). 100nF für den 
Bootstrap erscheint mir etwas wenig, es sei denn der Motor soll nur 
schnell drehen, in der Regel sind es 2,2µF.
Was fehlt, und der ist sehr wichtig, ist der dicke Abblockkondensator 
(kann je nach Leistung ruhig 1000µF und mehr sein) an der Versorgung der 
Motorbrücke. Am besten an jedem Brücken MosFet-Paar einen, und dazu 
jeweils einen KeKo mit 100-470nF.

Gerade gesehen, die PullUp Widerstände an den Sensoren fehlen. Da muß 
ein 2,2-4,7k Widerstand gegen VCC hin. Bei zu hohen PullUp 
Widerstandswerten verschleifen die Flanken oder schalten nicht korrekt, 
auf möglicherweise im Chip vorhanden PullUp kann man sich da nicht 
verlassen.

: Bearbeitet durch User
von Ben S. (theben)


Lesenswert?

Stimmt das mit den PullUp Widerständen ist vernünftig. das habe ich auch 
gleich mal gemacht.

Jetzt mal unabhängig von den Widerständen, ich weis nicht wie ich es mir 
erklären soll. Auf einmall funktioniert alles oder besser gesagt 
meistens. Ich lasse den Motor immer in langsamer Geschwindigkeit 
starten. Man merkt er läuft ruhig hat starkes Drehmoment. Ich kann ihn 
dann auch mit dem Poti schön schneller drehen, auch da läuft er ruhig 
und sauber.
Doch manchmal wenn ich die Spannungsversorgung an schließe kommt er 
wieder in diesen unruhigen modus, hat kein Drehmoment. Auch fällt auf, 
da ich ihn ja immer langsam starte, das er sofort eine höhere Drehzahl 
hat und wenn ich mit dem Poti rum spiele dann bekomm ich den viel 
schneller als wenn er normal laufen würde. In den Normalmodus bekomm ich 
den nur noch durch erneutes ab und wieder anklemmen der 
versorgungsspannung

von Steffen W. (derwarze)


Lesenswert?

Nutzt Du zufällig den Sinusbetrieb des Chips?
Der funktioniert nicht immer mit jedem Motor und braucht einige Versuche 
um die Werte für Filter und LeadAngele richtig hinzubekommen, einige 
Motoren funktionieren auch gar nicht oder nur in einem bestimmte 
Leistungsbereich im Sinusbetrieb mit dem Chip. Leider steht da im 
Datenblatt auch nicht richtig viel zu drinn.
Im Blockmodus sollte es aber keine Probleme geben. Der Toshiba Chip 
selbst kann nicht 'Abstürtzen' das es ja kein µC im eigentlichen Sinne 
ist.
Ist der Quarz auch ein 4MHz? Bei anderen Werten arbeitet der Chip 
mitunter fehlerhaft.

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.