Panel frontowy dekodera Cyfrowego Polsatu DSB-616 – inaczej.

4.7/5 - (3 votes)

Artykuł zawiera opis układu który stworzyłem.

moduł widok od góry

moduł widok od góry

Zdaje się jest taka pora, że wszyscy wyrzucają te fajne sprzęty, które mogą być niezłymi dawcami organów 😉 Szczególnie zważywszy na to co w środku siedzi, a nie trzeba daleko szukać bo panel frontowy dekodera DSB-616 jest bardzo specyficzny i wdzięczny.

moduł widok od dołu

moduł widok od dołu

Jak widać mamy do dyspozycji ATtiny2313-20SU – przecież to całkiem niezły kawałek sprzętu! W dodatku z wyświetlaczami i płytką testową ;-D Niestety wyświetlacze mają jedną niedoskonałość – pomimo widocznego punktu dziesiętnego (kropki) nie możemy wysterować tego segmentu, gdyż brak mu wyprowadzenia. Ich oznaczenie to LA4022-11S00 Q3. Spotkałem też moduły DSB-616 z wyświetlaczem oznaczonym symbolem GM2-4021AGB-11 te ponoć wystarczy sterować prądem 10mA. Z noty podobnego modelu wyczytałem, stricte do tych nie udało się znaleźć manuala. PCB modułu z dekodera Echostar posiada również cztery tranzystorki o oznaczeniu 1G (BC847C) – a wiem o tym z www.s-manuals.com. Krótki opis katalogu znajdziecie tutaj. Sam µC jest zabezpieczony diodą przed podłączeniem napięcia zasilania o odwrotnej polaryzacji.

schemat ideowy modułu wyświetlacza z dekodera Echostar DSP-616 wedłuk kaktusa - pominąłem rysowanie wyświetlacza ...

schemat ideowy modułu wyświetlacza z dekodera Echostar DSP-616 według kaktusa – pominąłem rysowanie wyświetlacza …

Grzebiąc kiedyś w znanym serwisie aukcyjnym 😉 a było to w trzeciej dekadzie września 2012 – (ale ten czas ucieka), trafiłem na µC ATtiny2313 przyczepiony do małego PCB w dodatku z wyświetlaczami siedmio-segmentowymi. Komplet ktoś oferował za kilka pln, więc się skusiłem.
Tym razem wyszło od końca. Najpierw miałem „płytkę testową” i trzeba było wymyślić jakiś projekt … Gdzieś koło tamtego czasu, zakupiłem też moduł HC-SR501, no więc zacząłem go poznawać z wykorzystaniem frontowego panela Echostara. Lecz jak dobrze pamiętam najpierw raczej zaczął powstawać termometr, i sterownik oświetlenia PWM, jakoś tak. Ćwiczyłem na tym module co się dało, bo to dobry moduł do testów jest. Z tych wszystkich testów zaczął powstawać sterownik do oświetlenia, z funkcją automatyczną bądź sterowaniem ręcznym, dodatkowo pokazujący bieżącą temperaturę.

Pierwsze testy i wersja modelowa układu:

Przy okazji odbył się test cyfrowego czujnika temperatury, polegający na jego przegrzaniu … Skubany pokazuje bardzo dużą temperaturę, oczywiście test był krótkotrwały, aby nie popsuć elementu. Urządzenie konwertowało o wiele wiele wyższą temperaturę niż 125°C, ile nie powiem ;-p …

Przez zabawę i chęć poznawania powstawać zaczęła ciekawa konstrukcja, gdzie poznawałem/szlifowałem obsługę pamięci EEPROM, hardware PWM, obsługę DS18B20, oraz zasadę multipleksowania i prezentacji danych na wyświetlaczu 7 segmentowym. Projekt okazał się dobrym wyzwaniem, przez stosunkowo niewielką pamięć na kod programu, oraz mnogość realizowanych funkcji, które chciałem zrealizować. Jedną z nich jest sterowanie układem tylko jednym przyciskiem, za pomocą którego, zmieniamy nastawy i uaktywniamy różne „zadania” dla µC. Tak więc zdobywałem też szlify w optymalizacji kodu … Pamiętam jak siedziałem przez tydzień czasu, nad działającym wtedy projektem, aby coś jeszcze upchnąć – znaczy dodać pewną zamierzoną funkcjonalność. Wtedy też wyleciało z kodu zapamiętywanie nastaw w EEPROM bo pochłaniało znaczną ilość pamięci na kod. W powstałe miejsce zaimplementowane zostały zamierzone funkcjonalności.

