Inhaltsverzeichnis:
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-13 06:56
Es war Mitte September, wo ich ein lustiges kleines Projekt machen wollte. Da Weihnachten nahte und ich meiner Familie ein paar selbstgemachte Geschenke machen wollte, entschied ich mich für einen Weihnachtsbaum.
Der Weihnachtsbaum sollte:
- muss energieeffizient sein
- nicht größer als 10*10cm. sein
- programmierbar
- muss eine Basis haben, auf der die Batterie platziert wird
- muss mehr als 1 Betriebsart haben
Ich habe die Leiterplatte in Altium Designer entworfen, die Leiterplatten auf JLC gedruckt, den Atmel-Mikrocontroller in Atmel Studio 7.0 programmiert und das 3D-Modell in SolidWorks entworfen.
Schritt 1: Der Plan
Mein Plan ist es, 2 weihnachtsbaumförmige Leiterplatten zu entwerfen.
Bevor ich anfing, an den Schaltplänen zu arbeiten, wählte ich den Mikrocontroller, das Netzteil, die LED-Treiber…
Für den Mikrocontroller habe ich den ATTINY85-20SU wegen seiner Einfachheit (8pins) verwendet.
Für die Stromversorgung der Mikrocontroller und LEDs habe ich 3 AA-Batterien gewählt.
Zum Schalten der LEDs habe ich die Mosfets SI1012CR-T1-GE3 gewählt.
Schritt 2: Design der Platine
Zuerst habe ich den Schaltplan gemacht, dann das PCB-Layout.
Nachdem ich den Mikrocontroller ausgewählt hatte, schaute ich mir das Datenblatt des Controllers und die Pinbelegung an. Der Mikrocontroller benötigte einen Schlafmodus und mindestens 4 I/O-Pins für 3 Mosfets, einen für jede Farbe (rot, gelb, grün) und einen Druckknopf. Das attiny85 war perfekt.
Pin1 (RESET) - ist ein Reset-Pin, an dem ich einen 10 kOhmPULL UP-Widerstand angeschlossen habe (Paket 1206)
Pin2 - Ich habe diesen Pin für den Druckknopf verwendet, jedes Mal, wenn ich den Druckknopf gedrückt habe, wurde der Pin auf Masse gezogen (also habe ich diesen Pin als Eingang programmiert und einen internen PULL UP verwendet)
Pin3 - im SCH1 habe ich diesen Pin mit dem Stecker verbunden, aber ich habe ihn nicht verwendet.
Pin4 - Masse
Pin5 (MOSI) - geht zum Gate des Mosfet Q3 für gelbe LEDs
Pin6 (MISO) - ist mit dem Gate des Mosfet Q2 für grüne LEDs verbunden
Pin7 (CLK) - verbunden mit dem Gate des Mosfet Q1 für rote LEDs
Pin8 - Vcc
Datenblatt des Mosfet:
Auf einem Mosfet befinden sich 12 LEDs (Gesamtstromaufnahme für 1 Mosfet: P=I*U, P=20mA*4.5V=90mW)
Ich habe auch 6 Vias (2,54 mm voneinander für die Programmierung) hinzugefügt (Header 4 und Header 2 auf dem SCH)).
Nach dem SCH habe ich das Board weiter arrangiert. Ich habe die Weihnachtsbaumform ausgeschnitten und dann die Komponenten ausgelegt.
Ich habe zwei Entkopplungskondensatoren 100pF und 10uF hinzugefügt, um die Eingangsspannung zu stabilisieren.
Der 100 kOhm Widerstand, der in SCH ist, habe ich nicht verwendet.
Ich habe die Gerber-Dateien für beide PCBs hinzugefügt.
Schritt 3: Löten
Ich benutzte einen alten Lötkolben, den ich herumgelegt hatte.
Zuerst habe ich alle SMD-Komponenten gelötet, dann alle Durchgangslochkomponenten.
Nach dem Löten war es Zeit für Spaß beim Programmieren:D
Schritt 4: Programmierung
Zur Programmierung habe ich den AVRISP mk2 verwendet.
Da Sie ein externes Netzteil benötigen, um den Mikrocontroller und den Programmierer mit Strom zu versorgen, habe ich 5V und Masse von Arduino Mega nur für die Stromversorgung angeschlossen. Dann habe ich den Programmierer auf meiner programmierbaren Platine angeschlossen, wo ich angeschlossen habe:
1 Pin (RESET) auf RESET
4-polig (GND) zu GND
5-polig (MOSI) auf MOSI
6-polig (MISO) auf MISO
7-polig (CLK) auf CLK
8-polig (Vcc) zu Vcc
Den Programmcode habe ich angehängt.
Ich habe den Code implementiert, PWM-Steuerung, Ruhemodus, Interrupts…
Der erste Modus blinkt nur alle LEDs, im zweiten Modus habe ich das PWM verwendet, um die Helligkeit zu ändern (ich muss nur ein wenig optimieren, um es flüssiger zu machen, der dritte Modus schaltet die LED nur schrittweise ein und aus, Der vierte Modus blinkt nur verrückt (ich habe die PWM-Funktion wie im zweiten Modus verwendet) ich nenne ihn "funky" Modus: D
Nach dem Drücken des Tasters wird ein Timer gestartet, der 5 Minuten zählt und dann in den Schlafmodus zurückkehrt (im Schlafmodus beträgt der Stromverbrauch etwa 2-6 uA)
WARNUNG!!!
Bevor Sie Ihren attiny85 mit diesem Programm programmieren, müssen Sie die 8 Mhz Sicherung deaktivieren. denn wenn nicht, funktioniert dein attiny85 nur mit 1 Mhz
Schritt 5: Komponentenliste
Ich habe Komponenten für 12 Weihnachtsbaum bestellt. Ich habe eine Datei mit Komponenten hinzugefügt, die ich bei Farnell und Mouser bestellt habe, andere Komponenten, die ich bei aliexpress bestellt habe:
- LEDs
- Prototyp PCB
- Buchsenleisten
- Männliche rechtwinklige Header
- Drück Knöpfe
- Ein / Aus Schalter
Amazon.de:
- Batterie
Schritt 6: 3D-Modellierung
Ich werde nicht beschreiben, wie ich das 3D-Modell für die Basis entworfen habe, aber wenn Sie möchten, können Sie mir eine PN senden und ich sende Ihnen die Dateien.
Ich habe einige Öffnungen für den Ein / Aus-Schalter und den Druckknopf gemacht.
Zuerst lötete ich einige Drähte auf den Druckknopf und den Schalter, dann positionierte ich sie und verklebte sie von der Innenseite der Basis, dann schneide ich die Perfboards aus und lötete die Buchsen und Drähte zusammen und verklebte alles innerhalb der Basis.
Schritt 7: Zusammenfassung
Hauptzweck dieses Projekts war, dass ich meine Familie mit etwas Selbstgemachtem überraschen wollte, das war die Motivation, die mir geholfen hat, es fertig zu stellen.
Besonderer Dank gilt meinen Freunden, die mir bei diesem Projekt geholfen haben.
Ich habe eine Excel-Datei hinzugefügt, in der ich berechnet habe, wie lange der Akku halten würde (unter idealen Bedingungen).
Wenn Sie Fragen haben, hinterlassen Sie einen Kommentar.