De Ultieme Multi Power Module - Deel 3

Geen van de klare modules met meerdere uitgangsspanningen bleek ideaal. Ze hadden geen stroomuitlezing, of waren veel te groot om in een kleine module te bouwen. Het wensenlijstje leidde dus tot een plan voor zelfbouw. De testopstelling en eerste testprogramma in het vorige deel waren een goede 'proof-of-concept' van stroommeten met de INA3221 I2C stroomsensor.
 
Nu wordt het tijd om alles in elkaar bouwen. Dus: printplaten en een 3D behuizing ontwerpen en printen. Daarna? Alles in elkaar bouwen en testen natuurlijk. Het filmpje geeft een goed beeld van de samenbouw en hoe de module eindelijk een 'echt' bruikbaar product wordt.

Video : toestemming voor cookies nodig
Instellingen

Stapelen maar...

Omdat het prettig is als de uiteindelijke module straks ook als stroomvoorziening voor de traditionele fischertechnik 'Silberlingen' en de 'Zauberling' kan worden gebruikt, is een van de oorspronkelijke wensen dat deze kan worden ondergebracht in een Silberling-behuizing. De inbouwruimte van een dergelijk kastje is slechts 3,5 bij 7 centimeter bij een inbouwdiepte van 2,5 cm. Het was dan ook vanaf het begin duidelijk dat, om deze kleine ruimte optimaal te benutten, de uiteindelijke module, net als de Zauberling (foto hiernaast), het best zou kunnen worden opgebouwd uit twee gestapelde printplaten.

Zauberling V0.2 sandwich side-view
UMPM - Empty case and front

De tussenruimte tussen de printplaten is slechts 11 mm en onderdelen op de onderkant van de bovenste printplaat mogen niet botsen met hoge onderdelen op de onderste printplaat. Bovendien moet op de nu te ontwerpen printplaat een relais worden ondergebracht dat zelf al hoger is dan 11 mm. Gelukkig kon de printplaat onderin de behuizing nog iets zakken, zodat de frontplaat met alle LEDs, connectors, drukknoppen en het display op dezelfde hoogte kon blijven als bij de Zauberling.

Bij de Zauberling is aansluiten van een externe stroomvoorziening achterop de module optioneel. Bij een 'power-module' als deze zou het prettiger zijn direct een 12 volt DC-adaptor te kunnen aansluiten. Ook moest de module liefst een zo gemakkelijk bereikbare aan/uit knop hebben. Omdat de positie van deze voedingsmodule in de praktijk altijd geheel links in een rij 'Silberlingen' zal zijn, kan hiervoor de linker zijde van de module worden gebruikt. Er zal echter bij het ontwerpen van de printplaten rekening mee moeten worden gehouden dat de DC plug en schakelaar vrij ver de behuizing in steken.

Beide componenten moeten binnenin vrij precies tussen de twee printplaten vallen. Met een verhogingsring voor de DC-plug, zouden we binnenin de kast nog weer een paar millimeter inbouwruimte kunnen besparen. Ja, het is puzzelen op de vierkante millimeter!

Voor de lagere stromen, zoals bij de spanning van 3.3 volt en de 9 volt systeemspanning, volstaan kleine 100 mA voltage regulatoren in SMD techniek. Maar voor de 5 en 9 volt zijn zwaardere voltage regulators nodig. Bij belasting zouden deze zelfs (licht) warm kunnen worden waardoor het prettig zou zijn als ze achterop buiten de kast uit kunnen steken.

De firmware van de module zal niet vaak wijzigen. Hierdoor is geen externe I2C bus of gemakkelijk bereikbare FTDI-programmeerpoort achterop de module nodig. Hierdoor komt een gedeelte achterop het kastje vrij om voor een opening voor de voltage regulators. Als de achterzijde van de module hierbij volkomen vlak zou blijven, zou een zelfklevend koelelement voor de eventuele koeling kunnen zorgen.

UMPM - Voltage regulators back

PCBs ontwerpen

Omdat de tussenruimte tussen de printplaten zo klein is, het relais relatief hoog is, én er ook nog een DC-plug en schakelaar voor een deel in de behuizing steken, was het ontwerpen in KiCad een secuur klusje. Om storende invloeden zoveel mogelijk te voorkomen, heb ik voor de plaatsing van de onderdelen rond de INA-chip de datasheet zo veel mogelijk gevolgd. Ook nam ik het voorgestelde HF-filter op de busingangen over.

UMPM - PCB 1 KiCad UMPM - PCB 1 KiCad - Detail UMPM - PCB 2 KiCad

UMPM - Bare PCBs

De spoorbreedte van de sporen van de uitgangsspanningen, die meer stroom moeten kunnen voeren, is zo breed mogelijk gehouden. Online calculatoren en tabellen geven aan dat bij de gekozen spoorbreedte van 1,5 mm stromen tot 1,6 Ampère geen problemen zouden moeten geven. Ik heb voor nu simpelweg voor 1 ounce (oz/ft2) koperdikte gekozen, dit zou nog kunnen worden verhoogd tot 2 ounces. Ook is het mogelijk de sporen uit te sparen in het soldeermasker zodat ze nog kunnen worden vertind. Stromen van 5 Ampère of meer moeten dan mogelijk zijn, maar voor verwachte gebruik is dit allemaal echter niet nodig. Om deze reden heb ik de module ook een fysieke zekering aan de ingang gegeven van 1600 mA.

Van de ontwerpen konden vrij vlot mooie bruikbare printplaten worden gemaakt, die na manueel insolderen van de nog missende onderdelen al snel een testbaar resultaat opleverden. De INA-print liet zich voor het inbouwen testen met de Sketch die ook voor de testopstelling op het breadboard gebruikt kon worden (zie deel 2).

Werkt de stroommeting?

Op de printplaat waarop de stroommetingen worden uitgevoerd, had ik de meeste SMD onderdelen al door de fabrikant laten plaatsen. Hoewel ik de soldeertechniek er voor in huis heb, vond ik het de meerprijs meer dan waard. Het scheelt veel tijd en met name het plaatsen van de INA-chip is namelijk nog wel een precisiewerkje. Nadat de nog missende onderdelen waren geplaatst kon, de deze printplaat worden getest.

De 5 volt voedingsspanning voor de INA-chip wordt echter in de uiteindelijke printplaten-sandwich door de Arduino Pro Mini op de, nu nog missende, bovenste printplaat verzorgd. Dit kon gelukkig eenvoudig worden opgelost door het tijdelijk insteken van een 5 volt voltage regulator (78L05) in het driepolige voetje links. Met het testprogramma uit deel 2 bleek de INA-chip inderdaad te 'leven' en zijn meetwaarden keurig over de I2C-bus uit te leveren!

UMPM - Bottom PCB with INA3221
UMPM - Piggy back Arduino

Samenbouwen

De meeste componenten van de bovenste printplaat werden in een soort semi-SMD-achtige techniek opgesoldeerd. De microprocessor hangt bijvoorbeeld op zijn kop als een soort paalwoning aan SMD kopereilanden gesoldeerd. Een techniek die ik ook al bij de Zauberling toepaste en optimaal gebruik van alle zijde van de printplaten mogelijk maakt.

Hierdoor wordt ook de ruimte tussen de twee printplaten optimaal gebruikt. Bij de componentenopstelling was het echter wel even opletten dat er niets 'botst' met het hoge relais dat deze tussenruimte domineert. Componenten die door het front naar buiten kwamen en daardoor liefst op een specifiek plek staan, bezetten al diverse plekken op de print. Andere componenten moesten zich daar maar in schikken. Dit verklaart de wellicht wonderlijke opstelling van de blauwe verbindingsconnectoren.

UMPM - PCB Sandwich UMPM - Case open 2 PCBs UMPM - Case open no lid UMPM - Case open full display

De Ultieme Multi Power Module

Na het samenbouwen en programmeren van de Arduino, was de 'Ultieme Multi Power Module' een feit. De uitlezing en stroombegrenzing werken prima. Op het front staan 3.3, 5, 9 en 12 volt ter beschikking en de module laat zich goed combineren met andere modules.

De laatste versie van de Sketch heb ik op Github gezet. Deze software blijft vermoedelijk echter nog in ontwikkeling. Bij belasting met een inductieve load is het meetresultaat op het display wat onrustig, hiervoor zal ik zeker in de toekomst nog wat meer willen experimenteren met de configureerbare bemonsteringsfrequentie en het automatisch middelen van de meetwaarden door de INA3221 sensor.

Ik besluit voor nu met een eenvoudig toepassingsvoorbeeld op de foto hieronder. Een vier dubbele 9 volt motor demo met twee Zauberlingen. Eindelijk heb ik een duidelijk beeld van het stroomverbruik van fischertechnik motoren. 😉

UMPM - Screen 12v limit

UMPM - Four motor demo Zauberlingen

Slotopmerkingen

Wie de module precies na wil bouwen, kan de STL-files van het behuizingkje en het front-ontwerp vinden op Printables of Thingiverse waar ik ze als 'Remix' van mijn originele Silberlingen-behuizingvarianten heb gepubliceerd.

De z.g. Gerber bestanden met het printontwerp van beide printplaten, bleek na productie nog niet helemaal perfect. Er misten 2 via's (die ik wél correct had geplaatst?!) en ik was de boorgaatjes voor bevestiging in de bovenste PCB vergeten. Dit was gelukkig, met kennis van zaken, eenvoudig te corrigeren. Ik heb echter nog niet de moeite genomen dit alles te corrigeren in KiCad. Vandaar dat ik het niet zinvol vond deze bestanden (nu al) te publiceren. Ontwerp dus je eigen PCB, of voel je vrij er mij er naar te vragen als je er echt niet uitkomt.