Piotr Majorek – Bezprzewodowa akwizycja danych
Transkrypt
Piotr Majorek – Bezprzewodowa akwizycja danych
Piotr Majorek – III rok Koło Naukowe Techniki Cyfrowej dr inż. Wojciech Mysiński – opiekun naukowy WIRELESS DATA ACQUISITION BEZPRZEWODOWA AKWIZYCJA DANYCH Keywords: Wireless, temperature sensor, transceiver Słowa kluczowe: Bezprzewodowy, czujnik temperatury, scalony nadajnik-odbiornik The article presents the structure of the system for gathering data from wireless sensors. Project is meant to show how to use cheap components, you can create a wireless sensor network with high functionality. 1. Wstęp W wielu rozproszonych systemach pomiarowych najtrudniejszą do zrealizowania rzeczą, oprócz samego pomiaru jest przesłanie zebranych danych w jeden centralny punkt w którym może nastąpić zmagazynowanie i dalsza obróbka dostarczonych informacji. Przesył danych najczęściej odbywa się za pomocą przewodów, które zapewniają dobrą jakość transmisji lecz są w niektórych przypadkach zbyt drogim rozwiązaniem np. duże odległości wymagają długich i zarazem kosztownych kabli a także może zaistnieć konieczność przeróbki miejsca w którym mają się odbywać pomiary (dziury w ścianach i korytka na przewody). Alternatywną metodą jest przesył danych za pomocą fal radiowych. W niniejszym artykule zaprezentowałem taką możliwość na przykładzie prostej sieci czujników mierzących temperaturę w różnych pomieszczeniach. 2. Zastosowane elementy Najważniejszymi elementami użytymi do komunikacji radiowej są transceivery firmy Hope Electronic. Do testów użyto układy RFM12B i RFM22B pracujące na częstotliwości 868 MHz. Pierwszy z układów jest najprostszym a zarazem tanim w stosunku do oferowanych funkcji. Drugi układ jest jego rozbudowaną wersją oferującą znacznie większe możliwości. Do budowy prototypu użyłem RFM12B ze względu na prostotę obsługi a także okazało się, że jest to rozwiązanie wystarczające dla tego typu zastosowań. Warto zwrócić uwagę na niestandardowe rozmiary styków układów w wersji DIP których rozstaw wynosi 2mm. Prace na płytkach stykowych są możliwe po wykonaniu przejściówki na standardowy rozstaw wyprowadzeń. Szczegółowe informacje o modułach a także przykładowe kody programu są dostępne na stronie producenta a także w źródłach podanych na końcu artykułu. Zarówno w centralce jak i modułach zdalnych zostały użyte mikrokontrolery AVR (ATmega8 i ATtiny2313) i czujniki temperatury DS18B20. W centralce znajduje się także wyświetlacz LCD 4x20 znaków do prezentacji pomiarów a także klawiatura komputerowa i karta pamięci na której zapisywane są zebrane dane. Wszystkie układy zostały złożone na płytkach stykowych i ze względu na bardzo mały pobór prądu posiadają zasilanie akumulatorowe. 3. Diagram blokowy sieci Ryc. 1. Diagram blokowy sieci Fig. 1. Network block diagram Diagram blokowy sieci przedstawia strukturę systemu który składa się z wielu mniejszych urządzeń pomiarowych i jednego głównego urządzenia zbierającego z nich dane drogą radiową. W większości czasu wszystkie moduły zdalne są w stanie uśpienia dzięki czemu mają niski pobór prądu i z powodzeniem można je zasilać bateryjnie. Moduły uaktywniają się co określony przedział czasu w celu przeprowadzenia pomiarów i wysłaniu ich do centralki. Komunikacja odbywa się na częstotliwości 868Mhz aczkolwiek można tą częstotliwość zmieniać w pewnym zakresie. Poprawny transfer danych jest zapewniony przez kontrolę błędu CRC, kodowanie Manchester, okna czasowe w których dany moduł może przeprowadzić komunikację a także dzięki samej procedurze przesyłu (po otrzymaniu paczki danych centralka odpytuje dany moduł). 4. Diagram blokowy centralki Ryc. 2. Diagram blokowy centralki Fig. 2. Block diagram of the central module Diagram blokowy centralki ukazuje podstawowe podzespoły głównego urządzenia. 4. Diagram blokowy modułu zdalnego Ryc. 3. Diagram blokowy modułu zdalnego Fig. 3. Block diagram of a remote module Diagram blokowy modułu zdalnego jest bardzo podobny do diagramu centralki. Różnice polegają głównie na braku interfejsów wejściowych i wyjściowych umożliwiających użytkownikowi ingerencję w system aczkolwiek nic nie stoi na przeszkodzie aby stworzyć moduł zdalny z którego możemy skonfigurować dany moduł lub też cały system. Jak już wspomniałem do zasilania możemy użyć baterii. Docelowo planuję zasilać je z akumulatora i podłączonego małego ogniwa słonecznego tak aby układ mógł pracować bez jakiejkolwiek ingerencji przez bardzo długi czas. 5. Schemat centralki Ryc. 4. Schemat centralki Fig. 4. Wiring diagram of the central module Na schemacie centralki przedstawiłem sposób podłączenia elementów do mikrokontrolera ATmega8. Do komunikacji z transceiverem użyłem portów ukladu SPI a czujnik temperatury DS18B20 działa na magistrali 1-Wire. Podłaczyłem także klawiaturę od komputera PC- w przyszłości mam zamiar stworzyć połączenie pomiędzy centralką a komputerem tak aby dane nie musiły być zapisywane na karcie pamięci ale od razu przesyłane na twardy dysk komputera w celu dalszej analizy danych. Wyprowadzenia przewodów klawiatury to ATkeyboardClock i ATkeyboardDATA natomiast wyprowadzenia od transceivera RFM12B to nSEL, SDI, SDO, SCK, FSK/DATA/ nIRG i DATA. Na schemacie nie uwzględniłem zasilania a także kondensatorów filtrujących i rezystora podciągającego pin resetu mikrokontrolera. 6. Zdjęcie centralki Ryc. 5. Zdjęcie centralki Fig. 5. Photo of the central module 7. Zdjęcie modułu zdalnego Ryc. 6. Zdjęcie modułu zdalnego Fig. 6. Photo of a remote module 7. Zdjęcie transceiverów Ryc. 7. Zdjęcie transceiverów Fig. 7. Photo of a transceivers Literatura [1] http://www.blog.strobotics.com.au/2008/06/17/rfm12-tutorial-part2/ [2] http://www.embedds.com/interfacing-rfm12-transceiver-module/ [3] http://www.3e-club.ru/view_full.php?id=19%AD&name=rfm22 [4] http://olek.tk/pl/rfm12.php [5] http://www.hoperf.com/