BLDC Treiber-IC

#3063726
Lesenswert?

Hallo zusammen. Ich habe mal eine Frage.
Ich wollte mal wissen, ob es ein IC gibt, an den ich 3 Halbbrücken 
anschließen kann und diese einen (3-4 LiPo-Cell, 10A) BLDC-Motor 
steuern.

Was ich mir so gedacht hatte, pro Phase 3 Anschlüsse (Highside MOSFET, 
Lowside MOSFET, Sense-Eingang beim Floating) und dann 
Geschwindigkeitsvorgabe via PWM/Spannung oder I²C/SPI-Schnittstelle.

2 ICs hab ich gefunden, wovon ich aber noch nicht 100%ig überzeugt bin.

1. Microchip's MTD6501
(http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en558296 ):

Dieser Controller bekommt die Geschwindigkeit über PWM und er ist schön 
klein (8pins). Doch er hat schon integrierte MOSFETs, die "nur" bis zu 
800mA liefern können. Meine Idee war, evtl eine Beschaltung dahinter zu 
machen (ich will ja sowieso externe MOSFETs haben), die quasi die 
Ausgangs-Mosfets ersetzen. Gedacht hatte ich eine Schaltung: Highside 
P-Channel-MOSFET und NPN-Transistor, Lowside N-Channel-MOSFET, davor 
jeweils eine Diode Richtung Gate/Basis und an die Kathode von der Diode 
ein PullUp bzw Pulldown, damit im Floating-Zustand beide MOSFETs 
gesperrt sind. Dann muss der Punkt zwischen den MOSFETs aber für das 
BEMF an das IC geführt werden und da seh ich nichts außer Probleme (z.B. 
bei einer Diode gibt es einen Spannungsabfall von der ohnehin schon nur 
induzierte Spannung). Oder liege ich hier falsch?


2. Toshiba's TB6575FNG
(http://www.toshiba-components.com/productpages/linear/TB6575FNG.html ):

Das sieht schon eher nach dem aus, was ich gern hätte, doch weiß ich 
nicht, ob ich das wirklich richtig sehe.
Im Datenblatt gibt es eine Beispielbeschaltung (Seite 13). Dort sieht 
die Rückführung so "komisch" aus, zumindest habe ich das so noch nie 
gesehen. Ich kenne es so (von µC-basierten Controllern), das die 3 
Leitungen über 3 Spannungsteiler an einen Multiplexer und dann zu einem 
Komparator gführt werden und zusätzlich über weitere 3 Widerstände aus 
den 3 geteilten Phasen der Mittelpunkt erzeugt wird und dieser an den 
anderen Anschluss vom Komparator geht.
Das im Datenblatt sieht irgendwie zu simpel aus ;) Ist ja, wenn ich das 
richtig sehe, nur ein addierer. Würde dieses IC für meine Anwendung 
passen? Oder hat jemand noch einen anderen Tip? Ich hab bei Microchip, 
TI, Analog, Maxim, LT und Mouser geguckt und die beiden ICs waren die 
Ausbeute.


Da fällt mir noch etwas ein: Ich wollte SMD-MOSFETs nehmen, die im DPAK 
(TO-252) package kommen. Die Kühlung erfolgt dort ja über die Platine 
und der Metallfläche hinten/unten am Gehäuse. Bringt es was von oben, 
also an die Fläche, wo die Bezeichnung drauf ist, mit Wärmeleitpaste 
einen Kühlkörper draufzusetzen? Oder ist der Thermalwiderstand dort so 
hoch, dass es ansich garnichts bringt? In Datenblättern steht ja immer 
der Widerstand zum Case und Case/Gehäuse ist ja eigentlich nicht nur der 
Metallteil.


Vielen dank schonmal für die hoffentlich kommenden Kommentare

PS: Ich würde absichtlich gerne eine nicht-µC-Lösung vorziehen, daher 
braucht das hier nicht mehr erwähnt werden.
#3065877
Lesenswert?

Digikey brachte den noch ans Licht:

Allegro's A4960
(http://www.allegromicro.com/Products/Motor-Driver-And-Interface-ICs/Brushless-DC-Motor-Drivers/A4960.aspx 
) :
Hat sogar ne Bootstrap-Schaltung drin um Highside-N-Channel MOSFETs zu 
treiben.

