www.eprace.edu.pl » bezprzewodowy-pomiar » Projekt bezprzewodowego systemu pomiaru temperatury » Część sprzętowa

Część sprzętowa

W pracy zaprojektowane zostały dwa typy modułów: nadrzędny i podrzędny. Moduł nadrzędny steruje pracą modułów podrzędnych, odbiera dane pomiarowe i przesyła je poprzez konwerter UART/USB do komputera. Zadaniem modułów podrzędnych jest pomiar wartości temperatury i przesłanie tego wyniku w postaci cyfrowej do modułu nadrzędnego. Sieć zaprojektowana jest z myślą o transmisji danych o małym natężeniu ruchu, których rozmiar wynosi maksymalnie kilkadziesiąt oktetów z niewielkiego obszaru pomiarowego. Jako medium transmisyjne wybrano fale radiowe paśmie ISM o częstotliwości 868MHz, dzięki temu do pracy sieci pomiarowej na terenie Rzeczpospolitej Polskiej nie jest wymagana zgoda Urzędu Komunikacji Elektronicznej.

Budowa modułów nadrzędnego i podrzędnego jest bardzo zbliżona, opiera się w większości na tych samych elementach elektronicznych. Różnice w budowie wynikają jedynie z różnych zadań jakie te moduły mają pełnić w systemie – w module nadrzędnym nie występuje czujnik temperatury, a moduł zasilany jest z portu USB, natomiast w module podrzędnym nie ma układu konwertera UART/RS232. Nic nie stoi na przeszkodzie, by dowolny moduł podrzędny został wykorzystany w przyszłości w roli rutera pakietów. Zmianie ulegnie jedynie oprogramowanie modułów.

Moduł nadrzędny

Na rys. 3.2. przedstawiony jest schemat poglądowy budowy modułu nadrzędnego wraz z wyszczególnionymi sygnałami elektrycznymi.

Rys. 3.2: Schemat blokowy budowy modułu nadrzędnego.

Mikrokontroler

Jednostką obliczeniową i sterującą pracą urządzenia jest mikrokontroler z rodziny AVR – ATmega88, produkowany przez firmę Atmel. Mikrokontrolery AVR są dynamicznie rozwijającą się rodziną układów o bardzo szerokich możliwościach. Ze względu na przemyślaną budowę, prędkość działania, bogactwo peryferii i wiele darmowych narzędzi, są bardzo często wykorzystywane przez amatorów i zawodowców.

ATmega88 należy do rodziny 8-bitowych mikrokontrolerów serii megaAVR. Rdzeń mikrokontrolera zbudowany jest w oparciu o architekturę RISC (ang. Reduced Instruction Set Computer), która w porównaniu do CISC (ang. Complex Instruction Set Computers), zapewnia większą szybkość działania, dzięki ograniczeniu liczby rozkazów. Układy scalone AVR pracują z wydajnością 1MIPS (ang. Million Instructions Per Seconds) na każdy 1MHz częstotliwości taktującej rdzeń, gdyż każdy rozkaz wykonywany jest podczas jednego cyklu zegarowego. Pamięć programu i pamięć danych są rozdzielone, posiadają również osobne szyny danych co jest zgodne z architekturą Harwardzką. Mikrokontroler ATmega88 przedstawiony jest na rys. 3.3 (obudowa TQFP – 32 Pin).

Rys. 3.3: Mikrokontroler ATmega88 w obudowie TQFP do montażu powierzchniowego.

Najważniejsze parametry mikrokontrolera ATmega88:

Mikrokontroler ATmega88 posiada pięć trybów oszczędzania energii, pozwalających w znaczący sposób zmniejszyć pobór prądu, co ma szczególne znaczenie w przypadku układów zasilanych bateryjnie. Z punktu widzenia pracy najbardziej istotny jest tryb głębokiego uśpienia, tzw. Power-down. W trybie tym wyłączany jest zewnętrzny oscylator i większość podsystemów procesora, działa tylko: Brown-out Detektor, Watchdog, TWI (ang. TwoWire Interface). Zachowywany jest bieżący stan pamięci i adres miejsca w pamięci programu w którym procesor wszedł w tryb uśpienia. W projekcie mikrokontroler przywracany jest do trybu aktywnego poprzez przerwanie zewnętrzne wyzwalane stanem niskim na nóżce INT0.

