CAD

Yannick Verbelen - yannick.verbelen@vub.ac.be

Overzicht

In het eerste jaar heb je tijdens het Wekkerproject reeds een initiatie tot PCB-design gehad, en eenvoudige single layer PCB's met through hole componenten (PTH) ontworpen waaruit je je wekker hebt opgebouwd. Hoewel deze PCB's behoorlijk voldoen voor relatief simpele projecten, voldoen die basistechnieken niet langer als je aan de slag wilt met moderne componenten. Bekijk bijvoorbeeld eens een moederbord van pc of laptop. Deze complexe componenten stellen strengere eisen aan PCB-ontwerp, en vergen dus ook nieuwe ontwerptechnieken. In de lessen CAD maak je kennis met hedendaagse componenten, en modern PCB-ontwerp.

Voor CAD wordt de leerstof van Wekkerproject en Basiselektronica als gekend beschouwd.

In het 2e gaan we verder met PCB design in CircuiMaker. In het 3e wordt dit uitgebreid naar de professionele versie van CircuitMaker, Altium Designer. De handleiding van CircuitMaker vind je op de CircuitMaker website. Ook het forum is interessant als je vragen of specifieke problemen hebt waarop via via Slack geen antwoord krijgt. Tot slot is er over PCB-ontwerp zelf een zeer goede, beknopte tutorial geschreven door niemand minder dan Dave Jones van EEVblog. Dit is dan ook warm aanbevolen literatuur.

Les 1

De eerste les is een herhalingsles om de introductie tot PCB-design die je in het 1e jaar kreeg in de lessen Ingenieursvaardigheden, terug op te frissen. De basisconcepten van PCB-design worden opnieuw besproken en ingeoefend aan de hand van 3 opgaven. De volgende elementen komen aan bod:

  • registratie en accountbeheer in CircuitMaker
  • componenten opzoeken via Octopart
  • designators en netlabels gebruiken
  • multi-part componenten
  • design rules voor track width en clearance instellen
  • though hole componenten gebruiken
  • enkelzijdige PCB's routen
  • montagegaten en board shape bijwerken

Opdracht 1: TV-B-Gone

TV-B-Gone is een hacking tool bedacht door Mitch Altman in de nobele strijd tegen mainstream media. Het toestel is te beschouwen als een universele afstandsbediening die in staat is om TV's, videorecorders, beamers, projectors, DVD-spelers en andere gelijkaardige apparatuur van op afstand uit te schakelen. Hiervoor imiteert TV-B-Gone de infraroodcodes die door de respectievelijke afstandsbedieningen van deze toestellen worden uitgezonden.

Schakeling

De schakeling van TV-B-Gone is eenvoudig, en bestaat hoofdzakelijk uit een microcontroller en bijhorende "randapparatuur" enerzijds, en 4 infrarood LED's met driverhardware anderzijds.

Centraal in de schakeling staat de ATTINY85 microcontroller van Atmel, IC1. In deze microcontroller worden alle OFF-codes voor verschillende TV's geprogrammeerd via de programmeerconnector K1. PPTC F1 vangt eventuele spanningsverschillen tussen programmer en batterij op. De microcontroller wordt gevoed vanuit 2 AA-batterijen, aangesloten via batterijhouder BT1. C1 en C2 verlagen de impedantie van deze batterijen, en laten toe om de LED's te laten pulsen. De klok wordt voorzien via een extern 8 MHz kristal, X1, met bijhorende condensators C3 en C4.

Wanneer resetknop S1 wordt ingedrukt, wordt het programma in de microcontroller herstart en alle codes van begin tot einde overlopen. De codes worden gepulst naar de LED's via MOSFET T1, die kortstondig de nodige stroom kan schakelen. Er zijn in totaal 4 infrarood LED's, 2 van type IR333A en 2 van type IR333C. Elke LED heeft een eigen serieweerstand om de stroom te begrenzen. D3 R3 doen dienst als indicator.

Opdrachtbeschrijving

Dit is een herhalingsoefening die als doel heeft om je schema- en PCB-ontwerpvaardigheden van in de 1e Bachelor op te frissen. De opdracht is simpel: ontwerp een PCB van het bovestaande schema.

Werkwijze:

  • Zoek de componenten via Octopart. Je zou alle componenten moeten kunnen vinden.
  • Digitaliseer het schema, voeg net labels toe waar relevant, en annoteer de componenten.
  • Compileer om te checken op fouten.
  • Push de componenten naar de PCB en stel de design rules voor track width en clearance in.
  • Route de PCB enkelzijdig in 2 passen.

OCD voor deze opdracht is de PCB enkelzijdig gerouteerd te krijgen op een oppervlakte kleiner of gelijk aan 42 x 30 mm.

Opdracht 2: nucleair alarm

Rookdetectors zijn algemeen in gebruik, en worden in publieke gebouwen zelfs verplicht. Deze toestellen zijn gevoed door een batterij en slaan alarm als er rookdeeltjes in de lucht worden gedetecteerd. Met de huidige staat van de Belgische nucleaire installaties is het opportuun om een gelijkaardig toestel te hebben dat alarm slaat als er een lek van radioactief materiaal wordt waargenomen. Het principe is hetzelfde: een alarm wordt aangegeven via een audiosignaal, en een LED geeft dit ook visueel aan.

De sensor voor inoniserende straling is een SBM-19 of SBM-20 Geiger-Müllerbuis. Deze sensors stammen uit het Sovjettijdperk en worden niet meer gemaakt, maar zijn nog steeds te koop via veilingsites. Een nadeel verbonden aan Geiger-Müllerbuizen is de relatief hoge werkspanning die ze nodig hebben, gebruikelijk tussen 250 V en 475 V. De grootste uitdaging bij de implementatie van zo'n nucleair alarm is dus om de hoogspanningsgenerator zo zuinig en tegelijk compact mogelijk te maken. In het onderstaande ontwerp werd dit gerealiseerd via een combinatie van een discreet uitgevoerde boost converter en een spanningsvermenigvuldiger.

Schakeling

De schakeling, zie figuur hieronder (klik voor grotere versie) bestaat ruwweg uit 3 secties: het voedingsgedeelte uiterst rechts bovenaan, de hoogspanningsgenerator (bovenste helft) en de detector- en alarmlogica (onderste helft).

De hoogspanningsgenerator heeft tot doel een DC biasspanning van 400 V te genereren voor de Geiger-Müllerbuis, GDT2 in het schema. Er wordt gebruik gemaakt van feedback via D2...D5 om deze spanning te meten. Zolang de 400 V niet bereikt is, wordt C6 opgeladen via R1. Zolang C6 leeg is, is de ingangsspanning van inverterende schmitttrigger IC1A laag, en dus de uitgang hoog. D7 spert in dat geval. Naarmate de spanning over C6 toeneemt zal ook de ingangspanning van IC1A toenemen, tot de drempelspanning bereikt wordt en IC1A omklapt. De uitgang wordt dan logisch laag, en C6 zal zich ontladen via R4 en D7, die nu voorwaarts is gepolariseerd. Als C6 ontladen is onder de drempel van IC1A dan klapt die weer om, de uitgang wordt weer logisch hoog, C6 wordt opgeladen via R1 en de cyclus herbegint. R1/C6/R4 vormen dus een RC-netwerkje dat in combinatie met IC1A fungeert als oscillator. De duty cycle wordt bepaald door de verhouding tussen R1 en R4. Wanneer C6 ontlaadt en de uitgang van IC1A dus laag is, wordt power MOSFET T2 in geleiding gebracht. IC1B en IC1C doen dienst als MOSFET drivers. Met de combinatie 10k/100k van R4 en R1 is de duty cycle van T2 ongeveer 10%.

Zolang T2 niet in geleiding is, kan C7 zich opladen via D8 tot de spanning over D7 gelijk is aan VCC. Voor gelijkstroom is L1 een kortsluiting. Wanneer T2 in geleiding komt, dan komt de linkerkant van C8 aan de grond te liggen, en ontlaadt C7 zich via D9 in C8, totdat de spanningen over beide condensators gelijk is, minus de spanningsval over D9. Op het moment dat T2 weer uit geleiding komt, neemt de spanning op het knooppunt van T2 en L1 toe, want de energie die in L1 werd opgeslagen vertaalt zich in een hoge spanning (U = L x di/dt). Deze spanning heeft dezelfde polariteit als de spanning over C8, en de som van de spanningen is hoger dan die over C7 waardoor D10 gaat geleiden, en C9 zich oplaadt. De cyclus herhaalt zic elke periode van de oscillator, en steeds meer condensators worden opgeladen. De spanning over C13 is uiteindelijk de som van de spanningen over alle condensators, minus de spanningsval over D13. Het aantal "trappen" in de ladder is afhankelijk van de duty cycle van de oscillator, de frequentie, en de inductantie van L1. In de huidige configuratie van oscillator, met een inductantie van 4.7 µH, zijn er ca. 12 trappen nodig. De ladderschakeling dient dus ca. dubbel zo lang te zijn als weergegeven in de schakeling, maar werd vereenvoudigd om het schema duidelijk te houden.