Aber ich fasse das große und überraschende Schweigen so auf, dass es 
dort nicht viel Auswahl gibt und es evtl auch oft via µC gemacht wird.

Allerdings wäre die Frage zum Kühlen noch offen.
#3066602
Lesenswert?

Achso. Also es gibt einen µC an dem u.A. Drehencoder und Display dran 
sind. Und ich will nun einen BLDC ansteuern. Dazu wollte ich ein 
diskretes Bauteil haben, :
a) damit ich nicht ein Programm entwickeln/bestehendes groß erweitern 
muss
b) damit ich kein extra Programmiergerät brauche (falls kein Microchip 
µC)
c) da ich dachte, dass darauf ausgelegte ICs schon allerhand an 
Funktionen mitbringen, die Softwaretechnisch relativ aufwendig sind.

Also das "auf µC verzichten" bezieht sich auf den BLDC-Controller, nicht 
auf das komplette System.
#3066989
Lesenswert?

Digikey und Mouser hat die, bzw ein Teil von denen.

Ich will aber bei Digikey nicht ein IC für 3-5$ Bestellen und dann noch 
einen Haufen Versandkosten bezahlen. Ich hab mir ein Sample vom 
Toshiba-IC bestellt und probiere, was man da so schönes mit machen kann. 
Der Allegro würde mich auch sehr interessieren, doch naja. Reichelts 
Versandkosten sind schon das Höchste meiner Gefühle.


Sebastian M. schrieb:
> ich hab den allegro A4960 schonmal verbaut, er tut soweit genau das, was
> du suchst. er bekommt eine pwm und lässt dementsprechend den motor
> drehen. du musst ihm allerdings via spi ansprechen und enablen.

Würde gerne mal ausprobieren. Du hast nicht zufällig noch einen über, 
den du mir Verkaufen kannst/willst? ;)
#3067009
Lesenswert?

Michael Skropski schrieb:
> Würde gerne mal ausprobieren. Du hast nicht zufällig noch einen über,
> den du mir Verkaufen kannst/willst? ;)

in der tat, hier kullern noch 2 rum. ich hatte die bei digikey bestellt, 
wenn man alles andere was man so noch braucht mit dazu nimmt kommt man 
auch über die 65eu versandkosten, wenn nicht einfach auf ne 
mitbestellmöglichkeit hier im forum warten.
schick mir mal ne pn
Gast #3071840
Lesenswert?

Hallo zusammen,

ich habe den A4960 letzte Woche auf einer Lochrasterschaltung aufgebaut 
und an einen µC angeschlossen.
Als Motor verwende ich einen 12V BLDC mit einer Nennleistung von 
240Watt.

Über die SPI initalisiere ich den A4960 zu beginn meines kleinen 
Testprogramms mit den Default-Werten.

Dann setze ich alle 15sec das Run-Bit im Run-Register und lege eine PWM 
mit 40kHz und einem Dutycycle von 50% an den PWM-Pin des Chips.
15sec Später stoppe ich die PWM (reicht eigentlich um den Motor zu 
stoppen) und setze zusätzlich noch das Run-Bit auf 0, um das 
Fault-Register am Oszilloskop auszulesen.

Der Motor startet jedoch nicht immer. Dann "zuckt" er nur kurz.
Wenn der Motor nicht startet, ist im Faultregister das letzte Bit 
gesetzt, was bedeutet "VDS fault detect on Phase C low-side.

Wenn ich den Shunt-Widerstand erhöhe, started der Motor fast immer, 
jedoch wird dadurch die Drehzahl verringert.

Das Drehmoment lässt auch zu wünschen übrig:
Wenn ich den Motor beim Starten mit 2 Fingern festhalte, "zuckt" er kurz 
und bricht dann ab.

Hat jemand eine Idee?

Die Schaltung, die ich verwende befindet sich im Anhang - ist der erste 
Entwurf...

Ich habe übrigens ein header-file für den A4960 geschrieben, falls 
jemand Interrese hat:
http://pastebin.com/Ac8RbhAD
Angehängte Dateien:
Gast #3072478
Lesenswert?

> Ich wollte mal wissen, ob es ein IC gibt, an den ich 3 Halbbrücken
> anschließen kann und diese einen (3-4 LiPo-Cell, 10A) BLDC-Motor
> steuern.

Das Problem ist, daß es unterschiedliche BLDC Motoren gibt.

