Vandaag de dag hebben makers en studenten vaak haast, en missen ze de vaardigheden om elektronische schakelingen te ontwerpen en te solderen. Ze gebruiken liever ‘shields’  terwijl de soldeerbout een uitdaging vormt. Daarom heb ik een breakout-board ontwikkeld voor de MP6619 motordriver van Monolithic Power Systems, die goed bruikbaar is voor eigen gemotoriseerde projecten.

Dit artikel stuurt aan op een MP6619 breakout-board (BoB). Deze chip is een nieuwe compacte H-brug voor het aansturen van goedkope DC-borstelmotoren en solenoïden. Deze DC-motoren zijn betaalbaar en eenvoudig aan te sturen voor hobbyisten die zich bezighouden met kleine robots, modelbouw en creatieve projecten. Dit is een verslag van de leerzame reis die ik heb moeten maken om dit breakout-board te ontwikkelen en te testen.

Het avontuur begint

Op een dag ontving ik een e-mail van een groothandel over een gloednieuwe H-brug-component: de MP6619. Figuur 1 toont het interne blokschema. Dit kleine ‘mirakel’ van slechts 3×3 mm met indrukwekkende specificaties zoals 24 V en 5 A trok mijn aandacht (zie het kader Eigenschappen). Hoe kan dat? Zoveel stroom, geen koellichaam en alle beveiligingsfuncties in zo’n kleine behuizing? Dit moet marketingpraat zijn, dacht ik. De alternatieven zijn gemakkelijk 10 keer groter.
 

Motor driver functional block diagram
Figuur 1. Functioneel blokschema (bron: Monolithic Power Systems)

Maar mijn nieuwsgierigheid was gewekt en ik wilde weten of dit waar was en of ze van pas konden komen voor mijn projecten. Dus bestelde ik er een paar. Al na twee dagen lagen ze op mijn bureau: wauw, wat waren ze klein! Slechts 3×3 mm met 0,2 mm afstand tussen de contacten en geen pootjes. Wat had ik me op de hals gehaald?

Ik stortte me halsoverkop in dit onderwerp. Ondanks de lage prijs van ongeveer € 2,50, bleken de kleine afmetingen en ongebruikelijke footprint van de MP6619 niet direct bruikbaar voor mijn projecten. Ik had een een BoB nodig om de MP6619 beter hanteerbaar te maken en geschikt voor testen en integratie.

Maar er was geen BoB beschikbaar voor deze kleine Quad, Flat, No-lead, 19-pin footprint (QFN-19). Dus moest ik die zelf ontwikkelen. Mijn reis met de MP6619 H-brug had begonnen!
 

Motor Driver Chip Features

Ontworpen met KiCad

Om een MP6619 breakout-board te ontwikkelen, bestudeerde ik eerst de datasheet en het tekenen van het BoB-schema in KiCad. Eerst waren het symbool en de footprint aan de beurt (deze waren niet beschikbaar in de bibliotheek of in SnapEDA), en daarna kwam de layout.

Ik heb extra aandacht besteed aan de plaatsing van de R(i-sense)-shuntweerstand en de aansluiting van de voedingspads. Deze shuntweerstand wordt gebruikt om de stroom van de MOSFET-drivers te meten. Dit is cruciaal voor de goede werking van het breakout-board. Tijdens het layouten van de print moet ook rekening gehouden worden met de spanningsval over de printsporen.

De OCP (Over-Current Protection, overstroombeveiliging) kan worden ingesteld met een externe weerstand. Zonder deze schakelt de chip uit als de spanning over de shuntweerstand 200 mV bereikt. De datasheet suggereert een shunt van 0,04 Ω, die de maximale stroom beperkt tot 5 A (V = I × R). Door een R(i-set) van 80 kΩ toe te voegen, wordt de grens ingesteld op 100 mV, waardoor je de stroomlimiet kunt verlagen bij gebruik van dezelfde shuntweerstand. Andere weerstandswaarden zijn ook mogelijk. Ik heb voor mijn eerste test een shunt van 0,05 Ω gekozen omdat ik die nog in mijn la had liggen. Dit resulteert in een maximale uitgangsstroom van 4 A.

