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:
- Mikrokontroler Atmega328 z wgranym bootloaderem
- Przekaźnik 12V (układ pinów taki sam jak w popularnym module przekaźnika używanym w prototypie)
- Kilka złącz lub jeśli nie mamy pod ręką to mogą być też listwy goldpinów
- Rezonator kwarcowy 16 MHz
- Złącza ARK 5mm
- Transoptor PC817
- Tranzystory BC547
- Trochę kondensatorów, rezystorów oraz dławik (dokładne wartości znajdują się na schemacie)
- Stabilizator LM7805
- Dioda Zenera 3V9
- Podstawka DIP28
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 :)
Cześć
Czy zrobiłbyś update tutoriala dodając jeszcze jeden czytnik? Założenie że mamy dwie furtki.
Cześć, pomyślę o tym, ale nic na teraz nie mogę obiecać bo z tego co pamiętam to cięzko podłączyć 2 takie moduły RFID do jednego Arduino