Het Zauberling prototype doorontwikkeld

Het was een leerzame uitdaging het prototype de magische Zauberling met Arduino Pro Mini in de betrekkelijke kleine binnenafmetingen van de originele Silberling-behuizing (40 x 70 mm en slechts 25mm diep) te bouwen. Ook het met de hand bewerken van de laser-gegraveerde frontplaatjes was behoorlijk arbeidsintensief, maar is uiteindelijk naar tevredenheid gelukt.

De kracht van de Zauberling ligt in de samenwerking met de traditionele Silberlingen, maar echter ook met eigen soortgenoten. Echter, het vooruitzicht dit hele arbeidsintensieve productietraject nog diverse malen doorlopen leek me niet erg aantrekkelijk. Bovendien waren er inmiddels vanzelfsprekend voortschrijdende inzichten, verbeter-ideeën en andere aanvullende wensen zodat ik al snel begon te fantaseren over een versie 0.2 met een meer gestroomlijnd 'productieproces'.

Een sterke verbetering zou zijn voor de vervolgmodellen nette geoptimaliseerde printplaten te ontwerpen en te laten produceren. Omdat diverse online pcb-productiepartijen tevens een bestukkings-service aanbieden, zou dan ook meteen met ruimtebesparende SMD-techniek kunnen worden gewerkt. Het leek me een zeer prettig vooruitzicht dat voor de 'serie-productie' dan alleen bijna nog geassembleerd hoeft te worden.

Some power pcb's with rectifier

Universele voedingsprint

Bij het prototype van de Zauberling had ik de aansluitingen van de externe voeding achterop uitgevoerd met stukjes draad met connectortjes. Ook de  spanningsregelaars waren voor eventuele koeling, maar vooral omdat ik hiervoor simpelweg op de hoofdprint geen plaats had, aan de buitenkant achterop gemonteerd. Dit volstaat voor een prototype, maar een logische vervolgstap is hiervoor een meer universele voedingsprint te ontwerpen. Hierop zouden dan, naast de spanningsregulatoren, ook meteen netjes de aansluitingen die achterop de Zauberling naar buiten komen kunnen worden gesitueerd.

In elk geval zou dit een elegante oplossing zijn voor het aansluiten, en eventueel doorlussen, van een optionele externe 12 volt voeding. Voor deze aansluitingen leken mij 2-pin JST-HX connectors geschikt. Deze kunnen niet verkeerd om worden aangesloten en de snoertjes zijn betrekkelijk eenvoudig zelf op maat te maken.

Op het prototype van de Zauberling kon door middel van een kleine schuifschakelaar worden gekozen tussen de reguliere 9 volt van de Silberling (via de zijkanten aangesloten met de verbindings-clips) of de optioneel achterop aangesloten externe voeding. Als je geen motoren wilt laten draaien, hoeven de driver uitgangen niet veel stroom te leveren. Dan is het handig als de Zauberling ook zonder extra voeding kan worden gebruikt. Het stroomverbruik bij zuiver digitaal gebruik, bijvoorbeeld als flip-flop, is immers beperkt. In veel gevallen kan dan simpelweg direct worden gewerkt met de stroomvoorziening via de traditionele fischertechnik gelijkrichter module. Net zoals dit al decennia lang gebruikelijk is bij de oorspronkelijke fischertechnik modules.

Weer eens een printje ontwikkelen...?

Het automatisch omschakelen naar de eventuele externe voedingsspanning en het faciliteren van de diverse aansluitingen op de achterzijde van de Zauberling zou idealiter op een aparte kleine print onderin de behuizing kunnen worden ondergebracht.

Door hier een specifieke print voor te ontwerpen, zou ik ervaring kunnen opdoen met de hedendaagse ontwerpsoftware en de huidige mogelijkheden voor het online laten fabriceren van printplaten. Doordat het inmiddels al zo'n 30 jaar geleden was dat ik eigen printjes maakte, had ik deze ontwikkelingen namelijk al erg lang niet meer gevolgd.

Video : toestemming voor cookies nodig
Instellingen

I2C en programmeeraansluiting

Op zo'n universele print zou dan ook direct de programmeer-interface (TTL) van de Arduino Pro Mini én de I2C bus voor het aansluiten van externe sensoren beschikbaar gemaakt kunnen worden. De print kan dan ook direct de eventueel benodigde pull-up weerstanden en voedingsspanning (meestal 3.3 of 5 volt) leveren voor de I2C bus. Omdat ik de vrijheid wilde om voor een 3.3 volt I2C bus te kiezen, als dat in de toekomst voor bepaalde sensoren noodzakelijk zou zijn, leek het me het verstandigst de spanningsvoorziening van de I2C bus met een aparte voltage regulator uit te voeren. Een 'L'-type (maximaal 100mA) is dan hiervoor ruim voldoende. Bovendien zou, mocht dit in de toekomst nuttig zijn, voor de grote spanningsregulator dan een ander voltage (bijvoorbeeld 6 volt voor een module die voornamelijk servo's aanstuurt) kunnen worden gekozen.

