Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Kolejne wykorzystanie Echostara DSB-717

gimbus 17 Dec 2021 12:45 2445 1
  • Wpadł mi w ręce uszkodzony tuner TV-Sat Echostar DSB-717 i postanowiłem jakoś go wykorzystać. A właściwie nie cały, tylko płytkę z wyświetlaczami i mikrokontrolerem ATTiny2313.

    Układ mierzy temperaturę w 6 punktach z wykorzystaniem czujników Dallas DS18B20 przy rozdzielaczu co na podłogówkę i grzejniki.
    Mierzę temperatury:
    - zasilania i powrotu z podłogówki
    - zasilania i powrotu z grzejników
    - zewnętrzną i wewnętrzną w pomieszczeniu


    Dodatkowo spełnia role prostej automatyki:
    - załącza pompę obiegową podłogówki, kiedy różnica temperatur zasilania i powrotu jest większa od zadanego progu załączenia oraz wyłącza ją, gdy różnica spadnie poniżej
    zadanego progu wyłączenia (zawsze wkurzało mnie, że ta pompa chodzi 24h przez 7 dni w tygodniu pompując bezdurno wodę, która niczego nie grzeje)
    - załącza na żądanie pompę obiegową cw na wybrany czas - ta chodząca 24h pompa też mnie wkurzała, bo cw krążące w obiegu stygnie w pomieszczeniach rzadko używanych
    a więc słabiej grzanych i kocioł włącza się kilkanaście razy na dobę, aby ją podgrzać. Kiedyś dorobiłem wyłącznik, ale jak to zwykle bywa - o włączeniu to się pamięta, o wyłączeniu już jakby rzadziej.

    Schemat płytki wyświetlacza znalazłem na stronie www.grylewicz.pl - już ktoś kiedyś wpadł na podobny pomysł.
    Podobny temat to: https://www.elektroda.pl/rtvforum/topic1761227.html

    Z tej pierwszej strony pobrałem kod programu - wykorzystałem go jako punkt startowy i znacznie przerobiłem.
    Opis dotyczy co prawda płytki z tunera DSB-616, ale w 717 jest ona praktycznie identyczna, tylko przyciski, diody LED i odbiornik IR są na tej samej płytce, a nie oddzielnej.
    Przeróbka płytki - opisana na w/w stronie. Dodatkowo wylutowałem odbiornik IR i rezystory polaryzujące,
    zostawiłem tylko rezystor 4k7 podciągający do VCC - wykorzystałem go do podciągnięcia linii 1wire do plusa.
    Wylutowałem też kondensatory gaszące przyciski - w założeniu miały stanowić element filtrujący stan przycisku,
    ale w przyjętym sposobie sterowanie we/wy powodowały tylko problemy.
    Wlutowałem drugą diodę LED (w oryginale jest 1 dwukolorowa, dioda SIGNAL nie została wlutowana z oszczędności).
    Diody LED mają wspólne anody na VCC, katody są wyprowadzone na dłuższe złącze. Na to samo złącze wyprowadzone
    są przyciski - wspólna masa i oddzielne piny dla każdego. Schemat podłączenia przycisków i diod do pinów we/wy
    mikrokontrolera jest tak prosty, że nie warto go rysować:
    - na anodę diody podane VCC, katoda przez rezystor 3k3 podana na gorący koniec przycisku i pin we/wy
    mikrokontrolera, zimny koniec przycisku na GND.

    Taki sposób podłączenia jest trochę niebezpieczny - zabronione jest ustawienie pinu jako wyjścia w stanie 1,
    bo wtedy naciśnięcie przycisku zwiera plus do masy przez wyjście mikrokontrolera.
    Sterowanie diodą trzeba zrealizować inaczej:
    - na samym początku ustawić kierunek pinu jako wyjście
    - ustawić pin wyjściowy w stan 0 i zapomnieć o jakichkolwiek zmianach stanu
    - przestawić kierunek pinu w stan high-z czyli jako wejście.

    W tym stanie dioda jest zgaszona, można czytać stan przycisku. Przy zwolnionym wejście jest podciągnięte do VCC
    przez rezystor 3k3 i diodę led, naciśnięcie przycisku podaje 0 na pin mikrokontrolera i dodatkowo zapala diodę
    - to efekt uboczny.
    Aby zapalic diodę, trzeba ustawić kierunek pinu ponownie jako wyjście - ponieważ wyjście jest w stanie 0,
    dioda zapali się. W tym stanie naciśnięcie przycisku niczego nie zmienia i niczym nie grozi (zwieramy mase do masy).

    Funkcje:
    - pomiar i wyświetlanie temperatury z kontrolą crc
    - cykliczne lub ręczne przełączanie czujnika
    - wygaszanie ekranu po predefiniowanym czasie z możliwością wyłączenia
    - ustawianie czasu timera i załączanie pompy cyrkulacji cw z możliwością przerwania odliczania w dowolnym momencie
    - ustawianie progów zał i wył rożnicy temperatur do załączania pompy obiegowej podłogówki

    Załączanie cyrkulacji powinno być uproszczone do minimum - po naciśnięciu przycisku ON timer ustawia się na
    predefiniowany czas 20minut i przez kilkanaście sekund czeka na zmianę tego czasu. Kolejne naciśnięcia dodają
    10 minut do czasu timera, po przekroczeniu 90 minut timer ustawia się na 0 itd. Brak naciśięcia klawisza przez
    kilkanaście sekund uruchamia wyjście i odliczanie timera. Naciśniecie przycisku ON wyłacza wyjście i zeruje timer.



    Sterowane układy zasilane są z sieci energetycznej - do załączania wykorzystałem przekaźniki półprzewodnikowe. Całość w oryginalnej obudowie, zasilacz to typowy zasilacz impulsowy 5V.


    Szczegóły i co jeszcze - w załączonym kodzie programu - starałem się go obkomentować dość szczegółowo.
    Program kompilowany pod Eclipse z parametrem -Os (optymalizacja rozmiaru) zajmuje pełne 2048bajtów flasha,

    Niestety nie mogę zrobić fotek - telefon mi poległ :-(

    Dołączę jak kupię nowy lub naprawię ten.
    Pozdrawiam
    Kod programu w załączeniu

    echo717.7z Download (11.21 kB)

    EDIT:
    Załączam fotki, które w międzyczasie udało mi się zrobić:
    Kolejne wykorzystanie Echostara DSB-717 Kolejne wykorzystanie Echostara DSB-717 Kolejne wykorzystanie Echostara DSB-717

    Do podłączenia czujników użyłem gniazdek telefonicznych, wklejonych na epidian w obudowę. Przy pierwszym podejściu epidian wlał mi się do wnętrza gniazdkek i zablokował ruch sprężynowych styków, musiałem wkleić nowe.


    Kolejne wykorzystanie Echostara DSB-717 Kolejne wykorzystanie Echostara DSB-717
    Pierwsza fotka - ustawianie timera, druga - praca timera.

    Kolejne wykorzystanie Echostara DSB-717 Kolejne wykorzystanie Echostara DSB-717 Kolejne wykorzystanie Echostara DSB-717
    Na pierwszym wyświetlaczu pokazuję nr czujnika - biegający w kółko segment a, b, c, d, e, f.
    Na pierwszej fotce widać sygnalizację błędu crc wybranego czujnika, druga - normalne wskazanie termometru, trzecia - wskazanie temperatury > 100 stopni -
    wygaszona najstarsza cyfra, znak "=" na ostatnim wyświetlaczu oznacza przekroczenie 100 stopni, czyli sensor zmierzył 113 stopni.

    Jak to zwykle bywa, z "laboratorium" wszystko działało jak należy, po podłączeniu czujników na długich przewodach zaczęły pojawiać się błędy crc.
    Pomogło dodanie rezystora 15k równolegle z istniejącym 4k7 pomiędzy linię 1wire a VCC.
    Przy okazji wyszły błędy w programie - błąd crc na czujniku 0 lub 1 powodował niekontrolowane załączanie/wyłączanie wyjścia pompy cyrkulacji co.
    I drugi - ustawienie stałego wyświetlania temperatury z jednego czujnika blokowało automat załączania pompy.
    Program zmieniony, błędy poprawione, nowa wersja w załączniku.

    echo717_po...rawiony.7z Download (11.26 kB)

    Cool? Ranking DIY
    Can you write similar article? Send message to me and you will get SD card 64GB.
    About Author
    gimbus
    Level 12  
    Offline 
    gimbus wrote 38 posts with rating 127, helped 2 times. Live in city Poznań. Been with us since 2006 year.
  • #2
    SylwekK
    Level 31  
    Nie wiedzieć czemu te moduły mimo dość dobrego udokumentowania i łatwego oprogramiwania nie cieszą się na elektrodzie zbyt dużą popularnością, a zdobyć je stosunkowo łatwo :) Ciekawe dlaczego...