Moduł radiowy

Do transmisji radiowej użyto modułów radiowych RFM12B [19] firmy HopeRF [20]. Ich niska cena, małe wymiary (16mmx16mmx2,2mm), brak konieczności stosowania zewnętrznych elementów, oraz interfejs SPI (ang. Serial Peripherial Interface) czynią je idealnymi układami komunikacyjnymi do zastosowań, gdzie prędkość transmisji jest kwestią drugorzędną. Moduł wyposażony jest w zintegrowany układ scalony Si4421 firmy Silicon Labs, zawierający w swej strukturze zarówno odbiornik jak i nadajnik (ang. transceiver) pracujące w pół-dupleksie. Moduły RFM12B produkowane są w trzech wersjach – na pasmo 433MHz, 868MHz i 915MHz. Różnią się jedynie zewnętrznymi elementami dyskretnymi, odpowiedzialnymi za filtrację pasma. Zgodnie z tabelą 2.1 w Polsce bez pozwolenia używać można jedynie urządzeń na pasmo 433MHz i 868MHz, urządzenia na pasmo 915MHz przeznaczone są na rynek amerykański i australijski. W projekcie wykorzystano moduły na pasmo 868MHz. Na rys. 3.4 przedstawiony jest moduł RFM12B w obudowie do montażu powierzchniowego SMT (ang. Surface Mount Technology).

Rys. 3.4: Moduł RFM12B w obudowie SMD-S2 [18].

Moduł RFM12B do przesyłania informacji wykorzystuje modulację cyfrową FSK (ang. Frequency-Shift Keying), w której obwiednia nośnej harmonicznej jest stała, zmienia się natomiast jej częstotliwość w takt zmian wartości sygnału binarnego który jest przesyłany. Do generowania sygnału radiowego o określonej częstotliwości wykorzystana jest pętla PLL (ang. Phase Locked Loop), dla której sygnałem referencyjnym jest rezonator kwarcowy 10MHz umieszczony na obwodzie drukowanym modułu.

Komunikacja z modułem radiowym możliwa jest dzięki interfejsowi szeregowemu SPI. SPI to 4-przewodowy, synchroniczny i dupleksowy interfejs pozwalający przesyłać dane pomiędzy układem nadrzędnym (ang. Master) i wieloma układami podrzędnymi (ang. Slave). Magistrala składa się z 2 linii danych za pomocą których przesyła się dane: MISO (ang. Master Input Serial Output) – dane przesyłane z urządzenia Slave do urządzenia Master, MOSI (ang. Master Output Serial Input) – dane przesyłane z urządzenia Master do urządzenia Slave i linii taktującej SCK (ang. Serial Clock) – sygnał zegarowy w którego takt przesyłane są dane. Oprócz tego występuje też linia wyboru układu podrzędnego Slave, mianowicie linia CS (ang. Chip Select), zwana też jako SS (ang. Slave Select). Bity pomiędzy układem Slave i Master przesyłane są począwszy od najbardziej znaczącego (ang. Big Endian). Więcej na temat magistrali SPI można przeczytać w dokumencie SPI Block Guide [21] firmy Motorola, która to de facto jest odpowiedzialna za powstanie tego interfejsu.

W urządzeniu wyróżnić można 17 rejestrów kontrolnych za pomocą których określa się parametry pracy modułu, a także wysyła i odbiera dane. Dostęp do rejestrów RFM12B odbywa się za pomocą magistrali SPI. Komendy sterujące (ang. Control commands) są wpisywane do 16-bitowego rejestru przesuwnego FIFO (ang. First In First Out). Pierwsze 8 bitów komendy sterującej odnosi się do bloku funkcyjnego modułu, pozostałe 8 bitów to bity konfiguracyjne tego bloku. Jednocześnie układ zwraca zawartość swojego rejestru statusowego, z którego odczytać można m.in. flagi przerwań, zajętość odbiornika/nadajnika.

Dzięki komendom sterującym istnieje możliwość ustawienia takich parametrów pracy urządzenia jak:

Antena jest jednym z najważniejszych elementów systemu radio-telemetrycznego i w głównej mierze decyduje o jego jakości. Zastosowane anteny powinny mieć dookólną charakterystykę promieniowania w płaszczyźnie(X, Y) w której rozmieszczone są sensory pomiarowe [22].

