Printplaat ontwerp tips voor de beginner

Tijs

Ouwe rot
Lid sinds
8 juni 2004
Berichten
852
Locatie
Frankrijk
Binnenkort wil ik starten met de ombouw van een grote analoge mixer naar een midi mixer. In het klein heb ik dit recent gedaan spagethi stijl. Voor dit project wil ik een 'moederbord' pcb laten maken waar ik de arduino op kan prikken en waar de multiplexers mooi verbonden worden en uitmonden in 2X8 connectoren om de potmeters op aan te kunnen sluiten.


Ik heb al een beetje gespeeld met een freeware online pcb design tool maar loop tegen aantal praktische startpunten aan:

1) Hoe kun je exact de pinafstanden van bijv de arduino headers geplot krijgen? Voor standaard componenten heb je vaak wel sjablonen, maar bij wat apartere layouts zul je het op een 1 of andere manier moeten nameten.
2) Met name het doorverbinden van de multiplexers aansturings en voedings pinnen zorgt ervoor dat doorkruisingen van paden onvermijdelijk zijn. Daarvoor heb je de 2 lagen optie maar zelfs dan is het een uitdaging om ze niet te laten kruisen. Is er geen software, waarbij je de componenten kunt plaatsen, verbindingen aan kunt geven, zodat de software zelf het meest efficiënte pad bepaald waarbij die kruisingen in ogenschouw genomen worden?

Alle tips zijn welkom :mega:

{Edit}

Mocht er iemand zijn hier op SF die veel ervaring heeft met dit soort software en de layout voor me zou kunnen maken tegen een schappelijke vergoeding, stuur me dan even een pbtje.
 
Laatst gewijzigd:
Hey Tijs,

Weet niet precies wat je gaat doen. Maak je alleen een controller of will je het audio path ook werkend houden.
Anyhow ik heb geen ervaring met het etchen van pcb's maar ken je http://www.ucapps.de/midibox_ng.html ?

