Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Światełka choinkowe na WS2812B

ecoino 09 Gru 2016 23:02 12642 32
  • Światełka choinkowe na WS2812B W poniższej prezentacji chcę przedstawić mój sposób wykonania lampek na choinkę .
    Zależało mi na możliwości precyzyjnego sterowania światełkami więc wybór padł na WS2812B.
    Według założenia, zmontowanych zostało 8 odcinków o długości 200cm z ledami rozmieszczonymi co 20cm
    , na zdjęciu powyżej jeden taki odcinek nawinięty na arkuszu tektury.

    Docelowo wszystkie odcinki , razem 80 ledów, połączone zostaną w układzie gwiazdy o 8 ramionach . Punktem centralnym tego połączenia jest klon Arduino Nano jako sterownik , który będzie umieszczony na czubku choinki a odchodzące od niego ledy będzie można ułożyć dzieląc obwód choinki na 8 części .

    Niestety , każdy wybór ma swoje dobre i złe strony , tak jest i w tym przypadku .Moim zdaniem największą wadą tego rozwiązania jest dość "kierunkowe" świecenie ledów wykonanych w technologii SMT, aby uzyskać pełnię szczęścia i efektu wizualnego ,pewnie po zainstalowaniu całości na drzewku trzeba będzie każdego leda odwrócić tak aby wszystkie tworzyły jeden regularny ekran :).

    Ponieważ ledy są dość małe ,lutowanie wszystkiego na pająka pewnie by się skończyło gdzieś około Święta Trzech Króli :), postanowiłem wykonać minimum druku aby przyśpieszyć tę operację . W ten sposób powstał bardzo prosty projekt jednostronnej płytki, która została wykonana na maszynie - CNC w pracowni elektronika ( czeka na dokończenie opisu !) .
    Na arkuszu laminatu ok. A4 , wyfrezowano 300szt. małych płytek , trwało to w sumie ok 4-5 godzin. Projekt wykonany pod Q-cadem , bardzo prostym ale przydatnym narzędziem do szybkich prac .
    Światełka choinkowe na WS2812B Światełka choinkowe na WS2812B

    Na każdej płytce poza samym ledem jest montowany kondensator, zalecany przez producenta ledów, w obudowie 1206. Montaż całości odbywał się z wykorzystaniem pasty oraz pieca . Ponieważ płytka nie miała soldermaski było trochę poprawek ale i tak wyjątkowo mało jak na tę ilość połączeń.
    Do połączenia ledów wykorzystana została linka 3 żyłowa oddzielona z szerokiej taśmy kabla IDE.
    Światełka choinkowe na WS2812B Światełka choinkowe na WS2812B

    Montaż tej części oczywiście odbywał się ręcznie a jako dodatkowe zabezpieczenie wykorzystano koszulki termokurczliwe.
    Początkowo planowałem wykorzystanie tylko koszulki białej , później transparentnej ale jedna za bardzo tłumiła światło a druga była raczej lekko bursztynowa niż transparentna i też mi nie odpowiadała .
    Po polutowaniu wszystkich ledów w jednym odcinku , wykorzystując gorące powietrze zabezpieczyłem wszystkie ledy 22mm odcinkami koszulek w trzech kolorach - zielony, czerwony i niebieski .
    Światełka choinkowe na WS2812B Światełka choinkowe na WS2812B
    Dodatkowym zabiegiem jaki wykonałem podczas obkurczania koszulki było mocne spłaszczenie jej na końcach.
    Operację taką najlepiej wykonać pęsetą a konkretnie wprowadzając rozgrzaną końcówkę koszulki wraz z kablami między ramiona pęsety jednocześnie mocno dociskając przez kilka , kilkanaście sekund aż do wyraźnego stwardnienia koszulki. Jak widać na zdjęciach powyżej przez taką operację dość delikatny kabelek zyskuje dodatkową ochronę przez usztywnienie miejsca połączenia z płytką. Mam nadzieję , że pozwoli to na przetrwanie tej konstrukcji dłużej niż jeden sezon .
    Światełka choinkowe na WS2812B

    Ponieważ takie zabezpieczenie płytki zasłania również samą strukturę ledów należy pozbyć się tej części zabezpieczenia .
    Najprostszym rozwiązaniem wydaje się użycie nowego ostrza noża do tapet .
    Operacja nie jest skomplikowana , wymaga jednak precyzji i uwagi aby nie doszło do uszkodzenie leda bądź skaleczenia !!!
    Na zakończenie prezentacja działania jednego odcinka ledów z wykorzystaniem tego co znalazłem w zakładce "przykłady" zawartej w IDE Arduino.

    Link

    Jak tylko połączę wszystkie odcinki w gwiazdę i zawieszę na jakimś wieszaku ( choinki jeszcze nie mam !) postaram się dodać wideo .
    Pozdrawiam Światełka choinkowe na WS2812B

    Zmiany , zmiany , zmiany !
    Dziś przy okazji zakupu innych elementów trafiłem na koszulkę transparentną z klejem i myślę , że to jest koniec moich poszukiwań dobrego rozwiązania konstrukcji lampek choinkowych .
    Dodatkowo pozbyłem się poprzedniego kabelka teraz są to 3 pojedyncze żyły 0,12mm w izlolacji skręcone ze sobą . Skrętka jest bardziej okrągła od poprzedniego kabelka co moim zdaniem poprawia szczelność całego układu .
    Dobrałem trzy kolory , takie jakie miałem , ułatwiają później montaż ale teraz widzę , że lepsze będą same zielone , lepiej się maskują :) , płytki te same , chociaż na szerokości można by jeszcze z 1mm urwać .
    Światełka choinkowe na WS2812B
    Koszulka również długości 22mm , przy długości płytki z ledem - 13mm , musi być trochę zapasu na uszczelnienie .
    Światełka choinkowe na WS2812B
    Koszulka z klejem jest droższa , ok 0.12zł na jednego leda , ale efekt jest super ! Po obkurczeniu tworzy dużo sztywniejszą i grubszą warstwę wokół leda i chyba bez przesady daje to szczelność klasy IP65 :)
    Światełka choinkowe na WS2812B
    Same zalety : nie trzeba nic wycinać , kabelki są bardzo ściśle otoczone więc nie mam mowy o urwaniu się w miejscu lutowania.

    Światełka choinkowe na WS2812B
    no i największa korzyść - led , nawet odwrócony do spodu stroną struktury na czarnym tle ( foto akurat na białej kartce !) jest dobrze widoczny !!! Takie zabezpieczenie działa niczym światłowód .
    Światełka choinkowe na WS2812B Światełka choinkowe na WS2812B

    Na zakończenie nagranie z telefonu jak prezentuje się jedna linijka na żywo . No i czeka mnie trochę nieplanowanej pracy , muszę zdjąć 80 koszulek i założyć nowe z klejem , teraz kiedy widzę efekty nowego rozwiązania nie zostawię tego tak , bo mnie to zamęczy :)

    Link

    Link

    Fajne! Ranking DIY
    Darmowe szkolenie: Ethernet w przemyśle dziś i jutro. Zarejestruj się za darmo.
    O autorze
    ecoino
    Poziom 11  
    Offline 
    Specjalizuje się w: elektronika
    ecoino napisał 56 postów o ocenie 79, pomógł 0 razy. Jest z nami od 2014 roku.
  • #2
    oskar777

    Poziom 26  
    Bardzo ładny projekt, trochę za późno ale mogłeś wykorzystać cieńsze koszulki, to są te wersje z napisami na koszulce. Bardziej się kurczą i są mniej toporne.
  • #3
    piotr_go
    Konstruktor DIY elektronika
    ecoino napisał:
    Dodatkowym zabiegiem jaki wykonałem podczas obkurczania koszulki było mocne spłaszczenie jej na końcach.

    Ja zwykle daję trochę termogluta na końcach, wtedy się ładnie przy obkurczaniu uszczelnia i usztywnia.
  • #4
    slavo666
    Poziom 17  
    A jeśli chce się pewne, wodoszczelne i odporne na wygięcia mechaniczne połączenie - odrobina kleju Soudal Fix All do środka tak, aby wypłynął przy zgrzewaniu.
  • #5
    ecoino
    Poziom 11  
    slavo666 napisał:
    A jeśli chce się pewne, wodoszczelne i odporne na wygięcia mechaniczne połączenie - odrobina kleju Soudal Fix All do środka tak, aby wypłynął przy zgrzewaniu.


    - każdy ma swoje doświadczenia i dobrze się nimi dzielić, ale w tym ostatnim przypadku to tylko pod warunkiem, że klej będzie transparentny.
    Tak z ciekawości zajrzałem do oferty producenta i niestety dostępny kolor: biały, brązowy, czarny, szary - raczej odpada. Może biały, ale to jeszcze pytanie jak "głęboka' jest ta biel.
    Być może zatopienie płaskiego leda w takim kleju trochę by poprawiło jego widoczność z innego kąta niż tylko na wprost, ale to kwestia eksperymentu i tu chyba wygra termoglut.
    Zostało jeszcze trochę płytek z ledami i pewnie powstanie wersja do stosowania zewnętrznego, a opcja z termoglutem to właściwie IP65 :) !
  • #6
    slavo666
    Poziom 17  
    Przy takim wykonaniu, jakie przedstawiłeś, kolor kleju nie ma znaczenia. Te diody nie świecą przecież na boki. Spokojnie możesz wyciąć okienko i ten klej zetrzeć papierem po zgrzaniu, on potrzebuje 24h do związania.
    W każdym razie, gluta nie polecam jeśli to ma przetrwać kilka zim. Wystarczy parę kropel izopropylu i glut odchodzi od powierzchni, na którą został naniesiony. Podobnie z elastycznością połączenia. Glut w zimie będzie twardniał i miał tendencję do odklejania się przy wyginaniu, co może spowodować dostanie się wody pod płytkę. Klej będzie cały czas elastyczny jak guma.
  • #7
    Tomekddd
    Poziom 23  
    O ile dobrze widzę na filmie to zasilasz ledy z arduino i USB, radzę to przerobić bo ubijesz go szybko ;)

    Reszta całkiem ok, ja bym dodał jeszcze coś na same diody żeby ładnie światło rozpraszało.
  • #8
    Sławek 61
    Poziom 18  
    Dodam kilka słów odnośnie kleju soudal w ofercie jest klej transparentny soudal fix all crystal, bardzo dobry klej używam go do łączenia wielu różnych materiałów. Wadą jego jest tylko cena.
  • #10
    ecoino
    Poziom 11  
    slavo666 napisał:
    Przy takim wykonaniu, jakie przedstawiłeś, kolor kleju nie ma znaczenia. Te diody nie świecą przecież na boki. Spokojnie możesz wyciąć okienko i ten klej zetrzeć papierem po zgrzaniu, on potrzebuje 24h do związania.


    Ok , ale czy wycięcie okienka nie będzie "oknem na świat" dla reszty kleju :).
    W czasie podgrzewania koszulka mocno się obkurcza to i pewnie klej jest pod lekkim ciśnieniem .
    Sprawdzałeś czy temperatura jaka jest potrzebna do obkurczenia koszulki nie przeszkodzi w prawidłowym utwardzeniu kleju ?

    Tomekddd napisał:

    O ile dobrze widzę na filmie to zasilasz ledy z arduino i USB, radzę to przerobić bo ubijesz go szybko ;)

    - dzięki za ostrzeżenie , docelowo całość będzie zasilana z osobnego zasilacza APV-16-5 (5V, 2,6A), kupiłem razem z ledami - powinno wystarczyć !

    kataniak1994 napisał:

    Moglbys wstawic wsad ?


    - w opisie wspomniałem , do prezentacji użyłem tego co jest ogólnie dostępne w IDE Arduino , można eksperymentować i dostosować animacje do własnego gustu :).
    Nie jestem specjalistą od programowania ale myślę , że sobie poradzę .
    Z oglądanych w sieci prezentacji dużo jest takich z taśmami po kilkadziesiąt ledów w jednym ciągu , sterowanych z jednego portu .
    Taka konstrukcja jest trudna do ułożenia na choince , dlatego postanowiłem podzielić taśmę na odcinki i każdy odcinek sterować z innego portu.
    Moim zdaniem takie podejście do tematu ( sprawdzałem tylko na 3 portach i działa , mam nadzieję że na 8 też będzie :) ) pozwoli na łatwiejsze tworzenie animacji ponieważ rozkład ledów jest regularny i łatwy do opanowania . Chyba , że się mylę :)
  • #11
    mati_323
    Poziom 10  
    Nie jestem w temacie sterowania ledami bo się na tym nie znam, ale tam są 3 żyły - +/-/sygnał. Wszystko jest połączone szeregowo i można sterować każdą diodą z osobna na "1 kanale" ?
  • #12
    goldi74
    Poziom 43  
    Dokładnie tak, diody są połączone szeregowo i każda z nich może być sterowana niezależnie.
  • #13
    landy13
    Poziom 29  
    mati_323 napisał:
    tam są 3 żyły - +/-/sygnał. Wszystko jest połączone szeregowo i można sterować każdą diodą z osobna na "1 kanale" ?
    Nie całkiem. Zasilanie oczywiście równolegle.
  • #14
    mati_323
    Poziom 10  
    A jak rozwiązane jest zasilanie ? Bo jak szeregowo to napięcie się chyba zwiększa :P
  • #15
    ecoino
    Poziom 11  
    Potwierdzam tylko to co napisał kolega goldi74 .
    Dorzucę jeszcze , że przy cenie mniej niż 0,90zł powyżej 10szt., obecnie nie ma chyba lepszej alternatywy dla takiego leda , z takimi możliwościami .
    Można oczywiście wykorzystać układy kontrolerów: WS2818-S , WS2811-D , WS2801 , tu możemy podłączyć własne ledy .
    Różnica polega na tym , że cena kontrolera jest podobna do kompletnej diody WS2812B , wybór rozwiązania to kwestia potrzeb i możliwości .
  • #16
    goldi74
    Poziom 43  
    Zasilanie oczywiście równolegle. Szeregowo prowadzony jest sygnał sterujący, jak poniżej na obrazku:

    Światełka choinkowe na WS2812B
  • #17
    Tremolo
    Poziom 43  
    Może iść dalej :) po bateryjce Litowej i komunikacja radiowa każda lampka na klipsiku? Potem każda choinka by świeciła tak samo. Tylko jakieś adresowanie i metodyka jest coś takiego w wersji bardzo miniaturowej? Ukłądy na 2,4GHz były małe, ale nie pamietam jak małe były aplikacje i jak to wyglądało cenowo... Projekt super.
  • #18
    Justyniunia
    Poziom 33  
    Projekt super. Również polecam kleje SOUDAL osobiście pracuję często na 40FC.
    Od dawna łażą mi po głowie te LED, tylko dalej się zastanawiam, skąd np. piąta dioda wie, że procesor akurat tylko do niej przemawia?
  • #19
    goldi74
    Poziom 43  
    Bo działa to tak: procesor wysyła sygnał w postaci ciągu ramek. Pierwsza dioda zabiera sobie pierwszą odebraną ramkę a pozostałe wypuszcza na swoim wyjściu. Kolejna dioda znowu zabiera sobie pierwszą odebraną ramkę a pozostałe wypuszcza na wyjściu. W ten sposób dioda nie wie jaki ma numer w szeregu bo zawsze reaguje tylko na pierwszą odebraną ramkę, pozostałe wędrują dalej przez cały szereg, przy czym za każdą diodą tych ramek jest coraz mniej. Zaletą tego rozwiązania jest to, że diody nie mają żadnych przypisanych na stałe adresów i wszystkie są identyczne a mimo to można jest sterować niezależnie. Numer diody (adres) jest określony jedynie jej położeniem w szeregu.
  • #20
    mati_323
    Poziom 10  
    Goldi74 dzięki bardzo za wyjaśnienie. Na przyszły rok robię coś takiego ! :D
    Do autora: jaki jest koszt takich płytek ?
    Można za pomocą arduino używając 1 kanału sterować np 100 ledami ?
    Bo mi się widzi sterowanie na odległość :D
  • #21
    ecoino
    Poziom 11  
    mati_323 napisał:
    Goldi74 dzięki bardzo za wyjaśnienie. Na przyszły rok robię coś takiego ! :D
    Do autora: jaki jest koszt takich płytek ?
    Można za pomocą arduino używając 1 kanału sterować np 100 ledami ?
    Bo mi się widzi sterowanie na odległość :D


    - jeśli wykonasz coś takiego metodą termotransferu a na 100% można to zrobić to ceną będzie koszt laminatu + Twoja praca . Trzeba pamiętać o pozostawieniu odpowiedniego marginesu na cięcie . Moje płytki są na 1.5mm laminacie ale nic się nie stanie jeśli to będzie dużo cieńszy a łatwiej będzie wyciąć takie małe płytki . Mój druk był frezowany i każda płytka była ofrezowana z pozostawieniem mostków do utrzymania tych maleństw w formatce . Do tego dolicz ledy , to już zależy ile kupujesz ale na pewno poniżej 0,7zł przy większej ilości + kondensator np. 100nf w obudowie 1206 , 0805 lub nawet 0603. Użyłem 1206 ponieważ i tak gabaryty pcb narzuca wielkość leda a użycie mniejszego elementu tylko utrudnia montaż .
    Jak wspomniałem nie jestem specjalistą od programowania ale myślę że 100 ledów na jednym kanale nie powinno stanowić problemu.
    Weź jednak pod uwagę , że będziesz wtedy musiał użyć odpowiednio grubszych przewodów do zasilania całości . Moja konstrukcja jest podzielona na 8 oddzielnych linii po 10 ledów ,więc mogę użyć delikatniejszych przewodów do zasilania. To wszystko oczywiście zależy jeszcze od tego na jakiej długości masz zamiar umieścić te 100 ledów tak czy inaczej przewód nie może być zbyt cienki, inaczej będzie świecił mocniej niż ledy :)

    W tym miejscu mała propozycja - mam do oddania 10szt. układu WS2811-D (DIL-8) .
    Jeśli znajdzie się chętny do eksperymentowania ze sterowaniem ledów "zewnętrznych", chętnie je oddam pod warunkiem , że obdarowany podzieli się publicznie swoimi osiągnięciami :)
  • #22
    michalko12
    Specjalista - Mikrokontrolery
    Lepszy efekt byłby, gdyby diody były po obu stronach PCB ze zrównoleglonym DIN i zasilaniem. DOUT wyprowadzony tylko z jednej diody.
  • #23
    jacik
    Poziom 12  
    Jak masz to na choince to chętnie podeśle swoją wersje programu żeby zobaczyć jak wygląda efekt;)
    Ja sobie zrobiłem na płaskiej choince w formie lampki ale tylko 15 ledek ale mogę łatwo zwiększyć ilość ;)
  • #24
    ecoino
    Poziom 11  
    michalko12 napisał:
    Lepszy efekt byłby, gdyby diody były po obu stronach PCB ze zrównoleglonym DIN i zasilaniem. DOUT wyprowadzony tylko z jednej diody.


    - oczywiście ale koszt całości x2 , mała uwaga - skoro już diody po obu stronach to po co łączyć DIN - w ten sposób tracimy możliwość uzyskania dodatkowego efektu niezależnego sterowania diodami a Twoja propozycja połączenia DIN wyklucza taką możliwość .
    Myślę , że obecne wykonanie , z koszulką transparentną z klejem jest pewnym kompromisem między kosztami a możliwościami .
    Tak naprawdę mając możliwość sterowania każdym ledem oddzielnie, ilość możliwych kombinacji i tworzenia efektów i tak przekracza zakres pamięci procesora :) !

    jacik napisał:
    Jak masz to na choince to chętnie podeśle swoją wersje programu żeby zobaczyć jak wygląda efekt;)
    Ja sobie zrobiłem na płaskiej choince w formie lampki ale tylko 15 ledek ale mogę łatwo zwiększyć ilość ;)

    - oczywiście, chętnie skorzystam z propozycji , właśnie kończę wymianę koszulek i pewnie do końca tygodnia całość będzie gotowa .
    Może by nie tracić czasu przygotuj ciekawą prezentację , całość będzie sterowana z Arduino Nano z portów A0-A7 , na każym porcie po 10 ledów :)
  • #25
    Mat_91
    Poziom 25  
    ecoino napisał:
    że przy cenie mniej niż 0,90zł powyżej 10szt


    Prawie 1zł przy 10szt to kiepska oferta :) na banggood mają po 56zł/300szt więc po ~0.2zł/szt

    mati_323 napisał:
    Można za pomocą arduino używając 1 kanału sterować np 100 ledami ?


    Można, a bo dla czego nie?
    Tutaj np masz link do wersji sterowanej z pic32@40MHz, 10 kanałów po 1000 ledów. LINK
    Szczegóły w opisie filmu :)
  • #27
    zember80
    Poziom 2  
    Projekt ciekawy i kosztujący autora trochę pracy.
    Natomiast gdyby komuś się nie chciało montować samodzielnie ledów i koszulek, polecam gotowe węże choinkowe ws2811 dostępne na Allegro lub u chińczyków.
  • #28
    ecoino
    Poziom 11  
    Jak wspomniałem wcześniej nie jestem specjalistą od programowania - powinienem być bardziej skromny :).
    W czym problem ?
    Ponieważ płytka Arduino Nano ma oznaczenia A0-A7 byłem pewien że mam do dyspozycji 8 portów , sprawdziłem pierwsze 3 i działało !
    Zmontowałem 8 ramion , podłączam po kolei działa włącznie do A5 !
    Porty A6 (ADC6) i A7 (ADC7) odmawiają współpracy !
    Pytanie do Was , czy można coś z tym zrobić ? Nie mam wiedzy czy można tak skonfigurować te lub inne porty tego procesora (Atmeg328P) aby pracowały jak PC0-PC6 , czy trzeba użyć innego procesora ?
  • #29
    landy13
    Poziom 29  
    Piny ADC6 i ADC7 występują tylko w obudowach 32-nóżkowych i nie można z nich zrobić zwykłego wyjścia. Tylko ADC.
    PC6 z kolei jest pinem Reset. Po ustawieniu go jako zwykłe wyjście (fusebit RESETDISABLE) stracisz możliwość programowania przez ISP. Ale nie wiem czy w Arduino jest to istotne.
  • #30
    azbest22
    Poziom 8  
    reset istotny bo jak wysypie się bootloader a to się zdarza to już go nie przywrócisz przez ISP.