Projekt: Kontrola dostępu cz. 3

W naszym projekcie mamy już za sobą działający prototyp na Arduino, aplikację w C# do konfigurowania urządzenia. Teraz w końcu nadszedł czas na przekształcenie prototypu na płytce stykowej w pełnoprawne, niezależne urządzenie. W ostatniej części projektu zajmiemy się narysowaniem ostatecznego schematu, zaprojektowaniem i wykonaniem płytki, a także przeprowadzimy testy w trudnych warunkach :)

Schemat oraz płytka drukowana

Jak wspominałem w pierwszej części lista potrzebnych części może ulec zmianie. Tak też się stało – do ostatecznej wersji dojdzie nam m.in. trochę złączy, tranzystory, zwykły przekaźnik zamiast całego modułu.

Zacznijmy od zasilania. Często przy instalacjach domofonów spotykamy się z napięciem zasilania 12V. Jak można wyczytać w dokumentacji maksymalne napięcie z jakim może pracować mikrokontroler Atmega 328 to 5V. Wynika z tego, że pierwszą rzeczą o jakiej musimy pomyśleć to stabilizator, który ustali nam stałe napięcie na poziomie 5V.

Korzystając z Arduino nie musimy się o nic martwić, podłączamy płytkę do portu USB lub zasilacza przez złącze DC jack i wszystko działa. Tworząc własną płytkę musimy zadbać o to, aby zasilanie mikrokontrolera było stabilne. Musimy więc odpowiednio je przefiltrować stosując kondensatory, dławiki oraz podciągając pin RESET do napięcia zasilania.

Kolejną rzeczą, o którą musimy zadbać jest poprawne wysterowanie przekaźnika. Taki przekaźnik składa się z cewki, która rozładowując się może (i prawdopodobnie to zrobi w większości przypadków) wytworzyć szpilkę wysokiego napięcia, które momentalnie uszkodzi nasz mikrokontroler, albo przynajmniej jego pin GPIO. Aby temu zapobiec należy dołączyć do schematu diodę, która wymusi kierunek przepływu prądu podczas rozładowywania cewki, zastosować tranzystor do sterowania cewką, a to wszystko dodatkowo wysterować przez optoizolator.

Na górze oraz po lewej stronie mikrokontrolera na schemacie widzimy całą sekcję zasilania: kondensatory, dławik, stabilizatory napięcia. Dioda D1 powinna być diodą Zenera o napięciu 3.9V. Przy takim napięciu oraz doliczeniu spadku na złączu p-n tranzystora ok. 0,7V powinniśmy uzyskać napięcie bliskie 3.3V.

Wyznaczając ścieżki na PCB warto pomyśleć jak najkorzystniej rozłożyć elementy tak, żeby udało się to zrobić na jednej warstwie, dzięki czemu będziemy mogli łatwo wytrawić taką płytkę domowymi sposobami.

Warto też ścieżki na wyjściu przekaźniak zrobić grubsze, ponieważ jeżeli przekaźnik ten będzie sterował elektrozaczepem furtki to może nimi płynąć całkiem spory prąd.

Pliki ze schematem oraz płytką do programu EAGLE można pobrać tutaj.

Wykonanie płytki

Płytkę można wykonać na kilka sposobów:

  • Metodą termotransferu (najpopularniejsza, oraz najłatwiejsza do wykonania w domowych warunkach)
  • Metodą fotochemiczną (trudniejsze oraz bardziej kosztowne, ale efekt końcowy nieco ładniejszy)
  • Zamawiając płytkę w zewnętrznej firmie

Ja akurat miałem możliwość wyfrezowania swojej płytki na frezarce CNC na uczelni, więc z niej skorzystałem :)

Gotowa płytka wygląda tak:

Po zlutowaniu urządzenie powinno prezentować się mniej więcej tak:

Jak widać dodatkowe części, które będą nam potrzebne to:

Na swojej płytce na próbę nie wlutowałem diody Zenera oraz tranzystora obok niej, gdyż z moich obserwacji wynika, że moduł RFID bez żadnych problemów działa bez podłączonego 3.3V na pin VCC, jednak jeśli chcielibyśmy być super poprawni to możemy te elementy wlutować – na pewno nie zaszkodzimy tym.

Po zlutowaniu całości pozostało nam włożyć procesor z wgranym programem w podstawkę. Aby móc szybko programować urządzenie wystarczy podłączyć piny złącza oznaczonego na schemacie jako PROG do Arduino Uno z wyjętym mikrokontrolerem i programować jak normalne Arduino. Należy pamiętać, że jeżeli nasze urządzenie jest zasilane z zewnątrz to nie podłączamy pinu 5V. Pozostałe piny podłączamy w odpowiadające piny na płytce Arduino tj. RESET w RESET, GND w GND, RX w RX oraz TX w TX.

Testy

Kiedy zlutowałem wszystkie elementy na płytce na dworze była akurat idealna temperatura by przeprowadzić małe testy urządzenia w terenie.

Zapakowałem więc całość w foliową torebkę „symulującą” obudowę, aby płytka się nie oszroniła i wyniosłem całość na dwór pod altankę na całą noc. Po kilku godzinach wyszedłem i zrobiłem test sprawności.

Wszystko działało dobrze, więc zostawiłem urządzenie samemu sobie na kolejne długie godziny. Kiedy około południa wszystko dalej działało postanowiłem wykonać kolejny test. Przyłożyłem kartę zaprogramowaną w systemie do czytnika tak, aby ten cały czas ją odczytywał i zostawiłem tak na kolejny dzień. Dzięki temu można było sprawdzić jak urządzenie poradzi sobie z nieustannym całodniowym załączaniem przekaźnika na 20-sto stopniowym mrozie. Okazało się, że bez najmniejszego problemu udało się przejść wszystkie testy.

Teraz możemy bezpiecznie zamontować taki system kontroli u siebie i cieszyć się łatwym w użytkowaniu i jednocześnie dość unikalnym sposobem otwierania elektorzaczepu w furtce :)

Spis treści

  1. Program dla arduino (cz. 1)
  2. GUI do programowania w C# (cz. 2)
  3. Schemat oraz projektowanie PCB (cz. 3) (tutaj jesteś)