Voor het naar buiten voeren van een I2C bus wordt vaak gekozen voor male headers (print pennen). Dit heeft het voordeel dat er met gemakkelijk met lintkabel gewerkt kan worden. Omdat ik verwachtte dat ik de kabels toch zelf op maat zou maken per sensor of koppeling, koos ik uiteindelijk toch voor  SMH200/HY connectortjes. Deze steken door hun omlijsting iets netter door de achterkant heen en hebben nog het lichte voordeel dat ze compatible zijn met de Grove sensoren en breakout boards van Seeed.

Wat moet het voedingsprintje kunnen?

Het te ontwikkelen printje zal dienen als aansluitmogelijkheid voor de I2C bus en de TTL-niveau programmeerinterface. Maar vooral om aan de hoofdprint van de toekomstige Zauberling versie, of wat ik ook nog maar in een Silberling-behuizing zou willlen inbouwen in te toekomst, de verschillende voedingsspanningen te kunnen verstrekken. Omdat het niet verplicht moet zijn altijd een externe voeding aan te sluiten, zou het prettig zijn als naast 5 volt (voor de microcontroller) en 9 volt (om compatible te blijven met de Silberlingen logica), ook een pin voorhanden is die automatisch óf de extern aangeboden voedingsspanning óf de spanning van de zijkant van de Zauberling voert.

Zo kwam ik al snel tot een rijtje wensen en eisen:

  • Automatische omschakeling van de voedingsspanning, met een 'wired-OR' door middel van Schottky diodes. In noemde deze spanning 'Vm'.
  • In elk geval één positie voor een 78S05 óf 78S06 (in verband met servo-spanning mogelijke toekomstige servo-module bijvoorbeeld): Vcc.
  • Moet onderin de behuizing zo min mogelijk diepte innemen zodat onderdelen op de hoofdprint, achter het frontje, niet geraakt worden.
  • Achterop de TTL FTDI interface om de Pro Mini te programmeren. Interne verbinding met de hoofdprint met header connector.
  • Achterop een I2C bus met pull-up weerstanden en eigen voedingsspanning. Interne verbinding met de hoofdprint met header connector.
  • Praktisch zou het fijn zijn als de print het aansluiten van de contactstrips aan de zijkanten van de behuizing vergemakkelijkt door op strategische plekken hiervoor soldeerpads te bieden. Dit scheelt bedrading en werk bij het assembleren.

Nadat ik het automatisch omschakelen van de voedingsspanning met een testopstelling had uitgeprobeerd, kwam ik tot het schema hieronder.

Schermafbeelding_2022_02_09_om_15_22_58

Hoe ging dat vroeger ook al weer?

Het was al vrij lang (bijna 35 jaar) geleden dat ik wel eens zelf printjes maakte. Hoewel een enkel ontwerpje nog steeds in gebruik is, is op zolder een grote bak getuige van het ontwikkelingstraject van mijn maaksels door de jaren heen. In alle gevallen etste en boorde ik de printjes zelf. Voor het overbrengen van de kopersporen heb ik diverse methoden geprobeerd. Met wisselend succes. In het begin tekende ik het hele ontwerp, dat in die dagen vanzelfsprekend nog simpelweg enkelzijdig was, met een watervaste stift op een schoongemaakt stukje printmateriaal.

Later tekende ik de ontwerpjes met de hand, soms met hulp van afwrijfsymbolen voor de kopereilandjes, op calque-papier. Of probeerde het met, helaas niet altijd goed licht-dichte, gelaserprinte overhead-sheets. Nog weer later liet er een echte litho van maken bij een bevriende drukker. Daarmee kon dan fotogevoelig printmateriaal worden belicht op een zelfgemaakte lichtbak. Dat luisterde nauw. Te kort en het belichte materiaal bleef hier en daar zitten bij het ontwikkelen. Te lang en je 'ontwikkelde' alles weg en kon ook opnieuw beginnen.

pcb designVarious pcb designsDouble sided pcb design

En dan belichten, ontwikkelen, etsen en boren...