Eens de spanning over C13 is toegenomen tot 400 V, dan wordt de gezamelijke drempelspanning van de 4 zenerdiodes D2...D5 bereikt. Elke zenerdiode van type 1N5271 heeft een zenerspanning van 100 V, equivalent aan een totale zenerspanning van 400 V. In plaats van 1N4271 zenerdiodes kan elke combinatie van zenerdiodes gebruikt worden, zolang de som van de zenerspanningen op 400 V ligt. Praktisch zijn zenerdiodes met zenerspanningen hoger als 100 V echter moeilijk te vinden en veel duurder dan de 1N5271's. Als de zeners in geleiding zijn dan leveren ze de nodige basisstroom om T1 in geleiding te sturen. R17 begrenst hierbij de basisstroom, R3 werd toegevoegd als sink om de lekstroom door de zenerdiodes weg te werken. Met een collectorweerstand van 47k wordt T1 in saturatie gestuurd bij de minste basisstroom. De collectorspanning is in dat geval Vce(sat), ongeveer 250 mV voor een BC547. De ingang van IC1A wordt ook geclamped op deze spanning, plus de spanningsval over D1. Hierdoor kan de ingangsspanning niet meer stijgen boven ca. 1 V (250 mV + 0.7 V diode drop), waardoor IC1A niet meer zal omschakelen. De oscillator wordt op die manier stilgelegd, en de uitgang van IC1A blijft logisch hoog. De MOSFET T2 wordt dus uitgeschakeld, en blijft uitgeschakeld zolang de spanning op de uitgang van de ladderschakeling rond 400 V blijft.

De hoge uitgangsspanning vergt bijzondere maatregelen. Eerst en vooral moeten de uitgangscondensators C13 en C14 de 400 V kunnen weerstaan. Types met een werkspanning van 500 V of meer zijn dus een absoluut minimum! Bleeder weerstanden werden weggelaten omdat de totale capaciteit van 20 nF gering is en snel zichzelf ontlaadt enerzijds, en om vermogenverlies te vermijden anderzijds. Een weerstand van ca. 22M in parallel zou volstaan als bleeder. De zenerdiodes in de feedback zijn ook bijzonder gevoelig voor hoge spanningen. Mocht één van deze diodes open falen, dan werkt de feedback niet meer en kunnen er dus spanningen ontstaan op de uitgang die de 400 V ver overschrijden. Om schade aan de Geiger-Müllerbuis te vermijden (max. 475 V) werd een GDT toegevoegd in parallel met doorslagspanning 420 V. Mocht één van de zenerdiodes het laten afweten, dan zal deze GDT de uitgangsspanning limiteren op 420 V, ruim onder de maximumspanning van de Geiger-Müllerbuis.

R5 en C14 vormen een laagdoorlaatfilter om schakelruis van de hoogspanningsgenerator te reduceren. Vervolgens wordt de 400 V naar de buis zelf gevoerd, waarbij R6 de stroom door de buis begrenst. Bij afwezigheid van ioniserende straling is de buis zeer hoogimpedant en loopt er geen stroom door. Als er echter een alfa, beta of gammadeeltje door de buis passeert dan veroorzaakt dit lokale ionisatie waardoor het gas kortstondig in geleiding komt en er dus stroom door de Geiger-Müllerbuis loopt. Het netwerk rond R7, R8 en C15 is opgezet als filter, en zodanig afgesteld dat bij detectie van een ioniserend deetje (een "event") de spanning over R8 toeneemt tot 0.7 V. In dat geval wordt T3 in geleding gebracht, en triggert de detector.

Het netwerk rond R11 en C16 doet dienst als accumulator en trigger. Zolang er geen events worden geregistreerd dan geleidt T3 niet. De kathode van D14 wordt dan opgetrokken tot VCC waardoor D14 spert, het enige pad waarlangs C16 zich zou kunnen ontladen. Bijgevolg wordt C16 via R11 opgeladen tot VCC. IC1F registreert dan een logisch hoog ingangssignaal, en zijn uitgang is laag. Telkens er een event plaatsvindt, zal T3 kortstondig geleiden waardoor D14 voorwaarts wordt gepolariseerd. Nu heeft C16 de kans om via R10 en D14 te ontladen, eveneens zeer kortstondig. Zolang er maar af en toe een event wordt geregistreerd (normale achtergrondstraling) dan is de ontlading van C16 te kort om de spanning erover aanmerkelijk te verlagen. Bovendien wordt C16 continu bijgeladen via R11, ongeacht of er een event plaatsvindt of niet. Wanneer er teveel events plaatsvinden in korte tijd, bijvoorbeeld omdat een sterke stralingsbron nabij is, dan wordt C16 sneller ontladen via R10 en D14 dan R11 hem kan bijladen. In dat geval zakt de spanning over C16. Wanneer de spanning onder de drempelspanning van IC1F zakt, dan zal deze inverterende schmitttrigger omklappen, en wordt zijn uitgang hoog: het alarm gaat af. Het triggerniveau kan ingesteld worden via de trimpot R10: hoe kleiner die waarde, hoe sneller C16 ontlaadt, en dus hoe gevoeliger de detector zal reageren.

Wanneer de uitgang van IC1F logisch hoog is, licht D17 op. De combinatie van IC1D, R13, D15 en D16 doet dienst als discreet uitgevoerde NAND-poort: als één van beide inputs, uitgang van IC1F of IC1E laag is, dan zal de betreffende diode ook het knooppunt met R13 laag clampen, waardoor de uitgang van IC1D logisch hoog wordt gestuurd. Zolang het alarm niet getriggerd is en IC1F een laag uitgangsniveau heeft, dan zal IC1D een hoge uitgang hebben. De staat van het netwerk rond D16, IC1E, R14 en C17 speelt dan geen rol: de uitgang van IC1D is stabiel hoog. Wanneer Het alarm is getriggered daarentegen, dan is de uitgang van IC1F logisch hoog en spert D15. De uitgang van IC1D wordt nu bepaald door IC1E, waarond een oscillator is opgebouwd met behulp van R14 en C17 volgens hetzelfde principe als de oscillator die de hoogspanningsgenerator aandrijft (IC1A/C6/R4). De oscillatiefrequentie wordt enkel bepaald door R14 en C17. De uitgang van IC1D zal nu oscilleren, waardoor op de opamps IC2A en IC2B een geïnverteerd signaal toekomt. De spanningsdeler R15/R16 zorgt voor een precieze bias halfweg de voedingsspanning, zodat de uitgang van de ene opamp naar VCC wordt gestuurd en de andere naar ground of omgekeerd, afhankelijk van het logische uitgangsniveau van IC1D. Op die manier wordt er een AC-signaal met een frequentie bepaald door R14/C17 aangelegd op de luidspreker, die bijgevolg een audiosignaal produceert. Als de uitgang van IC1D constant is dan zou er echter een DC-stroom door de luidspeker vloeien waardoor deze beschadigd geraakt. Om dit te vermijden is C19 toegevoegd, die DC-stromen blokkeert.

Als het alarm afgaat dan kan het gestopt worden door de resetknop in te drukken. Daardoor wordt C16 ogenblikkelijk terug opgeladen tot VCC en wordt het triggernetwerk gereset. het alarm blijft uitgeschakeld zolang de resetknop ingedrukt is.

Tot slot is er nog de voedingsschakeling. Deze bestaat uit een zonnecel bedoeld voor indoor gebruik, met een nominale uitgangsspanning van 6.5 V. Dit paneel wordt rechtstreeks verbonden met enkele condensators: C1 en C2 verlagen de uitgangsimpedantie van de zonnecel, terwijl C3...C5 dienst doen als energieopslag voor 's nachts. Deze 3 EDLC's worden opgeladen tot 5.8 V via D6, die ervoor zorgt dat de EDLC's zich niet terug kunnen ontladen over een donkere zonnecel. De schmitttriggers kunnen voedingsspanningen tussen 2 en 6 V aan, en kunnen dus rechtstreeks gevoed worden uit de EDLC's zonder dat enige vorm van spanningsregulatie nodig is.