Rys. 3.5: Charakterystyka dipola ćwierćfalowego [21].

Wybór takiej charakterystyki promieniowania podyktowany jest tym, iż rozmieszczenie sensorów w przestrzeni jest często przypadkowe. Zastosowane moduły radiowe nie posiadają anten fabrycznych, producent nie specyfikuje dokładnie jaką impedancję wejściową powinny mieć, ale zaleca stosowanie odcinka drutu w charakterze anteny dipolowej ćwierćfalowej (rys. 3.5). Płaszczyznę przeciwwagi anteny stanowi uziemiony laminat pokryty warstwą miedzi. Przyjmując, iż powierzchnia płaszczyzny przeciwwagi jest kołem, to powinna mieć promień przynajmniej o długości równej połowie długości fali, by antena pracowała jak najlepiej. Niestety dla częstotliwości 868MHz daje to bardzo duże pole powierzchni laminatu (ok. 16cm średnicy), co nie może być spełnione w realizowanym projekcie. Dla pasma pracy o częstotliwości 868MHz odcinek drutu powinien mieć długość ok. 80mm.

Deklarowane przez producenta napięcie zasilania modułu RFM12B powinno wynosić od 2.2V do 3.8V. Średni pobór prądu (pasmo 868MHz) przy nadawaniu (maksymalna moc nadajnika) wynosi ok. 23-27mA, natomiast przy odbieraniu ok. 12mA. Pobór prądu w trybie całkowitego uśpienia waha się w granicach 0.3-1µA.

Konwerter USB/UART

Ostatnim z omawianych elementów wchodzącym w skład modułu nadrzędnego jest konwerter USB (ang. Universal Serial Bus)/UART (ang. Universal Asynchronous Receiver anf Transmiter), mianowicie układ scalony FT232RL [23] firmy FTDI Chip [24]. W dzisiejszych czasach producenci sprzętu komputerowego coraz rzadziej wyposażają swoje produkty w porty szeregowe zgodne ze standardem RS-232 [3]. Rodzi to problemy natury technicznej w przypadku urządzeń wyposażonych jedynie w interfejs szeregowy zgodny z protokołem transmisji RS-232. Rozwiązania tego problemu są co najmniej dwa:

Pierwsze rozwiązanie w przypadku mikrokontrolerów o skromnych możliwościach, jest co najmniej mało efektywne, gdyż układ będzie przeznaczał zdecydowaną większość swojej mocy obliczeniowej na obsługę USB, nie pozostawiając wiele pozostałym aplikacjom. Drugie rozwiązanie zwalnia programistę z obowiązku implementacji USB na mikrokontrolerze, co pozwala wykorzystać w pełni możliwości zastosowanego mikrokontrolera. Rolę „tłumacza” pomiędzy interfejsami pełni dedykowany układ scalony FT232RL przedstawiony na rys. 3.6 (obudowa SSOP 28 PIN).

Rys.3.6:Układ FT232RL firmy FTDI Chip [23].

Należy nadmienić, iż zarówno mikrokontroler, jak i układ FT232RL operują na poziomie napięć TTL (ang. Transistor-Transistor Logic), zatem występuję tu niezgodność z warstwą fizyczną standardu RS-232.

Czip FT232RL ma wyprowadzone wszystkie linie sterujące określone w standardzie RS-232, zawiera również pięć linii wejścia/wyjścia ogólnego przeznaczenia. Ciekawym rozwiązaniem jest zastosowanie przez firmę FTDI wewnętrznej pamięci EEPROM w urządzeniu, dzięki temu istnieje możliwość zapisu konfiguracji oraz zmiany identyfikatorów VID (ang. Vendor ID) i PID (ang. Product ID). FT232RL pozwala na asynchroniczną transmisję danych z prędkością od 300bps do 3Mbps.

Firma FTDI na swojej stronie internetowej [24] udostępnia dwa rodzaje sterowników do systemów operacyjnych: Linux, Windows, MacOS. Są to sterowniki VCP (ang. Virtual Com Port), oraz D2XX (ang. Direct). Sterowniki VCP emulują w systemie operacyjnym wirtualny port Com, dzięki czemu praca z urządzeniem odbywa się tak jakby w systemie rzeczywiście istniał fizyczny port Com. Sterowniki D2XX umożliwiają dostęp do portu USB za pomocą bibliotek DLL (ang. Dynamic-Link Library). Z punktu widzenia pracy, interesujący jest pierwszy wariant (VCP).

