Ściemnianie światła Arduino Home

10

Płyta gipsowo-kartonowa dopiero zaczyna się wspinać w piwnicznym projekcie mojej rodziny. Patrzyłem na systemy sterowania oświetleniem mieszkalnym. Niektóre z tych, które widziałem, wzrosły o 2000 $. Myślę, że znacznie fajniej byłoby (i opłacalnie!) Wdrożyć własny system oparty na Arduino.

Prawdziwy problem polega na faktycznej kontroli świateł. Każda grupa świateł będzie musiała być kontrolowana przez ściemniacz oparty na przełączniku. Byłoby znacznie prościej, gdyby mikrokontroler był jedynym punktem kontroli. Niestety tak nie jest. Zakładam, że muszę użyć ściemniacza, który pozwala interfejsowi urządzenia zewnętrznego z nim. Pozwoliłoby to całkowicie uniknąć problemu, ponieważ zarówno przełącznik, jak i Arduino mogłyby sterować światłami, zaś Arduino sterowałoby światłami za pomocą ściemniacza.

Czy ktoś może polecić lepsze rozwiązanie / podejście lub zasugerować przełącznik ściemniacza, który ma jakiś „zdalny” interfejs?

Aktualizacja 3/1/2013: Ostatecznie zdecydowałem się na rozwiązanie oparte na Insteon, używając niestandardowej osłony Good Robot . Działa świetnie i może być używany do kontrolowania wszystkiego Insteon, nie tylko świateł. Wyślę tutaj odpowiedź, gdy będę miał okazję napisać coś pożytecznego.

Kevin Mark
źródło

Odpowiedzi:

4

Ustawiłem cały dom z X10 około 10 lat temu i chociaż działał, może być trochę niestabilny. Gdybym miał to zrobić ponownie, spojrzałbym na bardziej nowoczesne produkty, takie jak Insteon . Insteon ma rozwiązać wiele problemów związanych z X10.

Nie zawracałbym sobie głowy próbą samodzielnego zbudowania modułów sterujących AC (ściemniaczy, zdalnych przełączników itp.), Ponieważ praca z napięciem sieciowym jest bardzo niebezpieczna, chyba że naprawdę wiesz, co robisz.

Ducksauz
źródło
Dzięki za link do Insteon. Wygląda na to, że istnieje jakiś protokół Insteon, który pozwoliłby mi komunikować się z ich ściemniaczami. Czy to jakaś odmiana X10?
Kevin Mark
Po kilku dalszych badaniach ściemniacze Insteon naprawdę wyglądają jak droga. Wygląda na to, że mogę przynajmniej wysłać im sygnały X10. Byłem w Google, aby znaleźć dokumentację lub przykładowe projekty. Nic jeszcze nie znalazłem.
Kevin Mark,
Przeczytałem z powrotem na zestawie Insteon. Jest kompatybilny z X10, ponieważ będzie współistniał z X10. Ma wyższą prędkość transmisji, wszystkie urządzenia są repeaterami i wszystkie wiadomości są potwierdzane.
ducksauz
Tutaj jest dobry oficjalny dokument: insteon.net/about-whitepapers.html
ducksauz
Dzięki. Powinno to okazać się przydatne w niefortunnym przypadku, gdy muszę ręcznie połączyć się z protokołem INSTEON. ;)
Kevin Mark,
4

DMX512 jest szeroko stosowany do sterowania oświetleniem scenicznym. Ponieważ używa EIA-485, sprzęt i oprogramowanie powinny być dość łatwe do wdrożenia na Arduino z odpowiednią osłoną. Oto projekt Arduino DMX.

Dostępne są tanie, zdalnie sterowane ściemniacze DMX, tutaj jest taki, który wykorzystuje ATmega8515 AVR, urządzenie podobne do tego używanego w Arduino. Byłbym skłonny użyć znacznie mniejszego, tańszego kontrolera. Opisano również interfejs ściemniacza do lamp, „zasilacz”. To całkiem niezły projekt.

Leon Heller
źródło
chociaż jest to prawda, nie sądzę, że odpowiada na to pytanie. Kevin potrzebowałby „ściemniacza DMX”, który pobierałby DMX i wystawiał przebieg sieci z odciętą fazą.
Martin
1
Zazwyczaj piszę swoje odpowiedzi naraz, dodając do nich, gdy myślę o więcej.
Leon Heller
DMX jest całkiem fajny do grania, ale prawdopodobnie okaże się, że to przesada w tym, co robię. Zwłaszcza, że ​​jest to system ścienny.
Kevin Mark
4