Zolang er geen events worden geregistreerd dan zal het stroomverbruik van de schakeling laag zijn, en kunnen de EDLC's de stand-by stroom tot 's morgens leveren. In de naburigheid van sterke stralingsbronnen zal het stroomverbruik aanmerkelijk hoger liggen, en zijn dus grotere EDLC's en grotere zonnecel vereist.

Opdrachtbeschrijving

Dit is een oefening op enkelzijdig through hole PCB-design. De bedoeling is dus om de PCB van het alarm te ontwerpen, waarbij je enkel gebruik maakt van through hole componenten, en alle tracks op één layer, de bottom layer, passen. Je mag wel gebruik maken van jumpers (draadbruggen).

Deze opdracht omvat 3 uitdagingen:

  • Hoge spanningen. De 400 V heeft een directe impact op de routing, aangezien de doorslagsspanning van lucht tussen 1 kV en 10 kV per cm bedraagt. Stel de clearance design rule dus zodanig in dat er geen risico to doorslag is.
  • Nieuwe componenten. Het design bevat enkele componenten waarmee je nog niet eerder gewerkt hebt: Schmitttriggers, opamps, GDT en Geiger-Müllerbuis.
  • Moeilijke placement. De 6 Schmitttriggers in dit design zitten in één fysiek IC, waardor plaatsing van dit IC cruciaal is om kruisingen te vermijden.

Werkwijze:

  • Digitaliseer het schema. Je kan alle componenten vinden in Octopart.
  • Voeg net labels toe waar relevant, en annoteer je schema.
  • Compileer om te checken op fouten.
  • Push de componenten naar je PCB en stel de design rules in. Reken de mimale clearance uit voor 400 V, met veiligheidsfactor uiteraard.
  • Plaats de componenten zodanig dat kruisingen geminimaliseerd worden. Houdt het hoogspanningsgedeelte gescheiden van al de rest.
  • Route de PCB in 2 passen.

OCD voor deze opdracht is de PCB enkelzijdig gerouteerd te krijgen met 3 jumpers of minder.

Opdracht 3: laptop charger

Een 12 V autobatterij, met een praktische spanning tussen 12 V en 14 V, voldoet nét niet om een laptop op te laden, waarvoor typisch 19 V vereist is. Traditioneel wordt dit probleem opgelost door een normale laptoplader op 220 V aan te sluiten op een zogenaamde inverter, die de 12 V van de batterij eerst omzet naar 220 V. De extra tussenstap van 12 V => 220 V => 19 V is niet alleen onnodig, maar elektrisch ook inefficiënt, en duur omdat een extra inverter vereist is. Een betere oplossing is om de 12 V rechtstreeks te boosten naar 19 V zonder de 220 V AC tussenstap. Dit is mogelijk via een zogenaamde switched inductor boost converter. Er werd gekozen voor geïntegreerde controllers van type LM2587, maar deze kunnen max. 3 A aan. Om te voldoen aan de specificaties van een laptoplader, 19 V bij 4.74 A, zijn dus 2 van dergelijke controllers in parallel nodig. Beiden zijn gesychroniseerd, dit heet een "two phase DC/DC converter". Het schema is hieronder weergegeven, en de typische boostconverterelementen (buffercondensator aan de ingang, inductor, vrijloopdiode, afvlakcondensator aan uitgang) zijn gemakkelijk te herkennen.

Schakeling

De schakeling is opgebouwd rond 2 geïntegreerde boostcontrollers met ingebouwde MOSFET-switches van type LM2587, in een TO-220 package met 5 pinnen. C1 doet dienst als buffercondensator voor beide controllers. Elke controller heeft zijn eigen power inductor (L1 en L2), eigen flyback diode (D1 en D2), en ook zijn eigen ontkoppelcondensator (C2 en C4). Het RC-netwerk rond C3/R1 doet de synchronisatie tussen beide controllers, en zorgt voor een fasedraaiing van ca. 180°. Spanningsdeler R2/R3 verzorgt de feedback, en is afgeregeld op een uitgangsspanning van 19 V. Voor accurate uitgangsspanningen is het nodig om precisieweerstanden te kiezen (1% tolerantie), maar geen enkele laptop vergt dergelijke accurate voedingsspanningen. C5 verlaagt de uitgangsimpedantie van de controllers en C6 doet dienst als afvlakcondensator om de ripple te reduceren. Tot slot werd LED D3 toegevoegd, met bijhorende serieweerstand R4, als visuele indicatie dat de booster actief is.

Opdrachtbeschrijving:

Dit is een oefening op enkelzijdig through hole PCB design. De moeilijkheid in deze opgave zit in het onderscheid tussen signaaltracks en power tracks, die je van elkaar moet zien te onderscheiden. Signaaltracks voeren verwaarloosbaar weinig stroom en mogen dus dun zijn. Power tracks daarentegen voeren de 4.74 A aan stroom, en moeten dus breed genoeg zijn om deze stroom te kunnen transporteren zonder te hoge (ongewenste) spanningsval over de tracks zelf.

Werkwijze:

  • Digitaliseer het schema, voeg net labels toe waar nodig, en annoteer het schema.
  • Compileer en check op fouten.
  • Push de componenten naar de PCB, identificieer de power tracks, en stel width rules zodanig in dat je tracks zowel breed als smal kan routen.
  • Route de PCB in 2 passen. Denk eraan de inductors naburige tracks kunnen storen, dus hou signaallijnen ver uit hun buurt.

OCD voor deze opdracht is de PCB enkelzijdig gerouteerd te krijgen binnen 1u40.

Les 2

Het zal je al opgevallen zijn dat het een steeds eenzamere bedoening wordt in de through hole componenten club. Steeds meer componenten worden enkel geproduceed in een surface mount package en niet langer in through hole packages. Met SMD's leren werken is dus een must om van de modernste technologie gebruik te kunnen maken. Les 2 staat dus in het teken van surface mount technologie, en de voordelen/nadelen van surface mount en through hole technologie.

Een tweede probleem dat wordt behandeld is dat van ontbrekende library entries in Octopart. Als je zoekt naar specifieke part numbers, die je bv. via de zoekfunctie van Digikey hebt gevonden, dan kom je nog vaak tegen dat er (nog) geen schemasymbool en footprint aan gekoppeld is, waardoor je ze nog niet kan gebruiken. Dit probleem wordt opgelost door zelf schemasymbolen en footprints te ontwerpen en toe te voegen aan de library.

In les 2 leer je onder meer:

  • verschillen tussen through hole en surface mount technologie
  • packaging en footprints
  • Octopart library structuur en versioningsysteem
  • schemasymbolen tekenen
  • footprints ontwerpen op basis van datasheet en 3D-modellen
  • gebruik van polygons en regions
  • werken in teamverband

Opdracht 4: Seriële USB adapter

De populariteit van het Arduino ecosysteem is enerzijds te wijten aan de software die programmeren gemakkelijk maakt, en anderzijds aan de simpele hardware: de bordjes kunnen direct in de computer ingeplugd worden om ze te programmeren. De cruciale component hierbij is de USB-controller, die USB-commando's omzet naar seriële communicatie waarmee de microcontrollers kunnen geprogrammeerd worden. Als er through hole USB-controllers zouden bestaan, dan zouden hobbyisten geen Arduino's meer kopen maar ze zelf op breadboard bouwen. Maar helaas, through hole USB-controllers bestaan niet... SMD USB-controllers gelukkig wel, en zo zit er eentje op elke Arduino.

In deze eerste kennismaking met surface mount technologie ontwerp je zelf een adapterstuk waarmee je je eigen Arduino compatibele creaties toch kan uitrusten met USB, om ze bv. gemakkelijk te kunnen herprogrammeren of debuggen. Hiervoor wordt gebruik gemaakt van de bekende CH340T USB naar serieel controller.

Schakeling

De schakeling is erg eenvoudig van opzet, en is niet onverwacht opgebouwd rond een CH340T. Deze geïntegreerde USB naar serieel controller handelt het volledige USB-protocol af, waardoor er rechtstreeks een USB-connector (K1) op kan aangesloten worden. Laagdoorlaatfilters op de USB datalijnen (C5/R2 en C6/R3) onderdrukken eventuele ruis. De timing voor de USB-communicatie wordt voorzien door een 12 MHz kristal, dat via een interne frequentieverdubbelaar op 48 MHz wordt gebracht om daan de USB 2.0 specificaties te voldoen. L1 zorgt voor ontstoring van de USB power lijn (5V) die via F1 wordt afgezekerd op ca. 250 mA. F1 is een zelfresettende zekering (PPTC) die dus niet vervangen hoeft te worden. C2/C3/C4 zorgen voor power supply ontkoppeling.