W projekcie układ FT232RL pełni rolę konwertera USB/UART, wykorzystane są jedynie dwie linie danych: TxD i RxD. Wejście układu połączone jest z gniazdem USB typu B.

Schemat elektryczny modułu

Na rys. 3.7 przedstawiony jest schemat elektryczny modułu nadrzędnego.

Rys. 3.7: Schemat elektryczny modułu nadrzędnego.

Układ zasilany jest napięciem stałym (USBVCC) z portu USB komputera. Z uwagi na maksymalne napięcie zasilania modułu radiowego RFM12B (3.8V), konieczne było zastosowanie elementu elektronicznego kształtującego napięcie na bezpiecznym poziomie – stabilizatora liniowego LF33CDT dającego na wyjściu napięcie 3.3V (VCC). Kondensatory C6 i C10 filtrują napięcie na wyjściu i wejściu stabilizatora, na płytce PCB (ang. Printed Circuit Bord) powinny być umieszczone jak najbliżej stabilizatora. Świecenie zielonej diody LED (D5) informuje o zasilaniu układu.

W centralnym miejscu schematu znajduje się mikrokontroler ATmega88. Kondensatory: C1, C2, C3 i C4 odpowiadają za filtrację napięć części analogowej i cyfrowej układu, podobnie jak kondensatory C6 i C10, powinny być umieszczone jak najbliżej układu. Rezystor R1 wymusza stan wysoki na pinie PC6 (RST), zapobiegając tym samym przypadkowym resetom mikrokontrolera związanym z pracą układu w środowisku narażonym na zakłócenia. Programowanie mikrokontrolera odbywa się w trybie ISP (ang. In system programming) poprzez złącze goldpin typu KANDA.

Na schemacie po prawej stronie ATmega88 znajduje się moduł radiowy RFM12B. Połączony jest on z mikrokontrolerem 6 liniami:

Za pomocą diod D1 i D3 sygnalizowana jest praca nadawczo/odbiorcza modułu radiowego. W chwili nadawania danych zapala się zielona dioda D1, a w chwili odbioru danych czerwona dioda D3. Czas świecenia diody jest adekwatny do czasu nadawania/odbierania danych.

W prawym, dolnym rogu schematu z rys. 3.7 znajduje się czip FT232RL odpowiedzialny za konwersję pomiędzy interfejsami USB i UART. Kondensatory C11, C7 C9 służą filtracji napięć modułu i są zalecane przez producenta. Piny TxD i RxD układu FT232RL zostały skrosowane z pinami TxD i RxD mikrokontrolera ATmega88. Diody LED D2 i D4 informują o nadaniu/odebraniu danych poprzez port szeregowy. Za pomocą złącza gniazdowego USB typu B możliwe jest podłączenie modułu nadrzędnego do portu USB komputera.

Na rys. 3.8 przedstawiona jest fotografia modułu nadrzędnego. W pracy wykonano jeden egzemplarz modułu. Obwody drukowane zaprojektowane zostały w technologii mieszanej SMT (ang. Surface-Mount Technology) i THT (ang. Through-Hole Technology) w programie Protel 99SE na licencji testowej (30 dni pracy).

Płytki modułów wykonane zostały własnoręcznie metodą termotransferu z użyciem papieru kredowego. Jest to prosta metoda polegająca na: przeniesieniu mozaiki ścieżek wydrukowanych (toner) na papierze kredowym lub folii termotransferowej pod wpływem wysokiej temperatury na laminat pokryty warstwą miedzi, usunięciu papieru dzięki rozmiękczeniu w roztworze wody i detergentu, wytrawieniu płytki w roztworze wody i środka trawiącego typu B327. Następnie płytkę należy pokryć cienką warstwą cyny w celu zapobiegnięcia utleniania miedzi i nawiercić w miejscach przeznaczonych na nóżki elementów THD (ang. Through-Hole Devices).

Rys. 3.8: Fotografia modułu nadrzędnego.

Moduł podrzędny

Na rys. 3.9 przedstawiony jest schemat blokowy modułu podrzędnego, wraz z wyszczególnionymi przepływami sygnałów.

Rys. 3.9: Schemat blokowy modułu podrzędnego.

