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/