Terug naar mijn portfolio overzicht
05 - Electronica Ontwerp
Opdracht 1:
Laat de LED van het test board (uit electronica productie) knipperen via 3 verschillende wegen:
- Arduino IDE
- Thonny (python)
- Visual studio code (VS codium?)
Arduino IDE
Tijdens het thema electronica productie had ik moeite met de Arduino IDE aan de praat te krijgen met de test code. Ik ben terug gegaan naar mijn documentatie in mijn portfolio om te beginnen aan deze opdracht. Daarna heb ik de de test code aangepast zodat de externe LED en de onboard LED om en om knipperen.
- LED-arduino.ino
void setup() { // put youvoid setup() { // put your setup code here, to run once: pinMode(27, OUTPUT); // the LED pin pinMode(LED_BUILTIN, OUTPUT); // initialize digital pin LED_BUILTIN as an output } void loop() { // put your main code here, to run repeatedly: static unsigned looptime; if (millis() > looptime + 500) { looptime = millis(); if (digitalRead(27)) { digitalWrite(27, LOW); digitalWrite(LED_BUILTIN, HIGH); } else { digitalWrite(27, HIGH); digitalWrite(LED_BUILTIN, LOW); } } }
De Badge
Voor de badge heeft Edwin een triviant puntje met een weerstand en een twee kleuren LED ontworpen. Deze heeft hij aangestuurd met een arduino, dit is natuurlijk niet handig voor een badge. Ik heb (met de hulp van andere) uitgezocht hoe we hier een analoge schakeling kunnen maken. Hiervoor hebben we een TLC551 chip gebruikt, deze heeft een flip-flop (word ook gebruikt voor het fluitende potlood).
In deze schakeling worden twee weerstanden gebruikt, de waarden hiervan moeten worden berekend. Hiervoor heb ik een online tool (deze website). Ik ben begonnen met het invullen van de condensator (Capacitor (C)), deze is 10 microFarad. Daarna heb ik geprobeerd om door middel van de waarde van de weerstanden de tijden (Time High (T1) & Time Low (T0)) rond 500 mili-seconden te krijgen.
Als laatste moet er nog een weerstand voor de LED worden berekend. We hebben een spanning van 3V (CR2032) en de LED weerstand is 2.3V. Het verschil tussen deze spanningen is 0.7V (dit is U). We willen een stroom sterkte die we voor de LED willen gebruiken is 5mA (I). De weerstand (R) kunnen we bereken door R = U / I, hier komt 140 ohm uit. Daarna heb ik de schakeling gemaakt.
Deze schakeling werkt nu met 1 LED, het triviant puntje heeft er 2, met een tweede chip of transistors kunnen we het oplossen om ook de andere LED te laten knipperen.
7404 Hex Inverter
Met deze chip kunnen we het signaal makkelijk omkeren. Pin 14 is de Vcc en pin 7 is ground. De overige pins hebben een input en een output die het signaal omkeren. Door de output op de aan te sluiten op de LED van het triviant steentje (deze zat voorheen op GND) knipperen zowel de rode als de groene LED.
Transistors
Het maken van de schakeling met transistors was wat lastiger. Ik heb twee transistoren gebruikt de 2N3906 (PNP) en de 2N3904 (NPN) en een weerstand van 1K. Hieronder zie je de specificaties van de transistoren
Omdat de transistors veel kleiner zijn heb ik besloten om met deze schakeling verder te werken voor mijn PCB ontwerp in KiCad.
KiCad
Daarna heb ik in KiCad een tekening gemaakt in de schematic editor. De LED en weerstand die op het triviant steentje zitten die heb ik in deze tekening ook vermeld. In het uiteindelijke PCB komen twee connectoren waarvan er draadjes naar het triviant steentje gaan.
Daarna ben ik de PCB gaan ontwerpen in de PCB editor. Ingesteld via board setup. Pre-defined sizes:
- Track: 0.5 mm
- Via: 2.0 mm diameter / 0.8 mm hole
Constraints:
- Minimum clearance: 0.4 mm
Via de footprint editor heb ik de footprint voor mijn CR2032 veranderd in een footprint die through hole is. Hieronder zie je het ontwerp van de PCB. Ik heb dit uitgeprint om te passen of de onderdelen op mijn ontwerp passen.
Ik heb daarna nog een ground plane in KiCad gemaakt met behulp van een handleiding van deze website.
De volgende stap is om met Mods G-code te genereren zodat ik de PCB kan gaan frezen. Ik heb eerst de *.svg bestanden gedownload uit KiCad, deze heb ik bewerkt in Inkscape zodat de de boor gaten apart kunnen worden opgeslagen. Verder heb ik de handleiding van Mods gevolgd en de frees richting ingesteld op conventional. Voor de boorgaten heb ik een tool diameter gepakt van net iets onder de grootte van het boor gat en een diepte van 2 mm. De *.nc bestanden van de boor gaten heb ik iets aangepast in een text editor. Ik heb de bewegingen die de tool maakt in het gat er uit gehaald.
Daarna was het tijd om te frezen, we hebben de Grblcontrol (Candle) software gebruikt en de Sable CNC frees. We hebben de z -as op 0 gezet met behulp van een papiertje, de correctie voor dit papiertje hebben we langzaam opgevoerd zodat we niet meteen te diep gingen frezen.
Voor de onderdelen zijn er verschillende website om deze op te zoeken en te bestellen zodat ik een BOM (bill of material) kan maken. Hieronder een lijst (van meest wenselijk tot laatste optie):
- Franell
- RS-online
- Reichelt
- Tiny Tronics
- Open circuit
- vanallesenmeer
- Digikey
BOM:
- Chip (SOIC-8): ICM7555CBAZ, Order nr: 1561939
- Transistors (TO-92):
- Weerstanden / resistors (SMD:R_1206_3216Metric):
- Capacitors (SMD:C_1206_3216Metric_Pad1.33×1.80mm_HandSolder):
Alle onderdeeltjes heb ik in bakjes gesorteerd. Hieronder zie je een foto van de onderdelen en de PCB.
Ik heb alles in elkaar gesoldeert, helaas werkte het niet meteen. Ik kwam er achter dat ik een fout had gemaakt in mijn ontwerp waar ik per ongeluk pin 3 verbonden met pin 2 en zes, hieronder heb ik de fout omcirkelt. Waarschijnlijk is dit gekomen toen ik het spoor over elkaar heb getekend, maar het programma er een verbinding van heeft gemaakt.
Om de fout te herstellen heb ik twee traces moeten doorsnijden (aangegeven in blauw op de tekening hieronder). Daarnaast heb ik een nieuw draadje getrokken vanaf pin 3 (aangegeven in groen).
Daarna deed de knipper LED het goed met de lab voeding ingesteld op 3V. Helaas gebruikt de opstelling erg veel stroom en is de knoopcelbatterij met ongeveer 10 minuten leeg. Hoe ik deze fout moet herstellen weet ik op dit moment niet goed. Ik heb daarom ook besloten dit onderwerp nu even te laten voor wat het is. Mijn eigen gemaakte PCB heeft ondertussen zo veel herstel werkzaamheden gehad dat ik er niks meer aan kan veranderen. Misschien dat ik het op een later moment nog ga proberen met een microcontroller. Wel heb ik erg veel geleerd van dit project. Ik heb over analoge schakelingen en het ontwerpen van mijn eigen PCB geleerd.










