Sterowanie taśmą LED przez DMX

Sterowanie taśmą LED przez DMX
Pobierz PDF Download icon

Nowe mikrokontrolery cechują się coraz większymi zasobami i szybkością pracy. Dobrym przykładem jest STM32G030J6, który, co ważne w prezentowanym projekcie, zawiera stabilny generator zegarowy, który pozwalający na pracę interfejsu UART bez dodatkowego kwarcu. Nie bez znaczenia jest też kilkukrotnie większa pojemność pamięci FLASH i RAM. Te cechy pozwoliły na zbudowanie taniego interfejsu dla taśm LED sterowanego protokołem DMX.

Podstawowe parametry:
  • 8-bitowa regulacja poziomu intensywności świecenia,
  • maksymalny prąd wyjściowy ok. 4 A,
  • częstotliwość PWM: 3,9 kHz, rozdzielczość PWM: 12 bitów,
  • zasilany napięciem 12 V, pobór prądu bez obciążenia ok. 10 mA.

W urządzeniu zastosowano ciekawe rozwiązanie programowe. Generator PWM pracuje z 12-bitową rozdzielczością, ale wprowadzono korektę, podobną do korekty gamma, która ogranicza liczbę poziomów świecenia do wartości 8-bitowej. Dzięki temu regulacja i intensywność świecenia dołączonego źródła LED działają w sposób liniowy.

Budowa i działanie

Schemat układu nie jest skomplikowany, został pokazany na rysunku 1. Napięcie zasilające taśmę LED służy także do zasilania mikrokontrolera. Ze względu na mały pobór prądu przez mikrokontroler (około 10 mA) zdecydowano się na zastosowanie stabilizatora liniowego U1. Dioda D1 zabezpiecza stabilizator przed skutkami odwrotnego podłączenia zasilania. Dioda LED D2 sygnalizuje obecność napięcia zasilającego. Układ U2 konwertuje różnicowy sygnał DMX na poziomy wymagane przez mikrokontroler. Zworka JP1 pozwala włączyć terminator na linii DMX w sytuacji, gdy interfejs jest ostatnim urządzeniem na magistrali DMX.

Rysunek 1. Schemat elektryczny urządzenia

Dioda LED D3 sygnalizuje obecność sygnału DMX. Wyjście PWM zasila diodę LED D4 oraz przez bramkę T1. Prąd maksymalny tranzystora T1 wynosi 10 A, ale ze względu na warunki pracy nie należy przekraczać wartości 4 A. Przycisk S1 pozwala ustawić adres interfejsu.

Montaż i uruchomienie

Schemat płytki PCB został pokazany na rysunku 2. Montaż jest tradycyjny i nie wymaga szczegółowego opisu. Po podłączeniu zasilania należy zaprogramować mikrokontroler. Do tego celu wystarczy najtańszy programator ST-LINK, który można kupić za kilkadziesiąt złotych. Jest także dostępny na wszystkich płytkach NUCLEO i DISCOVERY produkowanych przez STMicoelectronics.

Rysunek 2. Schemat płytki PCB wraz z rozmieszczeniem elementów

Domyślnym adresem interfejsu jest 0. Należy zauważyć, że numeracja kanałów w programach konsol DMX może zaczynać się od zera lub jedynki. Jeśli zaczyna się od jeden, należy ten fakt uwzględnić przy ustawianiu adresu interfejsu. Adres można zmienić za pomocą przycisku S1. Aby to uczynić, na kanale 0 konsoli DMX czy w panelu programu komputerowego należy ustawić pożądany adres podzielony przez 2, po czym nacisnąć przycisk. Adres zostanie zapamiętany w pamięci FLASH. W ten sposób możliwe jest ustawienie tylko adresów parzystych. Jeśli zaistnieje konieczność ustawienia adresu nieparzystego, należy posłużyć się programatorem ST-LINK. Za jego pomocą odczytujemy pamięć mikrokontrolera.

Rysunek 3. Zawartość pamięci mikrokontrolera z zaznaczonymi istotnymi komórkami

Długie słowo o adresie 0x7800 zawiera adres DMX, na który reaguje interfejs. Na rysunku 3 jest to zaznaczone czerwoną elipsą (adres 0xA = 10). Po zaznaczeniu słowa, zmodyfikowaniu go i potwierdzeniu lawiszem ENTER nastąpi zapis pamięci. Wartość słowa pod adresem 0x7808 (niebieskie tło na rysunku 3) decyduje o zachowaniu interfejsu przy braku sygnału DMX. Domyślnie (wartość różna od 0 i 1) diody LED będą płynnie pulsować. Wartość zero spowoduje, że przy braku sygnału diody zostaną wyłączone, wartość jeden zapamięta ostatnią przesłaną wartość.

Podsumowanie

Na zakończenie warto obalić mit, że STM32 są trudne do programowania. Na przykład – ustawienie bloku PLL generatora kwarcowego wydaje się bardzo trudne, ale w wielu aplikacjach, jak choćby w tym projekcie, PLL nie trzeba ustawiać, bo układ pracuje na domyślnym taktowaniu 16 MHz. Natomiast jeśli zajdzie potrzeba ustawienia PLL, to CubeMX/CubeIDE sprowadza tę czynność do kilku kliknięć myszką. Drugim częstym zarzutem jest brak pamieci EEPROM. Przeważnie w roli nieulotnej pamięci danych można wykorzystać, tak jak w tym projekcie, pamięć FLASH. Czas zapisu/kasowania jest dziesiątki czy setki razy krótszy niż EEPROM, a do pełnej emulacji EEPROM, STMicroelectronics dostarcza stosowne biblioteki.

Sławek Skrzyński
sas@elportal.pl

Wykaz elementów:
Rezystory:
  • R2, R3, R6: 120 Ω SMD 1206
  • R1, R4, R5: 470 Ω SMD 1206
Kondensatory:
  • C1, C2: 10 μF SMD 1206
  • C3, C4: 100 nF SMD 1206
Półprzewodniki:
  • D1: SM4007
  • D2: dioda LED zielona SMD1206
  • D3: dioda LED żółta SMD1206
  • D4: dioda LED niebieska SMD1206
  • T1: AO4466
  • U1: SPX1117 SMD
  • U2: ST3485EBD SMD
  • U3: STM32G030J6M6 SMD
Inne:
  • J1, J3: szpilki typu TB-5.0-PP-2P + TB-5.0-PIN2
  • J2: złącze typu T821-1-06-S1
  • J4: złącze typu NS25-W3P
  • S1: mikroswitch
  • JP1, goldpin kątowy 1×2 + jumper
Artykuł ukazał się w
Elektronika Praktyczna
październik 2020
DO POBRANIA
Pobierz PDF Download icon

Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik marzec 2024

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio marzec - kwiecień 2024

Świat Radio

Magazyn krótkofalowców i amatorów CB

Automatyka, Podzespoły, Aplikacje marzec 2024

Automatyka, Podzespoły, Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna marzec 2024

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Elektronika dla Wszystkich kwiecień 2024

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów