LED Pocket Watch (2 / 11 steg)
Steg 2: Circuit Design
Jag använder CadSoft EAGLE 6.2 att rita krets schematiska och lägga ut PCB design.
Det började, det enklaste sättet att göra detta är med en mikrokontroller av något slag, vi ska oroa som en snart.
Utmaningen ligger inom nummer 132. Ett alternativ är att välja en mikrokontroller med 132 stift, enkelt, eller hur? Men mikrokontroller är gigantiska, och designen ser dåligt.
Lösningen är att gruppen lysdioderna så jag kan multiplex dem. Min design arrangerar LED i en 30 anoder av 5 katoder (jag kan se dessa som "ringen") "matrix". Detta innebär att jag behöver 35 stift att köra 132 lysdioder.
(Klicka på LED matrix bilden ovan, det är en animation som visar hur min ledde matrisen fungerar)
Jag måste också 5 motstånd (R1, R2, R3, R4, R5) att begränsa strömmen att lysdioderna, så de fungerar inom deras omdömen och inte bränna ut. Det är viktigt att lägga märke till att olika färg lysdioder har olika spänning droppar och har olika högsta säkra nuvarande specifikationer, och också batterispänningen kommer att variera över tiden (överstiger dess nominella spänning under och omedelbart efter laddning). Jag har valt en gemensam 330 ohm resistor för detta jobb. Tar det värsta scenariot, som är 0 spänningsfallet över LED och ett batteri på 4.2V, säger Ohms lag nuvarande kommer att vara 12.7mA. Detta är säkert för nästan alla små lysdioder och säkert för GPIO av mikrokontroller.
Jag behöver minst 2 knappar, vilket innebär två mer stift krävs på mikrokontroller. Det blir perfekt om dessa pins stöds någon form av avbrott att upptäcka knapptryckningar även under viloläge. Det blir också perfekt om dessa pins med inre pull-up motstånd, så inte behövs externa pull-up motstånd.
Så min minsta pin krav just nu är 37. Jag gjorde något forskande för en mikrokontroller som uppfyller detta krav, och beslutat om en ATmega645P (eller något liknande med mindre minne, minneskrav för detta projekt är faktiskt mycket liten).
Det finns 54 gratis pins. Kommer i en TQFP paket så jag kan löda det utan att behöva varmluft (kan jag integrerad krets men jag skulle hellre undvika det, särskilt för ett Instructables projekt där kompetens varierar). Det fungerar ner till 1.8V så det är easiy att använda med ett mynt-cellsbatteri. Den har en hårdvara RTC som jag kan använda för att hålla reda på tiden, även i viloläge. Den picoPower versionen påstår att den har några vansinnigt låg strömförbrukning, som hjälper till med batteritid. Som en bonus är jag ett fan av familjen AVR.
Så att veta driftspänning med mikrokontroller är mellan 1.8V och 5.5V, jag vet att jag säkert kan driva kretsen med uppladdningsbara coin cell litiumjonbatteri (nominell spänning är 3.7V, maximala 4.2V) utan att använda en spänningsregulator alls.
Laddning kretsarna är extremt enkelt att utforma, laddare chip är en MCP73831 och databladet har exempel ansökan kretsar, som jag har anpassat. Om inte annat anges av tillverkning, är det säkert att anta att batteriet kan laddas med en hastighet av 1C, vilket innebär 1 multiplicerat med sin kapacitet (AH eller mAH). Eftersom mitt batteri har en capcity av 150mAH, kan jag säkert ladda batteriet på 150mA. Med hjälp av beräkningar från databladet, innebär detta måste jag använda en 15 kilo ohms motstånd för att fastställa avgifter aktuella.
Maskinvaran RTC (timer 2 i påbörja läge) inom mikrokontroller kräver en 32.768 KHz kristall att hålla reda på tiden. Kristallen behöver laddar capcitors på varje stift, annars kristallen visar stor frekvens instabilitet och tiden kommer inte vara exakt.
Mikrokontroller skall fungera med dess 8 MHz intern RC oscillator (sparar utrymme och pengar genom att undvika en annan crystal) och det frekvensen divideras internt med 8 för att spara ström.
Mikrokontroller behöver en frikoppling kondensator för varje VCC pin, detta är en allmän regel-of-thumb jag har anpassat, avses är att filtrera bort fina buller från power bussen.
ATmega645P har inre pull-up motstånd (jag har tidigare nämnt att det ska bli trevligt att få dessa), så att knapparna inte kräver yttre pull-up motstånd.
AVR mikrokontroller behöver en ISP (i-krets Seriell programmering) anslutning så kan jag programmera dess firmware, innebär detta att ansluta reset och SPI buss stift, plus som ger en marken och driver anslutning.
Låg batterinivå upptäckt är en enkel spänning detektor (den TC54, konfigurerad för 2.7V) som kommer att driva en pin låg när batteriet är under 2.7V.
Till slut fanns utrymme och gratis pins kvar så jag lagt en Summer och en vibration motor. Motorn drivs av en MOSFET. MOSFET har en pull-down resistor (R8) på porten så det inte går galen när mikrokontroller inte är kontrollera det. Det finns ett motstånd (R9) att MOSFET'S gate att skydda microcontroller PIN-koden från en kort nuvarande stegring under växling. Dioden är det att skydda kretsen från tillbaka EMF från motorn (denna diod är känd som en flyback diod).