Schritt 2: Schaltungsentwurf
Ich verwende CadSoft EAGLE 6.2 zeichnen die Schaltung Schaltplan und PCB-Design-Layout.
Anfahren, der einfachste Weg, dies zu tun ist mit einem Mikrocontroller irgendeiner Art, wir kümmern uns um die man bald.
Die Herausforderung liegt in der Anzahl 132. Eine Möglichkeit ist, einen Mikrocontroller mit 132 Pins, einfach, wählen richtig? Aber der Mikrocontroller wird gigantisch sein, und das Design wird schlecht aussehen.
Die Lösung ist zur Gruppe der LEDs, so dass ich ihnen multiplex können. Mein Design ordnet die LED in einem 30 Anoden von 5 Kathoden (ich diese als "Ringe" folgender) "Matrix". Dies bedeutet, brauche ich 35 Stifte, 132 LEDs zu fahren.
(Klicken Sie auf die LED-Matrix-Bild oben, ist es eine Animation, die Ihnen zeigt, wie funktioniert meine LED-Matrix)
Ich brauche auch 5 Widerstände (R1, R2, R3, R4, R5) begrenzen den Strom auf den LEDs, so dass sie in ihren Bewertungen zu betreiben und nicht ausbrennen. Es ist wichtig um zu bemerken, dass andere Farbe LEDs haben unterschiedliche Spannungsabfälle haben unterschiedliche maximale sicherere geltenden Spezifikationen und auch die Spannung der Batterie variiert im Laufe der Zeit (mehr als die Nennspannung während und unmittelbar nach dem Aufladen). Ich habe einen gemeinsamen 330 Ohm Widerstand für diesen Auftrag ausgewählt. Unter den schlimmsten Fall, der 0 Spannungsabfall über der LED und einer Batterie bei 4.2V, sagt Ohmschen Gesetz der Strom 12.7mA wird. Dies ist für fast alle kleinen LEDs sicher und sicher für die GPIO des Mikrocontrollers.
Ich brauche mindestens 2 Knöpfe, was bedeutet, dass zwei weitere Pins auf den Mikrocontroller erforderlich sind. Es ist ideal, wenn diese Pins irgendeine Form von Interrupt unterstützt zu erkennen, dass auch im Sleep-Modus die Taste drückt. Es wird auch ideal, wenn diese Pins interne Pull-up Widerstände, featured, externen Pull-up-Widerstände sind nicht erforderlich.
So ist meine minimale Pin Anforderung jetzt 37. Ich habe einige auf der Suche nach einem Mikrocontroller, die diese Anforderung erfüllen, und entschied sich für eine ATmega645P (oder etwas ähnliches mit weniger Speicher, Speicheranforderungen für dieses Projekt ist eigentlich sehr klein).
Freuen Sie sich auf 54 freien Pins. Kommt in einem TQFP Paket, so dass ich es ohne Heissluft Löten kann (ich kann QFN aber ich würde lieber vermeiden, vor allem für ein Instructables-Projekt, wo die Fähigkeiten der Menschen variieren). Es arbeitet bis 1,8 v, so ist es bequem, mit einer Münze-Zellen-Akku verwenden. Es hat eine Hardware RTC, die ich nutzen kann, um Zeit, sogar im Ruhezustand nachzuverfolgen. Die PicoPower-Version besagt, dass es einige unglaublich niedrigen Stromverbrauch hat mit Akku-Lebensdauer beiträgt. Als Bonus bin ich ein Fan von der AVR-Familie.
So wissen die Betriebsspannung des Mikrocontrollers 1,8 v bis 5,5 v ist, ich weiß, dass ich sicher macht kann die Schaltung mit einem wiederaufladbaren Lithium Ionen-Münze-Zellen-Akku (Nennspannung beträgt 3,7 v, maximale 4.2V) ohne einen Spannungsregler überhaupt.
Die Lade-Schaltung ist extrem einfach zu entwerfen, der Ladegerät-Chip ist ein MCP73831 und das Datenblatt hat Beispiel Anwendung Schaltung, die ich angepasst haben. Sofern nicht anders vom Hersteller angegeben, ist es sicher davon ausgehen, dass die Batterie mit einer Rate von 1 C, d.h. 1 multipliziert mit der Kapazität (in AH oder mAH) aufgeladen werden kann. Da mein Akku ein Capcity 150mAH hat, kann ich den Akku bei 150mAh sicher aufladen. Mit der Berechnung aus dem Datenblatt, bedeutet dies, ich habe einen 15 Kilo-Ohm-Widerstand verwenden, um die Aufladung auszuwählen.
Die Hardware RTC (asynchrone Modus Timer 2) in den Mikrocontroller erfordert einen 32,768 KHz Kristall Zeit den Überblick behalten. Der Kristall braucht Capcitors laden auf jeden Pin oder sonst der Kristall zeigt große Frequenz Instabilität und die Zeit wird nicht korrekt sein.
Der Mikrocontroller arbeitet mit seinen 8 MHz internen RC Oszillator (spart Platz und Geld durch die Vermeidung von einem anderen Kristall), und diese Frequenz wird intern geteilt werden durch 8 um Strom zu sparen.
Der Mikrocontroller benötigt eine Entkopplung Kondensator für jeden VCC -Pin, dies ist eine allgemeine Regel von Daumen, die ich angepasst haben, im Sinne, feines Rauschen aus dem Energiebus herausfiltern.
Die ATmega645P verfügt über interne Pull-up Widerstände (Ich habe bereits erwähnt, dass es dann schön, diese haben), so dass die Tasten keine externen Pull-up Widerstände erfordern.
Der AVR-Mikrocontroller eine ISP (in-Circuit-serielle Programmierung)-Verbindung benötigt, so dass ich die Firmware programmieren kann, bedeutet dies Verbindung zurücksetzen und SPI-Bus-Stifte, sowie Boden und macht Verbindung.
Die Batterie-Erkennung ist eine einfache Spannungsdetektor (die TC54, für 2.7in konfiguriert), die eine Pin niedrige treiben wird, wenn die Batterie unter 2.7in ist.
Am Ende gab es Platz und freien Pins übrig, so ich ein akustisches Signal und Vibrationsmotor fügte. Der Motor treibt einen MOSFET. Der MOSFET hat einen Pulldown-Widerstand (R8) auf das Tor, so dass es nicht verrückt, wenn der Mikrocontroller steuert es ist nicht. Gibt es ein Widerstand (R9) zu den MOSFET Tor eine kurze Stromspitze während des Umschaltens die Mikrocontroller Pin schützen. Die Diode ist es, die Schaltung vor EMF zurück vom Motor zu schützen (diese Diode wird als eine Flyback Diodebezeichnet).