Langs de seriële zijde worden 3 signalen naar een 5-polige JST-connector geleid: RX, TX en een resetsignaal dat via DTR wordt gegenereerd. De seriële lijnen worden gebufferd via IC2, en LED's D3/D4 geven aan wanneer er communicatie plaatsvindt. D2 tot slot werd toegevoegd om accidentele omkering van de polariteit van K2 tegen te gaan, wat nefaste gevolgen zou hebben voor de CH340T.

Opdrachtbeschrijving:

Dit is een oefening op dubbelzijdig surface mount PCB design. De CH340T is een exotische USB-controller van een fabrikant uit Zuid-Oost Azië, die niet door Digikey, Farnell of Newark in het standaardassortiment is opgenomen. Deze compontent ga je dus ook niet vinden in Octopart, je moet hem zelf ontwerpen. Plaats de componenten zo efficiënt mogelijk en snij de omtrek van de PCB bij. Vul de resterende ruimte op de top en bottom layer op met respectievelijk een 5V polygon en een GND polygon.

Werkwijze:

  • Neem de datasheet van de CH340T bij de hand en teken het schemasymbool.
  • Zoek de bijpassende footprint in de Octopart library en voeg deze toe.
  • Digitaliseer het schema, voeg net labels toe waar nodig, en annoteer het schema.
  • Compileer en check op fouten.
  • Push de componenten naar de PCB, en leid op basis van de CH340T de design rules voor clearance en track width af.
  • Route de PCB in 2 passen. Probeer alle power (5V) op de top layer te routen en alle groundconnecties op de bottom layer, zodat je die efficiënt kan opvullen met een polygon.

OCD voor deze opdracht is CH340T te vervangen door een MCP2200 zodanig dat de schakeling dezelfde functionaliteit behoudt.

Opdracht 5: Portable power bank

Portable devices worden steeds kleiner en dunner, en daardoor daalt ook de capaciteit van de batterijen die erin zitten. Hoewel toestellen zoals smartphones dus steeds krachtiger woden, gaan ze minder lang mee omdat de batterijen te klein zijn. Of ze worden zodanig overgedimensioneerd dat ze spontaan vuur vatten. De beste oplossing voor dit probleem is om de energie niet mee te slepen, maar ze ter plekke op te wekken via energy harvesting. De mogelijkeheden zijn uiteenlopend, bv. zonnecellen of dynamo's, maar niet altijd even breed toepasbaar. De betrouwbaarste oplossing is dus nog steeds een mobiele battery pack, ook wel power bank genoemd.

In deze opdracht ontwerp je zelf een power bank op basis van een 3.7V Li-ion battery met een capaciteit van 10Ah. Dit type batterijen wordt tegenwoordig veel gebruikt voor elektrische fietsen en rolstoelen, en de prijzen zijn dus flink gezakt omdat ze in grote volumes worden geproduceerd. Vanaf ca. € 10 zijn deze batterijen verkrijgbaar bij de fabrikant. Ter herinnering: een 10Ah batterij kan 1 uur lang een stroom van maar liefst 10A leveren.

Schakeling

De schakeling bestaat uit 3 grote blokken: de batterijlader, opgebouwd rond een TP4056 batterijlader IC, een 2A boost converter op basis van een SX1308, en tot slot een spanningsmonitor die analoog is uitgevoerd op basis van 2 opamps, en de batterij beschermt tegen te diepe ontlading. Voor de input is er een USB-connector van type B voorzien, voor de outputs 2 connectors van type A, die elk 1A uitgangsstroom kunnen leveren. Op maximale capaciteit heeft de power bank een autonomie van ca. 3u45.

Het laadcircuit is volledig geïntegreerd in IC1 van type TP4056, een charge controller specifiek voor Li-ion en Li-po batterijen. De laadstroom wordt ingesteld via R4, en begrensd zodanig dat de USB-poort niet overbelast wordt. De batterij is hier niet de limiterende factor. Monitoring van de temperatuur is bijgevolg niet nodig, en deze functie is dus uitgeschakeld door de TEMP pin aan de massa te leggen.

Langs de andere kant is een switched DC/DC boost converter opgebouwd rond een SX1308 controller IC met geïntegreerde MOSFET. Er zijn enkel condensators nodig aan de ingang (C5/C6) en uitgang (C9), een inductor (L2), flyback diode (D7) en een spanningsdeler om de uitgangsspanning in te stellen (R15/R16/R17). De uitgang van de boostconverter wordt direct aangesloten op 2 USB-connectors. Deze zijn beiden afgezekerd op ca. 1A met een zelfresettende zekering.

Om te vermijden dat de batterij te diep ontladen zou worden, werd een discrete spanningsbewaker toegevoegd, opgebouwd rond 2 opamps van type MCP601, die samen in één package ondergebracht zijn dat dus toepasselijk MCP602 heet. IC2A is opgezet als comparator, en vergelijkt een referentiespanning, gegenereerd door D5, met een fractie van de batterijspanning. Als die onder de referentie zakt, dan wordt de uitgang van IC2A laag, en daardoor wordt de boostconverter uitgeschakeld. R8/R9 voegen positieve feedback toe aan de comparator om oscillatie te vermijden. Als de last immers wordt afgekoppeld dan veert de batterijspanning kortstondig terug op waardoor die weer hoger zou zijn als de referentie, de boostconverter wordt dan weer ingeschakeld waardoor de batterijspanning weer daalt enzovoort. Hoe kleiner de batterij, hoe meer hysteresis mag toegevoegd worden. De andere helft van de MCP602 is opgezet als oscillator, waarbij de refentie wordt geleverd door IC2A via R10/R11. Rode LED D6 gaat dan knipperen als de batterij leeg is. De knipperfrequentie wordt ingesteld via C8/R13 die een RC-kring vormen. Merk op dat de spanningsmonitor behoorlijk hoogohmig is uitgevoerd (grote weerstandswaarden) waardoor de belasting voor de batterij dus minimaal is.

Opdrachtbeschrijving:

Noch de TP4056 noch de SX1308 zitten in de Octopart library, en zal je dus zelf moeten tekenen. Daarnaast is dit ook een oefening op dubbelzijdig SMD design, waarbij miniaturisatie centraal staat. Tegelijk moet de schakeling behoorlijke stromen kunnen verwerken, en is de plaatsing van de passieve componenten (inductor, flyback diode, condensators) rond de SX1308 kritisch om de ripple op de 5V uitangsspanning in toom te houden. Hier moet je dus gebruik maken van polygons en regions om de impedantie laag te houden.

Werkwijze:

  • Zoek de datasheets van de TP4056 en SX1308 en teken de schemasymbolen.
  • Zoek de bijpassende footprints in de Octopart library en voeg deze toe.
  • Digitaliseer het schema, voeg net labels toe waar nodig, en annoteer het schema.
  • Compileer en check op fouten.
  • Push de componenten naar de PCB, en positioneer ze zodanig dat de 3 USB-connectors precies tot op de rand komen.
  • Route de PCB in 2 passen. Voeg polygons toe om de koperruimte zo efficiënt mogelijk te benutten.

OCD voor deze opdracht is de PCB dubbelzijdig geroute te krijgen met een oppervlakte van minder dan 52 x 32 mm.

Les 3

Tot nu toe heb je componenten min of meer random op de PCB gezet, zonder écht veel aandacht te besteden aan de positionering ervan. Buiten connectors, die gewoonlijk op de rand moeten staan om bereikbaar te zijn, werden PCB's als ideaal verondersteld, waarbij de PCB geen parasitaire effecten zoals weerstand van tracks of capaciteit tussen aanliggende tracks vertoont. Een reële PCB is natuurlijk niet ideaal: tracks zijn van koper en hebben dus een eindige elektrische weerstand, elke track heeft een eigen zelfinductie, en geleiders die parallel lopen (zowel horizontaal in het vlak van de layers als vertikaal tussen layers onderling) vormen parallelle plaat condensators. Je moet de PCB dus beschouwen als een deel van de schakeling, die eigen weerstanden, inductors en condensators introduceert. Afhankelijk van het ontwerp van de PCB variëren deze parasitaire effecten, en als ze uit de hand lopen dan kan de schakeling zelf erdoor beïnvloed worden. In de regel streeft PCB-design er meestal naartoe om de parasitaire effecten te minimaliseren, om de signaalintegriteit te bewaren.