Zadaniem modułu podrzędnego jest zbieranie informacji pomiarowych w postaci temperatury (symbol płomienia) i przesyłanie ich do modułu nadrzędnego. Budowa modułu podrzędnego jest bardzo podobna do budowy modułu nadrzędnego. W obu urządzeniach wykorzystany jest ten sam model mikrokontrolera ATmega88 i transceivera RFM12B. W module podrzędnym zainstalowany jest dodatkowo scalony czujnik temperatury DS18B20. Ze względu na brak bezpośredniej komunikacji z PC, układ scalony FT232 nie jest zamontowany.

Czujnik DS18B20

Do pomiaru temperatury użyto zintegrowanego, cyfrowego czujnika pomiarowego DS18B20 [25] firmy Maxim Integrated. W odróżnieniu od czujników analogowych, czujniki cyfrowe nie wymagają skomplikowanej kalibracji, zakres mierzonych temperatur, jak i dokładność pomiarowa układów cyfrowych i analogowych są podobne.

Scalony czujnik temperatury DS18B20 produkowany jest w trzech obudowach: TO-92, SO i µSOP. W projekcie wykorzystano czujnik w obudowie TO-92 przedstawiony na rys. 3.10.

Rys. 3.10: Czujnik DS18B20 w obudowie TO-92, wraz z wyprowadzeniami [25].

DS18B20 pozwala mierzyć temperaturę z rozdzielczością od 9 do 12 bitów, przy czym maksymalny błąd pomiarowy wynosi ±0.5oC w zakresie od -10oC do +85oC. Zakres pomiarowy czujnika wynosi od -55oC do +125 oC. Zakres napięcia zasilającego wynosi od 3.0V do 5.5V. Komunikacja z czujnikiem pomiarowym odbywa się za pośrednictwem magistrali 1-Wire.

1-Wire [26] jest magistralą komunikacyjną opracowaną przez firmę Dallas (obecnie Maxim Integrated), dla małych i niedrogich urządzeń, o stosunkowo niewielkiej szybkości transmisji (standardowo do 16.3kbps). Magistrala składa się z jednej linii danych DQ, linii masy GND i linii zasilania Vdd. W trybie zasilania pasożytniczego (ang. Parasite Power), nóżkę masy i nóżkę zasilania czujnika należy zewrzeć i połączyć z masą ( należy pamiętać o wcześniejszym odłączeniu nóżki zasilania czujnika od napięcia zasilającego układu) , w ten sposób urządzenie może być podłączone za pomocą zaledwie dwóch linii, natomiast energia dostarczana jest przez linię sygnałową DQ i magazynowana w układzie, przy wykorzystaniu zawartego w urządzeniu kondensatora o pojemności 800pF.

Magistrala 1-Wire należy do magistral komunikacyjnych typu Mulit-Slave, pozwala dołączyć do jednego urządzenia nadrzędnego typu Master, oraz wielu urządzeń podrzędnych typu Slave. Komunikacja odbywa się w sposób asynchroniczny, a w danej chwili możliwe jest przesyłanie danych w tylko w jedną stronę (Half-Duplex). Główną zaletą magistrali 1-Wire jest jej prostota i stosunkowo duży zasięg, pozwalający tworzyć rozległe sieci pomiarowe przy wykorzystaniu zwykłych przewodów. Najczęstszymi urządzeniami komunikującymi się za pośrednictwem tej magistrali są: termometry cyfrowe (DS 18B20, 18S20, 18B20), przetworniki ADC, pamięci EEPROM, zamki elektroniczne iButton.

Transmisja na magistrali inicjowana jest jedynie przez urządzenie Master, urządzenia Slave nie wykazują żadnej aktywności poza wysłaniem sekwencji PRESENCE PULSE. Przepływ informacji odbywa się szeregowo, od najmniej znaczącego bitu. Linia danych musi być podciągnięta przez rezystor (ok. 4.7kΩ) do napięcia zasilania, wymusza to stan wysoki na linii danych – tzw. stan recesywny. Urządzenie Master, bądź Slave może wymusić na linii stan niski – tzw. stan dominujący.

Komunikacja za pomocą magistrali 1-Wire odbywa się za pomocą specjalnych szczelin czasowych, tzw. slotów, trwających 60µs. Stawia to przed oprogramowaniem i sprzętem konieczność spełnienia wysokich norm czasowych.