Grałem z X10 i Insteon - działają, ale moje doświadczenie z hakowaniem ich było rozczarowujące.

Więc buduję system automatyki domowej w całości z radiotelefonami XBee. Standard ZigBee Home Automation jest otwarty i dość łatwy do wdrożenia (jeśli chcesz być kompatybilny z istniejącym sprzętem). Ale nie musisz iść tą drogą, możesz wdrożyć własny protokół (na przykład z binarnym jsonem - właśnie to robię). Radia nie są tanie (~ 25 USD), ale moim zdaniem łatwość użytkowania jest tego warta. W wielu przypadkach nie potrzebujesz nawet mikrokontrolera - XBee mają własne cyfrowe i analogowe wejścia / wyjścia. Do tej pory zbudowałem kilka urządzeń z XBee's - termostat, czujnik ruchu, bramka X10 i asystent parkowania w garażu / czujnik obecności samochodu. Radia ZigBee mogą tworzyć sieci kratowe, więc zasięg i zużycie energii są doskonałe.

Budowanie własnych ściemniaczy byłoby jednak drogie (jedyną opcją, jaką mogłem znaleźć, było użycie modułu Velleman K8064 - ~ 35 USD), więc jeśli potrzebujesz ściemniacza, wybrałbym albo Insteon, albo X10. Mam w domu kilka modułów lamp X10 i do ich sterowania używam szeregowego interfejsu PS104 X10 PRO (za 10 USD trudno go pobić) podłączonego do Arduino ( biblioteka X10 dla Arduino ).

sudarkoff
źródło
Zasadniczo jest to świetny pomysł, ale nie jestem pewien, jak mógłbym to zaimplementować w rozwiązaniu mojego problemu. Niestety potrzebuję zarówno fizycznego przełącznika przyciemnienia, jak i zewnętrznego sterowania. Insteon pasuje do rachunku, ale jest dość kosztowny. Jak powiedziałem wcześniej, myślałem o użyciu przełączników Insteon, ale za pomocą Arduino do przechwytywania sygnałów Insteon. Kontroler Insteon, który można kupić na ich stronie internetowej, jest prymitywny i bardzo drogi.
Kevin Mark
W domu mam kilka modułów lamp X10, które kontroluję za pomocą Arduino podłączonego do kontrolera szeregowego X10. (Oto biblioteka Arduino X10, której używam: arduino.cc/en/Tutorial/X10 ) AFAIK, Insteon obsługuje X10, więc powinieneś być w stanie osiągnąć ten sam wynik.
sudarkoff
W rzeczy samej. To zdecydowanie zrobię, aby zacząć. Idealnie byłoby użyć protokołu Insteon zamiast starzejącego się i zawodnego X10.
Kevin Mark
2

Jeśli i tak zamierzamy zainstalować okablowanie i nowe światła, rozważę zainstalowanie opraw oświetleniowych LED. Nie tylko zaoszczędzisz pieniądze na dłuższą metę dzięki niższym kosztom energii elektrycznej, ale również zaoszczędzisz pieniądze na instalacji na okablowaniu. Ponieważ diody LED używają napięć poniżej 24 V, kod elektryczny jest bardzo luźny. Nie musisz instalować grubych (drogich) drutów miedzianych do każdego gniazdka, a raczej znacznie tańsze okablowanie 20-18 AWG (użyłem nawet 23AWG w kablu CAT6). Istnieje wiele opcji zasilania diod LED dużej mocy z arduino. Moim ulubionym byłby ten. Za pomocą jednego arduino można kontrolować do 128. Kod do ich kontrolowania jest bardzo łatwy. Gdy to zrobisz, dodaj osłonę ethernetową do arduino i trochę podstawowego javascript, a następnie kontrolowanie świateł będzie tak proste, jak odwiedzenie strony internetowej na komputerze lub smartfonie. Możesz nawet przekazywać przychodzące żądania portu 80 do tarczy i pozwolić ci kontrolować je podczas twojej nieobecności (być może odstraszyć oszustów). Dodatkowo miałbyś niezależną kontrolę przyciemniania nad każdym światłem w piwnicy (tak na przykład, jeśli oglądasz film, możesz włączyć tylko dwa światła z tyłu i pozostawić je naprawdę ciemne).