Een tweede factor die een rol speelt bij PCB-design is elektromagnetische interferentie. Die werkt in 2 richtingen: enerzijds wil je de invloed van externe elektromagnetische ruis (zoals bv. 50 Hz van stopcontacten of verlichting) op je schakeling minimaliseren, en anderzijds wil je ook vermijden dat je eigen PCB teveel elektromagnetische interferentie genereert. Dit is één van de vereisten waaraan een elektronische applicatie moet voldoen wil je ze bv. commercieel op de markt kunnen brengen.

In les 3 gaan we dieper in op PCB-design en bekijken we de PCB als een driedimensionale structuur. Er wordt besproken hoe parasitaire effecten kunnen geminimaliseerd worden, hoe signaalintegriteit kan worden gegarandeerd, en hoe EMI (ElektroMagnetische Interferentie) vermeden wordt.

In les 3 leer je onder meer:

  • lagenopbouw van een PCB
  • single, double en multilayer stacks
  • packaging en footprints
  • footprints ontwerpen op basis van datasheet en 3D-modellen
  • differential pairs, pin directions, impedantie en slew rate
  • ruisinkoppeling via condutie, inductie en capacitantie
  • ontkoppelcondensators
  • advanced design rules
  • polygons en regions
  • gebruik van DRC

Opdracht 6: Hard drive adapter

Iedereen kent wel het probleem bij aankoop van een nieuwe PC of laptop, wanneer je de data van je oude machine moet overzetten op je nieuwe toestel. Je kan natuurlijk de harde schijf fysiek in de nieuwe machine pluggen, maar de kans bestaat dat de nieuwste aanwinst een grotere of snellere harde schijf heeft steken die je liever wilt behouden. Dan stelt zich dus de eeuwige vraag hoe die data toch gemakkelijk kan gekopieerd worden. Wat als het mogelijk zou zijn de harde schijf gewoon aan te sluiten aan een USB-poort, net zoals een USB-stick? Dat is precies wat deze schakeling doet.

De opgave bestaat uit een mixed signal (zowel analoog als digitaal) design, waarbij het digitale stuk draait rond een geïntegreerde USB naar SATA controller van type GL830, en het analoge deel instaat voor de power supply van de GL830 en ook van de harde schijf. De combinatie van beide stelt dus specifieke uitdagingen aan PCB-design: zowel de USB als SATA lijnen zijn differentieel en moeten ook als dusdanig gerouted worden. Anderzijds is de power supply een dubbele DC/DC converter die schakelt op 350 kHz en dus een bron is van ruis, die onder controle moet gehouden worden.

Schakeling

De schakeling is eenvoudig van opzet, en bestaat uit 2 blokken: het digitale gedeelte opgebouwd rond IC1 (een geïntegreerde USB to SATA controller van type GL830), en de power supply die wordt georganiseerd door een lineaire spanningsregulator (IC2) en een switched DC/DC converter (IC3).

K1 is de USB-connector en voert de USB-datalijnen D+ en D- naar de GL830 via filters, opgebouwd met R2/C13 en R3/C14. USB-lijnen zijn differentieel en moeten dus ook als differential pairs gerouted worden. L1 en C1 zorgen voor filtering, F1 is een resettable zekering die de USB-poort beschermt in geval er iets fout zou lopen. Alle condensators rond IC1, met uitzondering van C15 en C16 die het kristal balanceren, zijn ontkoppelcondensators en moeten dus zo dicht mogelijk bij hun respectievelijke pinnen geplaatst worden. Langs de rechterkant van IC1 vertrekken de SATA-lijnen naar de combo SATA connector die zowel data als power naar de harde schijf voert.

IC2 is een lineaire spanningsregulator van type AP2112 met uitgangsspanning 1.8V in een SOT-23 package, en hoeft enkel een ontkoppelcondensator aan input en output.

De generatie van +3.3V en +12V power rails uit de 5V USB voeding wordt voorzien door IC3, een MAX5073. Dit is een dual buck-boost controller met geïntegreerde MOSFET's, waarbij elk kanaal onafhankelijk als buck (hoge spanning naar lage spanning, in dit geval 5V naar 3.3V) of als boost (laag naar hoog, in dit geval 5V naar 12V) kan geconfigureerd worden. De linkerkant vervult de buck-functie en heeft 3.3V als output. Je herkent de intussen klassieke onderdelen van een DC/DC-converter: flybackdiode D2, power inductor L2, en afvlakcondensators C18 en C19. De feedback wordt verzorgd door spanninsdeler R11/R12, dit moeten dus precisieweerstanden zijn. Het snubbernetwerk R11/C17 verhindert dat storing van de output naar de feedbacklijn wordt teruggekoppeld. De feedbacklijn is hoogimpedant en dus gevoelig voor EMI: hou ze zo ver mogelijk van noisy signaallijnen (de differentiële paren van USB of SATA) vandaan, en natuurlijk ook van de inductors. C22/C23/R13 is een compensatienetwerk dat de transferfunctie van de controller verbetert. Hierover leer je meer in het 3e jaar. De booster aan de rechterkant van IC3 is gelijkaardig aan opzet, behalve dat de volgorde van inductor en diode werd omgewisseld om een boostconfiguratie te verkrijgen, en dat de spanningsdeler R16/R18 werd aangepast om een uitgangsspanning van 12V te produceren. Ook het compensatienetwerk C32/C33/R17 werd anders aangekoppeld om de frequentierespons te verbeteren. Met R14 ten slotte kan de frequentie van de interne VCO ingesteld worden. Deze Voltage Controlled Oscillator bepaalt de schakelfrequentie van de beide kanalen, en is voor 5k6 ongeveer 380 kHz.

Opdrachtbeschrijving:

Dit is een oefening op dubbelzijdig surface mount PCB design. Probeer het analoge en digitale gedeelte zo goed mogelijk van elkaar gescheiden te houden. Werk met een ground plane aan beide kanten van de PCB, waarbij je lokale regions voorziet voor VCC op de verschillende voedingsspanningen. Focus in het digitale gedeelte op de signaalintegriteit van de differential pairs, terwijl in het analoge gedeelte het minimaliseren van parasitaire inductie en capaciteit in de switching traces centraal moet staan. Houd bovendien de feedbacklijnen zo ver mogelijk weg van alle noisy tracks, en zeker van de inductors.

Werkwijze:

  • Zoek datasheets van ontbrekende componenten en teken de schemasymbolen.
  • Zoek de bijpassende footprints in de Octopart library en voeg deze toe.
  • Digitaliseer het schema, voeg net labels toe waar nodig, en annoteer het schema. Vergeet hierbij de S_P en S_N directieven niet voor differentiële lijnen.
  • Compileer en check op fouten.
  • Push de componenten naar de PCB en stel de meest optimale design rules in.
  • Route de PCB in 3 passen. Begin met alle analoge componenten te groeperen rond IC3 en alle digitale rond IC1. Zet alles op de top layer, met uizondering van alle ontkoppelcondensators die op de bottom layer komen. Hiervoor maak je gebruik van via's met gatdiameter 0.35 mm.
  • Begin met de differentiële lijnen te routen en maak hiervoor gebruik van de differential pair routing tool in CircuitMaker.
  • Route vervolgens de buck en boostconverters, waarbij je probeert om de switch nodes (resp. L2/D2/C18/C1/IC3-27/IC3-28 en IC3-18/IC3-19/L3/D3/C29/C30) zo kort en laagimpedant mogelijk te houden.
  • Verbeter de switchers door regions toe te voegen, van waaruit power tracks vertrekken naar zowel de GL830 als naar de SATA-connector.
  • Werk de board outline bij, voeg een keepout contour toe, en vul de resterende ruimte op met ground polygons op zowel top als bottom side.

Opdracht 7: USB Hub

In de vorige oefeningen heb je schema's en PCB's getekend op basis van bestaande designs. Nochtans hoeven schijnbaar geavanceerde toepassingen niet erg complex te zijn, zoals je hebt gemerkt bij de USB naar SATA adapter uit opdracht 6. Deze bestond uit één geïntegreerd USB naar SATA controller IC (de GL830) en een power supply opgebouwd rond een dual channel dc/dc converter. Door de toenemende schaalvergroting enerzijds en de concurrentie op de markt van consumentenelektronica anderzijds, evolueren de meeste toepassingen naar sterk geïntegreerde designs, waarbij quasi alle functionaliteit in één enkel IC, of een combinatie van een klein aantal IC's (een "chipset"), samengepakt zit. Het ontwerpen van de elektronsiche schakeling voor dergelijke toepassingen reduceert zich dus grotendeels tot het lezen van de datasheet(s).

