Printen ontwerpen - tips en trucs
Afhankelijk van je perspectief, werkstijl en opgedane ervaring, zou je kunnen denken dat een print op maat voor een project direct aan het begin van het ontwikkelingsproces moet worden besteld. Je krijgt een idee, tekent een schema, tekent de print, bestelt hem (of etst hem zelf) en monteert dan de componenten. Maar vaak blijkt dat je, ook al is de print op zich perfect, een probleem op een heel ander niveau over het hoofd hebt gezien. Dan moet je een andere print ontwerpen en bestellen, gevolgd door een derde of zelfs een vierde. Elke iteratie neemt een hap uit het projectbudget en brengt de deadline dichterbij. Om dit te vermijden, wacht ik meestal zo lang mogelijk met de eerste echte print.
Maak eerst een protoprint!
De schakeling zelf moet op de een of andere manier worden gecontroleerd en getest. Je eerste testopstelling ziet er misschien ‘wild’ uit, maar hij verschaft wel essentiële inzichten in de vraag of alles werkt zoals het zou moeten. Een opstelling op standaard breadboard is vaak voldoende. Als alternatief zou je stripboard kunnen gebruiken, en af en toe geef ik soms de voorkeur aan een ‘zwevende’ constructie op een blikken deksel (figuur 1). Dit vormt een fatsoenlijk aardvlak, en de gesoldeerde verbindingen betekenen dat je geen last hebt van sporadische storingen door versleten insteekcontacten. De waarden van de componenten kunnen gemakkelijk worden veranderd tot alles optimaal werkt. Als de schakeling instabiel blijkt te zijn, kun je uitzoeken waar je de voeding het beste kunt ontkoppelen, of kleine condensatoren naar massa langs de signaalweg kunt monteren.
Wanneer je project een microcontroller heeft, begin je gewoonlijk met een kant-en-klaar ontwikkelboard. In dat geval kun je externe componenten aansluiten om de algemene werking voorlopig te testen en de firmware te ontwikkelen. Vaak blijkt a snel of je voorzorgsmaatregelen moet nemen tegen de storingsgevoeligheid. EMC-problemen openbaren zich via stoorsignalen die je op een radio kunt horen. Misschien heb je al gemerkt dat de schakeling zich misdraagt als er storingsbronnen in de buurt zijn. Dit betekent dat bij de layout van de print speciale aandacht moet worden besteed aan de storingsimmuniteit.
In veel gevallen monteer ik de componenten op gaatjesprint om een beter idee te krijgen van de uiteindelijke afmetingen van de print en een mogelijke plaatsing van de componenten en eventuele bedieningselementen, alsmede aansluitingen voor voeding en signalen. Hieruit kan zich een handig prototype ontwikkelen (figuur 2). Een klant kan het zelfs gebruiken om de eerste tests uit te voeren en wijzigingen voor te stellen die dan eenvoudig kunnen worden getest. Als de schakeling eenmaal klaar is, kan de aandacht op de print worden gericht. Tot nu toe werden waarschijnlijk through-hole componenten gebruikt om de schakeling te bouwen, maar op de uiteindelijke print zullen waarschijnlijk SMD’s komen. De gaatjesprint-layout is waarschijnlijk niet EMC-optimaal omdat er geen massavlak is, maar we weten in elk geval wat er nog verbeterd moet worden.
Componenten en het bedradingsschema
Je hebt waarschijnlijk al enkele schema’s geschetst. Maar bij alle PCB-ontwerptools moet eerst het volledige schema worden ingevoerd. Elke component moet zeer precies gespecificeerd worden. “10kΩ-weerstand” is niet voldoende, je moet de behuizing specificeren, bijvoorbeeld een SMD-weerstand van formaat 0805. Het kiezen van de juiste componenten is vaak zeer tijdrovend omdat er zoveel gelijksoortige componenten zijn. Dit geldt vooral voor connectoren, schakelaars, potentiometers en dergelijke. Ook moet worden nagegaan of de gekozen component werkelijk leverbaar is en of de footprint ervan op de print correct is. Het is ongelooflijk frustrerend om te moeten vaststellen dat je mooie, maagdelijke printplaat de verkeerde uitsparingen heeft en dat de USB-connector niet op de print past. Wees uiterst voorzichtig bij het kiezen van de componenten.
Eén ding heb ik gemerkt bij het werken met SMD-weerstanden en -condensatoren: ze zien er op het scherm zo groot en hanteerbaar uit, dat het gemakkelijk is de werkelijke grootte verkeerd in te schatten. Dit kan een probleem zijn als je van plan bent om de print met de hand te bestukken. De kleinste componenten zijn problematisch, althans wanneer je ze met de hand soldeert. Je zou een paar voorbeelden van de onderdelen op je bureau moeten hebben om een snelle realiteitscheck uit te voeren. Persoonlijk vind ik het 0805-formaat het makkelijkst te solderen. Ik herinner me een project met componenten in 0402-formaat om ruimte te besparen. Het bleek extreem moeilijk om de componenten te solderen en een prototype te bouwen, maar dit probleem kan natuurlijk worden vermeden als de print compleet geassembleerd wordt geleverd.
Als alle componenten gekozen zijn, kan het schema getekend worden met alle aansluitingen. Overigens, als er later bij het tekenen van de print een fout optreedt, moet je altijd eerst teruggaan naar het schema en daar de wijzigingen aanbrengen. De layout-software zorgt er altijd voor dat de layout van de printsporen spoort met het schema.
De print-layout
Dan nu de printplaat. Eerst moet je nagaan in welke behuizing de print moet passen, om te bepalen wat de afmetingen zijn en of een dubbelzijdige print nodig is. Je kunt nu kenmerken definiëren zoals afgeronde hoeken en speciale contouren. Je kunt deze later nog wijzigen, maar het is gemakkelijker als je de afmetingen vanaf het begin goed hebt.
Dubbelzijdige printen zijn meestal standaard. Een enkelzijdige print heeft nauwelijks kostenvoordelen, maar het kan het proces wel vereenvoudigen als je van plan bent hem zelf te etsen. In de meeste gevallen bestel ik in het eerste stadium gewoon vijf of tien exemplaren bij een PCB-service om mezelf de moeite te besparen. Sommige leveranciers bieden ook aan om prototypes te assembleren. Zorg er in dat geval voor dat je van tevoren weet welke componenten gebruikt moeten worden en houd daar rekening mee bij het tekenen van het schema.
Zodra de omtrek gedefinieerd is, kun je alle componenten uit het schema importeren; zet ze eerst op het scherm naast de print. Daarna kun je ze een voor een op de print schuiven en de juiste positie zoeken die de kortste en meest directe printsporen oplevert. Hier is het een voordeel als je alles van tevoren al op een breadboard hebt gebouwd. Je hebt dan al een idee hoe je de componenten moet plaatsen met een minimum aantal kruisende sporen zodat via’s naar de andere kant van de print vermeden worden.
Wanneer alle componenten zijn geplaatst, kun je de autorouter starten. De software probeert dan alle componenten aan te sluiten conform het schema. Het kan dan echter gemakkelijk gebeuren dat de routering van de aansluitingen in andere opzichten suboptimaal is. Er kunnen te lange en kronkelige aardverbindingen zijn, of de ‘kortste’ weg tussen VCC en GND via een bypass-condensator wordt te lang en vormt in de praktijk een lus-antenne. EMC-problemen zijn dan onvermijdelijk.
Je moet in ieder geval zelf eerst de massa- en voedingsbanen leggen en pas daarna de autorouter starten. Ik ga nog een stap verder en geef er de voorkeur aan alle verbindingen met de hand te maken. Vooral zeer eenvoudige schakelingen hebben meestal een duidelijke structuur (figuur 3) en hebben een eenvoudige layout.
Massavlakken
Doorlopende massavlakken zijn een grote hulp. Hiervoor kun je aan de onderzijde van de printplaat een doorlopend kopervlak maken dat met GND (massa) is verbonden. Alle signaalvoerende sporen blijven zoveel mogelijk aan de bovenzijde. Waar het onvermijdelijk is dat twee sporen elkaar kruisen, eindigt het ene spoor in een eilandje met een doorgemetalliseerd gat (via) dat het signaal naar de andere kant voert naar een kort spoor dat dan op een ander punt weer naar boven gaat. Het is zinvol een layout-systeem te volgen waarbij bijvoorbeeld alle voedingsbanen horizontaal lopen en de signaalvoerende sporen zoveel mogelijk verticaal. Elke onderbreking in het aardvlak moet zo kort mogelijk zijn om spanningsverliezen te minimaliseren. Uiteindelijk helpt een ononderbroken kopervlak om overan de kortst mogelijke verbinding naar massa te bereiken; een through-hole verbinding is alles wat je nodig hebt als een aansluiting aan massa moet liggen.
Massavlakken kunnen wonderen verrichten, zoals is gebleken bij het Elektor SDR-shield (figuur 4). Dit is een gevoelige kortegolfontvanger, dus het is belangrijk om elke storing te vermijden die de prestaties in gevaar zou kunnen brengen. Het shield wordt rechtstreeks op een Arduino Uno aangesloten. Aanvankelijk was ik bang dat montage zo dicht bij een microcontroller problemen zou geven, maar het is allemaal goed gekomen, met een probleemloze ontvangst. Een massavlak aan de onderzijde fungeert als afscherming voor signalen van onderaf, en stoorvelden van bovenaf hebben minder effect, omdat de meeste veldlijnen direct bij massa eindigen en maar heel weinig op de dunne signaalvoerende sporen.
Connectoren
De meeste printen hebben een verbinding met de buitenwereld nodig. Vaak worden pinheaders of busstrips gebruikt langs de rand van de print, zoals bij de Arduino, of andere gestandaardiseerde plug-in systemen. Wanneer het gaat om experimentele projecten of printen voor onderwijsdoeleinden, zijn grotere aansluitpunten vaak handiger. Ronde doorgemetalliseerde gaten van 4 mm zijn geschikt voor zowel banaanstekkers als krokodillenklemmen (figuur 5).
Ik geef de voorkeur aan dubbelzijdige, rechthoekige aansluitpunten met doorgemetalliseerde gaten met een tussenafstand van 5,08 mm. Deze aansluitpunten brengen geen extra kosten met zich mee en kunnen zeer flexibel worden gebruikt; je kunt er draden aan solderen, krokodillenklemmen gebruiken of een printkroonsteen monteren. Voor zeer eenvoudige experimenten kunnen componenten zelfs gewoon rechtstreeks in de contactgaten worden gestoken (figuur 6).
Er zijn ook printplaten die alleen uit aansluitpunten bestaan. Dan heb je geen schema nodig en kun je meteen aan de slag met de print. Voor een breadboard dan voor HF geschikt is, heb ik aan beide zijden een doorlopend massavlak gemaakt. De meeste contactpunten liggen op geïsoleerde eilandjes. Maar de eilandjes langs de rand alsmede enkele doorlopende rijen zijn met massa verbonden (figuur 7). Op deze manier is de massa overal gemakkelijk bereikbaar via een korte verbinding en heb je een relatief goed massavlak als afscherming.
Controleren van de layout
Software die gebruikt wordt om printen te ontwerpen, voert automatisch tests uit om ontbrekende verbindingen, kortsluitingen en te dicht naast elkaar liggende sporen te vinden. Er zijn echter nog andere fouten op een heel ander niveau en die je alleen zelf zult kunnen achterhalen. Het is de bedoeling dat de eerste print die je bestelt foutloos is, maar zoals je weet geldt ook hier de Wet van Murphy. Terugkijkend schat ik dat elke tweede printplaat die ik heb ontvangen minstens één fout heeft gehad. Last minute-wijzigingen zijn hier vaak de boosdoener omdat ze een nieuwe onvoorziene bug kunnen introduceren. En er kunnen ook fouten bij de start van het project zijn gemaakt die op de een of andere manier onopgemerkt zijn gebleven.
Om een print te bestellen, moet je de informatie omzetten in Gerber-bestanden. De software maakt individuele bestanden aan voor de verschillende lagen van de print en voor de boorgaten. Op het web zijn verschillende Gerber-viewers te vinden, waarmee je het resultaat kunt bekijken. Je kunt dan tussen lagen schakelen en het ontwerp op een andere manier bekijken. Dit is een andere belangrijke fase in het verificatieproces dat heeft al menig gemiste bug aan het licht heeft gebracht; zelfs in dit stadium bestaat er nog enige onzekerheid of alles uiteindelijk goed zal werken.
Een andere tip die kan helpen om fouten op te sporen is de layout uit te printen en de componenten op hun omtrek te leggen. Bij een project waar ik mee bezig was dacht ik dat ik dat wel kon overslaan omdat de print zo mooi simpel en duidelijk gestructureerd was. Met de net uitgepakte printplaat op de werkbank en de soldeerbout op temperatuur, merkte ik: verkeerde SO-omtrek van de behuizing van de microcontroller! Deze component is verkrijgbaar in een smalle of brede uitvoering. In dit geval heb ik de print toch maar in elkaar gezet door alle pinnen van de controller aan één kant te verlengen met stukjes draadjes (figuur 8).
Frustrerend natuurlijk; maar meestal kan ik als troost andere aanpassingen vinden die de layout ten goede komen (in dit geval betere labels), zodat een nieuwe PCB-iteratie niet helemaal voor niets is (figuur 9).
Bij zeer eenvoudige printen met through-hole componenten, bijvoorbeeld voor onderwijsdoeleinden, kunnen we nog een stap verder gaan en op voorhand een versie van de printplaat maken: plak een papieren kopie van de print op een stuk karton en prik gaatjes voor de aansluitingen van de componenten. De componenten kunnen dan door het karton worden gestoken en aan de onderkant worden gesoldeerd. In plaats van de printbanen worden dan korte stukjes draad gebruikt. Dit geeft je een goede kans om eventuele fouten te ontdekken. Bovendien heb je dan een bruikbaar prototype om te testen voordat je de uiteindelijke print-layout vastlegt (figuur 10).
Veel van deze strategieën voor het ontwerpen van eenvoudige printplaten werken heel goed bij kleine, beheersbare, experimentele projecten, maar natuurlijk niet zo goed bij grotere ontwerpen. Het hoofd van een grote onderneming kan wel eens onbegrip hebben en minachtend doen over kartonnen layouts, omdat hij ze amateuristisch en tijdverspilling vindt en de mening is toegedaan dat elke competente professionele ingenieur het in één keer goed kan doen. In principe is dat waar, maar geloof me – vergissingen en fouten zijn onvermijdelijk en er zijn vaak meerdere ontwerpen nodig, waardoor de kosten oplopen en de termijnen van het project in gevaar komen. Ik kan alleen maar zeggen dat de hier beschreven techniek voor mij goed heeft gewerkt; de nadruk moet liggen op het vooraf uitproberen en testen, zodat er minder verschillende versies van de print hoeven te worden besteld.
Over de auteur
Burkhard Kainka werkte vele jaren als leraar natuurkunde voordat hij in 1996 voor een zelfstandig bestaan koos als ontwikkelaar en auteur op het gebied van elektronica en microcontrollers. Hij beheert de websites www.elektronik-labor.de en www.b-kainka.de waar je vele interessante kleine en grote projecten kunt vinden, samen met informatie over de basisbeginselen van de elektronica. Burkhard is een fervent radioamateur met als call sign DK7JD.
Vragen of opmerkingen?
Hebt u technische vragen of opmerkingen naar aanleiding van dit artikel? Stuur een e-mail naar de auteur via b.kainka@t-online.de of naar de redactie van Elektor via redactie@elektor.com.