Ik maakte snel de eerste versie van de BoB print-layout zonder de chip diepgaand te bestuderen, omdat ik snel wilde beginnen met testen – maar ik juichte te vroeg. De eerste BoB bevatte twee MP6619-chips, LED’s, weerstanden, condensatoren en connectoren. Op dat moment dacht ik nog dat printkroonstenen bruikbaar zouden zijn. Er waren vier koperlagen nodig, ik gebruikte veel via’s, een massavlak en zo breed mogelijke sporen vanwege de forse stromen. Dat was een dag werk. Een week nadat ik de gegevens naar een Chinese fabrikant had gestuurd, had ik de printen op mijn werkbank liggen. Het solderen van de QFN was de grootste uitdaging, omdat de chips kleiner waren dan alles wat ik gewend was.

Om de QFN op zijn plaats te krijgen met alle verbindingen correct, waren een stereomicroscoop, een goede soldeerbout met temperatuurregeling, een heteluchtsoldeerbout, veel vloeimiddel en nog meer geduld nodig. Toen de QFN eenmaal op zijn plaats zat en ik de zweetdruppels van mijn voorhoofd was geveegd, waren de andere ‘normale’ SMD-componenten kinderspel; ze leken gigantisch vergeleken met de QFN. Het soldeereiland voor de printkroonstenen is groter dan de hele QFN-chip (figuur 2)! Deze eerste versie heb ik gepost op de Elektor Labs-website .
 

motor driver PCB
Figuur 2. 3D-model van hete eerste printontwerp.

Eerste tests

De eerste tests werden uitgevoerd met een kleine gelijkstroommotor die ik had liggen. Het was een eenvoudig 12V-model met een blokkeerstroom van minder dan 5 A (figuur 3).

De MP6619 bestaat intern uit twee halve bruggen, waarbij elke halve brug één ingang heeft (IN1, IN2). De chip zelf zorgt voor de juiste timing van de high-side en low-side MOSFET’s zodat er geen kortsluiting optreedt tussen de voedingsrails.

De chip is beschermd tegen alle typische problemen. De geïntegreerde UVLO (onderspanning-lockout), OVP (overspanningsbeveiliging), OCP (overstroombeveiliging) en OTP (overtemperatuurbeveiliging) zouden bijna alle foutsituaties veilig moeten kunnen afhandelen, wat we nog zullen zien!
 

The first tests with a DC planetary geared motor.
Figuur 3. De eerste tests werden uitgevoerd met een DC-motor met planeetwielvertraging (bron: E-S Motor/RobotShop)

Aansluiten van IN1, IN2 en EN

De ingangen zijn voorzien van pull down-weerstanden. Zodra de EN-ingang hoog wordt gemaakt, wordt de chip geactiveerd en begint de interne spanningsregelaar te werken. Op dat moment levert de VCC-uitgang van de MP6619 een spanning van 5 V. Ik heb een kleine ontkoppelcondensator van 100 nF gebruikt om deze spanning te stabiliseren. Als de 5 V aanwezig is, worden de N-kanaal MOSFET’s ook actief. Afhankelijk van de ingangsniveaus op IN1 en IN2 worden ofwel de high-side ofwel de low-side MOSFET’s geschakeld.

Logische niveaus van 3,3 V tot 5 V op de ingangen zijn veilig. Het is dus geen probleem om de BoB aan te sluiten op een ESP32 of een Arduino. Voor mijn eerste tests gebruikte ik schakelaars om 3,3 V op de ingangen te zetten en sloot ik de motor aan op de uitgangen van de BoB.

Gedeeltelijk succes

Mijn motor wilde niet draaien, de nFault-uitgang werd meteen laag (foutindicatie-LED ging branden), maar ik had geen kortsluiting aan de uitgang. Door de ingangsspanning aanzienlijk te verlagen kon ik de motor uiteindelijk langzaam linksom en rechtsom laten draaien. Het is belangrijk om op te merken dat ik nog geen PWM-snelheidsregeling had gemaakt.

Ik experimenteerde met het verkleinen van de shuntweerstand en het vergroten van de weerstand Rset om de motor in beweging te krijgen, wat uiteindelijk resulteerde in een ‘menselijke fout’ – 12 V op IN1, een verbrande BoB als resultaat en een diepe zucht van frustratie. De print ging in rook op en ik moest een nieuwe BoB bestukken.

