Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
To było w połowie września, kiedy chciałem zrobić zabawny mały projekt. Ponieważ zbliżały się Święta Bożego Narodzenia i chciałam podarować rodzinie domowe prezenty, postanowiłam zrobić choinkę.
Choinka powinna:
- musi być energooszczędny
- nie być większy niż 10*10 cm
- programowalny
- musi mieć podstawę, na której znajduje się bateria
- musi mieć więcej niż 1 tryb pracy
Zaprojektowałem płytkę drukowaną w Altium Designer, wydrukowałem płytki na JLC, zaprogramowałem mikrokontroler atmel w Atmel Studio 7.0 i zaprojektowałem model 3d w SolidWorks.
Krok 1: Plan
Moim planem jest zaprojektowanie 2 płytek w kształcie choinki.
Zanim zacząłem pracę nad schematami wybrałem mikrokontroler, zasilacz, sterowniki led…
Do mikrokontrolera użyłem ATTINY85-20SU ze względu na jego prostotę (8 pinów).
Do zasilania mikrokontrolerów i diod LED wybrałem 3 baterie AA.
Do przełączania diod wybrałem mosfety SI1012CR-T1-GE3.
Krok 2: Projektowanie PCB
Najpierw zrobiłem schemat, a następnie układ PCB.
Po wybraniu mikrokontrolera spojrzałem na arkusz danych kontrolera i pinout. Mikrokontroler musiał mieć tryb uśpienia i co najmniej 4 piny I/O dla 3 mosfetów, po jednym dla każdego koloru (czerwony, żółty, zielony) oraz przycisk. Attiny85 był doskonały.
Pin1(RESET) - to pin resetujący, do którego podłączyłem rezystor 10 kOhmPULL UP (pakiet 1206)
Pin2 - użyłem tego pinu do przycisku, za każdym razem, gdy nacisnąłem przycisk, pin został ściągnięty do masy (więc zaprogramowałem ten pin jako wejście i użyłem wewnętrznego PULL UP)
Pin3 - w SCH1 podłączyłem ten pin na męskim nagłówku, ale go nie użyłem.
Pin4 - Uziemienie
Pin5(MOSI) - idzie do bramki mosfeta Q3 dla żółtych diod LED
Pin6 (MISO) - jest podłączony do bramki mosfet Q2 dla zielonych diod LED
Pin7(CLK) - podłączony do bramki mosfet Q1 dla czerwonych diod LED
Pin8 - Vcc
Karta katalogowa mosfeta:
Na jednym mosfecie znajduje się 12 diod led (łączny pobór mocy na 1 mosfet: P=I*U, P=20mA*4.5V=90mW)
Dodałem również 6 przelotek (2,54 mm od siebie do programowania (nagłówek 4 i nagłówek 2 na SCH)).
Po SCH zacząłem układać tablicę. Wyciąłem kształt choinki, a następnie ułożyłem elementy.
Dodałem dwa kondensatory odsprzęgające 100pF i 10uF do stabilizacji napięcia wejściowego.
Rezystor 100 kOhm, który jest w SCH, którego nie używałem.
Dodałem pliki gerber dla obu płytek.
Krok 3: Lutowanie
Użyłem starej lutownicy, którą leżałem.
Najpierw przylutowałem wszystkie elementy smd, a następnie wszystkie elementy przewlekane.
Po lutowaniu przyszedł czas na zabawne programowanie:D
Krok 4: Programowanie
Do programowania użyłem AVRISP mk2.
Ponieważ potrzebujesz zewnętrznego zasilacza do zasilania mikrokontrolera i programatora podłączyłem 5v i gnd z Arduino Mega tylko dla zasilania. Następnie podłączyłem programator na moim programowalnym pcb, gdzie podłączyłem:
1 pin (RESET) do RESETU
4 pin (GND) do GND
5 pinów (MOSI) do MOSI
6 pinów (MISO) do MISO
7 pin (CLK) do CLK
8 pinów (Vcc) do Vcc
Załączyłem kod programu.
W kodzie zaimplementowałem sterowanie pwm, tryb uśpienia, przerwania…
Pierwszy tryb to po prostu mruganie wszystkimi diodami, w drugim używałem pwm do zmiany jasności (wystarczy trochę podkręcić, aby było płynniej, trzeci tryb to po prostu włączanie i wyłączanie diody krokowo, czwarty tryb to po prostu szalone mruganie (użyłem funkcji pwm jak w drugim trybie) nazywam to trybem "funky":D
Po naciśnięciu przycisku uruchamia się timer, który odlicza 5 minut, a następnie wraca do trybu uśpienia (w trybie uśpienia zużycie energii wynosi 2-6 uA)
OSTRZEŻENIE!!!
Zanim zaprogramujesz attiny85 tym programem, musisz wyłączyć bezpiecznik 8 Mhz. ponieważ jeśli nie, twój attiny85 będzie działał tylko przy 1 Mhz
Krok 5: Lista komponentów
Zamówiłem komponenty na 12 choinki, dodałem plik komponentów, które zamówiłem w Farnell i Mouser, inne komponenty zamówiłem w aliexpress:
- diody LED
-Płytka prototypowa
- Nagłówki żeńskie
- Męskie nagłówki pod kątem prostym
- Wciskać przyciski
- Przełącznik włącz / wyłącz
Amazon.de:
- bateria
Krok 6: Modelowanie 3D
Nie będę opisywał, jak zaprojektowałem model 3d bazy, ale jeśli chcesz, możesz do mnie wysłać wiadomość e-mail, a ja wyślę Ci pliki.
Zrobiłem trochę otworu na włącznik/wyłącznik i przycisk.
Najpierw przylutowałem trochę przewodów do przycisku i przełącznika, następnie ułożyłem je i skleiłem na gorąco od środka podstawy, potem wyciąłem płytki perforowane i zlutowałem żeńskie złącza i przewody razem i skleiłem na gorąco wszystko wewnątrz podstawy.
Krok 7: Podsumowanie
Głównym celem tego projektu było to, że chciałem zaskoczyć moją rodzinę czymś domowej roboty, co było motywacją, która pomogła mi go zrealizować.
Specjalne podziękowania dla moich przyjaciół, którzy pomogli mi w tym projekcie.
Dodałem plik excel, w którym obliczyłem, jak długo wytrzyma bateria (w idealnych warunkach).
Jeśli masz jakieś pytania zostaw komentarz.