Elektronika, mikrokontrolery, programowanie, komputery, sieci ... to moja praca i moje hobby | |||||
Menu | Elektronika - projekty - FRIG | eKamSoft.pl | |||
Start O mnie Copyright Elektronika - Poradniki - Projekty - Linki Kociaki Kontakt |
FRIG Technologia RFID zawsze mnie interesowałą ale ciągle było coś innego do zbudowania. W końcu stwierdziłem że przyszedł właściwy czas. Oczywiście nie było sensu budowy wszystkiego od początku także po analizie internetu znalazłem na stronie www.mikromania.pl gotowy czytnik z dekoderem w postaci modułu (RFID1). Czytnik generował kod transpondera w postaci transmisji szeregowej standardu RS232 (5V) w konfiguracji 9600,8,1,N,brak kontroli przepływu. Pozostało jedynie mikrokontrolerem odebrać te dane do dalszej obróbki. Jako że nie miałem jeszcze pomysłu na konkretny projekt wykorzystujący tą technologie postanowiłem zacząć od zbudowania modułu warsztatowego na którym mógłbym eksperymentować. Z założenia moduł miał odebrać kod czytnikiem i zwizualizować na wyświetlaczy lcd 16x2. Dodatkowo moduł miał zawierać stabilizator 5V z możliwością dołączenia dowolnego zasilacza wtyczkowego. Jako mikrokontroler został wybrany PIC16F876A. Moduł jak widać na schemacie ideowym można podzielić na cztery zasadnicze bloki. Zasilacz z gniazdem DC 2.1 mm, mostkiem, stabilizatorem na 7805 wraz z kondensatorami tłumiącymi tętnienia (1000uF,100uF) i likwidującymi piki (100nF), diodami zabezpieczenia przepięciowego oraz zieloną diodą led sygnalizującą załączenie zasilania. Dzieki takiemu rozwiązaniu możemy śmiało podłączyć dowolny zasilacz wtyczkowy z napięciem w zakresie 8-12V. Można podłączyć również i wyższe napięcie ale wtedy przydałby się mały radiator dla 7805. Przy wyborze zasilacza należy pamiętać o nie przekroczeniu napięcia dopuszczalnego dla 7805 (35V). Kolejnym blokiem jest mikrokontroler PIC16F876A wraz z dodatkowymi elementami wymaganymi do pracy. Należą do nich: kwarc 4MHz wraz z kondensatorami 22pF, złącze programowania ICSP, układ zerowania po włączeniu zasilania (elementy przy nóżce 1), dioda zabezpieczająca układ przy programowaniu (nóżka 1) (pojawia się wtedy napięcie 13V na nóżce 1) oraz cztery diody led sygnalizujące aktualny stan modułu. Następnym blokiem jest wyświetlacz lcd 16x2 wraz z trymerem 10kom do regulacji kontrastu i rezystorem ograniczającym prąd podśwetlania. Rezystor ograniczenia prądu może być pominiety. Zależy to od zastosowanego wyświetlacza i jego podświetlania. W modelowym układzie został zastosowany wyświetlacz niebieski z białym podświetlaniem i prądem około 16mA dlatego też rezystor został pominięty. Testowo podłączałem też leciwy wyświetlacz zielony który potrzebował aż 120mA. W takim wypadku można by było pomyśleć o ograniczeniu tego prądu. Wyświetlacz został rozbudowany o złącze pinowe dzieki czemu może być odłączany i wykorzystywany w innych modułach. Takie rozwiązanie jest dodatkowo konieczne ponieważ złącze programujące (ICSP) wykorzystuje linie portu B które są podłączone do wyświetlacza i programowanie (PICKIT 2) z podłączonym wyświetlaczem było niemożliwe. Tutaj małe wyjaśnienie otóż układ pinów na złączu ICSP jest zgodny z programatorem PICKIT 2 (Vpp,Vdd,Vss,DAT,CLK). Osobiście stosuje takie rozwiązanie od lat i mam dorobiony pięcioprzewodowy kabel zakończony z jednej strony męskim złączem (PICKIT 2) a z drugiej strony żeńskim (moduł). Wyjaśnienia wymaga jeszcze złącze obecne na schemacie przy nożce zasilania mikrokontrolera (5V). Jest to zwora którą rozłączamy na czas programowania. Dzieki temu programator zasila tylko sam mikrokontroler. Ostatnim blokiem jest odbiornik-dekoder. I jeszcze małe wyjaśnienie dotyczące diod led przy mikrokontrolerze. Ich funkcja jest następująca. RC3 - dioda zielona sygnalizuje odbiór z transpondera nowego kodu. RC2 - dioda żółta sygnalizuje odbiór kodu potórzonego. RC1 - dioda czerwona sygnalizuje błąd odbioru ramki z czytnika. Ostatnia RC0 - dioda żółta ma za zadanie informować miganiem o poprawnej pracy mikrokontrolera. Program obsługi modułu został napisany w języku C w środowisku MPLAB X IDE oraz skompilowany do formatu HEX kompilatorem XC8 w wersji 1.20. Kod programu został podzielony na kilka bloków rozdzielonych nagłówkami z komentarzy które wyjaśniają pełnione zadanie każdego z nich. Myśle że jest on na tyle przejrzysty iż nie wymaga dodatkowego komentarza. Na zakończenie zestawienie materiałów i linków niezbędnych/przydatnych do wykonania czytnika oraz kilka zdjęć ilustrujących szczegóły jego budowy oraz funkcjonowania.
- Schemat ideowy. Rafał Szulc |
||||
Copyright (c) by eKamSoft 1974-2024 |