Inschrijven
Schrijf u in voor tag alert e-mails over PCB ontwerp!

Nog een BoB en meer tests

Uiteindelijk kwam ik erachter dat de motor is uitgerust met parallel geschakelde ruisonderdrukkingscondensatoren aan de commutator, zodat de motor zich minder inductief en meer capacitief gedraagt. Hierdoor grijpt de OCP echter onmiddellijk in als er een stroompiek naar de motor gaat. Deze ‘overbelasting’ veroorzaakt een time-out van 1 ms voordat de MP6619 het opnieuw probeert. Dit proces herhaalt zich keer op keer, wat resulteert in een zacht, piepend geluid van de motor.

Het verwijderen van deze condensatoren helpt gedeeltelijk om de motor aan te sturen bij iets hogere spanningen. Inmiddels had ik na het bestuderen van de datasheet ook verbeterplannen voor mijn BoB-ontwerp en besloot ik een nieuwe versie te maken.
 

The revised BoB’s schematics
Figuur 4. Het herziene schema van de BoB.

Nieuw ontwerp en nieuwe layout

Voor mijn tweede versie moest het ontwerp en de lay-out worden aangepast. Ik heb de volgende wijzigingen aangebracht:

  • slechts één MP6619-chip;
  • de positie van de shunt werd herzien;
  • een 0,1"-pinheader in plaats van printkroonstenen; geen montagegaten;
  • een duidelijke componentenopdruk; slechts een minimaal aantal onderdelen.

Dit resulteerde in een nieuw schema (figuur 4) en vervolgens ook een nieuwe print (figuur 5 en figuur 6) met vier lagen en een oppervlak van slechts ongeveer een vierkante inch (25×25 mm) geproduceerd in een run met ENIG-afwerking (electroless nickel immersion gold). Na het bestukken van de BoB kreeg ik een echt compacte module die volgens mij door bijna elke microcontroller kan worden aangestuurd.
 

motor driver fig5 bob-top
Figuur 5. 3D-model van de 25×25mm-BoB (bovenzijde) bestaande uit vier lagen en ENIG-afwerking.
motor driver Fig6 bob-bottom
Figuur 6. 3D-model van de BoB (onderzijde) met pinheaders.

Meer tests en experimenten

Ik gebruikte dezelfde motor als in de eerste test. OVP en ULVO gedroegen zich goed. Nu probeerde ik het met PWM-besturing om een snelheidsregeling te realiseren. Testen met frequenties van 1 kHz tot 50 kHz leverde het verwachte gedrag op: De motor was goed regelbaar. Het voorbeeld uit de datasheet gebruikt 20 kHz en dat werkte prima bij lage spanningen.

Maar bij hogere spanningen sprak de OCP weer aan en stopte de motor. Door een extra 220µH-spoel (zelfgewikkeld, zoals die in figuur 7) in serie met de motor aan te sluiten werd het regelgedrag aanzienlijk verbeterd en het snelheidsbereik vergroot.

Hierdoor leverde de motor meer vermogen en sprak de OCP minder vaak aan. Met deze extra spoelen lijkt de oplossing geschikt voor praktisch gebruik in projecten.
 

A toroidal-core inductor
Figuur 7. Een ringkernspoel in serie met de motor verbetert het gedrag van de BoB.

Onder bepaalde omstandigheden levert de motor energie terug, die terugvloeit naar de H-brug. Deze energie wordt via de diodes in de MOSFET’s op de voedingsrails gedumpt, omdat de motor ook als generator werkt (de EMF van een gelijkstroommotor). In mijn tests gebruikte ik de elektrolytische condensator C8 met lage ESR parallel aan de stroombron. Met deze laatste verbetering was de BoB stabiel.

Optocouplers

Figuur 8 toont mijn testschakeling. Ik had besloten om optocouplers te gebruiken om een galvanische scheiding aan te brengen tussen de regelende kant en de motordrivers, omdat de voeding van een motor meestal sterk ruist. EMI kan ook problemen veroorzaken. De isolatie vermindert het risico op interferentie in de laagspanningssignalen en voorkomt dat sterke pulsen die door de motor en zijn driver worden gegenereerd de gevoelige microprocessor en andere elektronica bereiken.
 