Operacje na magistrali 1-Wire dzielą się na operacje odczytu i operacje zapisu pojedynczego bitu. Każda operacja poprzedzona jest wystawieniem przez urządzenie Master, krótkiego impulsu inicjalizującego - zera logicznego (ok. 1-3 µs). Dla operacji zapisu bitu „0” magistrala utrzymywana jest w stanie niskim od 15 do 120µs, w przypadku zapisu bitu „1” magistrala jest zwalniana po impulsie inicjalizującym, kolejny bit może być wysłany nie wcześniej niż po 60µs. Bardzo podobnie wygląda operacja odczytu. Urządzenie Master inicjalizuje magistralę, a następnie po odczekaniu ok. 15µs, próbkuje stan magistrali. Jej stan odpowiada wartości przesłanego bitu przez urządzenie Slave. Kolejne odczytanie bitu może nastąpić po upływie ok. 15µs od impulsu inicjalizującego, bądź też po powrocie magistrali do stanu wysokiego.

Komunikacja z układami Slave zawsze zaczyna się od sekwencji nazywanej RESET PULSE. Urządzenie Master wymusza na magistrali stan niski przez ok. 480-960µs, następnie zwalnia linię. Urządzenia Slave odpowiadają za pomocą sekwencji PRESENCE PULSE, rozpoczynającej się ok. 15-60µs po zakończeniu RESET PULSE wystawieniem stanu niskiego na magistrali przez czas ok. 60-240µs. Dzięki sekwencji PRESENCE PULSE urządzenie Master jest informowane o obecności przynajmniej jednego urządzenia Slave.

Urządzenia Slave zgodne ze standardem 1-Wire posiadają unikalny 64 bitowy numer identyfikacyjny (ID), nadawany podczas produkcji, zapisany w pamięci ROM (ang. Read-Only Memory) , tzw. ROM code. Składa się on z trzech części: 8 bitów oznaczających kod rodziny układów, 48 bitów kodu seryjnego układu i 8 bitów sumy kontrolnej CRC (ang. Cyclic Redundancy Check) obliczonej z poprzednich 7 bajtów.

Po zainicjalizowaniu magistrali 1-Wire sekwencją RESET PULSE, urządzenia Slave oczekują na polecenia. Lista poleceń obsługiwanych w standardzie 1-Wire przedstawiona jest w tabeli 3.1.

Nazwa Kod Opis
SEARCH ROM 0xF0 Skanowanie magistrali w celu odczytania ID wszystkich podłączonych urządzeń Slave.
READ ROM 0x33 Umożliwia odczytanie ID urządzenia, w sytuacji kiedy na magistrali jest tylko jedne urządzenie.
MATCH ROM 0x55 Adresacja dowolnego urządzenia na magistrali za pomocą 8-bajtowego numeru ID występującego po poleceniu.
SKIP ROM 0xCC Umożliwia wybranie wszystkich urządzeń na magistrali (niezależnie od ich ID) i wysłanie do nich danych.
ALARM SEARCH 0xEC Wyszukuje urządzenia na magistrali z ustawioną flagą alarmu.

Tab. 3.1: Lista poleceń magistrali 1-Wire obsługiwanych przez urządzenia Slave [26].

Układ scalony DS18B20 posiada również własne polecenia ujęte w tabeli 3.2.

Nazwa Kod Opis
CONVERT T 0x44 Rozpoczyna proces konwersji temperatury w wybranym układzie.
WRITE SCRATCHPAD 0x4E Zapisuje wartość temperatury do rejestrów TH i TL znajdujących się w pamięci podręcznej układu.
READ SCRATCHPAD 0xBE Odczytuje zawartość pamięci podręcznej układu.
COPY SCRATCHPAD 0x48 Kopiuje wartości rejestrów TH i TL z pamięci podręcznej do pamięci EEPROM.
RECALL E2 0xB8 Przepisuje zawartość rejestrów TH i TL z pamięci EEPROM do pamięci podręcznej.
READ POWER SUPPLY 0xB4 Odczytuje sposób zasilania urządzenia Slave.

Tab. 3.2: Lista poleceń obsługiwanych przez cyfrowy termometr DS18B20 [26].