Na tamten czas układ realizował następujące funkcje:
– sterowanie załączaniem i wyłączaniem jednego kanału PWM przystosowanego do sterowania oświetlenia LED – w sposób płynny,
– płynna regulacja maksymalnej intensywności świecenia,
– załączenie może odbywać się automatycznie, za pośrednictwem wspomnianego modułu z czujką ruchu, oraz w sposób standardowy – załącznikiem, gdzie załączanie ręczne ma priorytet nad automatycznym,
– dodatkowa możliwość „wyłączenia” czujnika ruchu,
– oraz sprawa najistotniejsza dla mnie, będąc w polu działania czujnika – po upłynięciu zadanego czasu świecenia nie trzeba ćwiczyć pajacyka. Tak zachowują się komercyjne automaty oświetleniowe – „świecą” zadany czas i obojętnie czy się jest w polu działania czujki czy też nie, po jego upłynięciu odłączają oświetlenie – porażka. Moja konstrukcja tego nie uczyni – tak długo jak będziemy w polu działania czujnika ruchu światło pozostanie załączone. A w razie gdybyśmy zamarli na długi czas bez ruchu, to światło zacznie przygasać powoli, co będzie dla nas sygnałem na poruszenie się, celem anulowania rozkazu wyłączenia oświetlenia.
– dodatkowo na wyświetlaczu, w sposób ciągły, prezentowana jest aktualna temperatura otoczenia monitorowana cyfrowym czujnikiem temperatury DS18B20. Choć temperatura mierzona była w całym zakresie działania sensora problem stanowiło wyświetlanie temperatur w okolicach zera – z powodu braku sygnalizacji mrozu. Nie udało się upchnąć kodu z sygnalizacją mrozu przez dodanie znaku minus.

Na wyświetlaczu oprócz ciągłej prezentacji temperatury, sygnalizowane jest zadziałanie czujki ruchu przez wyświetlanie segmentu D na drugiej pozycji – poniżej znaku °. Podczas zmiany intensywności świecenia wyświetlana jest aktualna wartość nastawy. Przy załączaniu odpowiednich funkcji, wyświetlana jest ilość zliczonych kliknięć przyciskiem. Tak aby operator wiedział czy układ dobrze zinterpretował zadawaną funkcję. Do tego sterownika powstał moduł z zasilaniem oraz podzespołami wykonawczymi. Tak więc moduł frontowy w prawie niezmienionej formie dołączany jest swoim złączem do modułu dodatkowego i mamy ciekawy automat oświetleniowy ;-D Dochodzą tylko trzy połączenia od µC do wyprowadzeń stykowych, zrealizowane cieniutkim izolowanym drutem nawojowym, oraz istniejące złącze wyposażone jest w komplet styków. Ot cała magia.

moduł DSB-616 pracujący jako sterownik, w chwili obecnej prezentuje temperaturę otoczenia

moduł DSB-616 pracujący jako sterownik, w chwili obecnej prezentuje temperaturę otoczenia

Konstrukcję uważam za całkiem udaną i pracuje u mnie bezawaryjnie oświetlając stanowisko do majsterkowania i przy komputerze. Od tamtego czasu zapomniałem co to jest załącznik i wyłącznik światła …. Dodatkowo jestem zadowolony z faktu, iż często wychodząc z pokoju i przerywając swoje czynności, wołany przez rodzinę nie muszę myśleć o oświetleniu. Zdarzało się bowiem tak, iż miałem za „moment” wrócić i światła nie wyłączałem …. a wracałem po dłuuuuuugich „przerwach” ku uciesze Zakładu Energetycznego. W chwili obecnej sterownik sam pamięta za mnie, o wyłączaniu oświetlenia, i sam mi je załącza, gdy tylko zbliżę się do mojego kącika – BAJKA ;-D

