Pinewood Derby med programmerbara lysdioder (2 / 4 steg)
Steg 2: Hårdvara
ett självklart val. Eftersom de vita lysdioderna har en turn-on för ca 3.2V och mynt batterier
kommer mestadels i multiplar av 1,5 v detta innebar att vi behövde minst 4.5V. Detta skulle innebära
3 batterier, som började bli stökigt. Så, jag bestämde mig att två 3V batterier skulle göra.
Wiki post http://en.wikipedia.org/wiki/List_of_battery_sizes har några användbara
information (förutsatt att dess rätt!). En CR2016 är exakt halva tjockleken på ett CR2032,
så jag bestämde mig på med 2xCR2016. Jag trodde först jag kunde använda ett sewable CR2032 mynt
batterihållare (från http://www.sparkfun.com ) och dubbla upp batterierna, men när det
kom insåg jag att det skulle kort ut ett av batterierna. Så jag bosatte sig på mindre-än-
tillfredsställande metod för att utforma vår egen. Jag använde två ringkabelskor (med isolering
bort) och ShapeLock virad runt de två cellerna. Detta fungerade bra. CR2016
har om 90mAh enligt Wiki.
En annan fråga var att mikrokontroller har Max driftspänning av 6V (se
http://www.atmel.com/dyn/resources/prod_documents/doc2543.pdf ) och litiumceller
har en högre än nominella öppen kretsspänning (se Wiki posten ovan), så det kändes
klokt att sänka driftspänningen något. Jag använde en diod i serie med leverans till
få en 0.7V droppe eller så. (En snabb värsta fall uträkning visar att den maximala strömmen
skulle vara runt 100 Ma, så dioden måste vara dimensionerade för om 100mW, som inte är
en fråga om du inte använder verkligen liten dioder.) Jag använde en Zener i "fel" riktning
eftersom jag har massor av dem.
Atmel spec. är (se länk ovan) ganska tydliga som specifikationer. gå. ATtiny2313 har säkringar
så att du kan välja vissa operativa egenskaper som att använda en intern klocka
och frekvens. Nästa avsnitt visar hur man programmerar säkringarna med avr
toolchain.
Jag valde att köra en ATtiny2313 på 1Mhz, vilket är mer än tillräckligt snabbt för våra behov,
och vid denna frekvens aktuella active leverans handlar om 2mA, vilket är ganska försumbar
jämfört med LED lottningen. Andra relevanta ATtiny2313 egenskaper är (1) högst
Likström per i/o pin (40mA), (2) den högsta Likström genom makt och marken
(200mA) och (3) I/O stift HI spänningen vid relevanta LED nuvarande (4.5V @ 20mA, 4.8V @
10mA).
En snabb sanity check visar att det finns inga grova kränkningar av spec: vita och
gula lysdioder är klassade på 20mA, den röda LED har en effekt på 10mA. Så, värsta fall aktuella är
om (4 * 20 + 2 * 10) mA för lysdioder, och om 2mA för ATtiny2313, så ett värsta fall av
om 102mA. Så allt verkar bra från en spec. synvinkel.
Dock vid en dragning av 102mA varar CR2016s mindre än en timme. Detta är inte tillräckligt
eftersom det kan finnas en timme eller mer fördröjning mellan Pinecar Derby invägning och själva loppet.
Så jag bestämde mig att schemalägga lysdioderna använda mindre ström (med lägre intermittensfaktor) och att byta
på vid olika tidpunkter. Detta kommer att behandlas i nästa avsnitt.
En strömbegränsande motstånd bör användas så lysdioderna arbeta vid rätt tillfälle.
Lämpligt motstånd värde kan beräknas med hjälp av formeln nedan. Den relevanta LED
kännetecknen är framåt (på) spänning, V_f_min och på strömmen, I_on. Under V_f_min,
LED inte är aktiverat, och det finns ingen anledning att köra mer aktuell än I_on (det kommer inte att få
mycket ljusare, batteriet är bortkastad och LED life är kortklippt, inte att den senare är en
stora övervägande här). V_HI är HI I/O stift utspänningen när sourcing nuvarande I_on.
Resistor värdet behöver inte vara exakt, naturligtvis, och det slutliga valet beror på
vad du har i din box (jag har en resistor kit som har olika värden gazillions), och
vilka faktiska ljusstyrkan ser ut (kom ihåg, bilen har bara att lysa upp för några
timmar, vi inte tillverka en miljon enheter!). Dessutom sedan tullen cykeln kommer
vara mindre än 100%, kan mindre motstånd värden arbeta. Jag gjorde ett misstag när jag tittade upp
gula framåt spänning på spec. och används ett motstånd värde på 100 ohm istället för
de "korrekta" 135 ohm. Inte en stor sak, bara lite slarvig från min sida (eftersom jag har gått till den
besväret av computing värdet i första hand!). Den andra bilden nedan visar den
relevanta siffror för lysdioderna och I/O stift HI spänning kontra källkod nuvarande.
Jag använde en bröd styrelse (se tredje bilden nedan) att se till att allt var bra, och att låta mig
testa programmet innan montering. En mindre sak att se upp för: Jag väljer att använda
PORTB (minns inte exakt varför, det kan ha varit så att jag kunde kontrollera den inre
klockfrekvensen på ett annat stift), som överlappar med programmering stiften. Så, du
måste du koppla bort en av lamporna (pin 17, tror jag) vid programmering enheten,
eller du kan slå några udda programmeringsfel. Du kan se ful batterihållaren
nedan.