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.

Sterownik automatyki budynkowej - cd.

ditomek 19 Nov 2015 22:15 11196 18
Altium Designer Computer Controls
  • 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.

    Cool? Ranking DIY
    Do you have a problem with Arduino? Ask question. Visit our forum Arduino.
    About Author
    ditomek
    Level 21  
    Offline 
    ditomek wrote 568 posts with rating 202, helped 23 times. Been with us since 2004 year.
  • Altium Designer Computer Controls
  • #2
    razorxx100
    Level 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?
  • #3
    ditomek
    Level 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ę...
  • Altium Designer Computer Controls
  • #4
    razorxx100
    Level 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
    Level 33  
    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
    Level 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
    Level 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
    Level 33  
    ditomek wrote:
    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
    Level 43  
    ditomek wrote:
    Celowo transceiwery RS485 umieszczam w podstawkach.
    Można było dać w takim razie precyzyjne podstawki.
    Quote:
    Płytkę pokazałem z obu stron na zdjęciach.
    Jakoś nie widzę zdjęcia płyt od spodu :).[quote]
  • #11
    Freddy
    Level 43  
    piterek-23 wrote:
    Freddy wrote:
    Jakoś nie widzę zdjęcia płyt od spodu

    Sterownik automatyki budynkowej - cd.
    Jak to jest od spodu, to poproszę z wierzchu :D.
  • #14
    matrix0606
    Level 15  
    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
    Level 11  
    Udostępniasz jakiś schemat i program?
  • #16
    ditomek
    Level 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
    MCUs specialist
    ditomek wrote:
    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
    Level 43  
    michalko12 wrote:
    Może i ten RTC jest dobry, ale nie to co ty masz.
    Co masz do tego modułu?
  • #19
    ditomek
    Level 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.