Kupiłem kilka z nich i udało mi się uruchomić je z OpenBeken:
Trochę informacji:
- Link do sklepu internetowego
- Karta katalogowa
- Kod produktu: 3208075
- Moduł CBLC5 z BK7231N
- Sterownik LED (U2) to SM2185N
- Napięcie 3 V3 dla modułu CBLC5 jest dostarczane przez przetwornicę buck BP2571.
Ten post zawiera naprawdę dobry opis demontażu tego urządzenia: https://www.elektroda.com/news/news3948374.html
Aby usunąć metalowy gwint, po prostu wkręciłem żarówkę w gniazdo i delikatnie wypchnąłem żarówkę z gniazda.
Aby go zaprogramować, konieczne jest przynajmniej przylutowanie przewodów do padów UART TX i RX modułu CBLC5. Aby dostać się do pinów, czasami konieczne jest usunięcie białego kleju. Poniższe zdjęcie pokazuje pady T1 i R1 (przepraszam za bałagan, to było już po ponownym rozlutowaniu przewodów). Jest też pad resetu, ale nie trzeba go podłączać jeśli używa się odpowiedniego narzędzia do programowania.
Jeśli masz zaciski, nie jest konieczne lutowanie przewodów do zasilania urządzenia. Znalazłem następujące dwa miejsca, które są łatwe do zaciśnięcia i są podłączone bezpośrednio do GND i VCC modułu CBLC5.
Oto pinout modułu CBLC5, który znalazłem w Internecie:
Początkowo nie udało mi się uruchomić programowania. Okazuje się, że urządzenie naprawdę potrzebuje odpowiedniego napięcia. Często zasilanie 3.3V adapterów USB - UART nie dostarcza wystarczającej ilości prądu. Ale nawet gdy użyłem oddzielnego LDO do zapewnienia zasilania, programowanie nie powiodło się, ponieważ miałem zbyt wiele przewodów i połączeń między LDO a modułem CBLC5, powodując zbyt duży spadek napięcia.
Do zaprogramowania firmware użyłem tego narzędzia: https://github.com/tuya-cloudcutter/bk7231tools Nie wymaga ono podłączenia linii reset (wcześniej używałem hid_download_py, ale ono wymaga linii reset).
Edycja: Należy pamiętać, że wymagana jest wersja 1.18.245 lub nowsza.
Gdy OpenBeken jest uruchomiony, następujące kroki były konieczne, aby światło działało:
1. Konfiguracja modułu:
- Ustawić P24 (PWM4) na SM2235DAT,
- Ustawić P26 (PWM5) na SM2235CLK.
2. Konfiguracja Ogólne/Flagi: Wybierz Flaga 4 - [LED] Wymuś pokazanie kontrolera RGBCW (na przykład dla diod LED SM2135 lub dla nadajnika DGR),
3. Uruchom ponownie urządzenie.
4. Wykonaj to polecenie, aby zamienić kanały Chłodny i Ciepły, Czerwony i Niebieski.
5. Wykonaj polecenie, aby skonfigurować prawidłową prędkość zegara I2C (domyślnie jest zbyt szybki)
6. Wykonaj to polecenie, aby ustawić prawidłowe prądy (8 mA dla diod RGB, 15 mA dla białych zimnych i ciepłych). Domyślne ustawienia są zbyt wysokie, myślę, że to naprawdę skróci żywotność żarówki LED, jeśli tego nie ustawisz.
OSTRZEŻENIE: Komenda SM2235_Map jest trwała, mapowanie jest przechowywane w konfiguracji w pamięci flash. Polecenie SM2235_Current NIE jest przechowywane w konfiguracji, dlatego konieczne jest dodanie go jako polecenia startowego.
Kolejne ostrzeżenie: Nie używaj flagi 12 ([LED] Zapamiętaj stan sterownika LED (RGBCW, enable, jasność, temperatura) po restarcie). Stan sterownika LED jest przywracany _Przed_ wykonaniem poleceń startowych, więc diody LED będą działać ze zbyt dużym prądem po ponownym uruchomieniu. Zostało to naprawione w wersji 1.18.245, bieżące ustawienia są stosowane natychmiast po wykonaniu polecenia.
To działało dobrze dla pierwszej żarówki, którą zaprogramowałem. Jednak pozostałe dwie zachowywały się dziwnie. Początkowo LED działał poprawnie, ale po pewnym czasie ustawienie koloru powodowało białe światło lub odwrotnie. Nawet wyłączenie światła częściej kończyło się niepowodzeniem (po prostu zmieniało się na losowy kolor lub jasność).
Ponieważ początkowo nie wiedziałem o potrzebie skonfigurowania prawidłowego prądu za pomocą SM2235_Current (i nie zrobiłem kopii zapasowej), kupiłem inny i podłączyłem zakres, aby dowiedzieć się, jakie ustawienia prądu stosuje oryginalny firmware (pierwsze dwa bajty to 11011000 00010010). Zauważyłem również, że magistrala I2C działa z częstotliwością około 50 kHz. Nie mierzyłem zegara I2C w OpenBeken, ale zauważyłem, że oprogramowanie układowe prawdopodobnie używa zegara 400 lub 500 kHz. Arkusz danych SM2185N określa, że powinienem pracować z 1000 kHz, ale obniżenie częstotliwości taktowania i tak rozwiązało problem.
Stworzyłem pull request, aby częstotliwość zegara I2C była konfigurowalna za pomocą komendy: https://github.com/openshwprojects/OpenBK7231T_App/pull/1928
Edycja: zmiana została scalona, możliwe jest skonfigurowanie zegara I2C, który nie ma problemów z tą komendą:
Oto zdjęcie układu scalonego kontrolera LED
Kolejne posty, które mi pomogły: https://www.elektroda.com/rtvforum/topic4014350.html
Trochę informacji:
- Link do sklepu internetowego
- Karta katalogowa
- Kod produktu: 3208075
- Moduł CBLC5 z BK7231N
- Sterownik LED (U2) to SM2185N
- Napięcie 3 V3 dla modułu CBLC5 jest dostarczane przez przetwornicę buck BP2571.
Ten post zawiera naprawdę dobry opis demontażu tego urządzenia: https://www.elektroda.com/news/news3948374.html
Aby usunąć metalowy gwint, po prostu wkręciłem żarówkę w gniazdo i delikatnie wypchnąłem żarówkę z gniazda.
Aby go zaprogramować, konieczne jest przynajmniej przylutowanie przewodów do padów UART TX i RX modułu CBLC5. Aby dostać się do pinów, czasami konieczne jest usunięcie białego kleju. Poniższe zdjęcie pokazuje pady T1 i R1 (przepraszam za bałagan, to było już po ponownym rozlutowaniu przewodów). Jest też pad resetu, ale nie trzeba go podłączać jeśli używa się odpowiedniego narzędzia do programowania.
Jeśli masz zaciski, nie jest konieczne lutowanie przewodów do zasilania urządzenia. Znalazłem następujące dwa miejsca, które są łatwe do zaciśnięcia i są podłączone bezpośrednio do GND i VCC modułu CBLC5.
Oto pinout modułu CBLC5, który znalazłem w Internecie:
Początkowo nie udało mi się uruchomić programowania. Okazuje się, że urządzenie naprawdę potrzebuje odpowiedniego napięcia. Często zasilanie 3.3V adapterów USB - UART nie dostarcza wystarczającej ilości prądu. Ale nawet gdy użyłem oddzielnego LDO do zapewnienia zasilania, programowanie nie powiodło się, ponieważ miałem zbyt wiele przewodów i połączeń między LDO a modułem CBLC5, powodując zbyt duży spadek napięcia.
Do zaprogramowania firmware użyłem tego narzędzia: https://github.com/tuya-cloudcutter/bk7231tools Nie wymaga ono podłączenia linii reset (wcześniej używałem hid_download_py, ale ono wymaga linii reset).
Kod: Bash
Edycja: Należy pamiętać, że wymagana jest wersja 1.18.245 lub nowsza.
Gdy OpenBeken jest uruchomiony, następujące kroki były konieczne, aby światło działało:
1. Konfiguracja modułu:
- Ustawić P24 (PWM4) na SM2235DAT,
- Ustawić P26 (PWM5) na SM2235CLK.
2. Konfiguracja Ogólne/Flagi: Wybierz Flaga 4 - [LED] Wymuś pokazanie kontrolera RGBCW (na przykład dla diod LED SM2135 lub dla nadajnika DGR),
3. Uruchom ponownie urządzenie.
4. Wykonaj to polecenie, aby zamienić kanały Chłodny i Ciepły, Czerwony i Niebieski.
Kod: Text
5. Wykonaj polecenie, aby skonfigurować prawidłową prędkość zegara I2C (domyślnie jest zbyt szybki)
Kod: Text
6. Wykonaj to polecenie, aby ustawić prawidłowe prądy (8 mA dla diod RGB, 15 mA dla białych zimnych i ciepłych). Domyślne ustawienia są zbyt wysokie, myślę, że to naprawdę skróci żywotność żarówki LED, jeśli tego nie ustawisz.
Kod: Text
OSTRZEŻENIE: Komenda SM2235_Map jest trwała, mapowanie jest przechowywane w konfiguracji w pamięci flash. Polecenie SM2235_Current NIE jest przechowywane w konfiguracji, dlatego konieczne jest dodanie go jako polecenia startowego.
Ponieważ początkowo nie wiedziałem o potrzebie skonfigurowania prawidłowego prądu za pomocą SM2235_Current (i nie zrobiłem kopii zapasowej), kupiłem inny i podłączyłem zakres, aby dowiedzieć się, jakie ustawienia prądu stosuje oryginalny firmware (pierwsze dwa bajty to 11011000 00010010). Zauważyłem również, że magistrala I2C działa z częstotliwością około 50 kHz. Nie mierzyłem zegara I2C w OpenBeken, ale zauważyłem, że oprogramowanie układowe prawdopodobnie używa zegara 400 lub 500 kHz. Arkusz danych SM2185N określa, że powinienem pracować z 1000 kHz, ale obniżenie częstotliwości taktowania i tak rozwiązało problem.
Stworzyłem pull request, aby częstotliwość zegara I2C była konfigurowalna za pomocą komendy: https://github.com/openshwprojects/OpenBK7231T_App/pull/1928
Edycja: zmiana została scalona, możliwe jest skonfigurowanie zegara I2C, który nie ma problemów z tą komendą:
Kod: Text
Kod: JSON
Oto zdjęcie układu scalonego kontrolera LED
Kolejne posty, które mi pomogły: https://www.elektroda.com/rtvforum/topic4014350.html
Fajne? Ranking DIY