Skocz do zawartości

Brak reakcji diod RGB WS2812B


korzenbdg

Pomocna odpowiedź

Cześć

Zrobiłem wszystko według tego kursu i totalnie nic mi nie działa. Żadnej reakcji. Zainspirowałem się pewnym projektem termometru analogowego na diodach programowalnych i postanowiłem wykonać swój tyle że na diodach WS2812b bo miałem ich sporo. Najpierw żeby potestować to chciałem na Nucleo sprawdzić i totalnie zero reakcji, nawet bufor podmieniałem (do projektu kupiłem smd) i nadal nic. Już drugi dzień nad tym siedzę, a niestety oscyloskopu w domu nie mam. Ani na płytce stykowej nie działa, ani w docelowym projekcie. 

Ktoś dałby jakieś wskazówki?

Link do komentarza
Share on other sites

@korzenbdg witam na forum 🙂 Pytanie wydzieliłem do osobnego tematu, ponieważ jeśli dobrze rozumiem nie posiadasz zestawu do tego kursu i korzystasz z jakiegoś innego sprzętu. Czy tak jest? Jakie dokładnie Nucleo posiadasz? Czy masz pewność, że posiadane przez Ciebie diody są sprawne? Testowałeś je np. z Arduino?

Pytanie zostało wydzielone z tego tematu: https://forbot.pl/forum/topic/20299-kurs-stm32l4---15---diody-rgb-ws2812b-liczniki-quiz/

 

Link do komentarza
Share on other sites

STM32 ma logikę 3.3V. Jak masz szczęście i Twoja dioda jest w dolnym przedziale binu napięciowego to będzie Ci działać. Jak jest w górnej to Ci nie będzie działać.

To co możesz zrobić najprościej to sterować nią poprzez tranzystora OC z napięcia 5V z pull-upem, jeśli to Twój problem.

Link do komentarza
Share on other sites

(edytowany)

@Treker Dzień dobry 🙂

Chaotycznie może to opisałem - oczywiście posiadam zestaw, ale też robię osobny projekt. Korzystając z zestawu i składając wszystko tak jak w kursie nic mi właśnie nie działa. Próbowałem bufor wymieniać i na pająka lutowałem i podłączałem do płytki stykowej i też nie działa. Żadna dioda się nie włącza po wykonaniu wszystkiego krok po kroku jak jest w kursie i zachodzę w głowę co może być nie tak. 5 buforów już wykorzystałem, diody RGB działają, bo na Arduino sprawdziłem, płytkę mojego projektu programuję przy pomocy Nucleo ściągając zworki i też nie działa, ale jestem pewien, że programator jak i cała płytka Nucleo działają.

nucleo.thumb.jpg.4fb00dcd5a979b3984272a089bc5d712.jpg

Użyłem buforu dołączonego do zestawu, jak i tego który zakupiłem do swojego projektu.

pcb.thumb.jpg.cddfd7f3a4fab63ad4975af9a7f371bd.jpg

W projekcie użyłem STM32G030K8T6 16MHz, ale w liczniku ustawiłem Counter Period na 19, więc jak dobrze rozumiem 16MHz dzielone jest przez 20 i również wychodzi 800kHz czyli 1,25us. 

Ani tu, ani tu diody się nie świecą. PCB się programuje, ponieważ czujnik wypluwa na terminal temperaturę, więc PCB na pewno się programuje przez Nucleo.

Edytowano przez korzenbdg
dodanie zdjęć.
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Z częstotliwością 800kHz nadawany jest 1 bit, natomiast zauważ, że ten jeden bit ma swój timing. Dla "1" 60% czasu jest stan wysoki 30% jest niski, a dla niskiego 30% czasu to stan wysoki, 60% to czas niski (oczywiście w przybliżeniu). Zatem, żeby wyrobić się z timingiem musisz sobie podzielić ten bit na 3 albo 4 części czyli dla "1" nadajesz 110 ( lub 1110) a dla "0" 100 (lub 1000). Żeby wyrobić się z tymi bitami w czasie musisz 800kHz pomnożyć przez 3 albo 4 i to będzie Twój zegar. Weź też pod uwagę, że instrukcję trochę trwają (w ESP32-S2 z tego co pamiętam to zmiana stanu 1 na 0 lub 0 na 1 korzystając z instrukcji digitalWrite trwała 450ns), więc może trzeba też będzie wziąć to pod uwagę.

Nie wiem jak to implementujesz, bo nie pokazałeś kodu, ale to jest jedna z metod jak to można zrobić.

Link do komentarza
Share on other sites

(edytowany)

Generalnie kwestie mojego projektu na razie odłóżmy na bok, na samym początku chciałbym żeby zadziałało mi to co jest w kursie. Będzie to jakaś baza wyjściowa do dalszej pracy.

Edytowano przez korzenbdg
Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.