In deze opgave krijg je geen schema, maar ontwikkel je het zelf. Je krijgt dus de volledige keuzevrijheid wat betreft componenten. De bedoeling is om zelf een USB Hub te ontwerpen, op basis van de VL812 USB 3.0 controller. In dit IC zit alle nodige logica geïntegreerd, en je hoeft er enkel de nodige USB-connectors en enkele passieve componenten zoals een kristal en de nodige ontkoppelcondensators rond te hangen. De datasheet datasheet bevat geen voorbeeldschema, dus je moet er zelf één opbouwen op basis van de pinbeschrijvingen.

Opdrachtbeschrijving:

Dit is een oefening op datasheets lezen en high speed differential routing. Net zoals USB 2.0 en SATA uit de vorige opdracht is ook USB 3.0 differentieel, en maak je dus gebruik van differential pairs om de datalijnen te routen. USB 3.0 is nog veel sneller dan USB 2.0, en een continue ground plane (polygon of region) als current return path voor de differentiële lijnen is dus van groot belang.

Werkwijze:

  • Lees de datasheet en analyseer de functie van alle pinnen van het IC.
  • Schets een schakeling op een blad papier waarop je alle verbindingen aangeeft.
  • Zoek de nodige componenten om een power supply te kunnen samenstellen. Je kan gebruik maken van snippets uit vorige opdrachten, zoals bv. de MAX5073 of TLV1117.
  • Ontwerp het schemamodel en controleer de pin designators en namen.
  • Ontwerp het schema. Zoek passende USB-connectors (3.0 compatibel) en voeg de nodige ontkoppelcondensators toe (op elke voedingspin minstens één).
  • Plaats de componenten op de PCB zodanig dat er zo weinig mogelijk kruisingen zijn op de USB datalijnen.
  • Route eerst alle differentiële lijnen (USB data), bv. op de top layer van de PCB. Voeg op de andere kant (bottom layer) meteen een continue ground polygon toe als current return path.
  • Route vervolgens de power supply, die voor digitale logica minder kritisch is in layout.
  • Plaats de ontkoppelcondensators zo dicht mogelijk bij de voedingspinnen van de VL812. Je mag ze ook op de bottom layer plaatsen.
  • Werk de board outline bij en voeg de nodige keepouts toe.

Les 4

Schema's worden snel behoorlijk complex, zeker als er een groot aantal componenten op staat, met veel verbindingen ertussen. Dat is nefast, want de primaire "kwaliteitsstandaard" voor elektronische schema's is nog steeds hun leesbaarheid.

In deze les worden gevorderde schematechnieken besproken. De vaardigheden uit de vorige lessen worden uitgebreid met o.a. nieuwe schematic interconnects (bussen en signal harnesses), de concepten multisheet en connectors worden voorgesteld, en er wordt een inleiding gegeven tot multichannel design.

Daarnaast wordt gefocust op het inoefenen van footprint design, een belangrijke vaardigheid voor elke PCB-ontwerper.

In les 4 leer je onder meer:

  • bussen en interconnects
  • verschillen tussen bussen en signal harnesses
  • efficient gebruik van signal harnesses
  • multisheet design
  • multichannel design

Opdracht 8: Flash drive

Flash drives a.k.a. "USB sticks" of "pen drives" hebben de voorbije jaren heel wat aan belang ingeboet door de opkomst van cloud storage, maar voor één toepassing blijven ze nog steeds essentieel: de installatie van een nieuw besturingssyteem op een laptop of pc. Hiervoor zijn geen grote drives nodig, eentje van 4 GB volstaat ruimschoots. In deze opdracht worden de concepten multisheet en multichannel design uitgelegd aan de hand van een simpele flash drive. Er wordt gebruik gemaakt van USB 3.0 voor optimale dataoverdracht, zodat de installatie van een besturingssysteem snel genoeg is.

Schakeling

De schakeling bestaat uit 2 grote blokken: de IS903 die dienst doet als geïntegreerde USB 3.0 flash drive controller, en een stuk flashgeheugen van Samsung. Dankzij de compatibele interface tussen bedie IC's, kunnen ze rechtstreeks aan elkaar gekoppeld worden. De schakeling bestaat dus uit niet veel meer dan de 2 IC's, aangevuld met 2 lineaire spanningsregulators (eentje voor 3.3V en eentje voor 1.2V). De ontkoppelcondensators voor de IC's moeten uiteraard zo dicht mogelijk bij de voedingspinnen geplaatst worden.

Opdrachtbeschrijving

Ontwerp een USB flash drive op basis van het schema hierboven, volledig in surface mount technologie uitgevoerd. Je maakt gebruik van een dubbelzijdige PCB, met ground planes (= polygons) langs boven- en onderzijde van de PCB. Let op: de USB 3.0 connector moet verbonden worden met 3 differentiële paren: DP/DN, TXP/TXN en RXP/RXN, waaronder een continu ground vlak hoort. Bouw de schema's op via een multisheet model, en maak gebruik van bussen en signal harnesses om de schema's met elkaar te verbinden.

Opdracht 9: Home automation

Domotica is "hot", en huishoudelijke toestellen van op afstand besturen is daar een courant voorbeeld van. Verlichting afstandbestuurbaar maken is tegenwoordig ingeburgerd, en dit is gelukkig niet zo moeilijk als het lijkt door gebruik te maken van infrarood. De hieronder voorgestelde LED-lamp kan worden in- en uitgeschakeld met om het even welke TV-afstandsbediening, en is ook compatibel met TV-B-Gone (zie opdracht 1).

Schakeling

De schakeling bestaat uit 3 blokken: de net power supply, de low voltage LED driver, en de digitale stuurlogica. Om veiligheidsredenen is de volledige schakeling galvanisch gescheiden van het stroomnet. Hiervoor wordt gebruik gemaakt van transformator L3 en optocoupler IC1. C1/L1/C2 zorgen voor filtering van hoogfrequente storing en correctie van power factor, waarna de AC wordt gelijkgericht met behulp van bruggelijkrichter D1. C3 zorgt voor afvlakking en draagt de volledig gelijkgerichte netspanning (230V * sqrt(2) = ca. 325V). De primaire kant van de transformator wordt aangestuurd door geïntegreerd power controller IC2, met ingebouwde high voltage MOSFET. Dit IC hangt dus rechtstreeks aan de primaire zijde van transformator L3. De voedingsspanning voor dit IC wordt afgeleid van de 325V rail door het regulatornetwerk rond R1/R2/D2/T1. D2 geeft een referentiespanning van 15V, die door T1 wordt verminderd met 0.6V (Vbe), en dus ca. 14.4V levert aan IC2. De voeding verloopt via de secundaire kant van optocoupler IC1. Compensatienetwerk R4/C5 verbetert frequentierespons.

Langs de high power kant levert C3 de stroompulsen door de primaire zijde van de transformator. L3 is een inductieve last, waarvan de pulsen moeten opgevangen worden. Dit gebeurt via snubbernetwerk C4/R3, en D3/D4 die spanningspieken wegwerken ("transient voltage suppressors").

Langs de secundaire kant heeft de transformator 2 wikkelingen: een wikkeling voor vermogen (1,4 en 2,5), en een wikkeling voor hulpspanning tussen 7 en 10. De vermogenwikkelingen staan in parallel, en liggen langs één kant aan de grond. D5/C7/C8/C9 zorgen voor gelijkrichting en afvlakking, waarna het netwerk rond R5/IC1/D6 voor feedback naar de switch controller zorgt. L4/C12/C13 vormen een LC filter dat voor ontstoring zorgt, de referentiespanning wordt gegenereerd vanaf deze ontstoorde spanning door spanningsdeler R6/R7/R8 en C11/D6. De LED's worden rechtstreeks van deze spanning gevoed, die tussen 15V en 17V ligt. Elke reeks LED's heeft zijn eigen voorschakelweerstand.

Het stuurnetwerk maakt gebruik van de hulpspanning die door D7/C14 wordt gelijkgericht. Een standaard 5V spanningsregulator leidt een 5V voedingsspanning af. IC4 is een geïntegreerde infraroodontvanger met een open collector output. De uitgangsspanning wordt laag wanneer een infraroodsignaal wordt opgepikt. Hierdoor wordt T2 uit geleiding gebracht, waardoor C16 zich via R11 en D8 zal opladen tot 5V. Van zodra de drempelspanning van flipflop IC5 bereikt wordt zal deze omklappen, en de verlichting aan of uitschakelen via T3. Het netwerk R10/R11/C16 doet hierbij dienst als pulse extender.

Opdrachtbeschrijving

Ontwerp de afstandbestuurbare LED lamp uit het schema volledig in through hole technologie, gebruik makend van een dubbelzijdige PCB. Hou rekening met clearance voor hoge spanningen, en regions/polygons voor switch nodes.

Eindopdracht:

Smartphones zijn zodanig groot geworden dat ze niet meer in de palm van onze hand passen, waardoor we ze vroeg of laat laten vallen, met alle gevolgen van dien. Een smartwatch biedt geen oplossing, want die zijn de klein, en hebben te beperkte resources om veel nuttige dingen mee te kunnen doen. Beide devices zien bovendien af van een beperkte autonomie, met batterijen die te snel leeg geraken, en dus meer in een laadstation zitten dan ze effectief gebruikt worden. De oplossing voor deze problemen is beide devices te combineren tot één, een soort smartphone die met enkele straps om de voorarm wordt gedragen dus. Voorlopige benaming: de Charmate (van charm wat armband betekent, en mate dat een synoniem is van pal of buddy). Een bijkomend voordeel is dat van body area energy harvesting kan gebruik gemaakt worden om het toestel van energie te voorzien, door rechtstreeks warmte uit de arm om te zetten naar elektrische spanning met behulp van thermo-elektrische energy havesters (TEGs), in pure Matrix stijl. Hiermee wordt de autonomie dus drastisch verlengd. De eindopdracht bestaat erin zo'n charmate te ontwerpen, zowel de elektronica als de mechanische behuizing, op basis van het gegeven schema hieronder.

Schakeling

Het zal weinig verbazen dat de schakeling quasi volledig digitaal is, met een microcontroller (IC6, een 32-bit microcontroller uit de STM32 serie van ST Microelectronics) in het hart ervan. De architectuur is ARM Cortex, en hetzelfde type processorkern als bv. in een Raspberry Pi. Deze behoorlijk stevige microcontroller heeft veel I/O (100 pinnen in totaal) maar slechts weinig geheugen aan boord. Om toe te laten een besturingssysteem te installeren is het dus noodzakelijk om geheugen toe te voegen, m.n. 4 GB NAND flash geheugen van Hynix voor data-opslag (IC14), en ook 512 MB DDR3 RAM van ISSI (IC13). Om snelle uitvoering van code te verzekeren, zitten beide IC's op een gescheiden adres- en databus. Hiervoor moeten dus een groot aantal IO-pinnen van de STM32 opgeofferd worden. Het grote voordeel aan deze aanpak is weliswaar dat geheugenupgrades gemakkelijk zijn: een upgrade naar bv. 8GB of 16GB is niet moeilijker dan IC14 te vervangen door een pin-compatibele versie met hogere capaciteit. Dergelijke IC's zijn helaas nog behoorlijk duur op dit moment (zie DigiKey voor prijzen). Geheugen met grote capaciteit is vaak ook enkel beschikbaar in een BGA-package, en dus quasi onmogelijk te gebruiken op een dubbelzijdige PCB. Een 4 layer PCB is meestal een minimum om BGA's gerouteerd te kunnen krijgen.

