Ostatnio wpadł mi do głowy pomysł na sterowanie oświetleniem LED za pomocą sterownika PLC. Chodzi mi głównie o RGB led i związane z tym zmiana kolorów, ściemnianie i rozjaśnianie, oraz przypisanie wybranych ustawień do scen świetlnych, a później ich aktywacja jednym kliknięciem.
Już od dłuższego czasu myślę jak się za to zabrać. Pierwsze co mi przyszło do głowy, to profesjonalne podejście czyli za pomocą kontrolerów DMX512 czy DALI. Jednak koszt takiego rozwiązania jest jak dla mnie nie do przyjęcia. Po pierwsze trzeba zastosować przy sterowniku moduł mastera, a po drugie przy każdym kawałku taśmy LED, która miałaby być indywidualnie sterowana, sterownik DMX lub DALI – zgodnie z dokonanym wyborem. Koszt takiego sterownika to ok. 200 zł, natomiast moduł mastera to lekko 1500 zł. Takie rozwiązanie nie jest na moją kieszeń, szczególnie, że budowa w toku i kupka z pieniędzmi maleje w zastraszającym tempie.
A teraz mój pomysł: sterować ledami za pomocą wyjść cyfrowych PLC. Pierwsze co wypróbowałem, to sterowanie PWM – niestety, mimo, że biblioteka OSCAT posiada nawet odpowiedni klocek, to sam moduł wyjść dwustanowych może przełączać z maksymalną częstotliwością 2kHz. Praktyka pokazała, że to zdecydowanie za mało, żeby sterować jasnością. Przy okresie 100 Hz, moduł się wyłączał przy wypełnieniu sygnału 5% (100/0,05 = 2000). Biorąc pod uwagę nieliniowość świecenia diody, prawie nie przygasała, a i tak 100 Hz jest zdecydowanie za wolne, bo widać migotanie, szczególnie przy niższym wypełnieniu.
W związku z tymi ograniczeniami sprzętowymi, pomyślałem, żeby zastosować sterownik własnej konstrukcji oparty o jakiś mikrokontroler. Działać ma to tak:
Sterownik PLC wysyła do zmajstrowanego sterownika sygnał z możliwą dla niego częstotliwością, powiedzmy że to będzie przedział od 10 Hz do 100 Hz. Nie musi być to sygnał PWM, a po prostu zwykła zmiana stanu. Mikrokontroler odczyta tą częstotliwość i przerobi na sygnał PWM wysokiej częstotliwości, z ilością wypełnienia proporcjonalną do odebranej częstotliwości wysyłanej przez PLC. Niech to będzie np. 10 Hz – 0% wypełnienia, 100 Hz – 100 % wypełnienia. Wyjście z mikrokontrolera trzeba by podłączyć do bazy tranzystora, a ten podawałby już napięcie na LEDa.
Tym sposobem do wysterowania taśmy LED RGB potrzebne były by trzy wyjścia cyfrowe w PLC i zmajstrowany sterowniczek składający się z mikrokontrolera i trzech tranzystorów
.
Jak myślicie, ma to szanse powodzenia? Ja całą swoją wiedzę o mikrokontrolerach gromadzę od ok. dwóch tygodni, więc nie ma co gadać – jestem w tym zielony, choć z drugiej strony zaprogramować go tak, żeby zamigał diodą już umiem, a i wysyłanie sygnału PWM nie jest szczególnie trudne do zaprogramowania.
Na razie jestem entuzjastycznie nastawiony, ale proszę o wasze komentarze.