Elektroda.pl
Elektroda.pl
X
IGE-XAO
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Sterownik automatyki budynkowej - cd.

ditomek 19 Lis 2015 22:15 9483 18
  • Sterownik automatyki budynkowej - cd.

    Witam.
    Jakiś czas temu pokazałem swój uniwersalny kontroler do automatyki domowej.
    https://www.elektroda.pl/rtvforum/topic2844226.html

    Od tego czasu powstała jego nowa wersja oparta na mocniejszym sterowniku Mega128 i główny kontroler umożliwiający zarządzanie systemem z poziomu przeglądarki internetowej.

    Projekt powstaje bardzo wolno, a dzisiaj pokażę, jak działa stary model sterownika z modułem internetowym.

    Moduł internetowy jest oparty o Arduino Mega i standardowy shield internetowy. Jedyne, co zrobiłem to dodatkowa płytka, na której jest zegar DS3231, wyświetlacz LCD, 3 przyciski i 3 porty RS485 w postaci złącz USB.

    Sterownik automatyki budynkowej - cd. Sterownik automatyki budynkowej - cd. Sterownik automatyki budynkowej - cd. Sterownik automatyki budynkowej - cd.

    Moduł internetowy wykorzystuje standardowe biblioteki Arduino. Od zera napisałem obsługę zegara i procedury do obsługi transmisji szeregowej.

    Atmega2560 posiada aż 4 porty szeregowe i wystarczająco dużo zasobów do obsługi wszystkich interesujących mnie rzeczy.
    USART1 - obsługa wyświetlaczy i paneli kontrolnych umieszczonych w ścianie,
    USART2 - obsługa sterowników oświetlenia / żaluzji,
    USART3 - obsługa modułów kontroli temperatury i systemów bezpieczeństwa (np krańcówki w oknach i drzwiach).

    W prezentowanej przeze mnie wersji udało mi się zrobić:
    1. Obsługa zewnętrznego wyświetlacza pokazującego bieżący czas,
    2. pełna obsługa dwóch sterowników oświetlenia: ustawianie wyjść i ustawianie parametrów przez HTTP,
    3. ustawianie RTC.

    Moduł w użyciu https://www.youtube.com/watch?v=EV0p-OZOcgA

    Strona HTML tworzona jest z wykorzystaniem styli.
    Wciśnięcie przycisku (linku) powoduje, że przeglądarka wysyła do Arduino odpowiedź w postaci linijki tekstu. Tekst ten trzeba obrobić i odczytaną komendę wysłać do sterownika przez RS485. Sterownik zapala lub gasi wybrane wyjście. Kilkanaście ms po tym Arduino znowu odpytuje sterownik, tym razem o stan wyjść. Po otrzymaniu tej informacji do przeglądarki jest wysyłana treść strony z uwzględnieniem stanu wyjść sterownika.

    Sterownik automatyki budynkowej - cd.

    Tyle w skrócie. :-)

    Sterownik kontrolujący prace oświetlenia jest w pełni autonomiczny. Awaria modułu internetowego Arduino nie wpływa na jego pracę. Wtedy parametryzowanie jest możliwe przez komputer PC i soft, który napisałem w Delphi.

    Pozdrawiam.

    Fajne! Ranking DIY
    Potrafisz napisać podobny artykuł? Wyślij do mnie a otrzymasz kartę SD 64GB.
    O autorze
    ditomek
    Poziom 21  
    Offline 
    ditomek napisał 520 postów o ocenie 148, pomógł 23 razy. Jest z nami od 2004 roku.
  • IGE-XAO
  • #2
    razorxx100
    Poziom 11  
    Kilka uwag zwiazanych z projektem;
    -Skoro masz dostep do internetu to po co jako glowny czynnik do sprawdzania godziny uzywasz zawodne moduly RTC?
    -Nie lepiej wysylac dane przez ajax, wtedy strona nie bedzie sie odsiezac za kazdym razem.
    -Zamiast wyswietlac ip naszego urzadzenia, nie lepiej ustalic mu stale i go wogole nie wyswietlac?
  • IGE-XAO
  • #3
    ditomek
    Poziom 21  
    1. Ds3231 to porządny zegar. Mogę zaryzykować stwierdzenie ze jeden z najlepszych. Poza tym czas jest potrzebny zawsze. Wystarczy brak netu i już coś zaplanowanego może się nie wykonać. Co wtedy?
    2. Ajax jest fajny. Po prostu nie zdążyłem zaimplementować go w tej wersji. Potrzebowałem mieć już teraz działający prototyp. Chciałbym go zrobić w następnej wersji..
    3. Urządzenie ma służyć nie tylko mi. Paru znajomych jest nim zainteresowanych. To nie są programiści. Dlatego urządzenie będzie miało przyciski i możliwość ustawienia dowolnego IP bez podłączenia do sieci. Jak już skonfiguruje IP reszta parametrów przez przeglądarkę...
  • #4
    razorxx100
    Poziom 11  
    Co do pkt 1.
    Czas mozesz pobierac z internetu i ze swojego RTC, wiec nikt tu nie mowi o jednym sposobie pobierania daty.Zawsze jeszcze mozna dodac sprawdzenie czy RTC/internet sa zgodne godziny, i jak RTC zlapie jakis poslizg to mozna go poprawic. Nie mowiac juz o tym ze automatycznie po podlaczeniu naszego sterownika do internetu, nasz rtc sam sie skonfiguruje do odpowiedniej daty(np jak jest uruchamiany pierwszy raz nasz sterownik i dopiero co wlozone baterie do naszego rtc). Warto o tym pomyslec ;)
  • #5
    piterek-23
    Poziom 32  
    Projekt ciekawy, ale PCB już nie bardzo-kabelki na PCB i połączenie LCD to tak trochę (delikatnie mówiąc) słabo wygląda.
  • #6
    Freddy
    Poziom 43  
    1. Poproszę o schemat
    2. Dlaczego układy na podstawkach, to wnosi kolejne niepotrzebne miejsca do awarii.
    3. Poproszę o zdjęcia od spodu PCB, chyba, że się ich wstydzisz :D.
  • #7
    ditomek
    Poziom 21  
    Celowo transceiwery RS485 umieszczam w podstawkach.
    Płytkę pokazałem z obu stron na zdjęciach. Normalnie jest ona przystosowana do wyświetlacza z pinami nad polem odczytowym. Tutaj wyjątkowo użyłem ostatnich dwóch sztuk z pinami z boku. Stąd potrzeba wykonania połączenia kabelkami i przyklejenie wyświetlacza do PCB klejem. (normalnie są otwory na kołki)
    Płytkę zrobiła firma więc jeśli wstyd to dla nich :-)
    Zabrałem się za projektowanie urządzenia od wykonania płytki. Schemat jest tak prosty ze nigdy nie powstał...
    Kabelków jest tyle bo w ostatniej chwili postanowiłem wlutować przy każdym z portów LEDy sygnalizujące nadawanie/odbiór. Głównie w celu debugowania. Te kolorowe skręcone przewody można usunąć wtedy robi się porządek.
  • #8
    piterek-23
    Poziom 32  
    ditomek napisał:
    Płytkę zrobiła firma więc jeśli wstyd to dla nich

    Wstyd dla projektanta, a nie dla firmy. Dla firmy szacun, że musiała wykonać kiepską płytkę :D
    W żadnym wypadku nie mówię, że Twoja płytka jest kiepska :)
  • #9
    Freddy
    Poziom 43  
    ditomek napisał:
    Celowo transceiwery RS485 umieszczam w podstawkach.
    Można było dać w takim razie precyzyjne podstawki.
    Cytat:
    Płytkę pokazałem z obu stron na zdjęciach.
    Jakoś nie widzę zdjęcia płyt od spodu :).
    Cytat:
  • #11
    Freddy
    Poziom 43  
    piterek-23 napisał:
    Freddy napisał:
    Jakoś nie widzę zdjęcia płyt od spodu

    Sterownik automatyki budynkowej - cd.
    Jak to jest od spodu, to poproszę z wierzchu :D.
  • #12
    piterek-23
    Poziom 32  
    Freddy napisał:
    Jak to jest od spodu, to poproszę z wierzchu

    Z wierzchu jest LCD przyklejony gorącym glutem ;)
  • #14
    matrix0606
    Poziom 14  
    Jak dla mnie bombowy projekt. Podoba mi się. Płytki wykonane bardzo starannie.
    Do wszystkich malkontentów tylko jedna uwaga, niech któryś zrobi coś takiego i sam się pochwali...

    Wykonując swoją automatykę w domu będę sobie "podkradał" cząstki Twoich pomysłów jeśli pozwolisz...
    Gratuluję świetnego wykonania.
  • #15
    vp32
    Poziom 11  
    Udostępniasz jakiś schemat i program?
  • #16
    ditomek
    Poziom 21  
    Schematy do moich projektów powstają w głowie. Tylko płytki powstają od razu w Eaglu bo coś przecież muszę wysłać do fabryki... Mogę się nimi podzielić. Ale czasami jest tak ze płytka przychodzi do domu a ja i tak wprowadzam jakieś poprawki....
    Nie udostępniam kodu.
    Chętnie natomiast opiszę zasadę działania i algorytm.
  • #17
    michalko12
    Specjalista - Mikrokontrolery
    ditomek napisał:
    1. Ds3231 to porządny zegar. Mogę zaryzykować stwierdzenie ze jeden z najlepszych.

    Może i ten RTC jest dobry, ale nie to co ty masz. Sam RTC u dystrybutorów kosztuje kilka € w hurcie, a na ebayu cała ta płytka razem z pamięcią kosztuje poniżej 1$ z darmową przesyłką.
    Wniosek...
  • #18
    Freddy
    Poziom 43  
    michalko12 napisał:
    Może i ten RTC jest dobry, ale nie to co ty masz.
    Co masz do tego modułu?
  • #19
    ditomek
    Poziom 21  
    W domu mam kilka takich modułów co najmniej jeden z nich od początku tego roku pracuje w zegarze na meblach. Może sekundy dzielą go od ideału. A nie był przez ten czas ani razu ustawiany. Żeby była jasność: nie jestem zainteresowany dokładnością wzorca atomowego. Środki zaangażowane w uzyskanie obecnej dokładności są z ekonomicznego punktu widzenia najkorzystniejsze.