Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Ambilight arduino nano WS2812B migają

Grzechu61 28 Jan 2022 21:11 303 11
IGE-XAO
  • #1
    Grzechu61
    Level 3  
    Witam, uznałem że zrobię ambilight do monitora z projektu
    https://www.youtube.com/watch?v=nzDnr76fZCc

    Ledy mam 60/m, podłączone mam 110 led według schematu z poradnika
    Ambilight arduino nano WS2812B migają

    Program z poradnika
    Code: c
    Log in, to see the code


    No i tu pojawił się problem, po konfiguracji niby zaczęło działać, lecz losowe ledy zaczęły migać na losowe kolory, nawet przy małej jasności. Użyłem ładowarki(zasilacza) 5v 6A i po przeczytaniu paru tematów z migającymi WS2812B podłączyłem razystor pod linie danych oraz równolegle trzy kondensatory 330 uF (nie miałem jednego większego) do lini zasilania led, nie dało to żadnego efektu.
    Uciąłem pierwszego leda, migał cały czas myślałem że się uszkodził przed podłączeniem rezystora, też nic to nie zmieniło (teraz ten drugi tak miga).
    Więc zamieniłem zasilacz na przerobiony zasilacz ATX, który ma 5v 17A i po zmianie ledy sporo rzadziej migały lecz nadal ten efekt był.

    Teraz pytanie, wydaje mi się że jest to wina zasilania, lecz te ledy na ATX nie pobierały więcej niż 2A a na poprzednim zasilaczu który ma 6A częściej migały.
    Do you have a problem with Arduino? Ask question. Visit our forum Arduino.
  • IGE-XAO
  • #2
    2konrafal1993
    Level 36  
    Dodaj w różnych miejscach kondensatory 100uf + ceramik 100n tak aby po całej długości taśmy miały w kilku punktach kondesator, do tego z końca i początku taśmy połącz + i - aby taśmy były zasilane z obu stron. Nie przesadzaj z kondesatorami moim zdaniem wystaczy dać w dwóch punktach czyli na początku taśmy i w połowie. To powinno wyeliminować migotanie, wszystko lutuj, tylko takie połączenie da 100% pewności i odporność na zakłócenia.
  • #3
    Grzechu61
    Level 3  
    Podłączyłem kondensatory w dwóch miejscach (nie mam po środku łączenia), nic się nie zmieniło.
    Dla pewności to te kondensatory między + a - miały być?
    Zdjęcie przed dodaniem kondensatorów Ambilight arduino nano WS2812B migają

    Wszystkie łączenia są lutowane i sprawdzone multimertrem czy nie ma zwarć, od początku były podłączone z dwóch stron do zasilania. Generalnie przeleciało mi przez myśl że może zbyt duża ilość łączeń to powoduje ale raczej nie.

    Arduino też raczej nie jest winne bo po podłączeniu pod Leonardo (oryginał) nie było różnicy.
  • IGE-XAO
  • #4
    2konrafal1993
    Level 36  
    Tak między plus a minus. W takim razie twój zasilacz może sypać zakłóceniami lub coś źle robisz. Możesz dać porzadną filtrację na wejściu taśmy w postaci dużego kondensatora np. 2200uf lub trochę więcej, wszystkie kable skróć do minimum bo może kabel sygnałowy jest zbyt długi i coś zbiera. U mnie pomagały kondensatory.

    Gdzieś kiedyś wyczytałem że powinno się podłączać zasilanie od końca taśmy, na początku taśmy ma być tylko sygnał sterujący, nie sprawdzałem tego ale może tak jest lepiej i możesz to sam sprawdzić.
  • #5
    ex-or
    Level 27  
    "goto waitloop"?!! Naprawdę?! :roll:
    Ja bym na początek wywoływał FastLED.show(); z zablokowanymi przerwaniami. Na zdrowy rozum powinna to robić sama biblioteka ale...
  • #6
    Grzechu61
    Level 3  
    Wymieniłem kondensatory na wejściu na jeden 2200uF, akurat taki miałem, skróciłem przewody jeszcze bardziej (teraz mają max 10 cm) i różnicy żadnej.
    Odłączyłęm zasilanie na początku i zostawiłe te na końcu, też nie dało to żadnego efektu (na początku led spadek był prawie 2V), więc wróciłem do zasilania z obu stron.
    Podłączyłem pakiet lipo przez UBEC 5V 3A i chyba żadziej to migało plus pierwsza dioda normalnie świeciła (na poprzednich zasilaczach pierwsza dioda non stop zmieniała kolory)

    Zastanawia mnie czemu jest taka różnica między zasilaczem komputerowym a zasilaczem impulsowym, mimo tego że obydwa mają wystarczającą wydajność a i tak do tej pory ledy pobierały max 2A.
    Na komputerowym przy konfiguracji białego tylko pierwsza dioda migała a na impulsowym praktycznie wszystkie zmieniały kolory (wiem że przy białym wszystkie świecą na max więc jest największy pobór prądu).

    Skończyły mi się pomysły co to może być, no chyba że wbudowany w monitor zasilacz może powodować zakłócenia ?


    Edit:
    Podłączyłem oddzielnie pozostały pasek led (miałem 4m) i na pierwszym zasilaczu (tym który dawał najgorszy efekt) wszystko działa idealnie bez migania. To teraz pytanie czy monitor daje takie zakłócenia czy może to być wina tych lutowań?

    Dodano po 10 [godziny] 38 [minuty]:

    Po testach doszedłem do tego że jest to raczej wina zamontowanych ledów i pytanie czy mogły się one tak uszkodzić (wszystkie bo niezależnie gdzie podepnę sygnał i zasilanie to i tak jest to samo) że potrafią losowo migać?



    Zasilanie jak i arduino na 99% sprawne, bo działa normalnie z innym paskiem.
  • Helpful post
    #7
    emarcus
    Level 38  
    Grzechu61 wrote:
    ..............


    Skończyły mi się pomysły co to może być, no chyba że wbudowany w monitor zasilacz może powodować zakłócenia ?
    [

    Ten objaw watpliwości możesz łatwo sprawdzić!
    Wyłącz monitor...

    Przedstawione wcześniej foto nie jest dostatecznie wyraźne. Zbyt mała rozdzielczość aby doszukać istotne szczegóły.
    Zwróc uwagę na budowę paska WS2812. Masz tam powtarzające się segmenty. Każdy segment zaczyna się od potrójnego złącza; (miejsce ewentualnego cięcia), następnie masz oznaczenie kontaktów, dalej masz trójkąt lub strzałka przed pixlem. Ten trójkąt lub strzałka wskazuje kierunek przepływu 'Data' programu.

    Próby lokalnego powiększenia lub poprawy rozdzielczości tego foto nie dają jednoznacznej diagnostyki.
    Mimo tego, wyglada że linia z Data (D) jest błędnie podłączona. Powinna być podłączona przez rezystor 300-400 ohmów do kontaktu pixla #1, czyli początku łańcucha; ten pin przed strzałką/trójkąem.
    Kontakt za ostatnim pixlem pozostaw nie podłączony.
    Linie zasilania złącz początek i koniec łańcucha zachowując poprawną polaryzację.
    Możesz dodatkowo doprowadzić zasilanie gdzieś w połowie łańcucha, co nie jest krytyczne liczenie z dokłanością do pixla...

    e marcus
  • #8
    Grzechu61
    Level 3  
    emarcus wrote:
    Ten objaw watpliwości możesz łatwo sprawdzić!
    Wyłącz monitor...

    I tak zrobiłem i nie dało to nic (odłączyłem całkowicie zasilanie od monitora)

    Połączenie jest dobre w tym linia Data podłączona przez dwa rezystory 220 Ohm szeregowo, zasilanie także podłączone na początku i na końcu (próbowałem dać też po środku ale nic to nie zmienia).
    Ambilight arduino nano WS2812B migają
    Na samym początku faktycznie nie zauważyłem że jest tam kierunek lini Data i podłączyłem źle (pierwszy raz mam WS2812B)

    Najdziwniejsze jest to że jak podłączam inny kawałek(2m) z tej samej rolki tylko nie pocięty to nawet przy podłączeniu zasilania z jednej strony wszystko działa tak jak powinno, lecz gdy podłącze go przez którykolwiek kawałek podłączony za monitorem to zaczyna migać.

    Także raczej odrzuciłbym wine zasilania jak i sygnału z arduino.
  • Helpful post
    #9
    2konrafal1993
    Level 36  
    Polutowałeś ale wygląda to nie ładnie, myślę że dałeś za mało kalafonii lub nie było jej wcale, luty powinny się błyszczeć i być gładkie.
    Lutuj w ten sposób:
    1. Dajesz trochę kalafonni na taśmę i mikro kropelkę cyny, cyna powinna się ładnie rozlać i wchłonąć w taśmę, całe pole lutownicze powinno być ocynowane.
    2. Kable maczasz w kalafonii i dajesz trochę cyny, kabel zwilży się cyną w moment i jeśli będą problemy z tym to wyrzuć kabel bo jest to szajs a nie miedź.
    3. Przykładasz kabel do pola na taśmie i pogrzewasz, jeśli robią się gluty to daj troszkę kalafonii i lut pięknie się rozpłynie.

    Tak przylutowany kabel daje 100% pewnego styku, gdy nie używa się kalafonii to cyna chwyta byle jak i taki lut ma słabe właściwości elektryczne i mechaniczne. Jeśli cała taśma pracuje prawidłowo to tu należy sprawdzić połączenia lutowane i zrobić je zgodnie ze sztuką.
  • #10
    Grzechu61
    Level 3  
    Poprawie wszystkie i zobaczę, fakt faktem że nie dawałem kalafonii ale akurat te połączenie wygląda słabo, bo te akurat pare razy już lutowałem dla testów.
  • #11
    2konrafal1993
    Level 36  
    Kalafonia usuwa tlenki z miedzi i ogólnie poprawia warunki lutowania, dobre luty wymagają kalafonii. Można też użyć innych topników np. W żelu ale do takich prac nie ma to znaczenia i kalafonia sprawdza się bardzo dobrze. Jest tania ale skuteczna.
  • #12
    Grzechu61
    Level 3  
    Po przelutowaniu wszystkiego z kalafonią troche mniej migało, lecz zauważyłem że jak odłączam arduino to ledy przestają migać.
    Więc podłączyłem plus z zasilacza też do arduino i przestało migać !
    Tylko chciałbym wiedzieć dlaczego podłączając cały pasek było git a podłączając pasek z lutowaniami musiałem dodatkowo zasilić arduino (normalnie podłączone pod USB 3.0)

    Ale ważne że działa, może ktoś też miał lub będzie miał ten problem.
    Dziękuje też za pomoc 2konrafal1993 oraz emarcus, już nie raz was tu widziałem i mi pomogliście.