- dwustronna komunikacja pomiędzy nadajnikiem i odbiornikiem,
- możliwość pracy z potwierdzeniem (ACK) lub bez (NACK),
- powiadamianie wysyłane po wciśnięciu przycisku,
- optyczna i akustyczna sygnalizacja powiadomienia i optyczna sygnalizacja potwierdzenia,
- łącze radiowe w paśmie 868 MHz,
- napięcie zasilania 3,3 V lub 5,5…15 V.
Zaprezentowany układ może mieć zastosowanie w sytuacjach, kiedy użytkownik wysyłający powiadomienie musi mieć pewność, że jego zgłoszenie zostało odebrane. Kimś takim może być osoba chora, która znajduje się w innym pomieszczeniu niż reszta domowników. Znajdzie zastosowanie również w systemach wymagających komunikacji na drodze człowiek-maszyna.
Kiedy urządzenie zgłosi operatorowi, że np. nastąpiło zablokowanie podajnika, to operator podejmuje działania zaradcze. Kiedy skończy, wysyła informację zwrotną do maszyny, że możliwe jest wznowienie pracy.
Całe urządzenie składa się z dwóch modułów: nadawczego i odbiorczego. Moduł nadawczy jest nadrzędny w stosunku do odbiorczego, ponieważ to on inicjuje komunikację. Odbiornik jedynie wysyła informację zwrotną, będącą odpowiedzią na sygnał z nadajnika.
Budowa i działanie
Schemat ideowy układu został pokazany na rysunku 1. Zarówno nadajnik, jak i odbiornik, mają identyczny układ elektryczny i taki sam schemat płytki drukowanej. Różnią się oprogramowaniem mikrokontrolera.
W projekcie zastosowano dobrze znany układ ATtiny24A. Ma on wystarczającą ilość pamięci Flash oraz liczbę wyprowadzeń do realizacji tego zadania. Taktowany jest sygnałem zegarowym o częstotliwości 8 MHz pochodzącym z wbudowanego generatora RC i zarządza pracą modułu transceivera radiowego typu RFM12B. Oba podzespoły wymagają zasilania napięciem 3,3 V. Tor radiowy pracuje w paśmie 868 MHz, które nie wymaga pozwoleń na nadawanie, o ile odbywa się ono z określoną, niewielką mocą. Moduł radiowy nie ma wbudowanej anteny, dołącza się ją do płytki oddzielnie, o zostanie wyjaśnione w dalszej części artykułu.
Do zaprogramowania pamięci Flash oraz konfiguracji fuse-bitów jest przewidziane złącze J1. Można posłużyć się stosownym klipsem na układy w obudowach SO14, jednak złącza szpilkowe są zdecydowanie pewniejsze pod względem niezawodności styku. Zarówno programowanie mikrokontrolera, jak i komunikacja z modułem radiowym, odbywają się przez te same wyprowadzenia interfejsu SPI. Aby nie dochodziło do kolizji programatora z transceiverem, został dodany rezystor R1. Kiedy mikrokontroler jest w stanie zerowania, co ma miejsce np. podczas programowania, zadaniem tego rezystora jest podciąganie wyprowadzenia NSEL w układzie radiowym do potencjału odpowiadającego logicznej „1”. Po wznowieniu pracy przez mikrokontroler, stan logiczny tej linii zostaje zmieniony na „0” i część odpowiedzialna za komunikację modułu radiowego poprzez SPI zostaje uruchomiona.
Wyboru trybu pracy (z potwierdzeniem/bez potwierdzenia) dokonuje się poprzez nałożenie zworki na wyprowadzenia JP1. Z kolei, wybór adresu układu odbywa się poprzez nałożenie kropli spoiwa lutowniczego na pola SJ1 i SJ2. Umożliwia to jednoczesną pracę czterech takich systemów na jednym obszarze, wzajemnego zakłócania się. Zostały tu wykorzystane wewnętrzne rezystory podciągające mikrokontrolera, by nie powiększać niepotrzebnie rozmiarów płytki.
Złącze J2 służy do podłączenia przycisku. Ponieważ odległość między nim a płytką może wynosić kilkadziesiąt centymetrów lub więcej, zostało uwzględnione zabezpieczenie tego wejścia przed wyładowaniami elektrostatycznymi oraz zakłóceniami elektromagnetycznymi. Rezystor R3 włączony w szereg z wyprowadzeniem mikrokontrolera, ogranicza prąd diod zabezpieczających to wejście. Zwiększa także czas narastania napięcia na nich. Ponieważ jego rezystancja jest znacząca, został wyłączony wewnętrzny rezystor podciągający to wejście, aby możliwe było wymuszenie na nim stanu niskiego po wciśnięciu przycisku. Jego rolę pełni R2, którego rezystancja jest wysoka, aby przypadkowe dotknięcie (nawet mokrą ręką) odsłoniętych części przycisku nie groziło porażeniem. Napięcie, które tam panuje, jest bardzo niskie, a prąd zwarcia dodatkowo ograniczono do ok. 30 µA.
Zasilanie układu odbywa się poprzez złącze J3. Jeżeli dysponujemy napięciem o wartości z przedziału 5,5…15 V, wbudowany stabilizator US3 ograniczy je i ustabilizuje. Jeżeli zaś jest dostępne napięcie 3…3,3 V, można stabilizator US3 wymontować, a zworkę SJ3 zalać kroplą spoiwa lutowniczego. Górna granica dopuszczalnego napięcia zasilającego układ wynika ze strat na stabilizatorze US3. Założono, że może on wytracić moc nieprzekraczającą 500 mW. Trzeba tutaj wziąć pod uwagę najgorszy możliwy scenariusz, czyli ciągłą pracę sygnalizatora akustycznego, który pobiera znaczny prąd.
Dwa wyjścia sygnalizujące stan układu są typu „otwarty kolektor”, obsługują je tranzystory T1 i T2. Można do nich podłączyć superjasne diody LED lub przekaźniki, przełączające większe prądy. W przypadku tych drugich trzeba pamiętać o dodatkowej diodzie włączonej równolegle do cewki. Na płytce zostały uwzględnione niewielkie diody LED w obudowach SMD0805, które również sygnalizują stan układu. Dodatkowo, wyjście alarmu jest obsługiwane przez niewielki sygnalizator akustyczny. Dioda D1, która jest włączona szeregowo z nim, zapobiega nieprawidłowemu zasilaniu przez podłączone do zacisków złącza J4 dodatkowe obciążenie. Jeżeli napięcie VCC wynosi np. 12 V i do tranzystora T2 będzie podłączony dodatkowy element wykonawczy (np. przekaźnik), to dioda D1 zostanie zatkana. Po nasyceniu T2, oba podzespoły zaczną działać, gdyż potencjał jego kolektora niemal zrówna się z potencjałem masy.
W przypadku, gdy nie będzie dodatkowego obciążenia, można nieznacznie podnieść głośność sygnalizatora SG1 poprzez zwarcie diody D1 cienkim drucikiem.
Montaż i uruchomienie
Układ został zmontowany na dwustronnej płytce drukowanej o wymiarach 60×35 mm, której schemat wraz z rozmieszczeniem elementów został pokazany na rysunku 2. W odległości 3 mm od krawędzi płytki znalazły się otwory montażowe o średnicy 3,2 mm.
Montaż płytki, pomimo dosyć gęstego upakowania elementów, nie powinien sprawić trudności. Istotne jest, aby zacząć od elementów montowanych powierzchniowo. Manewrowanie pośród nich grotem lutownicy przy wlutowanych np. złączach zaciskowych może doprowadzić do ich uszkodzenia. Na sam koniec proponuję zostawić moduł radiowy US2, aby nie uległ uszkodzeniu od przypadkowego wyładowania elektrostatycznego. Zmontowaną płytkę pokazuje fotografia 1.
Anteny dla modułów można wykonać z odcinka przewodu w izolacji. Jego długość powinna wynosić ok. 17,5 cm, ale można poeksperymentować z innymi długościami dla uzyskania jak najlepszych osiągów.
Jeżeli montaż przebiegł bez problemów, można przejść do zaprogramowania mikrokontrolera. W tym celu należy podłączyć napięcie stałe, o opisanej wcześniej wartości, do zacisków złącza J3. Konfiguracja fuse-bitów powinna być następująca:
High Fuse: 0xDE
Low Fuse: 0xE2
Szczegóły znajdują się na rysunku 3 zawierającym widok okna konfiguracji bitów w programie Bit Burner. Takie ustawienie spowoduje wyłączenie preskalera sygnału taktującego i ustawienie zabezpieczenia Brown-Out Detector na wartość ok. 1,8 V.
Na końcu wystarczy zaprogramować pamięć Flash w obu modułach za pomocą dostarczonych wsadów w postaci plików hex.
Teraz ostatni etap, czyli wybór adresów oraz trybu pracy. Jeżeli w pobliżu nie będzie innych tego typu układów, można zostawić pola SJ1 i SJ2 w stanie niezmienionym. W przeciwnym razie, trzeba na płytce odbiornika i nadajnika skonfigurować je identycznie. W ten sam sposób trzeba również wybrać tryb pracy układu nadawczego i odbiorczego przy pomocy zworki JP1:
- zwarte wyprowadzenia 1 i 2: praca z potwierdzeniem (ACK),
- zwarte wyprowadzenia 2 i 3: praca bez potwierdzenia (NACK).
Gdy nadajnik i odbiornik będą inaczej ustawione to nie będą się prawidłowo komunikowały. W przypadku braku zworki, wewnętrzny rezystor podciągający spowoduje ustawienie trybu pracy bez potwierdzenia.
Obsługa
Moduły są gotowe do działania zaraz po zaprogramowaniu. Scenariusze użytkownika przy pracy bez potwierdzenia i z nim różnią się, dlatego zostały opisane oddzielnie w tabeli 1 i tabeli 2. Warto dodać, że układ nie posiada wbudowanych ograniczeń czasowych, czyli będzie trwał w zadanym stanie przez dowolnie długi czas, aż nie zostanie podjęta odpowiednia akcja lub wyłączone zasilanie.
Pobór prądu przez układ nadawczy i odbiorczy różnią się w zależności od aktualnego stanu. W tabeli 3 zostały zebrane wyniki pomiarów poboru prądu przez oba moduły przy zasilaniu ich napięciem 9 V bez dołączonych dodatkowych układów wykonawczych czy sygnalizacyjnych.
Michał Kurzela, EP
- R1…R3: 100 kΩ
- R4, R7: 330 Ω
- R5, R6: 1 kΩ
- C1, C3: 10 µF 16 V SMD 0805
- C2, C4: 10 nF SMD 0805
- C5: 47 pF SMD 0805
- C6: 100 µF 25 V raster 2,5 mm
- C7, C8: 100 nF SMD 0805
- D1: BAS85 MiniMELF (opis w tekście)
- LED1: zielona SMD 0805
- LED2: czerwona SMD 0805
- T1, T2: BC847 (SOT23) lub podobne
- US1: ATtiny24A (SO14)
- US2: RFM12B 868 MHz SMD
- US3: 78L33 (SOT89, opis w tekście)
- J1: goldpin 5 pin męski THT 2,54 mm
- J2, J3: ARK2/500
- J4: ARK3/500
- JP1: goldpin 3 pin męski 2,54 mm THT
- SG1: piezo z generatorem 3 V
- Antena (opis w tekście)
- Zworka 2,54 mm