charliehorse55
źródło
To naprawdę świetny pomysł. Niestety okablowanie jest już wykonane, dlatego nie można już uczynić selektywnego oświetlenia LED opłacalną opcją. Będę o tym pamiętać przy przyszłych projektach!
Kevin Mark
Cała moc dla obwodu przechodzi przez przełącznik (w celu umożliwienia kontrolowania świateł). Czy nie możesz po prostu umieścić arduino za przełącznikiem i użyć grubego okablowania dla diod LED (przesada, ale i tak będzie działać). Chyba że już kupiłeś oprawy oświetleniowe / żarówki?
charliehorse55
Myślę, że to może zadziałać. Ponieważ muszę mieć zarówno „tradycyjne” ściemniacze, jak i sterowanie mikrokontrolerem, czy musiałbym tworzyć własne ściemniacze ścienne, które podpinają się do Arduino?
Kevin Mark
Chcesz uruchomić zarówno tradycyjne żarówki, jak i diody LED z arduino? Łatwo zrobione. Większość ściemniaczy za 6 USD, które można kupić w sklepie ze sprzętem, używa puli 10 000 ton do wybierania ściemniacza. Otwórz urządzenie i zamień przewody w doniczce 10k na druty w doniczce cyfrowej. Cyfrową doniczką można sterować z arduino za pośrednictwem I2C. Jeśli jest to proste włączanie / wyłączanie, możesz napędzać 5-komorowy mosfet za pomocą arduino, aby sterować sterowaniem 24 V dla elektromagnesu.
charliehorse55
Dobrze wiedzieć. Jeśli zaimplementuję światła LED, prawdopodobnie użyję tej lub podobnej metody.
Kevin Mark
2

Kiedyś pracowałem dla firmy, która miała przyciemniacze sterowane przyciskiem. Musisz zastąpić wszystkie przełączniki ścienne przyciskami ze stykiem NO (normalnie otwarty). Zaletą jest to, że można po prostu ustawić wszystkie punkty kontrolne równolegle i podać pojedynczy logiczny sygnał do mikrokontrolera. Możesz użyć napięcia zasilania mikrokontrolera i rezystora podciągającego, ale szczególnie na długich drutach odbierzesz dużo hałasu, a także może mieć spadek napięcia. Lepiej uruchomić przyciski na wyższym napięciu (na przykład 24 V) i podzielić ten poziom, aby dopasować go do mikrokontrolera.

Jeden z możliwych sposobów działania:
Naciśnięcie przycisku na czas dłuższy niż na przykład pół sekundy spowoduje (ponowne) rozpoczęcie cyklu ściemniania. Tak długo, jak naciśnięty jest przycisk, ściemniasz z określoną szybkością, odczekaj sekundę przy maksymalnej wartości i zacznij ściemniać, aż wyłączy się, po czym cykl uruchomi się ponownie. Mikrokontroler musi pamiętać nie tylko bieżący poziom, ale także to, czy ostatnia akcja była w górę, czy w dół.
Krótkie naciśnięcie przycisku (krócej niż pół sekundy) powoduje przełączenie między wyłączeniem a ostatnią przyciemnioną wartością.

To tylko możliwa funkcjonalność. Możesz zmieniać to, pamiętaj tylko, że jako sygnał masz tylko puls (o zmiennej długości).

stevenvh
źródło
Podoba mi się ten pomysł i jest to interesujący sposób, ale będzie to trochę za drogie (pod względem czasowym) zastosowanie w mojej piwnicy. Tradycyjne ściemniacze, które mogą wykorzystywać X10 lub INSTEON, wydają się być najbardziej korzystnym rozwiązaniem dla mojego projektu.
Kevin Mark
@Kevin - szczerze mówiąc, sam nie uważam tego za najbardziej przyjazne dla użytkownika rozwiązanie, ale produkt mojego poprzedniego pracodawcy wydaje się dobrze sprzedawać. Głównym powodem jest prawdopodobnie proste okablowanie i brak potrzeby inteligencji poza ściemniaczem.
stevenvh
Zgadzam się, że wcale nie jest przyjazny ani intuicyjny, ale wydaje mi się interesujący z punktu widzenia koncepcji. Zasadniczo uprość backend, upraszczając całą operację fizyczną.
Kevin Mark
1

Możesz spojrzeć na X10, którego nie używałem od jakiegoś czasu, ale odkąd użyłem go ostatnio, wiem, że był przynajmniej interfejs portu szeregowego, być może nawet bezprzewodowy, więc nie musisz faktycznie wchodzić na linie energetyczne z twoim sprzętem. Istnieją (były) moduły, w których zamknąłeś przekaźnik i mógł on włączyć lub wyłączyć wszystko. W przypadku przyciemnienia lub jasności potrzebujesz większej kontroli.

old_timer
źródło
Myślę, że moim najlepszym wyborem jest znalezienie włącznika / ściemniacza zgodnego z X10.
Kevin Mark