Hallo zusammen, dies ist mein erster Post hier und die Leistungselektronik eigentlich überhaupt nicht meiner Zuständigkeit; deshalb seid ein bißchen nachsichtig :-) Ich habe versucht, meine Hausaufgaben vorab zu machen, und wirklich lange recherchiert, leider ohne eine Antwort auf meine Frage zu finden. Also: Wir haben einen BLDC-Motor, den wir mit einer üblichen H-Brücke ansteuern, und zwar mithilfe des TI8350F (siehe angehängtes Datenblatt). Die Schaltung ist dort auf Seite 18 gezeigt ("Functional Block Diagram"). Wie so oft bei solchen Schaltungen entsteht beim starken Abbremsen des Motors eine Überspannung auf der Versorgung. Die Ursachen derselben sowie gängige Methoden des Umgangs damit sind eigentlich klar. Allerdings habe ich eine Frage, die ein paar Level weiter tiefer ansetzt, beim grundlegenden Verständnis: Wir betreiben den Motor-Controller im 1x PWM-Modus mit Block-Kommutierung, beschrieben auf Seite 22 im Kapitel 8.3.1.1.3 des Datenblatts. Beim starken Abbremsen (z.B. beim Nothalt) ziehen wir das Pin "INLC" auf Low, was laut Datenblatt die Motorbremse aktiviert, indem sämtliche High-Side-MOSFETs abgeschaltet werden und sämtliche Low-Side-MOSFETs angeschaltet werden. Trotz dieser Maßnahme entstehen auf unserer Versorgung (VDrain), die normalerweise 48V beträgt, Spannungen bis zu 85V. Nun zur Frage: Wenn sämtliche Low-Side-MOSFETs durchgeschaltet sind, sind doch alle Phasen-Anschlüsse des Motors kurzgeschlossen, richtig? Woher kommt dann die Überspannung überhaupt? Die Spule im Motor wirkt als Generator, soweit klar, aber die Ausgänge dieses Generators sind kurzgeschlossen. Ich verstehe nicht, an den Ausgängen eines Generators eine solche Überspannung anliegen kann, wenn die Ausgänge miteinander verbunden sind. Liegt das daran, daß diese Verbindung nur theoretisch 0 Ohm Widerstand besitzt, der Widerstand in der Praxis aber doch einige Bruchteile eines Ohms beträgt? Wir werden heute den ganzen Tag messen, um ein Verständnis der Vorgänge zu gewinnen. Aber eine verständliche Erklärung hier wäre ein große Hilfe. Vielen Dank vorab, und schöne Grüße!
Vermutlich wird der Motor 'gechoppert', dabei sind die LowSide MOSFets eben nicht 100% dauerhaft an, sondern werden doch getaktet. Dabei ist die resultierende Schaltung ganz ähnlich einem Boostkonverter und die entstehende Spannung wird über die Bodydioden der Highside MOSFets in die Versorgung geleitet. Schaut euch die Gatespannung der Lowside im Bremsfall mal an mit dem Oszi und blockt die Versorgung wie immer gut ab mit ein paar dicken Elkos.
Agamemnon schrieb: > Wie so oft bei solchen Schaltungen entsteht beim starken Abbremsen des > Motors eine Überspannung auf der Versorgung. Das nennt sich "Rückspeisung ind den Zwischenkreis". > die Ausgänge dieses Generators sind kurzgeschlossen. Bist du absolut sicher? Hast du das gemessen? Wie fließen diese Kurzschlusströme? Können die evtl. das Gatepotential anheben?
Meine Vermutung wäre, das im Kurzschlussfall durch die Low-Side-Mosfet der Strom zu groß wird. Die Schutzschaltung bekommt das mit und schaltet die Mosfet ab. Nach dem nächsten Nulldurchgang (Drehstrom) werden diese wieder freigegeben und das Spiel wiederholt sich. Dabei arbeitet das System als Aufwärtswandler. Daher wird die Schaltung um einen zuschaltbaren Bremswiderstand im Versorgungskreis ergänzt werden müssen.
Matthias S. schrieb: > Vermutlich wird der Motor 'gechoppert', dabei sind die LowSide MOSFets > eben nicht 100% dauerhaft an, sondern werden doch getaktet. Vielen Dank für die Hilfe! Wie eingangs beschrieben wollten wir heute den ganzen Tag diese Dinge nachmessen, aber die Vorbereitungen sind noch nicht erledigt (es geht um eine Schaltung mit SMD-Komponenten, an die man kaum herankommt, also muß erst einmal Fädeldraht an viele Stellen, so daß wir im System messen können). Das Folgende ist also mit Vorsicht zu genießen, weil meßtechnisch nicht verifiziert, aber nach meinem Verständnis des Datenblatts werden die Low-Side-MOSFETs nicht gechoppert. Zitat aus Seite 22 des Datenblatts im Kapitel über den 1xPWM-Betrieb: The INLC input brakes the motor by turning off all high-side MOSFETs and turning on all low-side MOSFETs when it is pulled low. This brake is independent of the states of the other input pins. Tie the INLC pin high if this feature is not required.
Agamemnon schrieb: > also muß erst einmal Fädeldraht an viele Stellen Führe auch die jeweilige nächstliegende Masse am zu messenden Bauteil mit heraus. Du wirst dir was in die Tasche lügen, wenn du nur 1 "zentrale Sternpunkt-Masse" als Bezugspunkt hernimmst. Denn jeder Mosfet sieht nur die Spanung direkt an seinen G und S Anschlüssen, egal, was das ansteuernde IC bezogen auf seine lokale Masse ausgibt.
Agamemnon schrieb: > The INLC input brakes the motor by turning off all high-side MOSFETs and > turning on all low-side MOSFETs when it is pulled low. Ja, das klingt sehr schön. Aber du misst ja trotz allem die 85V. Entweder erzählen die Texaner Mist, oder du hast Mist in der Schaltung. Also Gatesignale messen.
Lothar M. schrieb: >> die Ausgänge dieses Generators sind kurzgeschlossen. > Bist du absolut sicher? Hast du das gemessen? Wie fließen diese > Kurzschlusströme? Können die evtl. das Gatepotential anheben? Wir sind nur insoweit sicher, als wir dem Datenblatt trauen können. Zitat von Seite 22, im Kapitel über den 1xPWM-Betrieb: The INLC input brakes the motor by turning off all high-side MOSFETs and turning on all low-side MOSFETs when it is pulled low. This brake is independent of the states of the other input pins. Tie the INLC pin high if this feature is not required. Anhand des Functional Block Diagram auf Seite 18 würde ich davon ausgehen, daß die Kurzschlußströme über die GND-Verbindungen der Leistungsseite fließen; alle Low-Side-MOSFETs sollten ja laut Datenblatt ihre Source zur jeweiligen Phase durchschalten. Die MOSFETs der H-Brücke sind benachbart auf der Platine plaziert, so daß der ohm'sche Widerstand dieser Strecken minimal sein dürfte. Der RDS-on der MOSFETSs liegt bei 5 mOhm. Mir fehlt profundes Grundlagenwissen über MOSFETs, deshalb bin ich bezüglich der Anhebung der Gate-Spannung unsicher. Wenn wir annehmen, daß eine solche Anhebung auftritt, sollte sie aber keine negative Auswirkung haben: Falls die Gate-Spannung bei den Low-Side-MOSFETs angehoben würde, wäre das wünschenswert, da diese ohnehin durchschalten sollten, um ein Entstehen der Überspannung am Anschluß der Phase zu verhindern, also zwischen Low- und High-Side-MOSFET. Falls die Gate-Spannung bei den High-Side-MOSFETs angehoben würde, sollte das auch nichts ausmachen; deren Sperrung würde durch eine entsprechende Anhebung der Gate-Spannung zwar zunichte gemacht, aber eine Überspannung an der Phase würde ohnehin über die Freilauf-Diode des High-Side-MOSFETs durchschlagen - trotz Sperrung. Ich verstehe nach wie vor nicht, warum eine etwaige Überspannung zwischen Low- und High-Side nicht sofort durch den Kurzschluß zwischen den Phasen zunichte gemacht wird. Eigentlich wollten wir das alles heute nachmessen, aber die Vorbereitungen sind noch nicht abgeschlossen; das wird heute nichts mehr.
:
Bearbeitet durch User
Lothar M. schrieb: >> also muß erst einmal Fädeldraht an viele Stellen > Führe auch die jeweilige nächstliegende Masse am zu messenden Bauteil > mit heraus. > > Du wirst dir was in die Tasche lügen, wenn du nur 1 "zentrale > Sternpunkt-Masse" als Bezugspunkt hernimmst. Denn jeder Mosfet sieht nur > die Spanung direkt an seinen G und S Anschlüssen, egal, was das > ansteuernde IC bezogen auf seine lokale Masse ausgibt. Vielen Dank für den Tip! Das hatten wir so vor, weil ich ganz explizit die Potential-Unterschiede zwischen den verschiedenen GND-Anschlüssen nachmessen möchte :-)
Matthias S. schrieb: >> The INLC input brakes the motor by turning off all high-side MOSFETs and >> turning on all low-side MOSFETs when it is pulled low. > > Ja, das klingt sehr schön. Aber du misst ja trotz allem die 85V. > Entweder erzählen die Texaner Mist, oder du hast Mist in der Schaltung. > Also Gatesignale messen. Vielen Dank! Diese Messungen hatten wir heute vor, aber leider sind die Vorbereitungen noch nicht abgeschlossen. Ich denke, das wird Montag ...
Dieter D. schrieb: > Meine Vermutung wäre, das im Kurzschlussfall durch die Low-Side-Mosfet > der Strom zu groß wird. Die Schutzschaltung bekommt das mit und schaltet > die Mosfet ab. Nach dem nächsten Nulldurchgang (Drehstrom) werden diese > wieder freigegeben und das Spiel wiederholt sich. Dabei arbeitet das > System als Aufwärtswandler. > > Daher wird die Schaltung um einen zuschaltbaren Bremswiderstand im > Versorgungskreis ergänzt werden müssen. Vielen Dank! Diese Theorie erscheint mir fast schon als am wahrscheinlichsten, und sie läßt sich relativ leicht überprüfen: Bei dem TI 8350F läßt sich die Schutzschaltung deaktivieren. Das werden wir auf jeden Fall testen.
Sofern noch nicht geschehen, solltet ihr den Fault Ausgang auswerten. Am sinnvollsten direkt mit dem steuernden Mikrocontroller, der einen Interrupt auslöst und den Fehler ausliest, aber meinetwegen auch mit einem Oszi. Die Gatespannung der Lowside wird im Fehlerfall übrigens sicher nicht erhöht, sondern auf Null gesetzt. Wie gesagt, ein Oszi am Gate einer Lowside sollte euch Klarheit verschaffen. M.M.n. bringen diese komple(x)tten Treiber ICs oft mehr Probleme als Lösungen. Aber gut, nun habt ihr ihn auf dem Board und müsst euch damit rumschlagen.
:
Bearbeitet durch User
Das Kapitel: 8.3.5.3 MOSFET VDS Overcurrent Protection (VDS_OCP) ist sicher in diesem Fall auch Lesenswert viel Erfolg hauspapa Herzlichen Dank für die präzise Beschreibung samt verlinktem Datenblatt. Kommt hier nicht allzu oft vor.
S. K. schrieb: > Das Kapitel: > 8.3.5.3 MOSFET VDS Overcurrent Protection (VDS_OCP) > ist sicher in diesem Fall auch Lesenswert > > viel Erfolg > hauspapa > > Herzlichen Dank für die präzise Beschreibung samt verlinktem Datenblatt. > Kommt hier nicht allzu oft vor. Danke für die Blumen :-) Gerade als Anfänger sollte man versuchen, die Anfänger-Fehler zu vermeiden ... Du hast natürlich recht. In 8.3.5.3 steht die Funktionsweise der OCP gut beschrieben. Wir hatten ja vor, testweise diesen Schutz zu deaktivieren, um zu sehen, ob das Problem dann verschwindet. Leider war dies gestern nicht mehr möglich; wir haben es auf Montag verschoben. Ich habe mir aber gestern abend noch den Schaltplan angesehen und festgestellt, daß der Schutz auf einer relativ hohen Stufe aktiviert ist. Wir verwenden die Hardware-Version des Controllers, d.h. der maximal erlaubte Spannungs-Abfall über die MOSFETs wird über die Spannung am VDS-Eingang bestimmt. Dieser Eingang ist über einen R auf GND gezogen; den Wert von R muß ich nochmals nachsehen.
Matthias S. schrieb: > Sofern noch nicht geschehen, solltet ihr den Fault Ausgang auswerten. Am > sinnvollsten direkt mit dem steuernden Mikrocontroller, der einen > Interrupt auslöst und den Fehler ausliest, aber meinetwegen auch mit > einem Oszi. > Die Gatespannung der Lowside wird im Fehlerfall übrigens sicher nicht > erhöht, sondern auf Null gesetzt. > Wie gesagt, ein Oszi am Gate einer Lowside sollte euch Klarheit > verschaffen. > M.M.n. bringen diese komple(x)tten Treiber ICs oft mehr Probleme als > Lösungen. Aber gut, nun habt ihr ihn auf dem Board und müsst euch damit > rumschlagen. Vielen Dank! Genau das hatten wir gestern noch vor (die Messung per Oszi ist mir in solchen Fällen lieber). Das hat aber leider nicht mehr geklappt und wurde deshalb auf Montag verschoben. Ich sehe mittlerweile gute Chancen, daß die Ursache des Problems in der Strombegrenzung liegt (VDS_OCP-Überwachung), so wie weiter oben schon vermutet. Was Motorcontroller im allgemeinen anbelangt, bin ich wirklich bei Dir. Speziell der TI 8350F gefällt mir aber sehr gut. Mit der SPI-Version kannst Du alle denkbaren Parameter in weiten Bereichen einstellen, und auch die hier verwendete Hardware-Version ist nach meiner persönlichen Ansicht ein sehr guter Kompromiß aus Einstellbarkeit und sinnvollen Default-Werten. Die Dead-Time-Steuerung funktioniert zuverlässig und arbeitet mit praxisgerechten Voreinstellungen. Das Teil ist gut dokumentiert und tut ausnahmsweise mal exakt das, was im Datenblatt steht; wir konnten bis jetzt kein einziges Mal ein Fehlverhalten oder undokumentiertes Verhalten feststellen. Unser Problem mit der Überspannung ist sicher kein Problem des Motor-Controllers, sondern ein grundlegendes Verständnisproblem auf unserer Seite. Wenn man das alles selber nachbauen will, ist das auch nicht so einfach. Die Kommutierung aus den Hallgeber-Signalen geht noch, aber die Deadtime-Steuerung, die Ladungspumpe für die High-Side-Gates und die Sicherheits-Überwachungen sind nicht trivial. Dazu das Decoupling ... und auf unseren Platinen ist der Platzbedarf immer ein ganz heißes Thema. Natürlich werde ich unsere Meßergebnisse und unseren Fortschritt hier dokumentieren; ich denke, daß ich am Montag abend ein Update posten kann. Disclaimer: Ich stehe in keinerlei Beziehung zu TI.
:
Bearbeitet durch User
Lothar M. schrieb: > Das nennt sich "Rückspeisung ind den Zwischenkreis". Dieter D. schrieb: > Daher wird die Schaltung um einen zuschaltbaren Bremswiderstand im > Versorgungskreis ergänzt werden müssen. wenn das eine Batteriebetriebene Anwendung ist wird der "Zündimpuls" der beim Abschalten des Mosfets entsteht, über die parasitären Dioden der Highsidetransistoren in die Batterie abgeleitet. Wenn "nur" ein Netzteil speist muss die Energie in einen Bremswiderstand. das ist auch der Fall wenn Du nur durch Gaswegnehmen ein Objekt mitbremsen willst.
Armin X. schrieb: > in die Batterie abgeleitet Ein Verpolschutz am Spannungsversorgungseingang kann da auch hinderlich sein ... LG, Sebastian
Agamemnon schrieb: > Die Kommutierung aus den Hallgeber-Signalen geht noch, aber die > Deadtime-Steuerung, die Ladungspumpe für die High-Side-Gates und die > Sicherheits-Überwachungen sind nicht trivial. Das ist heute in vielen MC schon drin. STM32 und auch XMega haben dafür die passenden Timer und DT Blöcke - den Rest erledigen einfache Treiberbausteine wie die tausendfach bewährten IR2110 und Konsorten. Ohne MC ist auch dein TI Chip hilflos und wenn man den sowieso schon drin hat, ist nicht einzusehen, warum der nicht auch gleich die PWM erzeugen soll.
Matthias S. schrieb: > Das ist heute in vielen MC schon drin. STM32 und auch XMega haben dafür > die passenden Timer und DT Blöcke - den Rest erledigen einfache > Treiberbausteine wie die tausendfach bewährten IR2110 und Konsorten. > Ohne MC ist auch dein TI Chip hilflos und wenn man den sowieso schon > drin hat, ist nicht einzusehen, warum der nicht auch gleich die PWM > erzeugen soll. Das ist alles richtig. Wir verwenden aber in diesem Projekt einen AVR32 (AT32UC3C0512C). Das ist nicht verhandelbar. Wir finden mittlerweile den Motor-Controller von TI sehr gut und werden diesen auch in zukünftigen Projekten verwenden - auch dann, wenn dort ein anderer uC zum Einsatz kommen sollte, der einen Teil der Motorcontroller-Funktionen theoretisch übernehmen könnte. Nur wenn der uC wirklich alles bieten würde (von der sinnvollen und genau passenden Deadtime-Steuerung über den Align-, Stop- und Brake-Mode über die Gate-Ströme von 2A/1A bis hin zu den Sicherheits-Features (charge pump monitoring, overcurrent etc.) und den integrierten Ladungspumpen auch für die High-Side) würden wir einen Wechsel in Erwägung ziehen. Außerdem müßte der uC zusätzlich eine genauso saubere galvanische Trennung zwischen Logik- und Leistungsseite zur Verfügung stellen wie der Motor-Controller. Das PWM-Signal selbst wird natürlich auch in unserem Fall vom uC (also vom AVR32) erzeugt.
So, jetzt die versprochene Rückmeldung nach einigen Messungen mehr. Bitte entschuldigt die Verspätung (ich hatte die Rückmeldung für Montag abend versprochen); ein Unwetter hat hier größere Schäden verursacht. Die Theorie von @Dieter_1234 hat sich als zutreffend erwiesen - vielen Dank nochmals. Wir haben mit dem Oszi auf den Fault-Ausgang getriggert und dabei die Versorgungsspannung von 48V mit dem anderen Oszi-Kanal beobachtet. Es war schön zu sehen, wie der Fault-Ausgang im Takt von einigen ms gesetzt und zurückgesetzt wurde. Am Anfang gab es keinen Fault, und die Spannung blieb bei 48V. Nach einigen ms kam der Fault, offensichtlich wurden die Gates auf der Low-Side dann abgeschaltet, und die Spannung sprang nach oben. Dann wurde der Fault nach einigen ms zurückgesetzt, die Spannung blieb für einige ms konstant. Dann wurde der Fault wieder gesetzt, die Spannung ging die nächste Treppenstufe nach oben. Und so weiter. Das Ergebnis war so eindeutig, daß wir die Gates und die anderen potentiellen Ziele gar nicht mehr gemessen haben. Die OCP des Motor-Controllers war auf die zweitempfindlichste Stufe eingestellt, was in unserem Fall immerhin ungefähr 40A entspricht - pro MOSFET, von denen in jeder Phase auf jeder Seite vier Stück parallel geschaltet sind. Angesichts dessen wurde die Reduzierung der Empfindlichkeit der OCP als Lösung des Problems abgelehnt; es bestanden Befürchtungen hinsichtlich möglicher Schäden an den Motoren bzw. der Verkabelung (nach meiner Meinung zu Unrecht). Nachdem das Problem endlich verstanden ist, wird es nun mit großen Kondensatoren totgeschlagen (vollständiger Erfolg bei 33000 uF an jedem Motor). Ich bin gespannt, was das nun für Probleme verursachen wird, vor allem beim Einschalten :-) Aber das ist ein anderes Thema für einen anderen Thread. Nochmals danke an alle!
:
Bearbeitet durch User
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.