Het ontwikkelen ging met gootsteen-ontstopper en het etsen eerst met het vermaledijde gele ijzer(III)chloride. Dat maakte enorme vlekken en de gaten vielen in je kleding als je eens een spettertje morste. Later gebruikte ik een oplossing van waterstofperoxide en zoutzuur in een speciaal voor het etsen aangeschaft 'aquariumpje' dat kon worden verwarmd. Er zat ook een luchtbruis-pompje aan. Deze vloeistof bood, omdat ze helder is, in elk geval een beter zicht op het printje en wanneer het klaar (of gewoon weer eens mislukt) was.

Toch heb ik, met veel prutsen, jarenlang op die manier bruikbare, soms zelfs dubbelzijdige, printen gemaakt. Maar ook heel wat prijzige dunne printboortjes gebroken. En natuurlijk ook soms nét voordat het laatste gaatje geboord, doch de lokale elektronicawinkel inmiddels gesloten was. 😅

Met enig grutten in de schuur kon ik nota bene zowel de lichtbak (uit 1993) en het ets-badje terugvinden. Uit piëteit heb ik er onderstaande foto's van gemaakt omdat ik er binnenkort definitief afscheid van zal nemen. Mooie nostalgie, maar tegenwoordig is het laten produceren van je printjes allang niet zo erg duur meer en het leek me voor dit project aantrekkelijke dit traject nou eens uit te zoeken. Op die manier zou ik ook direct mijn ontwerpvaardigheden kunnen actualiseren. Voorheen (in de jaren 90 van de vorige eeuw) gebruikte ik hiervoor een softwarepakket met de naam 'Protel' om de schema's te tekenen en de printen te ontwerpen. Bij het herintreden heb ik gekozen voor een solide open-source programma dat ook uitstekend op de Mac werkt: KiCad.

Pcb material and designUV kitEtching with waterstofperoxide

Printontwerpen

Na het tekenen van het schema, en het toekennen van de juiste (koper-)footprints voor alle onderdelen, kon de print ontworpen worden. Met enig experimenteren lukte het de vector-curves vanuit Affinity Designer als 'edge-cut' binnen KiCad te krijgen. Dit wordt de werkelijke outline van het printje, die ik inmiddels rondom een halve millimeter kleiner had gemaakt dan de binnenzijde van de behuizing. Ook de uitsparingen voor de steunpootjes binnenin de behuizing spaarde ik uit, zodat het printje zometeen netjes onderin het kastje past.

Vanzelfsprekend is het vervolgens zaak dat de connectoren, die zometeen netjes door uitsparingen aan de achterzijde moeten steken, op de juiste plek op het printje worden gepositioneerd. De doorverbindende header connectoren met de voedingsspanningen, FTDI- en I2C-bus moeten juist zo veel mogelijk aan de rand van de print worden gezet, zodat deze de plaatsing van onderdelen op de toekomstige hoofdprint van de Zauberling niet in de weg staan.

Hieronder het resultaat van wat schuiven en routeren van de koperverbindingen. De print is niet groot, maar doordat er aan twee kanten kan worden gewerkt lukt het vrij gemakkelijk alles netjes aan te sluiten. De 3D-representatie die KiCad kan maken, geeft direct al een goede indruk van het eindresultaat.

Schermafbeelding_2022_02_09_om_16_40_23Schermafbeelding_2022_02_09_om_16_40_483d render power-pcb

Geslaagd tussenresultaat...

De conclusie kan niet anders zijn dan dat het realiseren van een professionele printplaat inmiddels een stuk gemakkelijker en goedkoper is dan enkele tientallen jaren geleden. Het was even wat uitzoeken in KiCad, maar ik voelde me al snel thuis in dat programma. In de basis is het ontwikkeltraject over de jaren hetzelfde gebleven: eerst het goed doordachte schema tekenen en er de juiste onderdelen footprints aan toekennen. Daarna het printontwerp maken. Het was tevens de eerste keer dat ik gebruik maakte van een online printplaten producent, maar ook dat proces is eigenlijk vlekkeloos verlopen. Op de foto hiernaast de printjes zoals ze nagenoeg kant en klaar, SMD bestukt en wel, binnenkwamen.

IMG_4719

Na insolderen van de grote spanningsregulator (al naar gelang de toepassing een 1, 1.5 of 2 Ampère type), de verbindings-strips en de connectors die door de achterzijde naar buiten steken, waren de printjes klaar om in te bouwen.

IMG_4722IMG_4723IMG_4729

Het ontwerp is natuurlijk vrij specifiek toegesneden op de (volgende versie van de) Zauberling, maar wie de voedingsprint wil nabouwen, kan de Gerber files vinden op GitHub. De 3D-bestanden voor het 3D-printen van de fischertechnik Silberling behuizing zijn te downloaden vanaf Thingiverse.