Kod dodatkowo zoptymalizowałem i uporządkowałem, i został ukończony w trzeciej dekadzie stycznia 2014, co zaowocowało sygnalizacją temperatur ujemnych przez wyświetlanie znaku (minus) w miejscu segmentu A na pierwszej pozycji, kosztem małej litery c w symbolu °C. Oj kosztowało mnie to niemało wysiłku ;-p Teraźniejsza zajętość pamięci kodu wynosi 2048B. ;-D Chyba w niego jeszcze zaglądnę kiedyś.

widok modułów sterownika

widok modułów sterownika

 

kolejny widok modułów

kolejny widok modułów

Szczegółowy opis uzyskanej funkcjonalności sterownika:

Jednokanałowy sterownik oświetlenia LED PWM, z prezentacją temperatury otoczenia i funkcją sterowanie ręczne  / automatyczne, gdzie załączanie i wyłączanie światła realizowane jest płynnie.
Podczas „normalnej” pracy w trybie automatycznym sterownik monitoruje sygnały z czujnika ruchu HC-SR501, oraz wskazuje bieżącą temperaturę, odczytaną z cyfrowego sensora temperatury DS18B20. Po stwierdzeniu obecności, w polu widzenia czujki ruchu, układ płynnie rozjaśniając załącza źródło światła, na czas określony niestety w kodzie programu (bez możliwości zmiany przez użytkownika), który maksymalnie może osiągnąć 256 sekund (czyli 4 minuty i 16 sekund). Dla mnie optymalna nastawa wynosi około 3 minuty. W tym czasie jeśli układ ponownie stwierdzi obecność osoby – za każdym razem odliczanie rozpoczyna się na nowo … i nie zgasi nam niepotrzebnie światła, a gdybyśmy zamarli bez ruchu – już to opisałem wcześniej ;-p też nie będzie mrugania i ciemności. Wystarczy się trochę poruszyć a ściemnianie zostanie natychmiast zaprzestane. Tak jak to opisałem wcześniej działanie czujnika ruchu możemy dodatkowo monitorować na wyświetlaczu. Program realizowany przez µC został tak napisany, aby operator mógł monitorować na bieżąco zadawane funkcje do realizowania. Co znacznie ułatwia obsługę i czyni ją bajecznie prostą.
Mamy możliwość nastawienia maksymalnej jasności świecenia, dostosowując ją do tymczasowych swoich potrzeb. Dodatkowo jeśli chcemy można „odłączyć” czujkę ruchu. Układ wtedy nie będzie działał w trybie automatycznym, o tym fakcie informuje nas dodatkowy status LED2, którego akurat nie widać na poniższych fotkach.
Sterownik możemy „przełączyć” w tryb ręczny załączając oświetlenie przyciskiem. W takim przypadku, opcję tą sygnalizuje status LED1, dla jasności sytuacji. Światło tak długo będzie się świeciło, aż go nie wyłączymy przyciskiem.
Zakres prezentowanych temperatur jest ograniczony możliwościami cyfrowego czujnika i oprogramowany został w pełni, czyli od -55°C do +125°C. Dla przypomnienia sensor posiada dokładność ±0.5°C i kalibrowany jest w fazie produkcji. Prezentacja wskazań pomija część dziesiętną wyniku. W przypadku pomiaru temperatury większej niż 99 jedynka wiodąca jest pomijana – za mało wyświetlaczy. W przypadku pomiaru temperatur w zakresie mniejszych od 10 stopni i nie większego mrozu niż 10 stopni, nie wyświetlane jest zero wiodące. W przypadku pomiaru temperatur ujemnych fakt ten sygnalizowany jest wyświetlaniem znaku (minus) o czym pisałem już wcześniej.