Voor een dergelijk complex systeem is de power supply een belangrijk aspect van het design. Er zijn nl. verschillende voedingsspanningen nodig (3.3V, 2.5V en 1.8V), een batterij die moet gemonitord en bijgeladen worden via energy harvesting of USB, enzovoort. Hoewel het mogelijk is om voor elke spanning een afzonderlijke DC/DC-converter te voorzien, zoals bv. in de toepassing van de USB naar SATA-adapter, worden dergelijke implementaties al snel behoorlijk omvangrijk. In plaats daarvan werd gekozen voor een geïntegreerde power manager, die specifiek ontwikkeld werd voor draagbare toepassingen zoals deze. De AXP209 van AllWinner (bekend van de A10, A20 en A83 multimediaprocessors) is een zeer kleine power manager in QFN-package die verschillende configureerbare DC/DC-converters bevat en ook een aantal eveneens configureerbare lineaire regulators (LDO's). Zowat alle logica is in het IC geïntegreerd, en dus beperken de externe componenten zich grotendeels tot de inductors voor de DC/DC-converters en de ingang- en uitgangscondensators voor de regulators. De AXP209 heeft ook een batterijlader geïntegreerd, die met een configureerbare laadstroom wordt opgeladen. Deze laadstroom kan afkomstig zijn van USB of van een AC power adapter, in deze configuratie wordt er enkel van USB gebruikgemaakt. De laadstroom wordt automatisch gelimiteerd in software om de USB-poort niet te overbelasten. R1 is een shuntweerstand die toelaat de laadstroom te meten (laadstroom komt uit pin 45 en wordt gepulsd door inductor L2). De batterij kan elk lithium-ion of lithium polymeer type van 3.6V of 3.7V zijn. Lithium polymeerbatterijen hebben het voordeel dat ze zeer licht zijn, een voordeel voor draagbare toepassingen. Een 3.7V lithium polymeerbatterij van 2.5Ah in 406080 form factor (4 mm hoog, 60 bij 80 mm oppervlakte) voldoet perfect.

Communicatie naar de buitenwereld gebeurt via USB. De USB OTG standaard ("On The Go") laat toe dat devices zich zowel als master of als slave kunnen gedragen. Met zo'n USB OTG connector kan dus zowel een verbinding gemaakt worden met een laptop om data over te dragen of om de batterij op te laden, maar ook met een USB-stick om bv. een nieuw OS te flashen.

Een tweede nuttige functie van de AXP209 is de real time klok (RTC). Hiervoor ondersteunt hij zelfs een directe backup-batterij, waarvoor in dit geval een EDLC met capaciteit 200 mF is gekozen. De tijd wordt dus bijgehouden ook als de microcontroller niet actief is (stroomspaarmodus) of als de hoofdbatterij plat is. De tijd wordt naar de microcontroller gecommuniceerd via de I2C-bus. R5 en R6 zijn de pullupweerstanden voor deze bus. Bij op de bus zitten een MAG3110(IC3) en een MPU6500 (IC4), respectievelijk een digitaal kompas, en een inertiële sensor bestaande uit accelerometer en gyroscoop. Deze sensors laten toe om bv. oriëntatie maar ook beweging te meten.

Het enige wat de AXP209 niet ondersteunt is energy harvesting. Hiervoor wordt gebruik gemaakt van een LTC3108 van Linear Technology, die in feite een step-up converter (DC/DC converter in boost modus) is die zeer kleine ingangsspanningen (tot ca. 20mV) aan kan. De TEGs (thermoelektrische energy harvesters) van type TEC1-12706 leveren immers maar zeer kleine spanningen, en zijn dus in serie geschakeld om ook bij geringe temperatuurverschillen toch aan 20mV te geraken. De LTC3108 past automatisch zijn ingangsimpedantie aan om een maximale vermogensoverdracht uit de TEGs te verkrijgen, en pompt dit vermogen rechtstreeks in de batterij. De AXP209 volgt het laadproces door middel van zijn BATSENSE input (pin 42). De enige voorwaarde om de thermoharvesters te laten werken is een temperatuurverschil van ca. 5°C te voorzien tussen beide kanten van de harvesters (die gesandwiched zijn tussen 2 keramische platen). De "warme" kant moet mechanisch uiteraard contact maken met de huid, de "koude" kant moet gekoeld worden door de buitenlucht. Je kan hier creatief zijn met het mechanisch design, bv. de behuizing van het device kan dienst doen als heatsink als het uit aluminium/magnesium vervaardigd is, enz.

Voor positiebepaling wordt gebruik gemaakt van een U-blox EVA-M8M satellietontvanger. Deze ontvangers met zeer kleine footprint (QFN-package) zijn compatibel met de 3 grootste satellietnetwerken (Russische GLONASS, Amerikaanse GPS en Europese Galileo) en kunnen daarmee dus de locatie uiterst nauwkeurig bepalen. Patchantennes voor GNSS zijn echter nogal groot en dus niet echt interessant voor deze draagbare toepassing. Daarom werd er gekozen voor een veel kleinere chipantenne (ANT2) in combinatie met een bijkomende signaalversterker (IC8). Deze zogenaamde LNA (Low Noise Amplifier) versterkt het extreem zwakke satellietsignaal vooraleer het wordt gedecodeerd door IC9. De voorwaarde is uiteraard dat de antenne, IC8 en IC9, en alle componenten errond, zo dicht mogelijk bij elkaar staan om zo weinig mogelijk signaalverlies te hebben. Je kan de versterker beschouwen als een opamp voor zeer hoge frequenties. Vermits satellietnavigatie maar in één richting werkt (enkel data ontvangen) hoeft er geen RF switch tussen de antenne en IC8 gestoken te worden, waardoor de implementatie dus verrassend compact blijft. Communicatie van de positie gebeurt via de SPI-bus (MOSI, MISO, SCK). In energiespaarmodus kan de receiver ook uitgeschakeld worden via het GNSSEN signaal. De hoogfrequente signaalverwerking rond IC8 (microgolf frequentiebereik) maakt gebruik van zeer kleine inductor- en condensatorwaarden. Indien deze niet te vinden zijn in standaard 0603 form factor mag je dus noodgedwongen uitwijken naar andere formaten.

Een belangrijk aspect is natuurlijk draadloze communicatie. In plaats van voor een afzonderlijke wifi en bluetooth chip te kiezen (bv. combinatie van de ESP8266 wifi chipset en CC2564 bluetooth chipset) werd er gekozen voor de recent uitgebrachte ESP32. Dit is een gecombineerde transceiver voor zowel wifi als bluetooth, en de opvolger van Espressif's legendarische ESP8266 voor IoT (Internet of Things) toepassingen. Deze aanpak heeft 2 grote voordelen: enerzijds kunnen beide draadloze protocollen geïntegreerd worden in één fysiek package (IC5), en anderzijds kan ook de antenne worden gedeeld, vermits zowel wifi als bluetooth op 2.45 GHz zitten. Om het even welke 2.45 GHz antenne kan gebruikt worden, ook planaire PCB-antennes. In feite is de ESP32 zelf ook een dual core processor, waardoor al de draadloze dataverwerking niet op de STM32 hoeft te gebeuren, die daarmee ontlast wordt. De ESP32 is ongetwijfeld één van de kleinste en meest performantie wifi/bluetooth chipsets van dit moment.

Op de SPI-bus zit ten slotte ook nog een audioversterker. Deze is opgebouwd rond IC10, een geïntegreerde digitale audioversterker van Texas Instruments bedoeld voor low power embedded toepassingen. Er kan direct een 8 Ohm luidsprekertje op aangesloten worden (LS1), en een connector voor een hoofdtelefoon mag natuurlijk ook niet ontbreken (hoe onozel zou een portable device zonder hoofdtelefoon aansluiting zijn?!). Voor het opnemen van geluid wordt gebruik gemaakt van de speciale I2S bus van de STM32, specifiek bedoeld voor digitaal geluid. Verwar deze dus niet met de I2C bus, die compleet andere signalen heeft! De microfoon is een MEMS-type (Micro Electro Mechanical System) dat zeer veel toegepast wordt in draagbare devices.

Het laatste ontbrekende aspect is nog de gebruikersinterface, uiteraard. Er bestaan veel geïntegreerde multimediaprocessors (zoals bv. de A20 van Allwinner of de Texas Instruments varianten die op de Beaglebone of Raspberry Pi zitten), met daarin zowel een CPU als GPU. Helaas zijn deze processors niet geoptimaliseerd voor low power applicaties, en ze zouden de batterij dus nogal snel leegtrekken. In plaats daarvan werd gekozen voor een LCD-scherm met touchscreen interface, met een 40-pin flatcable connector. Zo wordt de compatibiliteit met honderden andere gelijkaardige schermen bewaard. Dergelijke grote schermen hebben geen display driver aan boord en moeten extern aangestuurd worden met RGB-data (te vergelijken met een VGA of DVI-connector). Dit wordt geregeld door een RA8875 (IC11), die eigenlijk een volledige grafische kaart in één enkel VQFP package is. De chip kan zowel parallel als serieel (via I2C of SPI) aangestuurd worden, en koppeling met een LCD of TFT-scherm is direct mogelijk. Al het benodigde videogeheugen zit in de RA8875, waardoor de 512 MB RAM dus niet hoeft gedeeld te worden, én er geen snelle driehoeksdatabus tussen de STM32, de RA8875 en de RAM-chip nodig is. De RA8875 kan rechtstreeks grafische rendering van bv. afbeeldingen verzorgen maar decodeert ook karaktersets in verschillende fonts e.d. Een extra voordeel is dat de RA8875, in tegenstelling tot zijn voorganger, ook de touchscreen interface kan afhandelen. De 4 elektrodes van het display (pinnen 37 - 40) worden rechtstreeks ingelezen in de ADC van de RA8875, en de besturing wordt aan de STM32 doorgegeven via SPI. De backlight van het display heeft typisch ca. 10V nodig en constante stroom om op te lichten, waarvoor boostconverter IC12 zorgt. Deze boost rechtstreeks vanaf USB power input of batterij naar 10V (uitgangsspanning wordt ingesteld via zenerdiode D6) maar maakt eigelijk gebruik van constant current feedback (via shuntweerstand R15). Het display kan gedimd worden via PWM, eveneens afkomstig van de RA8875 via R16. In power save modus kan de STM32 via DISPEN zowel het display zelf als de backlight uitschakelen, de RA8875 wordt in low power modus geschakeld via zijn eigen chip select (pin 41).

Het enige ontbrekende element in deze schakeling is, buiten de keuze van bv. luidspreker en wifi-antenne, de aan/uit-knop. Voeg zelf zo'n aan/uit knop toe aan het schema. Je mag er van uit gaan dat de AXP209 en de STM32 steeds actief zijn (en de STM32 dus digitale signalen kan inlezen). Je mag ook meerdere mogelijke suggesties oplijsten en voorstellen, maar je moet er minstens één implementeren. Denk eraan dat de knop ook moet toegevoegd worden in het mechanisch design.

Opdrachtbeschrijving

Als eindopdracht voor ECAD ontwerp je de allereerste charmate op basis van het design hierboven. Je maakt hiervoor gebruik van surface mount technologie, voor weerstanden en condensators kies je 0402 of 0603 form factor. Er zijn geen beperkingen wat betreft componentkeuze, maar de PCB moet natuurlijk in de behuizing passen, en de grootte daarvan is min of meer bepaald door de grootte van het LCD scherm. Hou rekening met de batterij, die ook een plaatsje moet krijgen. Eventueel mag je opteren voor een kleinere batterij als je dit kan verantwoorden. Het staat je zelf vrij om extra functionaliteit, zoals bv. biosensors ( hartslag, bloeddruk, glucosespiegel e.d.) toe te voegen. Alle eigen wijzigingen die blijk geven van inzicht in de materie en die je kan verantwoorden als nuttig (d.w.z. innovatief) leveren uiteraard extra punten op. Het is de bedoeling om een systeem te ontwerpen dat volledig geïntegreerd is, dus zowel de TEGs, de batterij, de PCB(s) en antennes moeten in één en dezelfde behuizing passen. Deze behuizing ontwerp je in Inventor. De heat flow door de harvesters zal een kritisch element zijn dat grotendeels de mechanische structuur van je behuizing zal bepalen. Wat betreft de PCB staat het je vrij om de design rules zelf te kiezen in functie van de vereisten van je ontwerp. Je moet je keuzes uiteraard kunnen verantwoorden (bv. als je een minimale via diameter van bv. 0.15 mm kiest dan kan dat, maar je moet kunnen uitleggen waarom).

Via deze opdracht bewijs je je CAD-vaardigheden. Je maakt dus een ontwerp volgens de regels van de kunst: duidelijke schema's opgedeeld over verschillende schemadocumenten, die aan elkaar hangen met bussen of signal harnesses, verduidelijkt met net labels, correcte annotatie, enzovoort. Je hoeft niet alle componenten zelf te tekenen als ze in de Octopart library te vinden zijn, maar er wordt uiteraard wel van je verwacht dat je dit kan. Tijdens de mondelinge verdediging zal je sowieso gevraagd worden om live een footprint of schemasymbool van een onbekende component te tekenen. Voor de PCB maak je gebruik van de state of the art: dubbelzijdig (of 4 layers als je dit kan verantwoorden) met optimale plaatsing van componenten (d.w.z. inductors zo dicht mogelijk bij hun DC/DC controllers, ontkoppelcondensators bij de pinnen die ze ontkoppelen e.d.). Uiteraard maak je gebruik van regions en polygons, en pas je technieken voor high speed routing toe op de USB-lijnen. Denk na over de manier waarop je de PCB zal bevestigen in de behuizing, exporteer de PCB uit CircuitMaker als STEP-model en toon via een Inventormodel hoe alles in elkaar past.