Circuit with optocouplers
Figuur 8. Deze schakeling met optocouplers tussen de microcontroller en de BoB werd voor het testen gebruikt.

De ingangs-LED’s van de optocouplers kunnen rechtstreeks worden aangestuurd door een microprocessorpin via van een serieweerstand van 470 Ω. Aan de uitgang is de emitter van de fototransistor verbonden met IN1 van de BoB en dus met de ingang van de MP6619, en de collector is gekoppeld aan een logische spanning die wordt geleverd door een 3,3 V LDO-spanningsregelaar die wordt gevoed door de voeding van de motor – in mijn geval een batterij. Dit is voldoende voor een betrouwbare en stabiele werking.

Figuur 8 laat ook zien hoe je het nFault-signaal van de H-brug (open-drain uitgang) op dezelfde manier (maar dan andersom) via een optocoupler naar de MCU kunt brengen. In dat geval heeft de GPIO van de aangesloten microcontroller een pull-down weerstand nodig.

QFN-behuizingen

De FCQFN-pakketten (figuur 9) kunnen onregelmatig gevormde pads hebben, vaak gerangschikt in lange, smalle stroken. In tegenstelling tot gewone QFN-behuizingen wordt de warmte afgevoerd via veel van deze aansluitingen in plaats van via één groot centraal aansluitpunt. Dit brengt enkele uitdagingen met zich mee voor het printontwerp aangezien er veel pads zijn, allemaal met verschillende signalen, die verbonden moeten worden met kopervlakken.
 

MP6619 QFN-19 package pinout
 Figuur 9. Pinout van de MP6619 in QFN-19 behuizing (bron: Monolithic Power Systems)

Kleine via’s kunnen binnen de padvlakken worden aangebracht (via in PAD). Op meerlaags printen met voedings- en massavlakken kunnen via’s deze pads rechtstreeks verbinden met de betreffende vlakken. In andere gevallen moeten de pads direct met kopervlakken worden verbonden om de warmte van het IC af te voeren. Een layout-richtlijn is beschikbaar op .

Het grootste obstakel dat ik tegenkwam tijdens dit project was het solderen van de MP6619-chip. Om dit probleem te overwinnen experimenteerde ik met verschillende technieken en uiteindelijk lukte het met veel vloeimiddel, loodsoldeer en hete lucht, maar het bleef een uitdaging om de chip exact te plaatsen.

Eenmaal op zijn plaats zorgt de oppervlaktespanning van het gesmolten soldeer ervoor dat de chip goed wordt uitgelijnd met de pads. Het bleek nodig om veel te oefenen. Mijn aanbeveling is om een hotplate aan te schaffen om het soldeerproces te vereenvoudigen.
 

Motor driver components

Tot slot

In dit artikel heb ik je deelgenoot gemaakt van mijn ervaringen bij het ontwerpen en bouwen van een breakout-board voor de MP6619 H-brug motordriver. Ik noemde daarbij het belang van het gebruik van optocouplers om elektrische isolatie te bieden en deelde mijn inzichten in het werken met flip-chip QFN-behuizingen en de uitdagingen die komen kijken bij het solderen van kleine componenten.

Het MP6619 breakout-board biedt een zeer compacte oplossing voor het aansturen van goedkope DC-borstelmotoren, waardoor het een geweldige keuze is voor hobbyisten en makers die kleine robots en andere creatieve projecten bouwen. Alle ontwerp- en productiebestanden zijn open-source en zijn te vinden op mijn GitHub-pagina . De MP6619 is ook in kleine aantallen verkrijgbaar bij distributeurs zoals Farnell, Mouser en rechtstreeks bij Monolithic Power Systems.


Dit artikel (210657-01) verschijnt in de editie september/oktober 2023 van Elektor Mag.


Vragen of opmerkingen?

 

Hebt u technische vragen of opmerkingen naar aanleiding van dit artikel? Stuur een e-mail naar de redactie van Elektor via redactie@elektor.com.