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.

MyRoom - czyli moja wersja "inteligentnego" pokoju.

kleszcz10 02 Sep 2013 23:34 29805 55
Optex
  • MyRoom - czyli moja wersja "inteligentnego" pokoju.

    Witam chciałbym przedstawić moją wersję sterownika inteligentnego pokoju.

    Sterownik miał spełniać kilka podstawowych funkcji:

    1. Sterowanie silnika krokowego, poruszającego roletą okienną.
    2. Sterowanie światłem w pokoju, zarówno z pilota jak i z włącznika ściennego.
    3. Wyświetlanie godziny oraz daty.
    4. Wyświetlanie temperatury wewnątrz pokoju oraz na dworze.
    5. Posiadać funkcje budzika oraz harmonogramu dziennego pracy rolety.
    6. Całość miała być sterowana wyłącznie przy pomocy pilota IR.

    Układ zbudowany jest na mikrokontrolerze ATmega 32 taktowanym wewnętrznym zegarem 2Mhz. Za wyświetlanie daty i godziny odpowiedzialny jest układ PCF8563, natomiast do pomiaru temperatury wykorzystane są czujniki ds18b20. Cały program zajmuje 16KB pamięci.

    Menu urządzenia składa się z 4 części:
    MyRoom - czyli moja wersja "inteligentnego" pokoju.

    1. Ustawienia godziny
    MyRoom - czyli moja wersja "inteligentnego" pokoju.

    2. Ustawienia daty
    MyRoom - czyli moja wersja "inteligentnego" pokoju.

    3. Ustawienia alarmu ( budzika )
    MyRoom - czyli moja wersja "inteligentnego" pokoju.

    4. Ustawienia rolety, które zostały podzielone na dwie części:
    MyRoom - czyli moja wersja "inteligentnego" pokoju.

    a) Ustawienia harmonogramu, ustawia się w nim godzinę otwarcia oraz zamknięcia rolety.
    MyRoom - czyli moja wersja "inteligentnego" pokoju.

    b) Kalibracja rolety, ustawia się w nim 3 położenia rolety oraz dokonuje kalibracji. Przedstawione liczby wskazują ilość kroków wykonanych przez silnik krokowy.
    MyRoom - czyli moja wersja "inteligentnego" pokoju.

    Do poruszania roletą został wykorzystany silnik krokowy wraz z przekładnią, odzyskany ze starej drukarki.
    MyRoom - czyli moja wersja "inteligentnego" pokoju.

    Całość sterowana jest przy pomocy pilota IR nadającego w kodzie RC-6
    MyRoom - czyli moja wersja "inteligentnego" pokoju.

    Sterowanie roletą odbywa się poprzez wybranie któregoś przycisku z zakresu od 1 do 3, oraz przy pomocy strzałek pozwalających na ręczne sterowanie roletą. Aby zapalić któreś ze świateł należy nacisnąć przycisk czerwony lub zielony.

    Umieszczam również filmik przedstawiający działanie całego układu.

    Cool? Ranking DIY
    [28-30.06.2022, targi] PowerUP EXPO 2022 - zasilanie w elektronice. Zarejestruj się za darmo
    About Author
    kleszcz10
    Level 11  
    Offline 
    Has specialization in: informatyka
    kleszcz10 wrote 56 posts with rating 125, helped 0 times. Live in city Warszawa. Been with us since 2008 year.
  • Optex
  • #3
    trippo1
    Level 12  
    Jaki silnik został wykorzystany do sterowania roletą?? Np. typ, model lub z jakiego urządzenia został wyciągnięty?
  • #4
    Snikers
    Level 24  
    Ostatnio bardzo mocno nadużywa się słowa "inteligentne". Jakie algorytmy zastosowałeś w projekcie bo wygląda to na moduł zdalnego sterowania z kilkoma automatycznymi funkcjami.
  • #5
    filokolo1
    Level 17  
    Witam, bardzo ciekawy projekt. Co to za obudowa? Jakie koszty wykonania? Ja też ostatnio się zastanawiałem nad zautomatyzowania rolet i świateł. Czy kolega da program? Jak jest zamocowany silnik ?
  • #6
    paavo91
    Level 19  
    A ja chciałem spytać jak ten LCD tak ładnie wkomponowałeś w obudowę? Może nie jestem zorientowany czy są jakieś obudowy pod konkretne LCD np. 2x16? Bo wycinanie tego samemu to strata czasu i do tego efekty nie zawsze są ok.
  • #7
    Patrycjusz93
    Level 12  
    Przyłączam się do pytania co to za obudowa?

    No i czemu ten pulpit główny ma tak krzywo wyświetlane dane. Jakoś mnie to razi, jakby mało estetyczne.

    Jak głośno pracuje silnik?
  • Optex
  • #8
    pier
    Level 23  
    Również uważam że bardzo estetyczne jest zrobione to urządzenie i chciałbym poznać symbol tej obudowy.
    Zamieścił Byś zdjęcia środka, bardzo mnie ciekawi jak to wygląda od zewnątrz.
    Jakiego drivera Użyłeś do silnika krokowego?
  • #9
    SylwekK
    Level 32  
    Fajny i miły dla oka projekt. Nie myślałeś żeby przy sterowaniu oświetleniem zrobić regulację jego natężenia. Pchając się w taką amtegę aż się prosi o rozbudowane funkcje świecące :) Aha, nie chcę żebyś myślał, że się czepiam - to się też tyczy wielu prezentowanych w tym dziale konstrukcji, ale po co tracić pamięć w procku na ustawianie sekund?? Czy nie wystarczy, że w momencie zatwierdzenia ustawień zegara sekundy były by wyzerowane?
    No i faktycznie jak ktoś tu wspomniał ułożenie danych na głównym ekranie wydaje się jakieś takie nieco chaotyczne :)
  • #10
    djfarad02
    Level 19  
    Nie rozumiem jednej rzeczy i dotyczy to właściwie wszystkich konstrukcji na elektrodzie wykorzystujących wyświetlacze LCD. Wyświetlacz posiada pole odczytowe oraz metalową ramkę, której nie powinno być widać. Tymczasem praktycznie wszyscy wycinają otwór wielkości ramki. Tutaj autor sporządził szybkę, która bez wątpienia powinna być, ale dlaczego znowu jest ona wielkości ramki wyświetlacza?

    Proponowałbym np tak:
    MyRoom - czyli moja wersja "inteligentnego" pokoju. MyRoom - czyli moja wersja "inteligentnego" pokoju. MyRoom - czyli moja wersja "inteligentnego" pokoju.
  • #11
    SylwekK
    Level 32  
    djfarad02 wrote:
    Nie rozumiem jednej rzeczy i dotyczy to właściwie wszystkich konstrukcji na elektrodzie wykorzystujących wyświetlacze LCD...

    Eeeetam wszystkich :) Poniżej prosty przykład jak można to w miarę estetycznie rozwiązać wykorzystując wydruk na folii samoprzylepnej.

    MyRoom - czyli moja wersja "inteligentnego" pokoju.
  • #12
    snnaap
    Level 25  
    Jeżeli mówimy o estetyce no to w tym projekcie jest już na jakimś poziomie przynajmniej nie zwisają metry kabla.
    Przydała by się obudowa na mechanizm rolety.

    Aby zrobić ten pokój jeszcze bardziej inteligentnym proponuje sterować kaloryferem, zamiast głowicy termostatycznej założyć głowicę sterowaną elektrycznie i sterujesz temperaturą w pokoju. Obniżanie temperatury w nocy itp.

    Pozdrawiam
  • #13
    kleszcz10
    Level 11  
    george2002 wrote:
    trzy pytania: w czym napisany program i dla czego dosyć wolny zegar wewnętrzny Atmegi - 2Mhz, może spokojnie na 8Mhz, trzecie - czy silnik chodzi cicho

    1. Program został napisany w języku C
    2. Przy wyższym taktowaniu był problem z dobraniem opóźnień czasowych wykorzystywanych przy obsłudze termometrów oraz odbiornika IR. Jestem przekonany że da się to zrobić na dużo wyższych częstotliwościach chociaż mnie się nie udało.
    3. Pracuje na tyle cicho że podczas unoszenia rolety o 5:00 rano dźwięk silnika w żaden sposób mnie nie budzi :) .

    Leszcz72 wrote:
    Hmm, wspomniane było o sterowaniu oświetleniem.
    Coś więcej?


    Do sterowania oświetleniem wykorzystane zostały przekaźniki bistabilne które wyzwalane są za pomocą włącznika ściennego lub przy pomocy sterownika. Na płytce sterownika znajdują się 2 przekaźniki 12/230V oraz driver ULN2003 które służą załączeniu wcześniej wspomnianych przekaźników bistabilnych.

    trippo1 wrote:
    Jaki silnik został wykorzystany do sterowania roletą??


    Do sterowania roletą wykorzystany został silnik pm42l wraz z przekładnią która była zamontowana w drukarce, nie pamiętam dokładnie jaki model. Silnik sterowany jest przy pomocy drivera SLA7024 który również znajdował się w drukarce.

    filokolo1 wrote:
    Co to za obudowa? Jakie koszty wykonania? Ja też ostatnio się zastanawiałem nad zautomatyzowania rolet i świateł. Czy kolega da program? Jak jest zamocowany silnik ?


    Co do obudowy jest to podwójna puszka natynkowa marki Legrand wraz z panelem. Dokładnego symbolu tej obudowy nie znam. Koszt budowy samego układu wyniósł ok. 200 zł. Nie udostępnię programu oraz schematu płytki, jednak w razie pytań służę pomocą. Silnik wraz z przekładnią zamocowany jest do kawałka kątownika, Roleta przymocowana jest osiowo do większego koła przekładni.

    Co do ułożeń danych na ekranie głównym miały być one wyśrodkowane jednak nie do końca to wyszło, efekt mnie w pełni satysfakcjonuje.

    snnaap wrote:
    Aby zrobić ten pokój jeszcze bardziej inteligentnym proponuje sterować kaloryferem...


    Takie rozwiązanie jest zastosowane chociaż służy do tego zupełnie inny sterownik który był prezentowany wcześniej na tym forum.
  • #14
    User removed account
    User removed account  
  • #16
    kokosoft
    Level 15  
    Nie rozumiem parcia kolegów na jak największa częstotliwość taktowania procesora. Jeśli 2Mhz wystarczają, to szkoda prądu na taktowanie 16Mhz.
  • #17
    User removed account
    User removed account  
  • #18
    excray
    Level 40  
    juzek555 wrote:
    szkoda ci 50 mA?, To prawie tyle co zwykła LED większej mocy, zauważ, że w programie mogą być zawarte inne procedury które kręcą się znacznie szybciej....

    Skoro sterownik działa tak jak powinien to słusznie kolega zauważył że nie ma sensu ustawiać większego taktowania. Raz że większe zużycie dwa że mniejsza stabilność. Ekologia i pragmatyzm się kłania.
  • #19
    kleszcz10
    Level 11  
    juzek555 wrote:
    Ja taktuję 16Mhz i wszystko hula jak trzeba.
    Zastanawia mnie tylko jedna sprawa: Skoro pokusiłeś się o M32, to nie mogłeś zrobić automatycznej korekcji natężenia oświetlenia w pokoju ?
    Ustawiasz wartość i dajesz w auto. (jak jest za widno rolety przysłonią na odpowiedniej wysokości. Jak jest za ciemno, rolety idą do samej góry, a program tak steruje oświetleniem w pokoju, by zapewnić odpowiednią jego ilość.)
    Osobiście z resztek pamięci pokusił bym się o sterowanie elektrozaworu, od kaloryfera, oraz jako bajer obsługę zegara NIXIE...

    Tak przy okazji ile zużyłeś pamięci? (nie licząc obsługi wyświetlacza. Mówimy o istotnych sprawach. )


    Tak jak już wcześniej napisałem zdaję sobie sprawę z tego że układ mógłby pracować z większą częstotliwością jednak mnie się to nie udało. Prawdopodobnie posiadam kiepski zbiór bibliotek które nie dają takich możliwości.

    Też rozważałem opcje pomiaru światła w pomieszczeniu i dobierania automatycznie poziomu rolety. Jednak zrezygnowałem z tego z braku umiejętności obsługi przetwornika A/C do którego miałby być podłączony czujnik światła.

    kleszcz10 wrote:
    Cały program zajmuje 16KB pamięci.


    Nie wiem dokładnie ile pamięci zajmuję każda funkcja w sterowniku.

    Pisałem już wcześniej że mam już urządzenie odpowiedzialne za kontrolę temperatury w każdym pokoju oraz sterowanie piecem i kaloryferami :)

    Co do komunikatów głosowych, uważam że to fajny bajer ale przy większym projekcie np. gdyby sterowanie obejmowało obszar całego mieszkania i dotyczyło większej ilości funkcji. Przy tak małej skali jak sterowanie jednym pokojem, taka funkcja mogła by denerwować.
  • #20
    barti879
    Level 18  
    W jaki sposób zrealizowane jest "zatrzymywanie" rolet? Jakiś czujnik przeciążeniowy czy krańcowy?
  • #21
    kleszcz10
    Level 11  
    barti879 wrote:
    W jaki sposób zrealizowane jest "zatrzymywanie" rolet? Jakiś czujnik przeciążeniowy czy krańcowy?


    Przy otwieraniu i zamykaniu rolety, procesor zlicza kroki wysłane do silnika. Dzięki temu jestem wstanie dość precyzyjnie określić położenie rolety. Więc gdy silnik po wykonaniu odpowiedniej ilości kroków po prostu zatrzymuje się.
  • #22
    scal12
    Level 19  
    juzek555 wrote:
    Skoro bawimy się w mocniejsze sterowniki, to można by zrealizować inteligentny system zarządzania mikroklimatem, oświetleniem, power panel w standardzie, monitoring, rozbudowana obsługa AGD, wyświetlacze z iphone na każdym kroku, oraz 2 oszczędne komputery pokładowe rezerwujące się wzajemnie... (na podglądzie z PC powinno być widoczne wszystko, wraz z parametrami wszystkich urządzeń. Czyli cała rozbudowana sieć zbierająca informację, począwszy od zwykłej ładowarki do tel. komórkowego)

    Oczywiście można zbudować wszystko tylko jakie koszty i wiedza jest do tego potrzebna. Sterowniki które tu są opisane to zwykłe prace amatorskie, a nie urządzenia produkowane profesjonalnie i na szeroką skalę.
    Co do komend głosowych to doskonała opcja i udogodnienie dla osób niepełnosprawnych.
  • #23
    Prezes19-94
    Level 10  
    kleszcz10 wrote:
    barti879 wrote:
    W jaki sposób zrealizowane jest "zatrzymywanie" rolet? Jakiś czujnik przeciążeniowy czy krańcowy?


    Przy otwieraniu i zamykaniu rolety, procesor zlicza kroki wysłane do silnika. Dzięki temu jestem wstanie dość precyzyjnie określić położenie rolety. Więc gdy silnik po wykonaniu odpowiedniej ilości kroków po prostu zatrzymuje się.


    A co w momencie gdy rolety zostaną w połowie okna i zostanie na chwile wyłączony prąd? Czy po prostu jest to zapisywane w eeprom-ie?
  • #24
    kleszcz10
    Level 11  
    Prezes19-94 wrote:
    A co w momencie gdy rolety zostaną w połowie okna i zostanie na chwile wyłączony prąd? Czy po prostu jest to zapisywane w eeprom-ie?


    No niestety w przypadku zaniku napięcia roleta staje a wszystkie ustawienia w sterowniku się resetują. Na szczęście zdarza się to niezwykle rzadko i przywrócenie nastaw ręcznie nie stanowi żadnego problemu :)
  • #25
    treker
    Level 25  
    Wykorzystałeś istniejącą instalację w ścianach, czy specjalnie remontowałeś, aby wszystko ukryć? Wygląda bardzo dobrze :)

    Rozumiem, że straciłeś możliwość ręcznej kontroli rolety? Planujesz jakieś zapasowe źródło zasilania, które chociaż pozwoliłoby podnieść roletę podczas braku prądu lub jakieś awarii?
  • #26
    User removed account
    User removed account  
  • #27
    kleszcz10
    Level 11  
    treker wrote:
    Wykorzystałeś istniejącą instalację w ścianach, czy specjalnie remontowałeś, aby wszystko ukryć? Wygląda bardzo dobrze

    Rozumiem, że straciłeś możliwość ręcznej kontroli rolety? Planujesz jakieś zapasowe źródło zasilania, które chociaż pozwoliłoby podnieść roletę podczas braku prądu lub jakieś awarii?


    Została wykorzystana istniejąca instalacja elektryczna a całość okablowania została schowana w ekranie na którym znajduje się sterownik. Ekran ten został zbudowany wcześniej przy okazji remontu i znajdują się w nim rury od centralnego ogrzewania, na przewody jest jeszcze sporo miejsca. Co do ręcznej kontroli w przypadku braku zasilania, zawsze pozostaje opcja pociągnięcia za linkę z odważnikiem, co tym samym spowoduje uniesienie się rolety :) . Nie planuje na razie żadnego zapasowego źródła zasilania, gdyż zaniki napięcia zdarzają się niezwykle rzadko i zazwyczaj nie trwają długo.

    juzek555 wrote:
    Etam. Są bardziej prostsze kompilatory niż C. Po pierwsze jedziesz z taktowaniem 16MHz, po drugie wykorzystanie ADC jest czystą przyjemnością w użytkowaniu.. (ty programujesz automatykę a inni piszą pod twoje potrzeby jasny oraz przejrzysty kompilator)


    Kompilator który pan przedstawił jest bardzo ciekawy i nie wykluczam że w przyszłości z niego skorzystam. Jest to mój pierwszy projekt zrealizowany na procesorze AVR i przy wykorzystaniu języka C. Uważam że jeszcze wiele przede mną nauki i na pewno prędzej czy później opanuję obsługę większych częstotliwości oraz przetworników ADC ;)
  • #28
    User removed account
    User removed account  
  • #29
    Artyliusz
    Level 12  
    Bardzo udany i estetyczny projekt. Od dawno przybiera we mnie chęć stworzenia podobnego projektu, które coraz częściej są tutaj przedstawiane.

    juzek555 wrote:
    Etam. Są bardziej prostsze kompilatory niż C. Po pierwsze jedziesz z taktowaniem 16MHz, po drugie wykorzystanie ADC jest czystą przyjemnością w użytkowaniu.. (ty programujesz automatykę a inni piszą pod twoje potrzeby jasny oraz przejrzysty kompilator)

    C jest językiem programistycznym, a nie kompilatorem. Natomiast Vamgraf (o którym była już gdzieś na forum toczona siarczysta dyskusja z Panem na czele) jest "środowiskiem graficznym" do programowania. Trochę różnią się te dwa pojęcia. Poza tym są IDE.

    Co do taktowania to można od razu nawiązać do chwilowego braku zasilania i reset procka, bo można pomyśleć nad bateryjnym podtrzymaniem do czasu powrotu zasilania, a przy owym mniejsze taktowania jest wskazane. Poza tym myślę, że dobrze jest programować jak najoszczędniej, a zarazem skutecznie co się udało autorowi.
  • #30
    kleszcz10
    Level 11  
    gajerz wrote:
    Podswietlenie wyswietlacza wlaczone na stale, czy sterowane z uC?
    Jaki kompilator C masz?


    Podświetlenie wyświetlacza jest podłączone na stałe, ale nie jest to w żaden sposób uciążliwe. Co do kompilatora to używam WinAVR ale pewnie zmienię go na Atmel Studio.

    Co do rozbudowy to oczywiście jest wiele możliwości i wszystko zależy od predyspozycji oraz wyobraźni autora ;)