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

Bezprzewodowy sterownik oświetlenia

Mateusz-me-1990 10 Kwi 2012 16:11 13544 14
  • Bezprzewodowy sterownik oświetlenia

    Witam :)

    Chciałbym zaprezentować po raz kolejny jeden z swoich projektów. Natchnieniem do budowy tego układu był realny problem. Zaczęło się to od chęci ułatwienia ciut życia mojemu tacie. Często odstawiając samochód późniejszym wieczorem z racji braku oświetlenia ciężko było precyzyjniej ustawić się do wjazdu do garażu. Tym bardziej, że przed wjazdem trzeba pokonać trochę dystansu, a światło padające z tylnich lamp jest nie wystarczające do oświetlenia drogi. Przez taki układ rzeczy, tato często był zmuszony by po dojechaniu pod same drzwi dokonywać poprawek. Pomysł ten został wpisany już wtedy na listę ważnych spraw. Przełomem okazała się moja przeprowadzka, która przelała szalę priorytetów. Przed wejściem do mieszkania była zainstalowana lampa, która oświetlała ciut podwórka i schody prowadzące do mieszkania. Niestety o ile wychodząc można było lampę zapalić włącznikiem i zostawić wyłączenie jej czasówce o tyle w drugą stronę było to zbyt ciężkie i wszelkie próby telepatycznego jej włączenia zakończyły się niepowodzeniem :) . Właśnie wtedy idąc po omacku i czasami potykając się, o któryś ze schodków postanowiłem nadać projektowi najwyższy priorytet. Od razu zaznaczam, że zastosowanie czujki ruchu nawet z regulacją przedziału wagowego było by kiepskim rozwiązaniem z racji, iż nie mieszkam sam i lampa zapalała by się także przez obecność moich sąsiadów, czyli jednym słowem ekonomia i tak właśnie w taki sposób narodził się opisany tutaj sterownik.

    Odbiornik
    Urządzenie bazuje na mikrokontrolerze z stajni TI, czyli MSP430F149. Oprogramowanie powstało w pakiecie mspgcc. Niestety pakiet ten to zbiór kilku plików i praca z nim w takim stadium była by zbyt ciężka. Dlatego też połączyłem go z Programmer's Notepadem (Eclipse to dla mnie ciut za duża kobyła) odpowiednio ustawiając jego opcję oraz pisząc kilka prostych skryptów. Jako moduł radiowy wykorzystałem RFM02. Głównie z racji łatwości komunikacji oraz jego ceny. Jako moduły wykonawcze pracują tutaj dwa przekaźniki, których stan jest dodatkowo prezentowany poprzez dwie diody led. Do komunikacji z użytkownikiem służy wyświetlacz siedmiosegmentowy, dip switch oraz dwa uswitche. Pozwalają one na dodanie nowego bądź też usunięcie istniejącego już klucza. Za pomocą ośmio pozycyjnego dip switch'a możliwe jest ustalenie czasu automatycznego wyłączenia lampy. Nastawy odbywają się z skokiem co 5 sekund, a zakres możliwych ustawień rozciąga się od 5 do 80 sekund. Oczywiście nastawy są niezależne dla dwóch kanałów tak samo jak ich praca. Dodatkowo za pomocą prostego obwodu możliwe jest sterowanie za pomocą stacjonarnego włącznika. Wystarczy na chwilę podać napięcie sieci na odpowiednie wyprowadzenia układu. Poprzez trzy pinowe wyprowadzenie możliwe jest debugowanie układu z poziomu terminala dzięki zestawowi wcześniej przygotowanych przeze mnie komend. Taktowanie procesora zostało zapewnione z modułu radiowego i pracuje on z częstotliwością 2MHz. Mogłaby być ona jeszcze ciut mniejsza, ale zastosowałem tutaj nie wielki zapas bezpieczeństwa. Każdy z kluczy posiada swój unikalny 8 bajtowy identyfikator. Po zarejestrowaniu go w systemie zostaje zapisany on w pamięci flash procesora. Największym problemem w układzie było stworzenie go takim by poradził sobie w każdej sytuacji i pracował niezawodnie. Z tego wynikają różne zabiegi takie jak np.:
    -nie nastawiam się nigdy, że z modułu radiowego przyjdzie tyle danych ile powinna zawierać ramka, program zawsze przeszukuje bufor odbiorczy i analizuje go w poszukiwaniu danych,
    -istnieją odpowiednie zabezpieczenia w przypadku przepełnienia bufora odbiorczego tak by całość nie utknęła w martwym punkcie,
    -obowiązkowo nad układem czuwa watchdog,
    -dodatkowo został zastosowany prosty filtr LC na zasilaniu układu by zniwelować wpływ przełączania przekaźników na pracę procesora oraz modułu radiowego(nauczka z przeszłości oraz chuchanie na zimne),
    -po zbudowaniu prototypu okazało się koniecznym połączeniem wyprowadzenia nRES modułu RFM02 z wyprowadzeniem RST procesora poprzez niewielki rezystor, podczas krótkich zaników napięcia bywało tak, że moduł radiowy się deinicjalizował a procesor chodził sobie dalej jakby nigdy nic :).

    Ostatecznie po zbudowaniu całości płytka została pokryta preparatem Plastik w celu jej zabezpieczenia oraz umieszczona w obudowie S-BOX 306 co zapewnia dobre zabezpieczenie całości przed wpływem warunków zewnętrznych.

    Podsumowując parametry urządzenia:
    -pasmo pracy: 868MHz,
    -dwa niezależne wyjścia styki NO oraz NC,
    -funkcja automatycznego wyłączania z nastawami od 5 do 80 sekund,
    -możliwość rejestracji do 16 bezprzewodowych kluczy

    Nadajnik
    Podobnie jak w odbiorniku tutaj także pracuje procesor z serii MSP430 takiego samego typu. Pasuje on tutaj idealnie z racji jego energooszczędności. Razem z modułem radiowym (tutaj RMF01) pobiera on w stanie uśpienia nie więcej jak 0,4uA. Cały program sterujący to sprawne żonglowanie trybami uśpienia. Po wciśnięciu przycisku procesor jest wybudzany(pobiera wtedy około 200uA, taktowanie w okolicach 800kHz), zostaje dodane odpowiednie zadanie oraz czas ponownego sprawdzenia przycisku po czym procesor idzie spać. W trakcie snu całość pobiera nie więcej jak 50uA. Po wybudzeniu zostaje sprawdzony odpowiedni przycisk i jeśli znów jest wciśnięty następuje przygotowanie danych do wysłania tak by nie robić tego w trakcie aktywności modułu radiowego i jego dużego poboru prądu. Samo wysłanie jest najgorszym momentem dla baterii (pobór około 20mA), ale na szczęście trwa krótko. Po wysłaniu jeszcze przez chwile procesor odlicza czas pobierając w uśpieniu do 50uA i budząc się na chwile w celu odliczenia czasu przez timer. Ostatecznie całość idzie grzecznie spać pobierając tak jak na początku nie więcej niż 0,4uA :) . W pilocie umieściłem trzy przyciski. Dwa z nich służą do odpowiedniego załączania odbiorników, a trzeci pozwala na sprawdzenie baterii. Zabieg jest prosty wciska się ten trzeci klawisz i dodatkowo potem, któryś z dwóch pozostałych. Dwa mrugnięcia diodą oznaczają baterię sprawną, a jedno sygnalizuje, iż pora wyskrobać drobne na następny komplet baterii, czyli w moim przypadku 2xLR44.

    Podsumowanie
    Całość została już zamontowana i pracuje bez kłopotów w docelowym środowisku. Ciesząc bardzo moją skromną osobę (głównie z racji nie potykania się już o najciemniejsze partie schodów ;) ). Dodatkowo jeszcze w fazie testowania układ przechodził takie testy jak np.: zamknięcie na kilka godzin w zamrażarce, symulacje krótkich zaników napięcia oraz zmasowany atak dwóch kluczy naraz:). Po każdym z nich układ pracował dalej bez problemów i o to właśnie mi chodziło:). Prezentowany układ nie jest projektem seryjnym, dlatego też został zbudowany tak, a nie inaczej. Z zmian, które bym miał wprowadzić jeśli samo urządzenie miało by być powielane w większej ilości to zmiana procesora w nadajniku na coś z serii STM8 głównie z racji posiadania czegoś takiego jak Unique ID. Zastanowiłbym się również nad dodaniem jakiejś partii zmiennokodowej, bo teraz jest to jeszcze nie zaimplementowane. Oczywiście tak wiem zaraz ktoś wyskoczy z tym, że bez tego układ jest taki i owaki, ale pomyślcie sami jak realne jest by ktoś próbowałam zhackować moją lampę? :D . Jak zawsze czekam na ewentualne pytania.

    Bezprzewodowy sterownik oświetlenia Bezprzewodowy sterownik oświetlenia Bezprzewodowy sterownik oświetlenia Bezprzewodowy sterownik oświetlenia Bezprzewodowy sterownik oświetlenia Bezprzewodowy sterownik oświetlenia
    Bezprzewodowy sterownik oświetlenia Bezprzewodowy sterownik oświetlenia Bezprzewodowy sterownik oświetlenia

    Załączniki:

    Fajne! Ranking DIY
    Potrafisz napisać podobny artykuł? Wyślij do mnie a otrzymasz pendrive 32GB.
  • Mitronik
  • #2 10 Kwi 2012 21:00
    Duch__
    Poziom 31  

    Czemu nie zainteresowałeś się sprzętem firmy ELMES? Znacznie mniejszy moduł by wyszedł, dodatkowo kod zmienny KeeLoq. Odporność na niskie temperatury przetestowana w module sterowania bramą przesuwaną - bardziej mechanika szwankowała niż sam sterownik.

  • #3 10 Kwi 2012 21:10
    SylwekK
    Poziom 29  

    Radość z wykonania urządzenia bezcenna :) Przyznam jednak rację koledze @Duch... Sam mam z tej firmy radiolinię i jest nie do zajeżdżenia od kilkunastu lat. W tańszej opcji można wykorzystać jakikolwiek moduł centralnego zamka od samochodu - te naprawdę można kupić za grosze i mają często przynajmniej 2 niezależne kanały.
    Nie wiem czy przeoczyłem coś w tekście ale do czego tam jest wyświetlacz 8-segmentowy?

  • #4 10 Kwi 2012 21:18
    Mateusz-me-1990
    Poziom 15  

    Szymon222 napisał:
    A można zastosować Atmega 8 lub inny mikroprocesor z rodziny atmega lub atiny?


    Jak ktoś musi to można. Świat na AVRach się nie kończy.

    2shy napisał:
    Praktyczny i całkiem fajny projekt
    Ile dałeś za moduły radiowe?


    Wielkie dzięki ;). Moduły w TME kosztowały około 12zł netto. Jak na takie możliwości to dobra cena.

    Duch__ napisał:
    Czemu nie zainteresowałeś się sprzętem firmy ELMES? Znacznie mniejszy moduł by wyszedł, dodatkowo kod zmienny KeeLoq. Odporność na niskie temperatury przetestowana w module sterowania bramą przesuwaną - bardziej mechanika szwankowała niż sam sterownik.


    Może dlatego, iż bliżej mi do artysty niż kopiarki oraz chętnie próbuję się zmierzyć z każdym napotkanym przeze mnie problemem praktycznym. Przy okazji oczywiście zdobywając doświadczenie. Nie widzę problemu, abym dołożył jeszcze kod zmienny, ale nie mógłby być to KeeLoq z racji jego licencji. Obecnie nie jest on mi szczególnie potrzebny. Układ jest jak najbardziej odporny na zewnętrzne warunki, ale jak każde urządzenie na tym świecie może się z czasem zepsuć.

    SylwekK napisał:
    Nie wiem czy przeoczyłem coś w tekście ale do czego tam jest wyświetlacz 8-segmentowy?


    Wyświetlacz ułatwia komunikację z użytkownikiem podczas dodawania i usuwania klucza. Pokazuje kody błędów jeśli wystąpią oraz numer klucza w systemie, którym właśnie aktywowało się lampę.

    Co do ceny to przeważnie ciężko jest zrobić produkt tańszy niż taki seryjny. Gdybym produkcję swojego układu przeniósł do Chin i wykonał tego niezłą gromadkę myślę, że spokojnie mógłbym konkurować co do ceny :D .

  • #5 11 Kwi 2012 06:38
    rutas15
    Poziom 10  

    Ta lampa halogenowa wygląda na 500W a takich lamp nie można montować na drewnie :/
    Oczywiście tych słabszych (np 150W) także nie można instalować na drewnie.

  • Mitronik
  • #6 11 Kwi 2012 06:56
    sowa_46
    Poziom 19  

    Z opisu powodu wykonania sterownika dowiedziałem się, że do garażu wjeżdżacie tyłem, chyba że czegoś nie zrozumiałem, jeżeli jednak tak się dzieje to muszę się przyznać, że taką głupotę popełniłem 2 razy, pierwszy i ostatni. Rano chcąc wyjechać (była to zima), poczułem taką ilość smrodu spalin, że już nigdy więcej nie odważyłem się na taki wyczyn.

  • #7 11 Kwi 2012 13:36
    Mateusz-me-1990
    Poziom 15  

    rutas napisał:
    Ta lampa halogenowa wygląda na 500W a takich lamp nie można montować na drewnie :/
    Oczywiście tych słabszych (np 150W) także nie można instalować na drewnie.


    Lampa była już wcześniej zamocowana. Przedmiotem tematu jest sterownik oświetlenia, a nie lampa.

    sowa_46 napisał:
    Z opisu powodu wykonania sterownika dowiedziałem się, że do garażu wjeżdżacie tyłem, chyba że czegoś nie zrozumiałem, jeżeli jednak tak się dzieje to muszę się przyznać, że taką głupotę popełniłem 2 razy, pierwszy i ostatni. Rano chcąc wyjechać (była to zima), poczułem taką ilość smrodu spalin, że już nigdy więcej nie odważyłem się na taki wyczyn.


    Jak komu wygodnie. Ilość smrodu wydaje mi się wątpliwa, bo nie raz tak wstawiałem. Kwestia też, że po samym wjeździe przecież nikt nie stoi specjalnie i nie gazuje nie wiadomo ile, ale to znów tak jak wcześniej nie o tym jest ten temat.

  • #8 11 Kwi 2012 14:13
    mirekk36
    Poziom 42  

    Bardzo fajny projekcik ;) ... i uważam że wykorzystanie takich modułów radiowych zamiast gotowców i nie wiadomo jak szyfrowanych jest absolutnie godna polecenia.... Też zwykle przy jakichś konstrukcjach swoich tego typu zaraz spotykam się na elektrodzie z narzekaniami na to , że zaraz podleci pod mój dom stado hackerów z laptopami i będą snifować moje komendy przesyłane np do rolet czy czegokolwiek ;) .... totalny absurd ;)

    A już czepianie się lampy na drewnie czy opowiadanie, że parkowanie tyłem do garażu to totalny odjazd ;) ..... Jak ktoś ma problemy z opanowaniem startu takim wehikułem jak auto, i startując z garażu pali gumy, albo sprzęgło, albo wszystko razem a do tego ma zepsute tłumiki i katalizator oraz źle wyregulowane spalanie - to pewnie że się zawsze nałyka dymu ;) .... Ja tam zawsze parkuję tyłem, także w garażach - i jeszcze nigdy nie łykałem dymu ;)

    Wracając do tematu, fajnie widzieć takie konstrukcje bo mogą być inspiracją dla każdego, do zrobienia czegoś takiego we własnym zakresie i podszkolenia się w tym, zamiast uganiania się po sklepach i kupowania gotowych radiolinii itp.

    Sam sobie wciąż obiecuję zrobić jakieś tego typu sterowanie na tych tanich modulikach Hoperf z serii RFMxx .... tylko ciągle czasu brak....., ale jak widzę taki projekt to coraz intensywniej o tym myślę.

    Takie mam pytanie, o ile mógłbyś pokazać wnętrze pilocika .... zawsze meczę się z instalacją beteryjek w takich pilotach - podejrzałbym twoje rozwiązanie, ale jeśli to nie kłopot?

  • #9 11 Kwi 2012 17:43
    Mateusz-me-1990
    Poziom 15  

    mirekk36 napisał:
    Takie mam pytanie, o ile mógłbyś pokazać wnętrze pilocika .... zawsze meczę się z instalacją beteryjek w takich pilotach - podejrzałbym twoje rozwiązanie, ale jeśli to nie kłopot?


    Hihi, powiem Ci, że trafiłeś w punkt, który akurat chciałem zataić ;) (głównie dlatego, że zaraz usłyszałbym odzew urażonych dum estetycznych). Z mocowaniem baterii męczyłem się sporo czasu, a ostatecznie po prostu je... ...przylutowałem :) . Wiem, że to dość mało praktyczne, ale za Chiny nie mogłem znaleźć jakiejś dobrze sprężynującej blaszki, a te co miałem po pewnym czasie przestawały łączyć.

    mirekk36 napisał:
    Sam sobie wciąż obiecuję zrobić jakieś tego typu sterowanie na tych tanich modulikach Hoperf z serii RFMxx .... tylko ciągle czasu brak....., ale jak widzę taki projekt to coraz intensywniej o tym myślę.


    Jeśli chcesz to na zachętę do pracy mogę udostępnić obsługę tych modułów. Oczywiście to nic odkrywczego to samo co w dokumentacji z tym, że ja zdefiniowałem komendy (słynna dyrektywa #define). Co do zdjęcia to jeśli nie przerazisz się wnętrzem pilota to jak najbardziej mogę wstawić taką fotografię ;).

  • #10 11 Kwi 2012 17:54
    mirekk36
    Poziom 42  

    To znaczy z obsługą tego typu modułów sobie już radzę z pełnym powodzeniem ale dziękuję za propozycję. ;)

    Mnie tam takie zdjęcie by nie przeraziło - bo nie jestem czepialski - i wiem co to znaczy użerać się z czepialskimi w DIY ;)

    Za to ostatnio też się rozglądałem po necie za różnymi blaszkami do bateryjek, i nawet gdzieś chyba w firmie, która sprzedaje różne plastikowe obudowy (w tym do tych pilotów) znalazłem fajną ofertę takiego oblaszkowania że tak powiem ;)

    Nie mniej jednak - piszesz, że normalnie "na żywca" przylutowałeś przewody do bateryjek ? tak ? ;) w sumie to też sposób .... w końcu nie często będzie się je zmieniać przy tak niskim poborze prądu do jakiego udało ci się zejść.

  • #11 11 Kwi 2012 21:10
    wzmak123
    Poziom 18  

    Wszystko fajnie a dlaczego nie zastosowałeś dodatkowego kanału sterowanego fazowo zyskujemy regulacje jasności i to dość niskim kosztem

    i dlaczego nie bluetooth moduły kosztują już od 40zł i zyskujemy większe pole popisu np sterowanie z komórki lub laptopa ?

  • #12 11 Kwi 2012 21:16
    mirekk36
    Poziom 42  

    wzmak123 napisał:
    Wszystko fajnie a dlaczego nie zastosowałeś dodatkowego kanału sterowanego fazowo zyskujemy regulacje jasności i to dość niskim kosztem


    To jest jakiś fajny pomysł/propozycja - pewnie można byłoby może nawet zwiększyć żywotność żarówy gdyby włączać ją płynnie powoli w jakimś zakresie .

    wzmak123 napisał:
    i dlaczego nie bluetooth moduły kosztują już od 40zł i zyskujemy większe pole popisu np sterowanie z komórki lub laptopa ?


    Ale Bluetooth to chyba byłby o tyle wg mnie nieporozumieniem w takim projekcie, bo tutaj liczy się chyba głównie mały pilocik i szybkie włącz/wyłącz gdy się podjeżdża czy odjeżdża autkiem a nie zabawa w odpalanie aplikacji w komórce czy laptopie.

    No ale to moje i tylko subiektywne zdanie. Hmm chociaż pewnie wtedy można byłoby zrobić jakieś wygodniejsze parowanie kluczy w postaci aplikacji na PC czy na komórce - tyle - że też ile razy się z czegoś takiego skorzysta w trakcie życia takiego projektu ?

  • #13 11 Kwi 2012 23:25
    Mateusz-me-1990
    Poziom 15  

    mirekk36 napisał:
    Takie mam pytanie, o ile mógłbyś pokazać wnętrze pilocika .... zawsze meczę się z instalacją beteryjek w takich pilotach - podejrzałbym twoje rozwiązanie, ale jeśli to nie kłopot?


    Zgodnie z prośbą wstawiam zdjęcia bebechów pilota. Możesz zauważyć dwa kabelki do przycisków, bo już po wykonaniu płytki skojarzyłem, że źle podłączyłem przyciski. Akurat nie do tego numeru portu, którym mógłbym wybudzić procesor z głębokiego snu. Całość ciut błyszczy, a to tylko dlatego, że całość po wykonaniu została pokryta preparatem Plastik. Jest to chyba trzecia wersja pilota, a czeka mnie jeszcze kolejna wersja.

    wzmak123 napisał:
    Wszystko fajnie a dlaczego nie zastosowałeś dodatkowego kanału sterowanego fazowo zyskujemy regulacje jasności i to dość niskim kosztem


    Takie postawiłem sobie założenia tylko tyle :D . Nie czułem potrzeby regulacji jasności. Z drugiej strony sterowane przeze mnie lampy są przełączane rzadko i dlatego zrezygnowałem z triaków i zastosowałem przekaźniki. Ułatwiając tym sposobem kwestię izolacji pomiędzy częścią sieciową, a niskonapięciową. Przy takiej fazowej regulacji należałoby dodatkowo zamocować odpowiedni filtr sieciowy, bo takie regulatory nawet przy obciążeniu samą żarówką dosyć mocno sieją zakłóceniami do sieci. Miałem okazję przebadać takie proste regulatory na triakach podczas laboratorium i powiem Ci, że nie wiem jakim cudem takie rzeczy trzymają się na rynku ;). Też nie wiem jakbym mógł wtedy zrealizować kontrolę jasności z pilota by urządzenie było jak najbardziej intuicyjne i nie wymagało za dużo klikania.

    wzmak123 napisał:
    i dlaczego nie bluetooth moduły kosztują już od 40zł i zyskujemy większe pole popisu np sterowanie z komórki lub laptopa ?


    Tutaj zaważyło kilka czynników, którymi się kierowałem. Głównie dlatego, iż nie czułem potrzeby sterowanie takim urządzeniem z komputera, czy też telefonu. Takie radiowe załączanie wykorzystuje głównie wracając późną porą, a taki gotowy pilot jest bardzo prosty i intuicyjny w obsłudze. Fakt telefon byłby tańszy, bo wymagałby samego oprogramowania. Kolejna sprawa to pobór prądu przez takie moduły. Miałem styczność z jednym dosyć popularnym tj. BTM-112 i według jego dokumentacji pobór prądu jest znaczny w porównaniu do tych zastosowanych u mnie, a pracuje w klasie 2, która w teorii zapewnia 10m zasięgu. Ciekawe jakby to wyszło w terenie. Możliwe, że Ty znasz jakieś bardziej energooszczędne moduły wspierające jakieś tryby niskiego poboru energii, o których ja nie słyszałem. Ostatnia sprawa to samo pasmo. Celowo wybrałem 868MHz by nie pracować w bardziej zatłoczonym i popularnym 433MHz jak i 2,4GHz.

  • #14 11 Kwi 2012 23:50
    mirekk36
    Poziom 42  

    Dzięki za fotki ;) ... a przy okazji spory scalak procka tam zmieściłeś. Generalnie fajnie zobaczyć, bo widać że w tej obudowie sporo można upchać ;)

  • #15 12 Kwi 2012 00:01
    Mateusz-me-1990
    Poziom 15  

    Procesor taki głównie z racji, iż mam do nich dostęp wyciągając je z pewnych pulpitów sterowniczych. Ostatecznie można kupić mniejszy procek tej samej rodziny w obudowie TSOP i on zająłby już o wiele mniej miejsca. Lecz po co kupować nowe scalaki skoro stoi karton z takimi o to przeze mnie użytymi, które można wykorzystać za darmo :D .