Cyfrowy termometr DS18B20 oprócz pamięci ROM zawiera w swej strukturze także dwa rodzaje innych pamięci: pamięć podręczną (tzw. scratchpad) typu RAM (ang. Random Access Memory), oraz pamięć nie ulotną EPPROM. Pierwszy rodzaj pamięci zapewnia poprawność transmisji danych z wykorzystaniem magistrali 1-Wire, natomiast drugi rodzaj pamięci przechowuje wartości temperatur TH i TL, służących do ustawiania alarmu w przypadku temperatur w nich zapisanych. Zmierzona temperatura zapisywana jest w dwóch pierwszych bajtach pamięci podręcznej (adresy 0 i 1). 16-bitowa prezentacja formatu temperatury z czujnika DS18B20 w kodzie uzupełnień do 2 (kod U2) przedstawiona jest na rys. 3.11 [25]. Pięć pierwszych bitów najbardziej znaczącego bajta (MSB) stanowi znak temperatury.

Rys. 3.11: Format temperatury termometru cyfrowego DS18B20 [25].

Schemat elektryczny modułu

Na rys. 3.12 przedstawiony jest schemat elektryczny modułu podrzędnego.

Rys. 3.12: Schemat elektryczny modułu podrzędnego.

Nie wykorzystane nóżki mikrokontrolera ATmega88 ustawione są jako wejścia i podciągnięte do napięcia zasilania VCC. Przeciwdziała to „pływaniu” potencjału, zjawisko to powoduje zwiększony pobór prądu w wyniku ciągłego przełączania stanu pinu.

Na rys. 3.13 przedstawiona jest fotografia modułu podrzędnego. W pracy wykonano 3 egzemplarze modułu tego typu.

Rys. 3.13: Fotografia modułu podrzędnego.

Napięcie zasilania modułu podrzędnego z uwagi na zastosowane układy powinno mieścić się w granicach 3,0V - 3,8V. Z racji założenia mobilności urządzeń, w modułach zastosowano akumulatorki typu AAA o napięciu 1,2V połączone szeregowo, co daje w sumie napięcie 3,6V.

Niestety zarówno akumulatory jak i baterię posiadają ograniczoną pojemność i wcześniej lub później konieczne będzie ich naładowanie lub wymiana na nowe. Nie zawsze jednak jest to jednak możliwe, często bowiem węzły sieciowe nie są serwisowane (ze względu na kwestie finansowe, bądź też środowiskowe), a działanie sieci jest gwarantowane przez nadmiarowość węzłów. Obecnie coraz częściej stosuje się technologie zapewniające pozyskiwanie energii elektrycznej z otoczenia. Dzięki temu, czas pracy urządzeń nie jest ograniczony skończoną pojemnością elektryczną źródeł energii typu bateria, czy akumulator. Firma Linear Technology [27] produkuje układy scalone będące przetwornicami DC/DC, zapewniającymi na wyjściu napięcie stabilizowane o wybranej wartości: 1.8V, 2.5V, 3.3V i 3.6V. Układy są konstrukcyjnie przystosowane do zasilania energią pozyskiwaną z niekonwencjonalnych źródeł, np.: generatory piezoelektryczne, termopary, fotoogniwa. Niestety wydajność takich rozwiązań jest bardzo niska, większy prąd (kilka mA) czerpany może być jedynie okresowo (układ współpracuje z zewnętrznym kondensatorem, który ładowany jest napięciem z źródeł niekonwencjonalnych), lecz w przypadku małych aplikacji, takich jak węzły sieciowe, rozwiązanie to może spisywać się znakomicie.

Piotr Dziurdzia i Karol Lichota z Katedry Elektroniki na Akademii Górniczo – Hutniczej w Krakowie, na konferencji IMAPS – CPMT IEEE w 2011r. przedstawili projekt niezależnego węzła sieciowego, zasilanego energią pozyskiwaną z ogniwa Peltiera [28]. W projekcie wykorzystana została przetwornica LTC3108 dająca na wyjściu napięcie stałe 2.2V. Układ LTC3108 zasilany jest napięciem powstałym w wyniku różnicy temperatur strony „ciepłej” i strony „zimnej” modułu Peltiera, przytwierdzonego do elementu grzejnego systemu centralnego ogrzewania. Różnica temperatur zaledwie na poziomie 5oC jest wystarczająca do zasilania układu i cyklicznego nadawania informacji za pośrednictwem transceivera radiowego.



komentarze

Copyright © 2008-2010 EPrace oraz autorzy prac.