Étape 2: Le matériel
un choix évident. Étant donné que les LED blanches ont une mise en marche d’environ 3, 2V et pièce piles
pour la plupart viennent en multiples de 1, 5V, cela signifiait que nous avions besoin d’au moins 4.5V. Cela signifierait
3 piles, qui devenait désordonné. Alors, j’ai décidé qu’il ferait deux piles 3V.
Le Wiki entrée http://en.wikipedia.org/wiki/List_of_battery_sizes a certains utiles
information (en supposant que sa correct!). Un CR2016 est exactement la moitié de l’épaisseur d’une CR2032,
alors j’ai décidé sur l’utilisation de 2xCR2016. J’ai d’abord pensé que je pourrais utiliser une pièce de monnaie sewable CR2032
support de batterie (à partir de http://www.sparkfun.com ) et doublez les piles, mais quand il
arrivé, j’ai réalisé qu’il serait court-circuiter une des piles. Alors, je me suis installé sur le moins-que-
de méthode satisfaisante de façonner notre propre. J’ai utilisé deux cosses (avec isolation
retiré) et ShapeLock enroulé autour de deux cellules. Cela a bien fonctionné. Le CR2016
a propos de 90mAh selon le Wiki.
Un autre problème était que le microcontrôleur a une tension de 6V utile maximale (voir
http://www.atmel.com/dyn/resources/prod_documents/doc2543.pdf ) et piles au lithium
ont un niveau plus élevé que la tension nominale (Voir l’entrée Wiki ci-dessus), il semblait
prudent abaisser la tension de fonctionnement légèrement. J’ai utilisé une diode en série avec l’alimentation
obtenir une baisse de 0,7 v ou plus. (Un calcul rapide de cas pire montre que le courant maximal
serait d’environ 100 Ma, donc la diode doit être classifiée pour au sujet de 100 MW, ce qui n’est pas
un problème sauf si vous utilisez diodes vraiment minuscules.) J’ai utilisé une Zener dans le sens de « mauvais »
depuis que j’ai beaucoup d'entre eux.
La spec Atmel (voir lien ci-dessus) est assez clair comme fiche. aller. Le ATtiny2313 a fusibles
qui vous permettent de choisir certaines caractéristiques telles que l’utilisation d’une horloge interne
et la fréquence de fonctionnement. La section suivante montre comment programmer les fusibles avec l’avr
toolchain.
J’ai choisi de courir le ATtiny2313 à 1Mhz, ce qui n’est plus assez rapide pour nos besoins,
et à cette fréquence, que le courant d’alimentation actif agit de 2mA, qui est assez négligeable
par rapport au tirage LED. Autres caractéristiques pertinentes de ATtiny2313 sont (1) au maximum
DC courant par pin I/O (40mA), (2) le contrôleur de domaine maximum courant à travers l’alimentation et de masse
(200mA) et (3) la tension de HI I/O broche à la LED correspondante actuelle (4.5V @ 20mA, 4.8V @
10mA).
Une test rapide de validation montre qu’il n’y a aucun violations flagrantes de la spec : le blanc et
LEDs jaunes sont évalués à 20mA, le rouge LED est évalué à 10 ma. Ainsi, le pire des cas actuel est
sujet (4 * 20 + 2 * 10) mA pour LEDS et tout 2mA pour la ATtiny2313, donc un pire cas de
sur 102mA. Donc tout semble très bien d’un point de vue de la norme.
Cependant, à un tirage au sort de 102mA, le CR2016s durera moins d’une heure. Ce n’est pas suffisant
comme il peuvent y avoir une heure ou plus délai entre Pinecar Derby pesée et de la course réelle.
J’ai donc décidé de programmer les LEDs d’utiliser moins de courant (en utilisant un cycle inférieur) et de basculer
à des moments différents. Cela va être traitée dans la section suivante.
Une résistance de limitation de courante doit être utilisée pour les LEDs fonctionnent à un endroit approprié.
La valeur de résistance appropriée peut être calculée en utilisant la formule ci-dessous. La LED correspondante
caractéristiques sont vers l’avant (sur) la tension V_f_min et le courant sur, I_on. Sous V_f_min,
la LED n’est pas activée, et il n’y a aucun intérêt à conduire plus de courant que I_on (il ne sera pas
beaucoup plus lumineux, puissance de la batterie est perdu et la vie de la LED est coupée courte, pas que ce dernier est un
gros examen ici). V_HI est la tension de HI I/O broche sortie quand approvisonnement I_on actuel.
La valeur de la résistance n’a pas besoin être exact, bien sûr, et le choix final dépendra
ce que vous avez dans votre boîte (j’ai un kit de résistance qui a gazillions de valeurs différentes), et
ce que la luminosité réelle ressemble à (n’oubliez pas, la voiture vient de s’allumer pendant quelques
heures, nous ne sommes pas unités de fabrication 1 million!). En outre, depuis le duty cycle volonté
être inférieure à 100 %, des valeurs de résistance plus petites peuvent travailler. J’ai fait une erreur quand j’ai regardé vers le haut
le jaune avant tension sur le spec et utilisé une valeur de résistance de 100 ohms au lieu de
les 135 ω « correct ». Pas un gros problème, juste un peu bâclé de ma part (étant donné que je suis allé à la
la peine du calcul de la valeur en premier lieu!). La deuxième photo ci-dessous montre le
les numéros pertinents pour les LEDs et les e/s broche tension HI vs source actuelle.
J’ai utilisé une planche à pain (voir troisième photo ci-dessous) pour s’assurer que tout allait bien et de me laisser
tester le logiciel avant l’Assemblée. Une chose mineure se méfier : je choisis d’utiliser
PORTB (ne me souviens pas exactement pourquoi, il aurait pu alors je pourrais vérifier l’intérieur
horloge de fréquence sur un autre axe), qui fait double emploi avec les broches de la programmation. Donc, vous
vous devrez déconnecter un des voyants (broche 17, je crois) lors de la programmation de l’appareil,
ou vous pouvez frapper certaines erreurs de programmation impairs. Vous pouvez voir le porte-piles laid
ci-dessous.