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
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.
Versuch mal herauszufinden in welchem Winkel die Hallsensoren angeordnet sind. Normal ist 60° oder 120° Verschiebung. Und dann nachschauen was beim Motortreiber eingestellt ist.
"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.
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
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
Bist du sicher, dass der Leistungsteil geht? Die Bootstrapkondensatoren mit 100nF kommen mir arg komisch vor. Halt mal mit nem Oszi drauf was passiert.
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
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?
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?
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.
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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.