Spisu treści:
- Krok 1: Modulacja szerokości impulsu w oprogramowaniu
- Krok 2: Sprzęt i wymagane komponenty
- Krok 3: Pozostałe oprogramowanie i wyniki
Wideo: Wiele świec elektronicznych: 3 kroki
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:29
Świece elektroniczne były wielokrotnie publikowane w Instructables, więc dlaczego ta?
W domu mam te małe półprzezroczyste domki bożonarodzeniowe z wejściem LED i małą baterią. Niektóre domy mają diody LED z efektem świecy, a niektóre mają diody LED, które są po prostu włączone. Małe baterie rozładowują się stosunkowo szybko, a ponieważ chciałem uzyskać efekt świecy we wszystkich domach, postanowiłem zrobić z tego projekt PIC. Oczywiście możesz też przekształcić go w projekt Arduino.
Więc co sprawia, że ta elektroniczna świeca jest wyjątkowa? PIC i Arduino mają na pokładzie sprzęt z modulacją szerokości impulsu (PWM), który może być użyty do stworzenia efektu świecy za pomocą diody LED, ale w moim przypadku chciałem mieć 5 niezależnych świec elektronicznych za pomocą jednego kontrolera i to nie jest obecne, a przynajmniej nie że wiem. Rozwiązanie, którego użyłem, to wykonanie tych pięciu niezależnych sygnałów PWM całkowicie w oprogramowaniu.
Krok 1: Modulacja szerokości impulsu w oprogramowaniu
Modulacja szerokości impulsu została opisana kilkakrotnie, m.in. w tym artykule Arduino:
PIC i Arduino mają na pokładzie specjalny sprzęt PWM, który ułatwia generowanie tego sygnału PWM. Jeśli chcemy wykonać jeden lub więcej sygnałów PWM w oprogramowaniu, potrzebujemy dwóch timerów:
- Jeden zegar używany do generowania częstotliwości PWM
- Jeden zegar używany do generowania cyklu pracy PWM
Oba timery generują i przerywają po zakończeniu, więc obsługa sygnału PWM jest w pełni sterowana przerwaniami. Do częstotliwości PWM używam timera 0 PIC i niech się przepełni. Przy wewnętrznym zegarze oscylatora 8 MHz i preskalowaniu 64 formuła jest następująca: Fosc/4/256/64 = 2.000.000/256/64 = 122 Hz lub 8,2 ms. Częstotliwość musi być wystarczająco wysoka, aby ludzkie oko nie mogło jej wykryć. Wystarczy do tego częstotliwość 122 Hz. Jedyną rzeczą, jaką robi ta procedura przerwania czasowego, jest skopiowanie cyklu pracy dla nowego cyklu PWM i włączenie wszystkich diod LED. Robi to niezależnie dla wszystkich 5 diod LED.
Wartość timera do obsługi cyklu pracy PWM zależy od tego, w jaki sposób wykonamy efekt świecy. W moim podejściu symuluję ten efekt, zwiększając współczynnik wypełnienia o wartość 3, aby zwiększyć jasność diody LED i zmniejszając go o wartość 25, aby zmniejszyć jasność diody LED. W ten sposób uzyskasz efekt świeczki. Ponieważ używam minimalnej wartości 3, liczba kroków do kontrolowania pełnego cyklu pracy jednym bajtem wynosi 255/3 = 85. Oznacza to, że zegar cyklu pracy PWM musi działać z częstotliwością 85 razy większą od częstotliwości Zegar częstotliwości PWM, który wynosi 85 * 122 = 10,370 Hz.
Do cyklu pracy PWM używam timera 2 PIC. Jest to timer z automatycznym przeładowaniem i używa następującego wzoru: Okres = (Przeładowanie + 1) * 4 * Tosc * Wartość przeskalowania Timera2. Przy przeładowaniu 191 i preskalowaniu 1 otrzymujemy okres (191 + 1) * 4 * 1/8.000.000 * 1 = 96 us lub 10,416 Hz. Procedura przerwania cyklu pracy PWM sprawdza, czy cykl pracy minął i wyłącza diodę LED, dla której cykl pracy został zakończony. Jeśli cykl pracy nie zostanie ukończony, zmniejsza licznik cykli pracy o 3 i kończy procedurę. Robi to niezależnie dla wszystkich diod LED. W moim przypadku ta procedura przerwania zajmuje około 25 us, a ponieważ jest wywoływana co 96 us, już 26% procesora jest używane do zarządzania cyklem pracy PWM w oprogramowaniu.
Krok 2: Sprzęt i wymagane komponenty
Schemat ideowy przedstawia wynik końcowy. Chociaż kontroluję tylko 5 diod LED niezależnie, dodałem szóstą diodę, która działa razem z jedną z 5 innych diod LED. Ponieważ PIC nie może sterować dwiema diodami LED na jednym pinie portu, dodałem tranzystor. Elektronika jest zasilana przez zasilacz 6 V / 100 mA DC i wykorzystuje regulator niskiego napięcia, aby uzyskać stabilne napięcie 5 V.
Do tego projektu potrzebne są następujące komponenty:
- 1 mikrokontroler PIC 12F615
- 2 kondensatory ceramiczne: 2*100nF
- Rezystory: 1*33k, 6*120 Ohm, 1*4k7
- 6 pomarańczowych lub żółtych diod LED, wysoka jasność
- 1 tranzystor BC557 lub odpowiednik
- 1 Kondensator elektrolityczny 100 uF / 16 V
- 1 regulator niskiego spadku napięcia LP2950Z
Układ można zbudować na płytce stykowej i nie zajmuje dużo miejsca, co widać na zdjęciu.
Krok 3: Pozostałe oprogramowanie i wyniki
Pozostała część oprogramowania to główna pętla. Pętla główna zwiększa lub zmniejsza jasność diod LED poprzez losową regulację cyklu pracy. Ponieważ inkrementujemy tylko o wartość 3, a dekrementujemy o wartość 25, musimy upewnić się, że dekrementy nie zdarzają się tak często, jak inkrementy.
Ponieważ nie korzystałem z żadnych bibliotek, musiałem zrobić generator losowy za pomocą rejestru przesuwnego z liniowym sprzężeniem zwrotnym, patrz:
en.wikipedia.org/wiki/Linear-feedback_shif…
Na efekt świecy wpływa szybkość zmiany współczynnika wypełnienia PWM, więc pętla główna wykorzystuje opóźnienie około 10 ms. Możesz dostosować ten czas, aby dostosować efekt świecy do swoich potrzeb.
Załączony film pokazuje efekt końcowy, w którym użyłem nasadki nad diodą LED, aby poprawić efekt.
Użyłem JAL jako języka programowania dla tego projektu i załączyłem plik źródłowy.
Baw się dobrze, czyniąc to Instruktażowym i oczekując na twoje reakcje i wyniki.
Zalecana:
Sterowanie komputerowe dowolnym zestawem obwodów elektronicznych: 4 kroki
Sterowanie komputerowe Dowolny zestaw obwodów elektronicznych: Naprawdę uwielbiam proste zestawy elektroniczne, takie jak warsztaty naukowe Tronex 72+ firmy Tedco Toys. Poza tym, że jest łatwy w użyciu, Tronex ma tylko wystarczającą ilość komponentów do bardzo szybkiego prototypowania projektów, ponieważ nie musisz ścigać żadnych części, ponieważ
Tworzenie niedrogiego narzędzia do usuwania zepsutych/rozerwanych/podartych/stopionych/stopionych osłon świec zapłonowych: 3 kroki
Tworzenie niedrogiego narzędzia do usuwania zepsutych / zerwanych / podartych / stopionych / stopionych obudów świec zapłonowych: Ta instrukcja ma pokazać, jak stworzyć własne, niedrogie narzędzie, aby wydobyć zepsuty bagażnik ze świecy zapłonowej, abyś mógł kontynuować tuning. Dla majsterkowiczów, którzy pracują nad własnym pojazdem, nie ma nic lepszego niż wymiana iskr
Jak używać Wiimote jako myszy komputerowej, używając świec jako czujnika !!: 3 kroki
Jak używać Wiimote jako myszy komputerowej, używając świec jako czujnika !!: Ten przewodnik pokaże Ci, jak podłączyć Wii Remote (Wiimote) do komputera i używać go jako myszy
Wykonaj ładowalny zasilacz o podwójnym napięciu do projektów elektronicznych: 4 kroki
Stwórz ładowalny zasilacz o podwójnym napięciu do projektów elektronicznych: Zmodyfikuj akumulator 9 V, aby uzyskać +3,6 V, uziemienie i -3,6 V. Docenisz ten pomysł, jeśli kiedykolwiek musiałeś zebrać kilka AA lub AAA, aby uzyskać projekt działa. Ta instrukcja miała być częścią większego projektu, ale de
Zbieranie części elektronicznych: 3 kroki
Zbieranie części elektronicznych: Czy kiedykolwiek potrzebowałeś części, ale nie miałeś pieniędzy, aby ją kupić? Po milionowym spotkaniu z tym problemem odkryłem to tanie szybkie rozwiązanie. Wiele osób ma elektronikę, której już nie używają, dlaczego nie przejść na ziel