(check wat voorbeelden http://www.ucapps.de/gallery_midibox64.html

Als je bv de CORE_STM32F4 maakt en daar een dan de AINX4 en DINX4 aan hang het je 32 knoppen en 32 pots/faders per module.

Ik heb zelf de Midibox sequencer gemaakt met de CORE_STM32F4 die heeft 6 midi outs en 2 midi ins en 8x cv out en een zooi gates.

cheers,

Tim

 
En als je zelf aan de slag gaat is Eagle CAD heel populair, maar mocht je nu beginnen zou ik aanraden om meteen met KiCAD te beginnen. Voor sommige opties (zoals een groter oppervlak dan 8X10CM) moet je bij Eagle betalen, KiCAD is FOSS.
Beide hebben een autorouter, die dus voor jou het beste pad zoekt als je eenmaal je componenten hebt geplaatst. Die zou ik echter vermijden als de pest, handmatig routen is altijd beter. Met een goede tool is dat ook helemaal niet moeilijk.
Om je pins goed uit te lijnen is je grid van belang. Zoek in de datasheet van je componenten wat de pitch is, en gebruik de kleinste waarde als je grid in Eagle of KiCAD. Het leren maken van een component/footprint is heel handig, je moet je er alleen even in verdiepen.
 
Hoi Tim,

Bedankt voor de tip.
Ik heb ooit de SammichSID gebouwd. Mooi concept echter de losse modules voor ins en outs voor het algemene midibox concept vind ik wat minder. Juist het principe van 1 solide board met zo min mogelijk kabelverbindingen spreekt me aan.

@ nmnn:

Ook bedankt. De online tool die ik gebruikte had wel een soort van grid maar niets dat leek op een pinout zoals een gatenprint. Ik ga KiCAD eens uitproberen. Met een pin matrix op het scherm zoals een gatenprint moet het wel lukken, dan kan ik het als referentie in het echt natellen op een gatenprint.
 
Laatst gewijzigd:
Mijn advies zou ook Kicad zijn. Veel tutorials op youtube, gratis en erg uitgebreid.

Ik heb in het verleden veel met met Ultiboard en PCB Elegance getekend. Beide zou ik nu afraden.
Ook het populaire Eagle zou ik als nieuweling niet aan beginnen omdat het net door
Autodesk over is genomen. Het is daarmee al kostbaarder geworden met een abonnement variant...

Op mijn werk teken ik met Altium, privé met Kicad. En eigenlijk vind ik Kicad
gewoon heerlijk en vrij intuïtief werken. Dat vind ik in mindere mate voor Altium gelden.

Daarnaast zijn er al vele Kicad projecten met de Arduino te downloaden.
Die kun je dus ook gemakkelijk aanpassen...

Dus mijn advies: Kicad
 
@Designer: De mixer wordt volledig midi, dus het wordt geen audiomixer die midi functies krijgt. De multiplexers dienen ervoor om alle potmeters uit te kunnen lezen en te routen naar de analoge input pins van de Arduino.
In de sketch worden de inputs van de multiplexers gescanned in een loop en worden de door de pots gereguleerde voltages omgezet naar midi CC waardes (of andere midi parameter).

Thanks ook Roland. Ik ga eens op YT filmpjes kijken over KiCAD.
 
Ik zou misschien ook eerst wat aanklooien met kleinere analoge projecten voor je met iets groters en digitaals start. Veel lezen over pcb layout voor digitale signalen, en aardstromen ed.
 
Leuk,ik ben nu zelf met mijn midi controller project ongeveer op hetzelfde punt. Op mijn breadboard werkt mijn project volledig.
Per module van 8 rotary encoders heb ik 3 595 en 3 165 shift registers. Ik moet nu ook de keuze maken of ik 1 grote print maak, of meerdere kleinere prints.

Ik ben zelf begonnen met eagle, daarin wil ik nu 1 print ontwerpen waar ik de 6 shift registers op solderen, dan de teensy op een stukje experimenteerprintplaat.

Kicad ga ik op zeker nog checken!
 
Kicad is echt nice, werkt heel intuïtief! Hier een tutorial van schema naar pcb:
 
Ik heb nu een paar uurtjes met KiCAD gespeeld.
Op een Mac werkt het niet helemaal vlekkeloos. Crashed regelmatig, en bij alt-tab naar een andere applicatie loopt KiCAD vast. Ik lees ook wel op forums dat het eigenlijk gemaakt is voor pc gebruikers.

De undo functie maakt niet alleen de laatste wijziging ongedaan maar haalt at random een heel deel van het board weg. Dit gooit roet in het eten want die functionaliteit is onmisbaar.

Wat wel erg fijn is zijn de component libraries die je al krijgt. Daar zit idd al een complete footprint van de arduino bij.
 
Als je nou een LCD erbij neemt, dan hoef je ook niet te multiplexen,
dan heb je een menutje waar je toewijst wat al je controllers zijn.
Hoe wou je dat nu doen ?, gewoon 128 knoppen blijkbaar.

Goed dat je bezig gaat met iets alleen word dit niets behalve leren voor je volgende project, alleen blijf je met zo veel rommel zitten uiteindelijk gooi je het tog weg.

Wat SRPP zegt is een goede tip voor print ontwerpen te leren,
volgens mij kun je beter meer kennis op doen met digitale projecten voor je een printplaat maakt.
Hoezo pak je niet een experimenteer printplaat ?, met van die rijen en gaatjes, waar je een stuk van kunt afbreken.
 
Als je nou een LCD erbij neemt, dan hoef je ook niet te multiplexen,
dan heb je een menutje waar je toewijst wat al je controllers zijn.
Hoe wou je dat nu doen ?, gewoon 128 knoppen blijkbaar.

Klopt 96 potmeters om precies te zijn. Een LCD zou idd meer flexibele mogelijkheden geven, echter map ik alle parameters in de Arduino sketch middels variabelen. Mocht ik de parameters willen wijzigen heb ik dit zo gedaan door even de sketch aan te passen en weer te uploaden.

Goed dat je bezig gaat met iets alleen word dit niets behalve leren voor je volgende project, alleen blijf je met zo veel rommel zitten uiteindelijk gooi je het tog weg.

Ik denk dat het wel iets wordt *D . Ten eerste geef ik niet snel op, ten tweede heb ik het al gemaakt met draadverbindingen met 48 pots:

https://vintagemidicontroller.wordpress.com/2017/06/23/first-blog-post/

Ook heb ik op een breadboard al getest met 6 multiplexers en de code zo geoptimaliseerd dat ik 96 potmeters en 16 schakelaars kan uitlezen zonder noemenswaardige latency. 98% van het geheugen benut dus het past allemaal net op de Uno.

Maar ... PCB design is een nieuw domein voor me, dus dat heeft even tijd nodig.

Dit is de mixer waarvoor ik het nu dus wat netter wil gaan aanpakken met een main board pcb:

https://vintagemidicontroller.wordpress.com/2017/06/23/converting-the-peavey-twelve-hundred-series/

De print moet dus male headers hebben voor de Arduino en headers voor 7 multiplexer pcbs (ook headers) van dit type:

https://hackerstore.nl/Artikel/277

Vervolgens moeten de 16 output pins van die multiplexers boards naar 2X8 connectoren worden geleid en moet de eerste multiplexer verbonden worden met de Arduino en de rest onderling worden doorverbonden.

Het wordt dus een generieke 96 analoge IN / 16 digital in Arduino Shield welke je zou kunnen gebruiken om willekeurige mixers om te bouwen.
Zeg maar een Doepfer USB64 met meer inputs. Ik zet de layout ook online als het af is zodat mensen het kunnen herbruiken.

De Arduino kost een euro of 8, de multiplexer boards maar 2,00 ps. Een simpele goedkope manier om een midicontroller te bouwen met flink wat inputs.
 
Ge kunt toch met 2 analoge multiplexers van 16 256 knoppen afscannen zoals een keyboard decoder ? Verdeel uw pots in rijen en kolommen ... of heb ik al teveel wijn uit :D
 
Wat heb je voor debounce gedaan ?,
bekijk eerst of je mengpaneel pots niet te veel storen door slijtage, of verrotte kwalieteit.

Deze printplaat soort gebruik ik zelf ook is goed voor jou project :

expprintbanen.jpg
 
De potmeters zijn allemaal vervangen door nieuwe 10k lineair en 10k lineair faders.

Debounce voor de digitale inputs wordt softwarematig afgevangen en werkt uitstekend. De analoge inputs hoeven niet eens ontkoppeld te worden met condensatoren. Het enige wat nodig is, is een separate voedingslijn en gnd lijn per 8 inputs om de metingen stabiel te houden. Het doorlussen van voeding en gnd over alle pots geeft op een gegeven moment valse waardes.

Ik vond gisteren op ebay nog een store die de 4067BE chip levert; deze is in Europa muv UK vrijwel niet meer te krijgen. Het is een DIP-24 chip die zich makkelijker laat verwerken op het mainboard dan de mux boards. Bij Mouser etc zijn alleen de SMD varianten van de 4067 te bestellen en daarvoor is mijn soldeertechniek niet toereikend.

Het board waar ik nu mee bezig ben zal dus gebruik maken van DIP 24 sockets. Ook heb ik besloten om het arduino board niet te integreren maar om gebruik te maken van twee connectoren naar het multiplexer board.

Nu ik even bezig ben, lukt het me waarschijnlijk om het board single layer te maken met 2 of 3 draadbruggen, waardoor het board ook makkelijker zelf te etsen is.

De gaten printen die Designer toont, gebruik ik zelf ook regelmatig maar vindt het wel een geknoei. Vandaar dus de wens voor een pcb.
 
Je kan het beste op de 10K potmeter middenste pin een 100n zetten, daarna met een 1K richting de MCU.
Als je die 1K niet doet trekt ie te veel stroom met de pot richting de 5v gedraaid.
Die 100n is om kleine storing tegen te gaan, is altijd beter, gewoon erop zetten.
 
Met de 56 potmeters van de mixer die ik al omgebouwd heb, heb ik de condensatoren na wat testjes weggelaten. Tot op heden geen hinder van ondervonden maar wellicht treedt er meer ruis op bij een een verdubbeling van de potmeters. In de code wordt de ruis er overigens uitgefilterd door de oude waarde van de pot te vergelijken met de nieuwe waarde; bij een klein verschil (ruis) wordt geen parameter change doorgegeven.
Wellicht zou dat uitvlakken in de code niet nodig zijn met een condensator per input pin, maar dat zou in mijn geval betekenen dat ik 110 condensatoren moet opnemen. Ik neem er voor de zekerheid toch maar een aantal op in het ontwerp; 1 per multiplexer vlakbij de toevoer van de ICs.

Die 10K pots zouden niet meer dan 0.5mA mogen verbuiken. In totaal dus ongeveer 55mA. De multiplexers max 25mA ps. 230 mA totaal verbruik van de multiplexers + pots blijft ruim binnen de specs van de arduino 5V lijn. Zeker aangezien de arduino niet via USB gevoed wordt, maar met een 1500mA adapter.

Wel heb ik eens ergens gelezen dat de beste vorm van filtering een condensator icm weerstand of inductor is, maar dat vaak een condensator op zichzelf al voldoende is.
 
Waarom heb jij gekozen voor multiplexers eigenlijk? Ik heb voor mijn project gekozen voor shift registers omdat deze parralel in of uit gaan en daarmee de load op mijn teensy minder wordt.
 
Zo duur zijn die ceramiese condensators tog niet, helemaal niet via ebay.
Die 100n heb je zoiezo nodig per multiplexer idd..
Die code heb je altijd nodig, zonder kan niet, ook niet met een 100n, anders blijft ie verspringen als je hem presies zo instelt.

De pots ruim binnen de range ?, hoezo niet gewoon op 5 volt, dan is die helemaal goed gelijk.
 
Back
Top