Elektroda.pl
Elektroda.pl
X

Search our partners

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

Sterowanie klimatyzacji bez ingerencji w sterownik klimatyzatora na Arduino

ghost666 26 Jun 2015 14:08 8916 8
  • Sterowanie klimatyzacji bez ingerencji w sterownik klimatyzatora na ArduinoProjekt opisuje w jaki sposób skonstruowano oparty o Arduino system kontroli klimatyzatora powietrza. Założeniem było dodanie do starego klimatyzatora systemów automatyki, które pozwolą na zdalną jego kontrolę poprzez MegaunoLink Pro, zainstalowany na komputerze. Układ składa się z Arduino Uno, kontrolującego serwomechanizmy sterujące klimatyzatorem, sensora DS18B20 mierzącego temperaturę i łącza MegaunoLink Pro, pozwalającego na odczyt temperatury i ustawianie punktów kontrolnych dla klimatyzacji.

    Sterowanie klimatyzacji bez ingerencji w sterownik klimatyzatora na Arduino


    Elementy mechaniczne

    Jako że klimatyzator, który ma być kontrolowany przez system jest dosyć stary, nie ma żadnej możliwości na jego cyfrową kontrolę. Zamiast tego zaprojektowano mechaniczny system przekręcania pokręteł w układzie, który sprzęgnięty jest z serwomotorem. System ten przełącza klimatyzator do różnych trybów pracy - wyłączony, tryb wentylatorowy oraz chłodzenie - niskiej i wysokiej mocy. Część mechaniczna została wydrukowana w technologii druku 3D z ABSu. Projekt został dostosowany do pokręteł klimatyzatora, jednakże powinien pasować do szerszej gamy systemów. Pliki z projektem można pobrać ze strony źródłowej

    Sterowanie klimatyzacji bez ingerencji w sterownik klimatyzatora na Arduino


    Mózg systemu (Arduino Uno)

    Hardware

    Projekt kontrolowany jest przez mikrokontroler na płytce Arduino Uno. Temperatura w pomieszczeniu mierzona jest z pomocą sensora DS18B20. Serwomechanizmy sterowane są z pomocą modułu Tower Pro MG995. Jako że serwomotor pobiera znaczny prąd na linii zasilania dodano kondensator o pojemności 4700 µF. Pozwoli to uniknąć zapadów zasilania, które mogły by powodować resetowanie mikrokontrolera.

    Sensor DS18B20 podpięty jest do pinu 10 Arduino Uno. Potrzebuje on ponadto podłączenia do masy i zasilania 5 V oraz rezystora podciągającego pomiędzy linią zasilania, a danych. Serwomotor podpięty jest pod pin 9 Arduino Uno i oczywiście do masy i zasilania 5 V.

    Sterowanie klimatyzacji bez ingerencji w sterownik klimatyzatora na Arduino


    Software

    Program który działa na Arduino Uno jest dosyć prosty. Temperatura odczytywana jest z sensora i jeśli jest wyższa niż zadany punkt kontrolny (plus wartość wynikająca z histerezy) to serwomotor zmienia ustawienia klimatyzatora na chłodzenie niskiej mocy. Gdy temperatura w pomieszczeniu spadnie poniżej ustalonego punktu (minus wartość wynikająca z histerezy) serwomotor wyłącza klimatyzator. Histereza dodana jest w układzie po to, żeby uniknąć częstego przełączania klimatyzatora i wpływu szumu na odczyt.

    Oprócz podstawowej kontroli poprzez temperaturę w pomieszczeniu w układ wbudowano system kontroli poprzez zdalne komendy wydawane przez MegaunoLink. Komendy te pozwalają na konfigurację różnych ustawień, takich jak punkty kontrolne temperatury, histereza, położenie i opóźnienie serva itp. Parametry te zapisywane są w pamięci EEPROM Arduino, więc nawet po wyłączeniu są one zapamiętane.

    Do konfiguracji punktów kontroli temperatury i serw stworzono specjalni interfejs w oparciu o MegaunoLink, Poniższa ilustracja pokazuje jak wyglądał interfejs na początki (po lewej) i w wersji finalnej (po prawej). Każdy przycisk wysyła zdefiniowaną informację do Arduino, pozwalającą kontrolować każdy z parametrów. Na przykład jeśli naciśnie się przycisk Set Temperature interfejs prześle po łączu szeregowym !SetTemperature 23\r\n. Arduino odbierze ten komunikat i ustawi nową temperaturę na 23°C. Oprócz wysyłania komunikatów interfejs oparty o MegaunoLink ma możliwość prezentowania danych, informacji o stanie kontrolera etc. Włączony Arduino przesyła do MegaunoLink następujące komunikaty:

    Code:
    {UI|SET|DisabledIndicatorPicture.Visible=false}
    
    {UI|SET|EnabledIndicatorPicture.Visible=true}


    Te komendy kontrolują pojawianie się i znikanie symboli reprezentujących stan modułu.

    Sterowanie klimatyzacji bez ingerencji w sterownik klimatyzatora na Arduino


    Ustawianie pozycji serwa

    Zanim kontroler rozpocznie poprawną pracę, koniecznie trzeba skonfigurować pozycję serwomotorów. W drugiej zakładce interfejsu jest szereg przycisków, pozwalających na zrobienie tego. Pozwala to na dostosowanie serwomotoru do wykorzystywanego klimatyzatora. Naciśnięcie każdego z przycisków umożliwia także przesunięcie serwa na zadaną pozycję. Pozwala to na łatwe dostosowanie jego ruchu do danego klimatyzatora. Dane przechowywane są w pamięci EEPROM układu.

    Ostatnim parametrem jaki trzeba skonfigurować jest opóźnienie serwa, które to kontroluje opóźnienie pomiędzy każdym krokiem serwomotora. Pozwala to na zapewnienie cichej i płynnej jego pracy. Bez tego serwomotor porusza się głośno pomiędzy poszczególnymi pozycjami.

    Sterowanie klimatyzacji bez ingerencji w sterownik klimatyzatora na Arduino


    Dane o temperaturze

    Finalnym komponentem systemu jest możliwość odczytu temperatury poprzez MegaunoLink. W tym celu system wykorzystuje możliwość MegaunoLink do rysowania tabel i wykresów, co pozwala na wyświetlanie aktualnej temperatury oraz historii temperatur. Realizowane jest to poprzez wysyłanie z poziomu Arduino komunikatów do portu szeregowego które odczytywane i interpretowane są przez MegaunoLink. Na przykład, aby wysłać wartość do tablicy Arduino wysyła:

    Code:
    {TABLE|SET|Target Temperature|23.00|}


    Rysowanie wykresu temperatury w funkcji czasu osiąga się następującą komendą:

    Code:
    {TIMEPLOT|data|Current Temperature|T|24.000}


    Oczywiście stworzono bibliotekę do Arduino, umożliwiającą łatwe generowanie tych komend.

    Sterowanie klimatyzacji bez ingerencji w sterownik klimatyzatora na Arduino


    Źródło:

    http://www.megunolink.com/arduino-controlled-air-conditioner/

    Cool! Ranking DIY
    Can you write similar article? Send message to me and you will get SD card 64GB.
    About Author
    ghost666
    Translator, editor
    Offline 
    Fizyk z wykształcenia. Po zrobieniu doktoratu i dwóch latach pracy na uczelni, przeszedł do sektora prywatnego, gdzie zajmuje się projektowaniem urządzeń elektronicznych i programowaniem. Od 2003 roku na forum Elektroda.pl, od 2008 roku członek zespołu redakcyjnego.
    ghost666 wrote 10546 posts with rating 8903, helped 157 times. Live in city Warszawa. Been with us since 2003 year.
  • IGE-XAOIGE-XAO
  • #2
    User removed account
    Level 1  
  • IGE-XAOIGE-XAO
  • #3
    pheonix
    Level 13  
    Chcę zauważyć że większość projektów na Arduino umieszczane tutaj zaniżają poziom tego forum ...
  • #4
    szczodros
    Level 18  
    pheonix wrote:
    Chcę zauważyć że większość projektów na Arduino umieszczane tutaj zaniżają poziom tego forum ...


    pragnę zauważyć, że poza Polską (DIY Zagranica) ze świecą szukać ciekawych, dobrych DIY tylko przeważnie Arduino, druk 3D, coś tam drobnego jeszcze i voila.
    Chyba tylko My Polacy i państwa słowiańskie :D dominujemy w budowie od podstaw z pojedynczych elementów. Może dlatego, że Hamburgerykanie są zbyt leniwi i wolą gotowe klocki :D
  • #5
    ghost666
    Translator, editor
    szczodros wrote:
    pheonix wrote:
    Chcę zauważyć że większość projektów na Arduino umieszczane tutaj zaniżają poziom tego forum ...


    pragnę zauważyć, że poza Polską (DIY Zagranica) ze świecą szukać ciekawych, dobrych DIY tylko przeważnie Arduino, druk 3D, coś tam drobnego jeszcze i voila.
    Chyba tylko My Polacy i państwa słowiańskie :D dominujemy w budowie od podstaw z pojedynczych elementów. Może dlatego, że Hamburgerykanie są zbyt leniwi i wolą gotowe klocki :D


    Albo po prostu mają na nie kasę.
  • #6
    danielpoland
    Level 13  
    gromleon wrote:
    Czy dobrze rozumiem? Autor projektu zamontował zwykły termostat i do tego zamiast zastąpić pokrętło mechaniczne np przekaźnikami to dorobili mechanizm aby pokrętłem kręcił?
    Szał!


    Dobrze że nie zastosował jakiegoś "taniego" sterownika PLC do sterowania klimatyzacją.
  • #7
    markoz7874
    Level 31  
    szczodros wrote:
    ..pragnę zauważyć, że poza Polską (DIY Zagranica) ze świecą szukać ciekawych, dobrych DIY tylko przeważnie Arduino, druk 3D, coś tam drobnego jeszcze i voila.
    Chyba tylko My Polacy i państwa słowiańskie :D dominujemy w budowie od podstaw z pojedynczych elementów. Może dlatego, że Hamburgerykanie są zbyt leniwi i wolą gotowe klocki :D


    Pragnę zauważyć, że to nie amerykanie publikują posty na forum elektrody, ale dobierają je Polacy.
    Może wiec zamiast krytykować innych, skierujmy swoje uwagi do tych, którzy takie tematy na elektrodzie umieszczają.
    Bez problemu można znaleźć tematy o bardziej ambitnym wykonaniu.
  • #9
    japko1024
    Level 18  
    Albo gdy jest na gwarancji.

    Dodano po 10 [minuty]:

    Zastanawiam się nad zbudowaniem podobnego układu. W naszej jakże nowoczesnej uczelni mamy drzwi do koła naukowego bez obrotowych klamek - od środka otwiera się je naciskając kontakt, a od zewnątrz jest czytnik kart RFID z klawiaturą do wpisywania szyfru. Z tym, że nie mamy takich kart (chociaż nasze legitymacje mają tego typu czip, nie da się nimi otworzyć drzwi) i musimy klucz wypożyczać ze znajdującej się na niższym piętrze portierni, zostawiając tam swoje dokumenty. I właśnie myślałem o czymś takim, żeby przymocować nieinwazyjnie jakiś mechanizm z serwomotorem, który naciskałby przycisk, kiedy osoba chcąca wejść wysyłałaby sygnał przez Bluetooth ze swojego smartfona z napisaną przeze mnie aplikacją lub zbliżała legitymację do drzwi, po których drugiej stronie znajdowałaby się cewka do łączności zbliżeniowej. Podobnie, jak w przypadku papierowej listy w portierni, moglibyśmy zapisywać informacje, kto kiedy przyszedł.