Soclhe mit Sensoren (meist Hallsensoren)
und solche ohne.
Und bei denen ohne Sensoren gibt es Motoren die ohne Last anlaufen
(Propeller im Modellflugzeug, CD im Laufwerk rotieren)
und solche die unter Last anlaufen sollen (Antriebsmotor) oder gar eine 
Kraft gegenhalten sollen (damit dfer Rollstuhl nicht den Berg 
runterollt).

Diese 3 Arten stehen hier in der Reihenfolge der Schwierigkeit der 
Ansteuerung, und ein IC der einen Motortyp kann, kann nicht den anderen.

Also aufpassen bei der Auswahl.

> Der Motor startet jedoch nicht immer. Dann "zuckt" er nur kurz.

Womit man das Problem des Anlaufens unter Last sieht.

> stp28nm50

Wieder so ein Scheiss-Teil zu dem es kein Datenblatt gibt,
erst wenn man ein N anhängt.
Die eingebauten Dioden sind mit 350ns nicht so besonders
schnell, externe bringen 35ns.
Es ist halt die Frage, wie schnell deine externe Spannung
durch Leitungsinduktivitäten steigt wenn der MOSFET abschaltet.
Gast #3072822
Lesenswert?

also dass der motor unter last nicht anläuft kann nicht sein: der ist 
nämlich für eine ölpumpe... (60bar)
keine ahnung wiviel drehmoment das dann wirklich am motor benötigt, aber 
wahrscheinlich mehr als ich mit 2 fingern halten kann :-)

ok... was für eine diode nehme ich am besten?
Gast #3072852
Lesenswert?

Es gäbe z.B. den ML4428. Wird zwar wohl nicht mehr hergestellt, aber 
hätte ausreichend davon (SMD). Hatte den vor Jahren mal auf Platine 
gebracht, aber irgendwas stimmte bei der Schaltung noch nicht so ganz 
(nur einer von vielleicht 5 Motoren lief problemlos an).
Bei richtigem Design vermutlich ein guter IC, und wohl nahe an dem, was 
gesucht wird.
#3072906
Lesenswert?

> Dann "zuckt" er nur kurz. Wenn der Motor nicht startet, ist im
> Faultregister das letzte Bit gesetzt, was bedeutet "VDS fault detect on
> Phase C low-side.

Der Chip macht wohl ein paar Sanitychecks ob die Mosfets Ok sind (kein 
Schluss und Schaltfunktion). Im wesentlichen ist das Durchschalten der 
Mosfets und Strom- und Spannungsmessung. Das sind Pulse im us-Bereich, 
damit im Ernstfall nix kaputtgeht. Es kann sein, dass das Layout da 
etwas ungünstig ist und zB. durch zuviel Induktivität bzw. Kopplung die 
Messung versaut. Dann meint der Chip zB. dass C-Low nicht leitet, weil 
der Spannungspegel (noch) zu hoch ist.
Gast #3073306
Lesenswert?

Im Datenblatt steht nichts von Santitychecks. Außerdem wird der Motor 
für die Rampe zuerst in eine bestimmte Position gemacht. Die Dauer, wie 
lange diese Positionierung dauert lässt sich über die Register 
einstellen. Ich habe eine relativ lange Zeit von 200ms eingestellt und 
genau so lange werden zwei Phasen aktiv, was bedeutet, dass irgendetwas 
am beginn der Rampe nicht funktioniert.

Laut Datenblatt (so wie ich es verstehe) ist diesen Bit gesetzt, wenn 
der der VDS-Monitor auf der LOW-Side einen kurzschluss auf Masse 
erkennt.

Wenn es wirklich an der Freilaufdiode liegt - was für einen Typ soll ich 
verwenden?
Gast #3095941
Lesenswert?

Hallo zusammen,

ich habe die Schaltung jetzt ein wenig geändert, wobei mein Problem 
(dass der Motor nur gezuckt hat) nicht am der Schaltung selber lag:

Wenn ich den Motor gestartet habe ist die Logikversorgung kurz 
eingebrochen und das Resultat war ein POR.

Abhilfe hat ein zusätzlicher 1µF Stütz-KerKo und viele Masseverbindungen 
(ich habe die Schaltung auf Lochraster aufgebaut...)

Jetzt dreht sich der Motor und ich kann mit dem Dutycycle der PWM die 
Geschwindigkeit einstellen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren