Doorlock – elektroniczny zamek do drzwi

Doorlock – elektroniczny zamek do drzwi

Jakiś czas temu wpadłem na pomysł zrobienia zamka elektronicznego do drzwi.  Jak bylem młodszy to już robiłem podobne projekty na bramkach logicznych, niestety tylko prototypy na płytce stykowej. Kiedy myślałem o zaprojektowaniu takiego urządzenia, chciałem na początku właśnie zastosować stary schemat,  lecz miało to kilka wad m.in. brak programowalności i trudna zmiana pinu, skomplikowany układ i bardzo trudny do lutowania. Szybko z niego zrezygnowałem i postanowiłem całość oprzeć o Atmege16. Z racji, iż rozwijam projekty modułów na tą rodzinę uC,  to było mi to bardzo na rękę. Gdy przemyślałem wszystko, to czas się wziąć za planowanie. Projekt musiał spełniać kilka kryteriów:

  1. Możliwość zamykania i otwierania od zewnątrz i wewnątrz
  2. Mocno blokować drzwi, aby nie dało się ich wyważyć

Chciałem aby projekt był całkowicie wykonany przez mnie. Elektronika, oprogramowanie, elementy mechaniczne i obudowa (druk 3D) musiały zostać zaprojektowane. Z jednej strony było to mega fascynujące, że wszystko będę robił sam,  ale z drugiej to wymagało poświęcenia sporej ilości czasu, której w dzisiejszych czasach coraz mniej :( Ale podjąłem się wyzwania.

 

Przygotowanie

Oczywiście rozpocząłem od naszkicowania wszystkiego na papierze. Zrobiłem odpowiednie pomiary i nadszedł czas na dłuższe przemyślenie, jak zaprojektować cześć mechaniczną, czyli rygiel z prowadnicą.  Nasuwało się kilka pytań:

  1. Z czego wykonam rygiel, i jak go przymontuję,  gdyż ściana jest działowa i kolki szybko z niej wypadną?
  2. W jaki sposób będę przesuwał ryglem, czyli prawdopodobnie przeniesienie ruchu obrotowego w liniowy?
  3. Jak zasilać cały układ? To chyba najważniejsze pytanie,  bo głowiłem się nad nim długo.

 

 

Prace

Część mechaniczna na razie nie była obowiązkowa, bo i tak trzeba było zmontować cały układ oraz napisać program do niego. Więc zacząłem od przygotowania prototypu na płytce stykowej i programowania. Układ wymagał obsługi klawiatury, sterowania serwomechanizmem (bo własnie je wybrałem do przesuwania rygla), wyświetlacz LCD (nie LED gdyż do wyświetlania będzie dużo treści) oraz kilka przycisków i diod LED. Do realizacji projektu użyję tych modułów:

  1. Moduł LCD
  2. Servo moduł – w pierwszych wersjach nie było, servo było sterowanie bezpośrednio w programie. Kiedy stworzę ten moduł zaktualizuję oprogramowanie.
  3. Keyboard moduł – oprogramowanie istnieje na GitHubie, lecz muszę dodać wpis na blogu

Kiedy część programowa zakończyła się powodzeniem, mogłem przystąpić do projektowania części mechanicznej. Oto moje odpowiedzi na pytania z przemyśleń:

  1. Rygiel i cały mechanizm będzie modelowany przez mnie od początku i wydrukowany na 3D. Do ściany przyczepię na zwykłe wkręty albo klej, bo nie będzie miało to znaczenia, iż elementem głównym, blokującym drzwi, będzie metalowy mostek przymontowany grubymi wkrętami do framugi drzwi.
  2. Wybrałem najłatwiejszy mechanizm zębatkowy: koło zębate porusza się po rdzeniu wymuszając jego przesunięcie.
  3. Wybrałem zasilacz 5V podłączany do 230V, więc alarm trzeba podłączyć do gniazdka, w przypadku braku zasilania nie będzie problemem wpiąć się zewnętrznym zasilaniem. Może w przyszłości dorobi się powerbank do alarmu, aby w razie awarii zasilania on dalej działał.

 

 

Wymyślenie całego mechanizmu, zaprojektowanie go oraz stworzenie obudowy i innych elementów 3D zajęło mi mnóstwo czasu i nie obyło się bez pomyłek. Pierwsza wersja alarmu działała pięknie jako prototyp na kawałku sklejki, natomiast kiedy przymontowałem go na właściwe miejsce, to odmówił już posłuszeństwa. Kilka błędów jakie dostrzegłem i przez które mógł nie działać poprawnie:

  1. Serwo naciska od lewej krawędzi na rygiel, co skutkuje lekkim przekrzywieniem rygla i zębatka często przeskakuje kroki.
  2. Rygiel ociera bezpośrednio o ścianę, co powoduje zwiększenie tarcia i servo nie jest wstanie go przesunąć.

 

 

Te elementy zostały naprawione w wersji 2. Rygiel przesuwa się teraz po plastikowej podstawce, co znacznie zmniejszyło tarcie, a serwo zostało przeniesione i zębatki umiejscowione są od góry klocka. Całość zaczęła pięknie działać :D

 

Została tylko kwestia wizualna, czyli wymyślić jak zamaskować przewody. W głowie mam pomysł na zaprojektowanie 3D odpowiednich elementów, gdyż maskownice w sklepie są dość drogie i ciężko z wymiarami, a w druku 3D mam walną rękę. Była by to moim zdaniem najlepsza opcja zrobić kilka modułów które można dowolnie łączyć w całość (elementy proste, skośne i etc...)

 

Aktualizacja #1

Została dorobiona maskownica do przewodów, projekt 3D dostępny tutaj. Całość wygląda teraz o niebo lepiej. Dodatkowo mogę wykorzystywać maskownice wszędzie, gdzie mi się podoba, więc jej projekt uważam za przyszłościowy, bo spisuje się rewelacyjnie.

 

 

Podsumowanie

  1. Myślę, że udało mi się zachować jakąś modułowość w projekcie i tym samym jego rozbudowa i rozwój będzie bardzo prosty. Każda wersja ma odpowiednie tagi na GitHubie oraz jako osobny projekt na Thingiverse, wiec jeśli będzie potrzeba budowy jednej z poprzednich wersji, to nie powinno być z tym problemu.
  2. Dzięki wyprowadzeniu pinów programowalnych (MOSI, MISO, RESET, SCK) oraz obudowie którą można łatwo odczepić od ściany (wysunąć z prowadnicy) nie ma problemu z rozwijaniem oprogramowania i ulepszeniami.
  3. Serdecznie zapraszam do wpisu na moim blogu na którym jest więcej zdjęć :D

 

Plany na przyszłość:

  1. Zamaskowanie przewodów, aby całość się estetycznie prezentowała.
  2. Implementacja modułu servo.
  3. Ulepszanie układu i oprogramowania o pamięć EEPROM, w której zapisywany będzie pin. Dzięki temu po resecie urządzenia nie trzeba będzie zmieniać pinu na nowo.
  4. Rozbudowa menu i funkcjonalności. Opcja zmiany pinu, dodania nowego.
  5. Możliwość otwierania drzwi kartą magnetyczną, odciskiem palca i inne futurystyczne bajery :D
  6. Moduł Wi-Fi do komunikacji z serwerem (wymaganie projektu Smartroom oraz otwiera drogę do nowych możliwości i rozwoju)

 

Źródła i linki:

Thingiverse (wersja 1, wersja 2), maskownica, Eagle, GitHub (wersja 1, wersja 2), Youtube (prototyp v1, wersja 2), orginalny wpis

Ocena: 5/5 (głosów: 8)

Podobne posty

17 komentarzy do “Doorlock – elektroniczny zamek do drzwi

  • Nie wiem czy dobrze widzę, ale chyba zastąpiłeś oryginalny rygiel tym wydrukowanym. Jeżeli tak faktycznie jest to pewnie oparcie się o drzwi może spowodować wyłamanie tego zabezpieczenia. To taka uwaga odnośnie elementu wykonawczego. Ja poszedł bym jednak w stronę operowania na oryginalnym mechanizmie. Sam drukuję i wiem, że filament potrafi być stosunkowo mocny, ale jednocześnie zdaję sobie sprawę, że nie ma to jednak startu do metalu w wielu przypadkach. Kolejna sprawa to możliwość odblokowania nawet bez wyłamywania. Po zdjęciach wydaje mi się(proszę skoryguj mnie jeżeli się mylę), że elementy sterujące są na zewnątrz, więc można zdjąć po prostu maskownicę i sobie samemu serwo zasilić, tym samym otwierając nawet najmocniejszy rygiel. Ja planuję w jakiejś bliżej nieokreślonej przyszłości też zrobić ryglowanie drzwi, ale w oparciu o sygnały z beaconów poszczególnych domowników. Oczywiście jest możliwość podszycia się pod dany beacon, ale z zewnątrz nie będzie dostępu do elementów.

    Nie traktuj oczywiście mojej odpowiedzi jako krytykę, to tylko moje spostrzeżenia i fajnie że bawisz się w coś takiego.

    Odpowiedz
    • Nie, rygiel byl wbudowany w dzwi i nadal jest, ten został poprostu dodany. Niestety uzycie orginalnego zamka nie wchodzilo w gre ponieważ lubil się zacinać (czyszczenie nic nie pomagalo) miedzy innymi dlatego postanowilem wykonac nowy.
      Co do wytrzymalosci to wiez mi ze nie sposob aby się złamał, prędzej dzwi by sie połamały. Element blokujący jest metalowy i wkrecony grubymi wkrętami w framugę. Jesli chcesz zobaczyć jak dokladnie całość wyglada, to możesz wejść na mojego bloga gdzie jest znacznie wiecej zdjęć (z braku możliwości dodania galerii musialem wybrac tylko kilka).
      Co do ingerencji w uklad, jak najbardziej jest to możliwe, wystarczylo by zewrzeć goldpiny od przycisku ktory otwiera drzwi od wewnątrz, ale po pierwsze trzeba wiedzieć ktore to kabelki no i znac sie na elektronice, a u mnie w domu nie ma nikogo takiego poza mną. Nie jest to uklad do zabezpieczania np. domu, bardziej służy w celu edukacji i zabawy. Pozdrawiam i życzę powodzenia w twoim projekcie :)

      Odpowiedz
  • jako projekt zabawowy – super
    jako coś poważniejszego – niestety dużo problemów … główne to
    1) bardzo słaby rygiel (ale to łatwo poprawić)
    2) brak pamiętania PIN (ale to już wiesz i masz na todo liście)
    3) bardzo proste obejście zamka …. całe sterowanie po stronie zewnętrznej. Powinieneś rozbić projekt na 2 części:
    – część zewnętrzną – wyświetlacz + guziki + prosta logika
    – część wewnętrzną – która faktycznie steruje siłownikiem/serwo/silnikiem/etc
    dzięki takiemu podejściu nie da się bezpośrednio zasilić serwa/siłownika, zdecydowanie trudniej jest to obejść

    A – jeszcze jedno – dobrze by było wymyślić sposób awaryjnego zasilania (nawet jak już dodasz power bank – on też może się wyczerpać). Jakieś ładne złącze, które umożliwi naładowanie power banku

    Odpowiedz
    • Bo to głownie projekt zabawowy jak juz pisałem. Na nim sie duzo uczę :)

      Ad. 1) Słaby to bym nie powiedział. Jak wypełnienie dałem 100% to walenie młotkeim nic mu nierobiło praktycznie, dopiero imadło + dzwignia sobie poradziły ze złamaniem. (ale to i tak jest do pokoju mojego zamek, gdzie raczej latwiej bylo by wyważyć dzwi :))

      Ad. 2) Tak pracuje nad nowym oprogramowniem

      Ad. 3) Tak wiem, ale to odrazu mnie ratuje przed tym jak by cos sie stało (brak prądu, zepsuty uC) bo moge łatwo otworzyć dzwi za pomocą prostego sterownika do serva

      Pozdrawiam Kuba! :D

      Odpowiedz
  • Mam zmajstrowany podobny zamek. Ale zamiast serwa mam zastosowany elektrozaczep, w ościeżnicy . Skróciłem trzpień kwadratowy aby od zewnątrz nie było dostępu. Kod mojego zamka zapisywany jest w pamięci eeprom, jest możliwość zmiany kodu z poziomu klawiatury. Zmniejszyłem też ilość pinów użytych do komunikacji avr > lcd stosując konwekter i2c. Miałem w planach także użycie konwertera do klawiatury ale bym miał prawi gołą atmegę xdd. Do mojego projektu dodałem możliwość sterowania z poziomu telefonu za pomocą esp8266. W planach mam,dodać możliwość otwierania kartą rfid. (Już leci moduł z Chin). Gdy dodam rfid do projektu pochwalę się nim. ;-) Jedynie jakie błędy mam to jest łatwe obejście układu, oraz jakiś błąd w oprogramowaniu gubi co jakiś czas pin. Awaryjne zasilanie mam zrealizowane na baterii od laptopa, jest możliwość podłączenia dodatkowego źródła w razie rozładowaniu akumulatora, będę wymieniał na akumulator żelowy z 20 Ah.

    Odpowiedz
  • A co w przypadku pożaru?
    Brak zasilania, a pomieszczenie stoi w ogniu – co wtedy?
    Pomyśl o jakimś mechanicznym otwieraniu awaryjnym.
    W obiektach przemysłowych stosuje się tzw zwory, dopóki jest zasilanie, to elektromagnes trzyma i drzwi są zablokowane, w przypadku pożaru i odcięcia zasilania wszystkie drzwi są otwierane, aby ludzie mogli opuścić obiekt.

    Odpowiedz
    • Kolego to projekt hobbystyczny :)
      A co w przypadku pożaru i masz na klucz zamkniete dzwi, a klucz jest nie wiadomo gdzie? :)
      Gdybym miał to wszystko brac pod uwagę (każdą podatność) to bym nigdy nie skończył tego projektu ;p
      Ale dzięki za uwagę

      Odpowiedz
  • I właśnie z tego powodu, że jest to projekt hobbystyczny, to tymbardziej powinien mieć mechaniczne otwieranie awaryjne :)

    Przykład sytuacji z pożarem może nie trafiać, bo do pożarów dochodzi raczej rzadko. Wyobraź sobie sytuację – masz bardzo ważne spotkanie o godz 8.
    Budzik nastawiłeś na 7.30, bo wstać, umyć się i ubrać – spokojnie 20 min wystarczy i zostaje 10 min na dotarcie na spotkanie.
    Wstajesz rano, a tu konstrukcja nie działa, wszak to konstrucja hobbystyczna – awaria może się zdarzyć. Ew. nastąpiła przerwa w dostawie elektryczności.
    I teraz dopiero szukaj narzędzi, żeby ustrojstwo zdemontować!

    Odpowiedz
  • Na tym forum jest baza pod zamek cyfrowy (kod) który można modyfikować jak się chce, Wykonanie rygla … cóż daje kopa i rygiel się rozlatuje. Ja zrobiłem rozwiązanie z blokowaniem klamki oczywiście kalamka musi być typu “gałka” żeby intuz nie miał możliwości przekręcenia rygla.

    Odpowiedz
  • Wiem, wiem, wiem… tłumaczyłeś już to innym – tylko projekt hobbystyczny itp ale jak już planujesz wdrożyć swój projekt, to wyrabiaj sobie dobre nawyki. Złożenie czegoś na płytce stykowej to tylko początek. Obrypana futryna, za krótkie korytko nie zasłaniające kabli przy klawiaturze i cała masa takich kwiatków. Uwierz mi – weźmiesz się za coś nowego, a te niedoróbki będą skazane na wieczne oczekiwanie na naprawienie. W końcu – drukarka 3D to fajna sprawa, ale nie traktuj jej jako remedium na wszystkie problemy młodego konstruktora. Materiał używany do drukowania nie specjalnie nadaje się do drukowania części, które mają ze sobą pracować. już czasem lepiej próbować wyciągnąć jakiś mechanizm z zezłomowanego sprzętu elektronicznego albo AGD i go sobie zaadoptować. Pierwsze prawo Murphy’ego wskazuje, że wydrukowana zębatka zatrze się akurat kiedy będziesz na zewnątrz, drzwi będą zamknięte, a tobie będzie się bardzo spieszyło.

    Odpowiedz

Odpowiedz

anuluj

Masz uwagi?