Breakout-Board für einen 5-A-DC-Motortreiber
Beim MP6619 handelt es sich um eine neue kompakte H-Brücke für die Steuerung von kostengünstigen Bürsten-Gleichstrommotoren und Magnetspulen. Diese DC-Motoren sind die zugänglichsten und erschwinglichsten für Bastler, die sich mit dem Bau von kleinen Robotern, Modellbau und kreativen Projekten beschäftigen. Dies ist ein Bericht über meine Entdeckungsreise von der Idee zu einem fertig entwickelten und getesteten Breakout-Board (BoB) für dieses winzige Motorsteuerungs-IC.
Das Abenteuer beginnt
Eines Tages erhielt ich eine E-Mail von einem Bauteile-Distributor über ein brandneues H-Brücken-IC namens MP6619. Bild 1 zeigt das interne Blockdiagramm. Dieses winzige „Wunder“ von nur 3×3 mm zeigt beeindruckende Eigenschaften wie 5 A bei 24 V, und auch anderen Aspekten erregten meine Aufmerksamkeit (siehe Kasten Chip-Eigenschaften). Wie kann das möglich sein? So viel Strom, kein Kühlkörper und alle Schutzfunktionen in einem solchen Miniaturgehäuse? Ich dachte, das ist sicher nur Marketing-Talk, denn Alternativen mit solchen Eigenschaften sind locker zehnmal größer.
Aber meine Neugier war geweckt, und ich wollte wissen, ob das stimmt und ob es für meine Projekte nützlich sein könnte. Also habe ich ein paar bestellt, und nach nur zwei Tagen lagen die Chips auf meinem Schreibtisch: Wow, sie waren wirklich winzig! Nur 3×3 mm mit 0,2 mm Abstand zwischen den Kontakten und ohne Beine. Worauf habe ich mich da nur eingelassen?
Ich stürze mich kopfüber in dieses Thema. Trotz des niedrigen Preises von etwa 2,50 €, der geringen Abmessungen und des ungewöhnlichen Platzbedarfs erwiesen sich die MP6619 als nicht direkt anwendbar für meine Projekte. Ich brauchte ein Breakout-Board, das den MP6619 für Tests und die spätere Integration handlicher machen würde.Aber es gab keinen BoB für diesen winzigen Quad, Flat, No-lead, 19-contact Footprint (QFN-19), so dass ich selbst eine solche Platine entwickeln musste. Mein Abenteuer mit der MP6619-H-Brücke begann!
Entwickelt mit KiCad
Um eine MP6619-Breakout-Platine zu entwickeln, begann ich mit dem Studium des Datenblatts und dem Zeichnen des BoB-Schaltplans in KiCad. Zuerst zeichnete ich das Symbol und den Footprint des ICs, das weder in der Bibliothek noch in SnapEDA verfügbar war, und dann das Layout.
Ich achtete besonders auf die Platzierung des R(ISENSE)-Shunt-Widerstands und den Anschluss der Power-Pads. Dieser Shunt-Widerstand misst den Strom durch die MOSFET-Treiber und ist für das ordnungsgemäße Funktionieren des Breakout-Boards von entscheidender Bedeutung. Auch der Spannungsabfall über den Leiterbahnen sollte beim Leiterplattenlayout berücksichtigt werden!
Die OCP (Over-Current Protection) ist mit einem externen Widerstand einstellbar. Ohne diesen schaltet der Chip ab, wenn die Spannung über dem Shunt-Widerstand 200 mV erreicht. Im Datenblatt wird ein Shunt von 0,04 Ω vorgeschlagen, was den maximalen Strom auf 5 A begrenzt. Es sind auch andere Widerstandswerte möglich; ich habe für meinen ersten Test einen Shunt von 0,05 Ω gewählt, weil ich ihn gerade zur Hand hatte. Daraus ergibt sich eine Begrenzung des Ausgangsstroms auf 4 A.
Durch einen zusätzlichen R(ISET) von beispielsweise 80 kΩ wird der Grenzwert auf 100 mV gesetzt. So kann die Stromgrenze eingestellt werden, ohne einen anderen Shunt-Widerstand berechnen und bestücken zu müssen. Die Schwellspannung berechnet sich nach UITRIP = 8/RISET (kΩ).
Die erste Version des BoB-Platinenlayouts habe ich schnell und ohne gründliches Nachdenken erstellt, da ich bald mit dem Testen beginnen wollte, aber ich habe mich zu früh gefreut. Das erste BoB enthielt zwei MP6619-Chips, LEDs, Widerstände, Kondensatoren und Anschlüsse. Damals dachte ich noch, dass Platinenanschlussklemmen nützlich sein könnten. Ich brauchte vier Kupferlagen, setzte viele Durchkontaktierungen, eine Massefläche und verwendete wegen der hohen Ströme möglichst breite Leiterbahnen. Das war die Arbeit eines Tages. Eine Woche, nachdem ich die Daten an einen chinesischen PCB-Hersteller geschickt hatte, hatte ich die Platinen dann auf meiner Werkbank. Das Löten des QFN war die größte Herausforderung, da die Chips kleiner waren als alles, was ich bisher gewohnt war.
Um das QFN mit allen Anschlüssen korrekt zu platzieren, waren ein Stereomikroskop, ein guter temperaturgeregelter Lötkolben, ein Heißluftlötkolben, viel Flussmittel und noch mehr Geduld erforderlich. Sobald das QFN an seinem Platz und der Schweiß von der Stirn gewischt war, entpuppten sich die anderen „normalen“ SMD-Bauteile als Kinderspiel; sie erschienen im Vergleich zum QFN gigantisch. Die Lötinsel für die Platinenanschlussklemmen ist größer als der gesamte QFN-Chip (Bild 2)! Ich habe diese erste Version der Platine auf der Elektor-Labs-Website veröffentlicht .
Erste Tests
Die ersten Tests wurden mit einem kleinen Gleichstrommotor durchgeführt, der auf meiner Werkbank lag. Es war ein einfaches 12-V-Modell mit einem Blockierstrom von unter 5 A (Bild 3).
Der MP6619 besteht intern aus zwei Halbbrücken, wobei jede Halbbrücke einen Eingang hat (IN1, IN2). Der Chip selbst sorgt für das richtige Timing der High-Side- und Low-Side-MOSFETs, so dass kein Kurzschluss zwischen den Stromschienen entstehen kann.
Der Chip ist gegen alle typischen Probleme einer Motorsteuerung geschützt. Seine integrierten Funktionen UVLO (Under Voltage Lockout), OVP (Overvoltage Protection), OCP (Overcurrent Protection) und OTP (Over Temperature Protection) sollten fast alle Fehlersituationen sicher beherrschen (was wir noch sehen werden)!
Anschluss von IN1, IN2 und EN
Die Eingänge sind mit Pull-Down-Widerständen ausgestattet. Sobald der EN-Eingang einen High-Pegel erhält, wird der Chip aktiviert, der interne Spannungsregler beginnt zu arbeiten und der VCC-Ausgang des MP6619 liefert eine Spannung von 5 V. Ich habe einen kleinen 100-nF-Entkopplungskondensator hinzugefügt, um diese Spannung zu stabilisieren. Wenn die 5 V anliegen, werden auch die N-Kanal-MOSFETs aktiv. Je nach den Eingangspegeln an IN1 und IN2 werden entweder die High-Side- oder die Low-Side-MOSFETs geschaltet.
An den Eingängen dürfen Logikpegel von 3,3...5 V anliegen. Es ist also kein Problem, das BoB an einen ESP32 oder einen Arduino anzuschließen. Für meine ersten Tests habe ich Schalter verwendet, um die Eingänge mit 3,3 V zu versorgen, und den Motor an die Ausgänge des BoB angeschlossen.
Teilweiser Erfolg
Strom an! Doch mein Motor wollte sich nicht drehen, der nFault-Ausgang ging sofort auf Low (Fehleranzeige-LED leuchtete), aber ich hatte keinen Kurzschluss am Ausgang. Erst durch eine deutliche Verringerung der Eingangsspannung konnte ich den Motor schließlich langsam gegen und mit dem Uhrzeigersinn drehen. Es ist wichtig zu erwähnen, dass ich da noch keine PWM-Drehzahlregelung vorgesehen hatte.
Ich experimentierte mit einer Verringerung des Shunt-Widerstands und der Erhöhung des RISET-Widerstands, um den Motor in Bewegung zu bringen, was letztendlich zu einem „menschlichen Fehler“ führte – 12 V an IN1, ein verbranntes BoB als Ergebnis und ein tiefer Seufzer der Frustration. Die Platine ging in Rauch auf, und ich musste ein neues BoB mit Bauteilen bestücken.
Ein anderes BoB und weitere Tests
Schließlich fand ich heraus, dass der Motor mit Entstörkondensatoren ausgestattet ist, die parallel zum Kommutator geschaltet sind. Infolgedessen verhält sich der Motor weniger induktiv und mehr kapazitiv. Dies führt dazu, dass der Überstromschutz OCP sofort anspringt, wenn eine Stromspitze im Motor auftritt. Diese vorgebliche Überlast führt zu einem Timeout von 1 ms, bevor der MP6619 es erneut versucht. Dieser Vorgang wiederholte sich immer wieder, so dass der Motor nur leise vor sich hin quietschte.
Das Entfernen dieser Kondensatoren hilft teilweise, den Motor mit etwas höheren Spannungen steuern zu können. Nachdem ich das Datenblatt genauer studiert hatte (endlich!), hatte ich inzwischen auch Verbesserungspläne für mein BoB und beschloss, eine neue Version zu erstellen.
Neuer Entwurf, neues Layout
Für meine zweite Version musste die Schaltung und das Layout angepasst werden. Ich habe die folgenden Änderungen vorgenommen:
- nur ein MP6619-Chip
- die Position des Shunts wurde überarbeitet
- eine 0,1″-Stiftleiste anstelle von Anschlussklemmen
- keine Befestigungslöcher
- klarer Bestückungsaufdruck; minimale Anzahl von Bauteilen
Dies führte zu einem neuen Schaltplan (Bild 4) und in der Folge auch zu einer neuen Platine (Bild 5 und Bild 6) mit (ebenfalls) vier Lagen und einer Grundfläche von nur etwa 25×25 mm, die in einem Nutzen mit ENIG-Finish (Electroless Nickel Immersion Gold) hergestellt wurde. Nach der Bestückung des BoBs habe ich ein wirklich kompaktes Modul erhalten, das, wie ich glaube, von fast jedem Mikrocontroller gesteuert werden kann.
Weitere Tests und Experimente
Ich habe denselben Motor wie im ersten Test verwendet. OVP und ULVO verhielten sich gut. Jetzt habe ich es mit PWM-Steuerung versucht, um eine Drehzahlregelung zu realisieren. Die Tests mit Frequenzen von 1...50 kHz ergaben das erwartete Verhalten: Der Motor ließ sich gut regeln. Das Beispiel aus dem Datenblatt verwendet 20 kHz, und das hat bei niedrigen Spannungen gut funktioniert.Aber bei höheren Spannungen setzte wieder die OCP ein und der Motor blieb stehen. Durch Hinzufügen einer zusätzlichen 220-µH-Induktivität aus meiner Bauteilkiste (wie die in Bild 7) in Reihe mit dem Motor wurde das Regelverhalten deutlich verbessert und der Drehzahlbereich vergrößert.Infolgedessen lieferte der Motor mehr Leistung, und das OCP schaltete sich seltener ein. Solche zusätzlichen Induktivitäten scheinen also die Lösung für den Einsatz in Projekten zu sein.
Unter bestimmten Bedingungen gibt der Motor Energie in die H-Brücke zurück, da der Motor auch als Generator fungiert (EMK eines Gleichstrommotors). Diese Energie wird über die Dioden in den MOSFETs auf die Stromschienen abgeleitet. In meinen Tests habe ich einen Elektrolytkondensator C8 mit niedrigem ESR-Wert parallel zur Stromquelle verwendet. Mit dieser letzten Verbesserung war der BoB stabil.
Optokoppler
Bild 8 zeigt meine Testschaltung. Ich beschloss, Optokoppler zu verwenden, um eine galvanische Trennung zwischen der Steuerseite und den Motortreibern zu erreichen, da die Stromversorgung eines Motors in der Regel erhebliche Störpegel aufweist. Auch EMI kann Probleme verursachen. Die Isolation verringert das Risiko von Störungen der Niederspannungssignale und verhindert, dass starke Impulse, die vom Motor und seinem Treiber erzeugt werden, den empfindsamen Mikroprozessor und andere Elektronik erreichen.
Die LEDs auf der Eingangsseite der Optokoppler können direkt von einem Mikroprozessor-Pin mit einem 470-Ω-Widerstand in Reihe betrieben werden. Auf der Ausgangsseite ist der Emitter des Fototransistors mit dem IN1 des BoB und damit mit dem Eingang des MP6619 verbunden, und sein Kollektor ist mit einer logischen Spannung gekoppelt, die von einem 3,3-V-LDO-Spannungsregler bereitgestellt wird, der wiederum von der Stromversorgung des Motors - in meinem Fall einer Batterie - gespeist wird. Dies ist ausreichend, um einen zuverlässigen und stabilen Betrieb zu gewährleisten.
Bild 8 zeigt auch, wie man das nFault-Signal der H-Brücke (Open-Drain-Ausgang) über einen Optokoppler an die MCU weiterleiten kann, und zwar auf die gleiche Weise wie beschrieben, nur umgekehrt. In einem solchen Fall benötigt der GPIO des angeschlossenen Mikrocontrollers einen Pull-Down-Widerstand.
QFN-Gehäuse
Die FCQFN-Gehäuse (Bild 9) können unregelmäßig geformte Pads haben, die oft in langen, schmalen Streifen angeordnet sind. Im Gegensatz zu normalen QFN-Gehäusen wird die Wärme über viele dieser Pads abgeleitet, anstatt über ein großes zentrales Pad. Dies stellt das Leiterplattendesign vor einige Herausforderungen, da es viele Pads mit unterschiedlichen Signalen gibt, die mit unterschiedlichen Kupferflächen verbunden werden müssen.
Kleine Durchkontaktierungen können innerhalb der Pad-Bereiche platziert werden (Via in PAD). Bei mehrlagigen Leiterplatten mit Stromversorgungs- und Masseflächen können Durchkontaktierungen diese Pads direkt mit den Flächen verbinden. In anderen Fällen muss Kupfer direkt an den Pads angebracht werden, um die Wärme vom IC an größere Kupferflächen abzuleiten. Eine Layout-Richtlinie finden Sie unter .
Das größte Hindernis, auf das ich bei diesem Projekt stieß, war aber das Löten des MP6619-Chips. Ich habe viel mit verschiedenen Techniken experimentiert und hatte schließlich Erfolg mit viel Flussmittel, verbleitem Lot und Heißluft, aber es blieb trotz allem eine Herausforderung, den Chip präzise anzubringen.
Einmal platziert, sorgt dann die Oberflächenspannung des geschmolzenen Lots dafür, dass der Chip sich richtig an den Pads ausrichtet. Es stellte sich heraus, dass viel Übung nötig war, bis man die Chips befriedigend gut auf die Platine löten kann. Als Konsequenz habe ich mir eine Reflow-Hotplate angeschafft, um den Lötprozess in Zukunft zu vereinfachen. Keine schlechte Investition!
Stückliste
Widerstände:
(SMD 0805)
R1, R3 = 10 Ω
R5 = 100 k
R8 = 0Ω04, 2 W, SMD 2512
R9, R10 = 1 k
R13 = 80 k
Kondensatoren:
C1, C3, C5 = 100 n, 50 V, SMD 0805
C7, C10 = 4µ7, 35 V, SMD 1210
C8 = 100 µ, 35 V, Elko, ø 8 mm
Halbleiter:
D2 = LED, rot, SMD 0806
D4 = LED, grün, SMD 0805
IC1 = MP6619GQ-P, QFN-19
Außerdem:
J2, J4, J5, J6 = 1×2-polige Siftleiste, 2,54 mm
J3 = 1×6-polige Stiftleiste, 2,54 mm
BoB-Platine (siehe Text)
Epilog
In diesem Artikel habe ich Ihnen über meine Erfahrungen beim Entwurf und Bau eines Breakout-Boards für den H-Brücken-Motortreiber MP6619 berichtet. Ich habe die Bedeutung von Optokopplern für die elektrische Isolierung erörtert und mit Ihnen meine Erkenntnisse über die Arbeit mit Flip-Chip-QFN-Gehäusen und die Herausforderungen beim Löten solcher kleinen Bauteilen geteilt.
Die MP6619-Breakout-Platine bietet eine sehr kompakte Lösung für die Steuerung von preiswerten Gleichstrom-Bürstenmotoren, was sie zu einer guten Wahl für Bastler und Maker macht, die kleine Roboter und andere ähnlich kreative Projekte bauen. Alle Design- und Produktionsdateien sind Open-Source und können von meiner GitHub-Seite heruntergeladen werden. Der MP6619 ist in kleinen Mengen bei Händlern wie Farnell, Mouser und direkt bei Monolithic Power Systems erhältlich.
Dieser Artikel (210657-02) erscheint in der Ausgabe September/Oktober 2023 des Elektor Mag.
Chip-Eigenschaften
- Es ist nicht nur Marketinggerede: Der MP6619 kann tatsächlich 24 V und 5 A verarbeiten. Er ist gut gegen Überlast und Kurzschluss geschützt und erholt sich zuverlässig von Fehlersituationen.
- Das Hinzufügen einer Drosselspule oder eines Filters verbessert die Leistung erheblich. Ob dies erforderlich ist, hängt von Ihrer Anwendung und dem Motor ab.
- Die integrierten N-Kanal-MOSFETs haben einen niedrigen Rds(on) von 65 mΩ, was für die Begrenzung der Verlustleistung unerlässlich ist. Die für die Ansteuerung ihrer Gates erforderlichen Boost-Schaltungen sind ebenfalls integriert. Ihre Kondensatoren sind extern angeschlossen.
- Der MP6619-Chip wird ohne Bonddrähte hergestellt, um eine gute thermische Leistung in einem QFN-19-Gehäuse zu erreichen.
- Die Inseln des Footprints sind extra lang, um die Wärme vom Chip an die Platine abzuleiten.
- Die Platine muss sorgfältig entworfen werden und nicht nur den elektrischen, sondern auch den thermischen Anforderungen zu genügen.
Über den Autor
Edwin van den Oetelaar arbeitet als Ingenieur bei Fontys ICT in den Niederlanden. Er ist Mitglied der High Tech Embedded Software Research Group, die von Prof. Teade Punter geleitet wird. Als Spezialist für Hardware- und Softwareentwicklung genießt Edwin die Möglichkeit, verschiedenste technische Projekte in Angriff zu nehmen. Seine Fachkenntnisse erstrecken sich über ein breites Spektrum der Elektronik wie Streaming Data, intelligente Geräte, Gesundheitswesen, IoT, Bildverarbeitung und angewandte KI.
Haben Sie Fragen oder Kommentare?
Wenn Sie technische Fragen haben, können Sie die Elektor-Redaktion per E-Mail an redaktion@elektor.de kontaktieren.