Opis sterowania funkcjami:

pojedyncze kliknięcie, płynnie załącza lub wyłącza światło uaktywniając lub dezaktywując tryb ręczny (ON), aktywacja prezentowana przez status LED1,

sterownik z DSP-616 realizuje funkcje po jednym kliknięciu

sterownik z DSB-616 realizuje funkcje po jednym kliknięciu

podwójne kliknięcie uaktywnia lub dezaktywuje działanie czujnika ruchu, dezaktywacja prezentowana przez status LED2,

sterownik z DSB-616 realizuje funkcje po dwóch kliknięciach

sterownik z DSB-616 realizuje funkcje po dwóch kliknięciach

przytrzymanie przycisku, możliwość regulacji maksymalnej jasności świecenia, kolejne przytrzymania na przemian rozjaśnianie – przyciemnianie.

sterownik z DSB-616 realizuje funkcje zmianę jasności

sterownik z DSB-616 realizuje funkcje zmianę jasności

Moduł z dekodera Echostar, łączony jest oryginalnym złączem, z modułem wykonawczym opracowanym dodatkowo.

moduł z DSB-616 połączony z płytką wykonawczą

moduł z DSB-616 połączony z płytką wykonawczą

Elementem sterującym źródło światła LED jest tranzystor MOSFET ze starej płyty głównej komputera. Wszystkie elementy dodatkowe posiadają swoje złącza:
– zasilanie – gniazdo DC,
– źródło światła – złącze śrubowe ARK,
– przycisk – złącze crimp,
– sensor temperatury oraz moduł PIR – złącza crimp, zabezpieczające przed nieprawidłowym podłączeniem.
Dodatkowo przycisk odizolowany jest od µC transoptorem co jest nie bez znaczenia, w przypadku bardzo długich połączeń kablowych. Przycisk powinien być działania chwilowego, a jego obwód musi być odizolowany od obcych napięć i instalacji.
Cały układ ma być zasilany napięciem 12V DC i prądem odpowiednim dla zastosowanego źródła światła LED.

A.D. 2014-06-08 ponieważ miałem dużą potrzebę wyciszenia się aby nikogo nie przetrącić ;-D siadłem i zrobiłem rewizję kodu sterownika … Opłacało się gdyż od czasu do czasu wyświetlacz nieznacznie mrugnął – teraz już nie 😉

A.D. 2014-07-20 przy okazji dłubania przy DS18B20 ociupinkę poprawiłem obliczenia temperatury ujemnej i zoptymalizowałem kod z obsługą magistrali 1-Wire. Właściwie dzięki temu drugiemu zrobiło się miejsce i mogłem ulepszyć to pierwsze 😉 Skutkiem tych operacji zostało jeszcze 4 bajty wolnego miejsca ;-D

A.D. 2015-01-17 ponieważ z konstrukcji jestem bardzo zadowolony bo sprawdza się bezawaryjnie w praktyce i nie stwarza problemów, zdecydowałem się zrobić rewizję mojego PCB. 28 października 2014 projekt był gotowy tym razem przygotowałem wersję dwustronną, którą zleciłem do wykonania.   Około połowy listopada otrzymałem nowe płytki drukowane 😉

widok nowego PCB pierwsza stronawidok nowego PCB strona drugaProjekt wykonano z metalizacją otworów, i tak jak jest to widoczne z zieloną soldermaską i jednostronnym opisem. Wykonanie jak i sam laminat jest bardzo dobrej jakości! Zmontowana płytka prezentuje się następująco:

układ wykonawczy


Schemat w Eagle v6.x oryginału modułu wyświetlacza DSB-616-.sch_.zip (48 pobrań ) plik dostępny po zalogowaniu 😛
Nota katalogowa wyświetlacza 7-seg LA4022-11.pdf (5116 pobrań )

Opis podobnego modułu z innego modelu -> DSB-717+

Otagowano , , , .Dodaj do zakładek Link.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

17 + 14 =

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.