You are on page 1of 48

A KADEMIA G ÓRNICZO -H UTNICZA IM .

S TANISŁAWA S TASZICA W K RAKOWIE


WYDZIAŁ INFORMATYKI,
ELEKTRONIKI I TELEKOMUNIKACJI

KATEDRA ELEKTRONIKI

Praca dyplomowa inżynierska

Konstrukcja układu do monitorowania środowiska roślin doniczkowych


Design of indoor plant environmental monitoring device

Autor: Jerzy Marecik


Kierunek studiów: Elektronika
Opiekun pracy: dr inż. Jakub Gałka

Kraków, 2018
Uprzedzony o odpowiedzialności karnej na podstawie art. 115 ust. 1 i 2 ustawy z dnia 4 lu-
tego 1994 r. o prawie autorskim i prawach pokrewnych (t.j. Dz.U. z 2006 r. Nr 90, poz. 631
z późn. zm.): „Kto przywłaszcza sobie autorstwo albo wprowadza w bład ˛ co do autorstwa ca-
łości lub cz˛eści cudzego utworu albo artystycznego wykonania, podlega grzywnie, karze ogra-
niczenia wolności albo pozbawienia wolności do lat 3. Tej samej karze podlega, kto rozpo-
wszechnia bez podania nazwiska lub pseudonimu twórcy cudzy utwór w wersji oryginalnej
albo w postaci opracowania, artystycznego wykonania albo publicznie zniekształca taki utwór,
artystyczne wykonanie, fonogram, wideogram lub nadanie.”, a także uprzedzony o odpowie-
dzialności dyscyplinarnej na podstawie art. 211 ust. 1 ustawy z dnia 27 lipca 2005 r. Prawo
o szkolnictwie wyższym (t.j. Dz. U. z 2012 r. poz. 572, z późn. zm.): „Za naruszenie przepisów
obowiazuj˛ acych
˛ w uczelni oraz za czyny uchybiajace
˛ godności studenta student ponosi odpo-
wiedzialność dyscyplinarna˛ przed komisja˛ dyscyplinarna˛ albo przed sadem
˛ koleżeńskim samo-
rzadu
˛ studenckiego, zwanym dalej «sadem ˛ koleżeńskim».”, oświadczam, że niniejsza˛ prac˛e dy-
plomowa˛ wykonałem(-am) osobiście i samodzielnie i że nie korzystałem(-am) ze źródeł innych
niż wymienione w pracy.
Serdecznie dzi˛ekuj˛e Panu dr. inż. Jakubowi Gałce
za merytoryczna˛ pomoc w realizacji niniejszej
pracy oraz Panu mgr. inż. Mariuszowi Masiorowi
˛
za merytoryczna˛ i techniczna˛ pomoc przy tworze-
niu projektu.
Spis treści

1. Wst˛ep............................................................................................................................................... 7
1.1. Wprowadzenie ....................................................................................................................... 7
1.2. Cele pracy .............................................................................................................................. 7
2. Przeglad
˛ istniejacych
˛ rozwiaza
˛ ń................................................................................................... 9
2.1. Analiza podobnych urzadzeń
˛ istniejacych
˛ na rynku ............................................................. 9
2.2. Przeglad
˛ dost˛epnych komponentów elektronicznych............................................................ 11
3. Bluetooth Low Energy ................................................................................................................... 17
4. Projekt urzadzenia
˛ elektronicznego ............................................................................................. 19
4.1. Wykorzystane komponenty elektroniczne............................................................................. 19
4.1.1. Jednostka centralna .................................................................................................... 19
4.1.2. Czujnik temperatury................................................................................................... 19
4.1.3. Czujnik nat˛eżenia światła........................................................................................... 22
4.1.4. Czujnik wilgotności podłoża...................................................................................... 24
4.2. Schemat układu elektrycznego .............................................................................................. 25
4.3. Projekt PCB ........................................................................................................................... 28
5. System wbudowany........................................................................................................................ 31
5.1. Opis działania programu........................................................................................................ 31
5.2. Obsługa Bluetooth Low Energy ............................................................................................ 34
5.3. Obsługa komend tekstowych................................................................................................. 35
5.4. Zarzadzanie
˛ czasem w urzadzeniu
˛ ........................................................................................ 36
5.5. Akwizycja danych z czujników............................................................................................. 36
5.6. Przechowywanie danych w pami˛eci flash ............................................................................. 37
6. Aplikacja mobilna .......................................................................................................................... 39
6.1. Opis działania aplikacji ......................................................................................................... 39
7. Analiza systemu.............................................................................................................................. 41
7.1. Test zbudowanego prototypu ................................................................................................. 41
7.2. Napotkane problemy ............................................................................................................. 43
6 SPIS TREŚCI

7.3. Możliwości rozwoju .............................................................................................................. 44


8. Podsumowanie................................................................................................................................ 45

J. Marecik Konstrukcja układu do monitorowania środowiska roślin doniczkowych


1. Wst˛ep

1.1. Wprowadzenie

W ostatnich kilku dekadach nastapił


˛ gwałtowny rozwój elektroniki. Urzadzania
˛ elektroniczne można
spotkać w niemal każdej dziedzinie funkcjonowania człowieka. Konkurencyjność rynku, jak również
rosnacy
˛ poziom rozwoju gospodarczego na świecie wymusza tworzenie coraz lepszych rozwiazań,
˛ uła-
twiajacych
˛ życie człowieka. Jedna˛ z wielu czynności wykonywanych przynajmniej przez cz˛eść ludzi
jest hodowla roślin. Zwiazane
˛ jest to z ciagłym
˛ monitorowaniem warunków wzrostu, aby móc skutecz-
nie umożliwić prawidłowy rozwój rośliny. Okresowe kontrolowanie poszczególnych parametrów przez
człowieka wia˛że si˛e z poświ˛eceniem czasu, a przede wszystkim stwarza ryzyko niezamierzonego za-
niedbania. Problem można cz˛eściowo rozwiazać
˛ z wykorzystaniem urzadzenia
˛ elektronicznego, którego
zadaniem byłoby monitorowanie poszczególnych czynników, istotnych z punktu widzenia wzrostu ro-
śliny oraz informowanie o nich na bieżaco
˛ użytkownika. Tego typu urzadzenie
˛ powinno być stosunkowo
tanie (szczególnie dla zastosowań nieprofesjonalnych), jak również zgodne z obecnie funkcjonujacymi
˛
trendami na rynku. Biorac
˛ pod uwag˛e rosnacy
˛ rynek urzadzeń
˛ mobilnych, najbardziej wskazane byłoby
stworzenie urzadzenia
˛ komunikujacego
˛ bezprzewodowo si˛e ze smartfonem.

1.2. Cele pracy

Celem niniejszej pracy, było zaprojektowanie układu do monitorowania środowiska roślin donicz-
kowych. Projekt obejmuje wykonanie urzadzenia
˛ na bazie mikrokontrolera, które przy pomocy zinte-
growanych układów peryferyjnych b˛edzie pobierało dane z czujników: temperatury, nat˛eżenia światła
oraz wilgotności gleby. Po dokonaniu okresowej akwizycji chwilowych wyników pomiarów urzadze-
˛
nie umieszcza je w pami˛eci flash mikrokontrolera, aby nast˛epnie podczas najbliższego połaczenia
˛ przy
wykorzystaniu techniki komunikacji bezprzewodowej Bluetooth Low Energy (standard IEEE 802.15.1)
przesłać dane do smartfonu.
Na poczatku
˛ praca obejmuje analiz˛e dost˛epnych elementów elektronicznych, przykładowych, po-
dobnych układów obecnych na rynku pod wzgl˛edem rozwiazań
˛ szeregu problemów z jakimi należy
zmierzyć si˛e konstruujac
˛ tego typu urzadzenie
˛ oraz zostanie przybliżona tematyka standardu Bluetooth
Low Energy.
8 1.2. Cele pracy

W kolejnej cz˛eści zostanie zaprezentowany kompleksowy projekt układu elektronicznego obejmu-


jacy
˛ dobór elementów, sposób połaczenia
˛ ich w system elektroniczny danego urzadzenia
˛ oraz projekt
PCB układu, który pozwoliłby w optymalny sposób połaczyć
˛ w całość wszystkie komponenty składowe.
Kolejny rozdział obejmuje opis systemu wbudowanego napisanego w j˛ezyku programowania C, od-
powiedzialnego za prac˛e całego urzadzenia.
˛ System ten ma za zadanie zapewnić obsług˛e Bluetooth Low
Energy, analizować, interpretować i wykonywać polecenia wysyłane przez smartfon, odmierzać czas w
urzadzeniu,
˛ odczytywać, przetwarzać i przechowywać wst˛epnie dane z zewn˛etrznych czujników.
Kolejno, zostanie zaprezentowany projekt fragmentu aplikacji mobilnej, dedykowanej dla systemu
Android, ukazujacy
˛ techniki bezobsługowej z punktu widzenia użytkownika komunikacji z urzadzeniem.
˛
Ostatnie rozdziały poświ˛econe sa˛ przeprowadzanym testom wykonanego prototypu, rozważaniom
na temat możliwości dalszego rozwoju projektu, jak również udoskonaleń zaproponowanych rozwiazań
˛
oraz podsumowanie całej pracy.
Warto dodać, iż opisywana konstrukcja jest cz˛eścia˛ wi˛ekszego systemu (rysunek 1.1), który
obejmuje dalszy rozwój aplikacji mobilnej, projekt serwisu internetowego prezentujacego
˛ aktualne
i historyczne dane, jak również komunikacji aplikacji mobilnej z tym serwisem. Całość stanowi
propozycj˛e układu komunikacyjnego z pogranicza obecnie pr˛eżnie rozwijajacej
˛ si˛e dziedziny, jaka˛
niewatpliwie
˛ jest Internet of Things i z powodzeniem może być wykorzystany w podobnym systemie
tego typu.

Rys. 1.1. Schemat pogladowy


˛ przedstawiajacy
˛ koncepcj˛e całego systemu. Przery-
wana˛ linia˛ zaznaczono cz˛eść realizowana˛ w niniejszej pracy[1].

J. Marecik Konstrukcja układu do monitorowania środowiska roślin doniczkowych


2. Przeglad
˛ istniejacych
˛ rozwiaza
˛ ń

Istotnym etapem w projektowaniu układu elektronicznego jest zapoznanie si˛e z oferta˛ rynku. Należy
poszukać komponenty elektroniczne, które b˛eda˛ najbardziej odpowiednie w kontekście danego projektu.
Warto również przeanalizować podobne do tworzonego rozwiazania
˛ innych producentów, aby zmniej-
szyć ilość ewentualnych bł˛edów powstałych na etapie pracy projektowej oraz ocenić konkurencyjność
tworzonego produktu.

2.1. Analiza podobnych urzadze


˛ ń istniejacych
˛ na rynku
W zwiazku
˛ z istniejacym
˛ zapotrzebowaniem, jak również trendem, na rynku pojawia si˛e coraz wi˛ecej
urzadzeń
˛ kierowanych to prywatnych konsumentów, przeznaczonych do użytku domowego. Wiele z nich
bezpośrednio prezentuje aktualne dane. Inne z kolei dodatkowo oferuja˛ możliwość bezprzewodowej ko-
munikacji przy wykorzystaniu Wi-Fi (standard IEEE 802.11), jak również wspomnianego Bluetooth
Low Energy. Ze wzgl˛edu na popularność, jak i najwi˛eksze podobieństwo do projektowanego układu zo-
stana˛ poddane analizie dwa układy. Pierwszy z nich został skonstruowany przez francuska˛ firm˛e Parrot,
natomiast drugi przez chińska˛ firm˛e Xiaomi. Każda z tych firm w dużej mierze specjalizuje si˛e w produ-
kowaniu urzadzeń
˛ elektronicznych dla prywatnych odbiorców.
Jako pierwszy omówiony b˛edzie francuski produkt o nazwie Parrot Flower Power. Jak można prze-
czytać na stronie internetowej producenta urzadzenie
˛ zostało sprzedane w ilości ponad 65 000 sztuk.
Oferuje ono możliwość pomiaru temperatury otoczenia, nasłonecznienia, wilgotności gleby oraz ilości
nawozów w podłożu. Komunikacja produktu ze smartfonem nast˛epuje przy wykorzystaniu Bluetooth
Low Energy. Według deklaracji producenta ciagły
˛ czas pracy urzadzenia
˛ przy zasilaniu pojedynczym
ogniwem AAA wynosi około 6 miesi˛ecy. Zarzadzanie
˛ układem nast˛epuje z użyciem aplikacji mobil-
nej dedykowanej dla tabletów, badź
˛ smartfonów z systemami Android i iOS. Jako czujnik temperatury
został wykorzystany termistor. Zapewnia on zakres pomiarów od -5◦ C do +55◦ C z dokładnościa˛ +/-
1.5◦ C. Wilgotność gleby mierzona jest przy użyciu metody pomiaru pojemności elektrycznej podłoża
pomi˛edzy dwoma sondami w zakresie od 0 do 50% z dokładnościa˛ +/-3%. W celu zmierzenia nat˛eże-
nia światła zastosowano najprawdopodobniej fototranzystor lub fotorezystor. Pomiary zwracane sa˛ jako
promieniowanie syntetyczne czynne w zakresie od 0.13 do 104 z dokładnościa˛ +/-15% dla długości fali
światła wokół 510 nm. Z kolei poziom nawożenia gleby badany jest przy użyciu metody pomiaru kon-
duktywności gleby w zakresie od 0 do 10 mS/cm z dokładnościa˛ +/-20 %. Warto zaznaczyć, iż można
10 2.1. Analiza podobnych urzadzeń
˛ istniejacych
˛ na rynku

dokonać ten pomiar tylko wtedy, gdy podłoże jest odpowiednio wilgotne. Kolejna˛ cecha˛ urzadzenia
˛
jest możliwość przechowywania pomiarów z ostatnich 80 dni. Na rysunku 2.1 zamieszczonym poniżej
zostało umieszczone zdj˛ecie produktu z cz˛eściowo zdemontowana˛ obudowa.˛ Pozwala ono zaobserwo-
wać w jaki sposób inżynierowie firmy Parrot zdecydowali si˛e rozmieścić poszczególne komponenty.
W środkowej cz˛eści urzadzenia,
˛ tuż nad sonda˛ pomiarowa˛ umieszczana˛ w glebie, znajduje si˛e wi˛ek-
szość elementów elektronicznych w obudowach SMD, w tym mikrokontroler sterujacy
˛ całym układem,
wyposażony w moduł radiowy Bluetooth Low Energy firmy Texas Instruments - model CC2540. Bez
watpienia,
˛ z punktu widzenia wykonawcy, wada˛ konstrukcji tego urzadzenia
˛ jest umiejscowienie poza
PCB na osobnym module czujnika nat˛eżenia światła, który połaczony
˛ jest z reszta˛ przewodami. Osobna˛
cz˛eść stanowi również koszyk ogniwa AAA. Takie rozwiazanie
˛ przy tym kształcie obudowy było naj-
prawdopodobniej niezb˛edne, jednak wpływa znaczaco
˛ na skomplikowanie procesu produkcji i montażu
urzadzenia.
˛ Średnia cena produktu wynosi około 50 dolarów.

Rys. 2.1. Parrot Flower Power wewnatrz[2].


˛

Kolejnym analizowanym produktem jest urzadzenie


˛ chińskiej firmy - Xiaomi Flora Sensor. Podob-
nie jak miało to miejsce w poprzednim przypadku pozwala na pomiar temperatury, nat˛eżenia światła,
wilgotności gleby oraz poziomu nawożenia. Łaczność
˛ realizowana jest poprzez Bluetooth Low Energy.
Temperatura w urzadzeniu
˛ mierzona jest przy użyciu termistora z dokładnościa˛ do 0.5◦ C. W celu do-
konania pomiaru nat˛eżenia światła użyto najprawdopodobniej fotodiody, badź
˛ fototranzystora (rysunek
2.2) uzyskawszy dokładność do 100 lx w zakresie do 100 000 lx. Wilgotność gleby najprawdopodob-
niej jest mierzona przy wykorzystaniu pojemności podłoża i zwracana w %, natomiast wartość poziomu
nawożenia przy użyciu pomiaru konduktywności gleby, a co za tym idzie zwracana w µS/cm. W roli mi-
krokontrolera firma Xiaomi wykorzystała DA14580 firmy Dialog Semiconductor realizujacy
˛ podobnie
jak miało to miejsce w produkcie poprzednim funkcj˛e BLE przy wykorzystaniu anteny paskowej. Urza-
˛
dzenie w przypadku braku połaczenia
˛ BLE przechowuje dane w pami˛eci nieulotnej. Czas pracy układu
według producenta wynosi około 365 dni przy wykorzystaniu pojedynczej baterii CR2032 o napi˛eciu 3V.
Urzadzenie
˛ współpracuje z dedykowana˛ aplikacja˛ dla systemów iOS i Android. Ponadto oferuje możli-
wość integracji z usługa˛ inteligentnego domu tejże firmy.[3] Jak można zaobserwować na rysunku 2.2

J. Marecik Konstrukcja układu do monitorowania środowiska roślin doniczkowych


2.2. Przeglad
˛ dost˛epnych komponentów elektronicznych 11

układ składa si˛e w całości z jednego modułu PCB integrujacego


˛ wszystkie komponenty składowe urza-
˛
dzenia, co w kontekście produkcji bez watpienia
˛ stanowi zalet˛e. Cena produktu w zależności od oferty
waha si˛e w przedziale od 10 do 20 dolarów za sztuk˛e.

Rys. 2.2. Xiaomi Flora Sensor wewnatrz[4].


˛

Podsumowujac
˛ powyższe analizy można wyciagn
˛ ać
˛ kilka interesujacych
˛ wniosków. Zarówno pierw-
szy jak i drugi produkt oferuj˛e możliwość pomiaru temperatury, wilgotności gleby, nat˛eżenia światła, jak
również poziomu nawożenia. Każda z tych wielkości mierzona jest przy użyciu analogowego czujnika
co przekłada si˛e niewatpliwie
˛ na niska˛ cen˛e peryferii, lecz wprowadza dodatkowa˛ czynność na etapie
projektowania jaka˛ jest kalibracja sensorów. Główna˛ jednostk˛e sterujac
˛ a˛ w obu przypadkach stanowi
układ scalony typu SoC (ang. System on Chip), co znaczaco
˛ obniża cen˛e wykonania produktu, upraszcza
jego budow˛e i pozwala na lepsze zarzadzanie
˛ przez system wbudowany komunikacja˛ bezprzewodowa.˛
Główna różnica mi˛edzy urzadzeniami
˛ znajduje si˛e w fizycznej budowie. Produkt firmy Parrot posiada
bardziej złożona˛ konstrukcj˛e w stosunku do produktu firmy Xiaomi, którego układ elektroniczny został
zintegrowany w postaci pojedynczej płytki, co niewatpliwie
˛ przekłada si˛e na różnic˛e w cenie mi˛edzy
pierwszym, a drugim i być może wpływa cz˛eściowo na poziom awaryjności.

2.2. Przeglad
˛ dost˛epnych komponentów elektronicznych

Najważniejszym elementem elektronicznym z punktu widzenia projektu jest odpowiednio dobrana


jednostka centralna w postaci mikrokontrolera. Odpowiada ona za sterowanie praca˛ całego układu. Przy
jej wyborze warto zwrócić uwag˛e na kilka parametrów istotnych w kontekście danego projektu. Po
pierwsze warto zwróć uwag˛e na rdzeń wybieranego układu, ponieważ wia˛że si˛e on bezpośrednio z wy-
dajnościa,˛ jak również energooszcz˛ednościa˛ całego urzadzenia.
˛ Istotna˛ kwestia˛ sa˛ peryferia i interfejsy
danego mikrokontrolera, ponieważ od ich wyst˛epowania w układzie i parametrów zależy możliwość
stworzenia poszczególnych funkcjonalności. Na rynku funkcjonuje wiele firm produkujacych
˛ mikrokon-
trolery różniace
˛ si˛e cena˛ i możliwościami. W odpowiedzi na pr˛eżnie rozwijajacy
˛ si˛e rynek urzadzeń
˛
typu Smart w ostatnich kilku latach w ofertach producentów pojawia si˛e coraz wi˛ecej układów typu
SoC, które w obr˛ebie jednego układu scalonego, poza mikrokontrolerem, integruja˛ moduł radiowy (np.
Bluetooth). W tabeli 2.1 umieszczono porównanie ofert trzech wybranych producentów.

J. Marecik Konstrukcja układu do monitorowania środowiska roślin doniczkowych


12 2.2. Przeglad
˛ dost˛epnych komponentów elektronicznych

Producent Model Wybrane elementy specyfikacji


Nordic NRF52832 – Rdzeń: ARM Cortex M4F
Semiconductor – Pami˛eć RAM: 64 kB
– Pami˛eć Flash: 512 kB
– ADC: 12-bit, 8-kanałów
– Licznik 32 kHz
– Ilość GPIO: 32
– Pobór pradu
˛ w trybie nadajnika (moc 0dBm, DCDC,
3V): 5.3 mA
– Pobór pradu
˛ w trybie odbiornika (DCDC, 3V): 5.4 mA
– Moduł radiowy: 2.4 GHz ze wsparciem m.in. dla BLE
– Napi˛ecie zasilania: 1.7 - 3.6 V
Texas CC2540F256 – Rdzeń: 8051
Instruments – Pami˛eć RAM: 8 kB
– Pami˛eć Flash: 256 kB
– ADC: 12-bit, 8-kanałów
– Licznik 32 kHz
– Ilość GPIO: 21
– Pobór pradu
˛ w trybie nadajnika (moc -6dBm): 24 mA
– Pobór pradu
˛ w trybie odbiornika: 19.6 mA
– Moduł radiowy: 2.4 GHz ze wsparciem dla BLE
– Napi˛ecie zasilania: 2 - 3.6 V
Dialog DA14580 – Rdzeń: ARM Cortex M0
Semiconductor – Pami˛eć RAM: 8 kB
– Pami˛eć ROM: 84 kB
– Pami˛eć OTP: 32 kB
– Pami˛eć System SRAM: 42 kB
– ADC: 10-bit, 4-kanały
– Licznik 32 kHz
– Ilość GPIO: 32
– Pobór pradu
˛ w trybie nadajnika (moc 0dBm, DCDC,
3V):3.4 mA
– Pobór pradu
˛ w trybie odbiornika (DCDC, 3V): 3.7 mA
– Moduł radiowy: 2.4 GHz ze wsparciem m.in. dla BLE
– Napi˛ecie zasilania: 0.9 - 3.6 V

Tabela 2.1. Wybrane układy SoC.

J. Marecik Konstrukcja układu do monitorowania środowiska roślin doniczkowych


2.2. Przeglad
˛ dost˛epnych komponentów elektronicznych 13

Czujniki sa˛ elementami elektronicznymi przekształcajacymi


˛ wielkość mierzona˛ w elektryczny sy-
gnał pomiarowy. Z punktu widzenia projektanta układu elektronicznego możemy podzielić je przede
wszystkim na czujniki analogowe i cyfrowe. W pierwszym przypadku otrzymywana wielkość ma po-
stać ciagłego
˛ sygnału elektrycznego reprezentowanego zazwyczaj przez napi˛ecie lub prad
˛ elektryczny.
Z kolei w przypadku czujników cyfrowych można mówić o układach scalonych wyposażonych mi˛edzy
innymi w sensory analogowe, przetworniki analogowo-cyfrowe, układy i pami˛eci cyfrowe. Komunikuja˛
si˛e one najcz˛eściej z innymi urzadzeniami
˛ przy wykorzystaniu protokołów komunikacji cyfrowej (np.
SPI, I2 C). Zarówno pierwszy, jak i drugi rodzaj czujników ma swoje zalety oraz wady. Przeglad
˛ najważ-
niejszych z nich został przedstawiony w tabeli 2.2. Po przeanalizowaniu poszczególnych cech można
dojść do wniosku, iż wybór nie jest jednoznaczny. Zależy on bowiem od specyfiki danego projektu,
w którym sensor znajduje zastosowanie. Co wi˛ecej, cz˛esto ma miejsce sytuacja, gdzie do pomiaru danej
wielkości dost˛epny jest jedynie jeden z dwóch przedstawionych typów czujników lub po prostu zastoso-
wanie drugiego nie ma technicznego uzasadnienia. Do takiego wniosku można dojść przegladaj
˛ ac ˛ oferty
poszczególnych producentów komponentów elektronicznych.

Zalety Wady
Czujniki – Niższa cena. – Potrzeba kalibracji.
analogowe – Możliwość doboru dowolnego układu – Potrzeba zewn˛etrznego
akwizycji danych. układu do akwizycji

– Wpływ projektanta na dokładność pomia- danych.

rów tworzonego urzadzenia.


˛

– Elastyczność aplikacji.
Czujniki – Skalibrowany na etapie produkcji. – Wyższa cena.
cyfrowe – Odczyt cyfrowy przetworzonych danych. – Układy komunikujace
˛

– Dzi˛eki adresacji cyfrowej możliwość przy- si˛e z czujnikiem mu-

łaczenia
˛ kilku układów scalonych do jed- sza˛ obsługiwać dany

nej linii, jeśli korzystaja˛ z tego samego pro- protokół.

tokołu.
Tabela 2.2. Wybrane cechy poszczególnych rodzajów czujników elektronicznych.

Temperatura jest bez watpienia


˛ jedna˛ z podstawowych wielkości fizycznych. Ma bardzo duży wpływ
na działanie prawdopodobnie każdego elementu elektronicznego, przez co bardzo cz˛esto, w tym kontek-
ście, nazywana jest „superparametrem”. Na rynku dost˛epnych jest wiele sensorów cyfrowych służacych
˛
do pomiaru temperatury, w różnych przedziałach cenowych i posiadajacych
˛ różne specyfikacje. Bar-
dzo cz˛esto integrowane sa˛ również dodatkowo w układach scalonych realizujacych
˛ inne zadania. Ceny
czujników cyfrowych znajduja˛ si˛e w przedziale od około 0.5 dolara do nawet kilku tysi˛ecy dolarów.
W przypadku jednak tych pierwszych dokładność mierzonej temperatury w wielu aplikacjach nie jest
zadowalajaca.
˛

J. Marecik Konstrukcja układu do monitorowania środowiska roślin doniczkowych


14 2.2. Przeglad
˛ dost˛epnych komponentów elektronicznych

Do najbardziej rozpowszechnionych rodzajów czujników analogowych w wi˛ekszości rozwiazań


˛ na-
leża:
˛
– Elementy oporowe:
– metalowe,
– półprzewodnikowe (termistory),
– Termopary.
W elementach oporowych metalowych wykorzystana została zależność temperatury od rezystancji.
Najcz˛eściej wykorzystuje si˛e do ich produkcji: platyn˛e, miedź lub nikiel ze wzgl˛edu trwałość. Typowym
przykładem sa˛ czujniki platynowe o rezystancji 100Ω lub 1000Ω, wyróżniajace
˛ si˛e niemalże liniowa˛
zależnościa˛ rezystancji od temperatury[5].
Termistory od omawianych powyżej czujników metalowych odróżnia wykorzystany w budowie ma-
teriał termoczuły. W tym przypadku jest to półprzewodnik. Można wyróżnić trzy główne grupy termi-
storów:
– o ujemnym temperaturowym współczynniku rezystancji (NTC),
– o dodatnim temperaturowym współczynniku rezystancji (PTC),
– o skokowej zmianie rezystancji (CTR).
Termistory głównie charakteryzuja:
˛
– czułość wi˛eksza niż w przypadku metalowych odpowiedników,
– niewielkie wymiary,
– niewielka bezwładność cieplna,
– duża rezystancja,
– niska cena,
– temperatura pracy w standardowych termistorach od ok. -200◦ C do ok. 250◦ C,
– nieliniowość (rysunek 2.3)[5].
Druga omawiana grupa to termopary. Sa˛ to typy czujników składajace
˛ si˛e z dwóch różnych prze-
wodników elektrycznych. W skutek efektu termoelektrycznego, czyli wytwarzania mi˛edzy nimi napi˛e-
cia zależnego od temperatury, znajduja˛ szerokie zastosowania w pomiarach tejże wielkości fizycznej.
Charakteryzuja˛ si˛e przede wszystkim:
– stosunkowo niska˛ cena,˛
– mierza˛ szeroki zakres temperatur,
– nie wymagaja˛ zewn˛etrznego zasilania,
– trudno osiagn
˛ ać
˛ duża˛ dokładność pomiaru[6].
Kolejnym, istotnym z punktu widzenia tego projektu elementem elektronicznym jest czujnik otacza-
jacego
˛ światła. Podobnie jak w przypadku temperatury istnieje na rynku wiele gotowych rozwiazań
˛ w po-
staci czujników cyfrowych. Najcz˛eściej dostarczane sa˛ do klienta w obudowie typu SMD. Odznaczaja˛
si˛e również wyższa˛ cena˛ aniżeli czujniki w postaci analogowych elementów. Spośród tych najcz˛eściej
stosowane to:
– fotodiody,

J. Marecik Konstrukcja układu do monitorowania środowiska roślin doniczkowych


2.2. Przeglad
˛ dost˛epnych komponentów elektronicznych 15

Rys. 2.3. Zależność rezystancji termistorów od temperatury: 1-termistor NTC, 2-


termistor PTC, 3-termistor CTR[5].

– ze złaczem
˛ p-n,
– ze złaczem
˛ p-i-n,
– lawinowe,
– fototranzystory,
– fotorezystory.
Fotodioda wykorzystuje zjawisko promieniowania świetlnego, które padajac
˛ na złacze
˛ p-n (lub p-i-n
z warstwa˛ niedomieszkowana) powoduje powstawanie nośników. Jako fotodetektor pracuje zazwyczaj
przy polaryzacji zaporowej. W chwili braku oświetlenia przez fotodiod˛e płynie jedynie prad
˛ wsteczny
złacza,
˛ b˛edacy
˛ wynikiem termicznej generacji nośników. Promieniowanie świetlne powoduje genero-
wanie si˛e dodatkowych nośników, a co za tym idzie wzrost pradu
˛ złacza
˛ proporcjonalnie do nat˛eżenia
światła[7]. Fotodioda charakteryzuje si˛e przede wszystkim:
– bardzo duża˛ dynamika˛ zmian napi˛ecia,
– małymi wartościami pradu
˛ fotoelektrycznego, przez co cz˛esto wymaga dodatkowego wzmacnia-
cza[8].
Struktura p-i-n charakteryzuj˛e si˛e szczególnie mała˛ bezwładnościa˛ działania, dzi˛eki małej pojemności
złacza
˛ spowodowanej duża˛ grubościa˛ warstwy zaporowej.
Fototranzystor działa podobnie jak zwykły tranzystor z ta˛ różnica,˛ że cz˛esto nie ma wyprowadzenia
bazy. Posiada jednak okno umożliwiajace
˛ padanie promieniowania na baz˛e spolaryzowanego tranzystora
i w konsekwencji powstanie w ten sposób nośników. Fototranzystory charakteryzuja˛ si˛e przede wszyst-
kim:
– duża˛ czułościa˛ na promieniowanie,
– sa˛ wolniejsze niż fotodiody,

J. Marecik Konstrukcja układu do monitorowania środowiska roślin doniczkowych


16 2.2. Przeglad
˛ dost˛epnych komponentów elektronicznych

– wytwarzaja˛ stosunkowo duży szum[7].

Fotorezystor to „element półprzewodnikowy bezzłaczowy,


˛ który pod wpływem promieniowania
świetlnego silnie zmienia swoja˛ rezystancj˛e. Cz˛eść robocza˛ (światłoczuła)
˛ fotorezystora stanowi sta-
nowi cienka warstwa półprzewodnika osadzona na podłożu dielektrycznym wraz z elektrodami metalo-
wymi doprowadzajacymi
˛ prad
˛ ze źródła zewn˛etrznego. Całość umieszcza si˛e w obudowie z okienkiem,
służacym
˛ do przepuszczania promieniowania świetlnego[7].” Fotorezystory charakteryzuja˛ si˛e przede
wszystkim:
– niska˛ cena,˛
– sa˛ bardzo wolne.
Do pomiaru poziomu wilgotności gleby wykorzystuje si˛e wiele metod. Duża˛ dokładnościa˛ charak-
teryzuja˛ si˛e wykorzystujace
˛ pomiar stopnia rozproszenia neutronów [9] lub współczynnika fali stoja-
˛
cej[10]. Sa˛ one jednak bardzo drogie. Do mniej dokładnych, ale zacznie tańszych metod należa:
˛
– pomiar oporności elektrycznej,
– pomiar przenikalności elektrycznej.
Mierzenie oporności i przenikalności polega na elektrycznym pomiarze tych wielkości jako cech charak-
terystycznych materiału, w tym wypadku gleby. W przypadku rezystancji może być to również innym
materiał, odseparowany cz˛eściowo od gleby, do którego przez specjalne pory swobodnie wnika wil-
goć. Pomiar przenikalności jest nieco trudniejszy w realizacji, wymaga również dokładniejszego układu.
Duża˛ wada˛ obydwu jest wrażliwość na zasolenie gleby, co wpływa na dokładność pomiarów.

J. Marecik Konstrukcja układu do monitorowania środowiska roślin doniczkowych


3. Bluetooth Low Energy

Bluetooth Low Energy jest standardem łaczności


˛ bezprzewodowej. Stanowi cz˛eść specyfikacji Blu-
etooth 4.0. Charakteryzuje si˛e energooszcz˛ednościa,˛ niskimi kosztami, waskim
˛ pasmem. Kierowany jest
do aplikacji w urzadzeniach,
˛ które nie potrzebuja˛ dużej przepustowości danych, wymagaja˛ natomiast ni-
skiego poboru mocy. Na całość standardu składaja˛ si˛e trzy główne bloki, w ramach których zdefiniowane
sa˛ poszczególne warstwy protokołu (rysunek 3.1):

– Application – obejmuje interfejs aplikacji użytkownika,

– Host – obejmuje wyższe warstwy stosu protokołu,

– Controller – obejmuje niższe warstwy stosu protokołu wraz z radiem.

Rys. 3.1. Stos protokołu Bluetooth Low Energy[11].


18

Warstwa fizyczna (PHY) odpowiada za operacje na sygnałach analogowych. Radio wykorzystuje


do komunikacji pasmo 2.4 GHz ISM (ang. Industrial, Scientific and Medical) podzielone na 40 kanałów
(2.4000 GHz do 2.4835 GHz). Trzy z nich wykorzystywane sa˛ jako kanały rozgłoszeniowe zmieniane
pseudolosowo za każdym razem. Pozostałe przeznaczone sa˛ na transmisj˛e danych. W standardzie
wykorzystano modulacj˛e GFSK (ang. Gaussian Frequency Shift Keying) umożliwiajac
˛ a˛ przepustowość
do 1 Mbit/s.

Warstwa łacza
˛ (LL) odpowiada mi˛edzy innymi za kształt pakietów, kontrol˛e bł˛edów, szyfrowa-
nie, itp. Można w niej zdefiniować nast˛epujace
˛ role pełnione przez moduł BLE:
– Advertiser – urzadzenie
˛ wysyła pakiety rozgłoszeniowe,
– Scanner – urzadzenie
˛ skanuje pakiety rozgłoszeniowe,
– Master – urzadzenie
˛ inicjuje połaczenie,
˛ a nast˛epnie nim zarzadza,
˛
– Slave – urzadzenie
˛ akceptuje żadanie
˛ połaczenia
˛ i synchronizuje zegar z urzadzeniem
˛ Master.

Interfejs kontrolera hosta (HCI) jest interfejsem komunikacyjnym mi˛edzy blokiem kontrolera i hosta.

Sterowanie łaczem
˛ logicznym i protokół adaptacji (L2CAP) zapewnia multipleksacj˛e danych
pomi˛edzy warstwami wyższymi, a niższymi protokołu. Ponadto realizuje fragmentacj˛e i rekombinacj˛e
dużych bloków danych pomi˛edzy wyższymi, a niższymi warstwami (efektywna ilość danych użytkow-
nika wynosi 23 bajty).

Protokół atrybutów (ATT) realizuje w każdym urzadzeniu


˛ BLE relacj˛e klient – serwer wyko-
rzystywana˛ przy komunikacji pomi˛edzy urzadzeniami.
˛ Każdy serwer zawiera dane zorganizowane
w postaci atrybutów, z których każdy posiada unikalny identyfikator (UUID).

Protokół Security Manager (SMP) zawiera szereg algorytmów i procedur zapewniajacych


˛ bez-
pieczna˛ wymian˛e informacji mi˛edzy urzadzeniami.
˛ Wykorzystuje w tym celu klucze bezpieczeństwa.

Profil ogólny atrybutu (GATT) dodaje model abstrakcji danych do protokołu ATT poprzez sca-
lenie poszczególnych atrybutów w struktury danych określajace
˛ organizacj˛e komunikacji.

Profil ogólny dost˛epu(GAP) określa sposób, w jaki współdziałaja˛ urzadzenia


˛ na poziomie niż-
szym. Definiuje przede wszystkim:
– role i interakcje mi˛edzy urzadzaniami,
˛
– tryby operacyjne i przyjścia nimi,
– procedury zapewniajace
˛ poprawna˛ komunikacj˛e,
– procedury bezpieczeństwa,
– dodatkowe formaty dla danych nieprotokołowych[11].

J. Marecik Konstrukcja układu do monitorowania środowiska roślin doniczkowych


4. Projekt urzadzenia
˛ elektronicznego

W poniższym rozdziale został opisany projekt układu elektronicznego urzadzenia.


˛ Zawiera on pro-
pozycj˛e połaczenia
˛ w jeden, spójny system elementów składowych wybranych na podstawie analizy
zamieszczonej w rozdziale 2. Zaprezentowany został również projekt obwodu drukowanego, dedykowa-
nego dla projektowanego urzadzenia.
˛

4.1. Wykorzystane komponenty elektroniczne

4.1.1. Jednostka centralna

Po dokonaniu analizy rynku podj˛eto decyzj˛e, aby jako jednostk˛e centralna˛ zastosować układ
NRF52832 firmy Nordic Semiconductor. Na t˛e decyzj˛e wpłyn˛eły mi˛edzy innymi nast˛epujace
˛ czynniki:

– przyst˛epna cena,

– duża ilość pami˛eci flash i RAM,

– energooszcz˛edność,

– obsługa Bluetooth Low Energy,

– wydajny rdzeń ARM Cortex M4F,

– obecność RTC oraz 12-bit ADC,

– wsparcie techniczne producenta,

– układ sprawdzony i stosowany przez wiele firm,

– wokół modułu istnieje duża społeczność.

4.1.2. Czujnik temperatury

Po dokonaniu analizy rynku podj˛eto decyzj˛e, aby w roli czujnika temperatury zastosować termistor.
Na t˛e decyzj˛e wpłyn˛eły mi˛edzy innymi nast˛epujace
˛ czynniki:

– niska cena,
20 4.1. Wykorzystane komponenty elektroniczne

˛ dokładność pomiaru,
– satysfakcjonujaca

– niewielki pobór mocy,

– łatwość aplikacji.

W roli czujników zazwyczaj wykorzystywane sa˛ termistory NTC, czyli o ujemnym, temperaturo-
wym współczynniku rezystancji. Funkcja odzwierciedlajaca
˛ zależność mi˛edzy opornościa,˛ a tempera-
tura˛ w tego typu czujniku ma przebieg wykładniczy (rysunek 2.3). Można ja˛ jednak przybliżyć stosujac
˛
nast˛epujace
˛ równanie:
1 1

β( )
RT = R0 · e T T0 (4.1)

gdzie:

RT – rezystancja termistora w mierzonej temperaturze T ,


R0 – rezystancja termistora w znanej temperaturze T0 , wyrażona w K,
β – stała materiałowa termistora, wyrażona w K. [5]

Termistory o małej wartości R0 stosuje si˛e do pomiaru niskich temperatur. Z kolei te o dużych war-
tościach, cz˛esto rz˛edu MΩ, maja˛ zastosowanie przy pomiarze wysokich temperatur. W kontekście tego
projektu, wybierajac
˛ elementy rezystancyjne, należy brać pod uwag˛e moc jaka˛ b˛eda˛ rozpraszać. Powinna
być jak najmniejsza, a co z tego wynika, wartość oporności powinna być jak najwi˛eksza. Aby wyznaczyć
górna,˛ dopuszczalna˛ granic˛e należy przeanalizować specyfikacj˛e przetwornika analogowo-cyfrowego,
który b˛edzie dokonywał pomiaru. Z noty katalogowej [12, s.388] wynika, iż dla maksymalnego, kon-
figurowalnego czasu akwizycji (40 µs) wartość rezystancji powinna być niższa, badź
˛ równa 800 kΩ.
˛ pod uwag˛e powyższe czynniki dobrano wartość R0 równa˛ 470 kΩ.
Biorac
Aby móc mierzyć temperatur˛e przy użyciu termistora wykorzystano typowy układ (rysunek 4.1), po-
zwalajacy
˛ zbierać dane za pośrednictwem przetwornika analogowo-cyfrowego. Podstawowa˛ cz˛eść sta-
nowi rezystancyjny dzielnik napi˛ecia zbudowany z termistora TH i rezystora R.
Napi˛ecie wyjściowe układu można opisać nast˛epujac
˛ a˛ zależnościa:
˛
R
VAIN = · V DD (4.2)
RT + R
gdzie:

VAIN – napi˛ecie na wyjściu układu (wejściu ADC),


R – rezystancja opornika R,
V DD – napi˛ecie zasilania.

Wartość analogowa,˛ wyliczona˛ na podstawie równania 4.2 można wykorzystać, aby wyliczyć przybli-
żona˛ wartość zwracana˛ przez przetwornik analogowo-cyfrowy:
VAIN
ADC = · RES (4.3)
V DD

J. Marecik Konstrukcja układu do monitorowania środowiska roślin doniczkowych


4.1. Wykorzystane komponenty elektroniczne 21

Rys. 4.1. Układ pomiaru temperatury z wykorzystaniem termistora.

gdzie:

ADC – wartość zwracana przez ADC,

RES – rozdzielczość ADC.

˛ wzory 4.2 i 4.3 w prosty sposób można wyliczyć rezystancj˛e RT termistora:


Wykorzystujac

RES − ADC
RT = ·R (4.4)
ADC

˛ z równania 4.1 wartość temperatury T i podstawiajac


Ostatecznie wyprowadzajac ˛ zależność 4.4 otrzy-
mujemy:
β
T = (4.5)
R RES − ADC β
ln + ln +
R0 ADC T0

Aby cz˛eściowo uprościć równanie 4.1 warto zastosować w układzie rezystor o wartości rezystancji rów-
nej R0 , przez co wynik pierwszej operacji logarytmowania b˛edzie wynosił 0. Dzi˛eki takiemu zabiegowi
skróci si˛e czas obliczeń. Oczywiście odb˛edzie si˛e to cz˛eściowo kosztem dokładności pomiaru, która
jednak b˛edzie nadal wystarczajaca
˛ w kontekście realizowanego projektu. Otrzymana w równaniu 4.1
wartość temperatury T jest wielkościa˛ wyrażona˛ w Kelwinach. Aby dokonać przekształcenia na stopnie
Celsjusza wystarczy od otrzymanej wielkości odjać
˛ 273,15[13].
W układzie (rysunek 4.1) ze wzgl˛edu na brak potrzeby dużej dokładności pomiarów, jak również
przewidywalnie stosunkowo waski
˛ zakres temperaturowy pracy urzadzenia
˛ nie zdecydowano si˛e na uży-
cie dodatkowych układów kompensacji temperaturowej.
˛ powstałe w obwodzie szumy. Jego wartość C
Kondensator użyty w układzie ma na celu usunać
dobrano tak, aby nie zwi˛ekszała zbytnio czasu ustalania napi˛ecia w obwodzie. Wzi˛eto poza tym pod

J. Marecik Konstrukcja układu do monitorowania środowiska roślin doniczkowych


22 4.1. Wykorzystane komponenty elektroniczne

uwag˛e specyfikacj˛e elektryczna˛ ADC[12, s.389], która sugeruje pojemność rz˛edu 2.5 pF na próbk˛e dla
˛ ADC o rozdzielczości 12 bitów możemy wyliczyć wartość C:
maksymalnego zysku. Stosujac

C = 2.5pF · 212 ≈ 10nF (4.6)

4.1.3. Czujnik nat˛eżenia światła

W roli czujnika nat˛eżenia światła zdecydowano si˛e wykorzystać fototranzystor. Na t˛e decyzj˛e wpływ
miały mi˛edzy innymi nast˛epujace
˛ czynniki:

– niska cena,

– satysfakcjonujaca
˛ dokładność pomiaru,

– wzmacnianie sygnału,

– łatwość aplikacji,

– kształt ułatwiajacy
˛ budow˛e urzadzenia.
˛

Po analizie specyfikacji obecnie dost˛epnych na rynku fototranzystorów zdecydowano si˛e wykorzystać


TEPT5700[14] firmy Vishay. Cechy charakterystyczne tego elementu to przede wszystkim:

˛ czułości: ϕ = 100◦ ,
– kat

– zakres długości fali: 440 nm do 800 nm (optymalnie dla światła widzialnego),

– maksymalna czułość dla 570 nm,

– obudowa THT,

– średnica 5 mm,

˛ kolektora IC : od 3 nA do 20 mA,
– prad

– napi˛ecie saturacyjne ICEsat : 0.1 V,

– niemalże liniowa zależność pradu


˛ od nat˛eżenia światła (rysunek 4.2).

Aby móc dokonać pomiaru nat˛eżenia światła należy zbudować odpowiedni układ. Jedna˛ z możliwości
wykorzystujacej
˛ fototranzystor jest układ przedstawiony na rysunku 4.3. TEPT5700 opiera si˛e na tranzy-
storze bipolarnym NPN. Z tego wzgl˛edu proponowane podłaczenie
˛ jest przykładem układu ze wspólnym
kolektorem. Zaleta˛ takiej konfiguracji jest proporcjonalność zmian napi˛ecia wyjściowego do pradu
˛ emi-
tera. Z tego wynika, iż wartość napi˛ecia wyjściowego znajduje si˛e w zakresie od 0 do V DD − UCEsat .
Rezystor wyst˛epujacy
˛ w układzie został dobrany po uwzgl˛ednieniu dwóch czynników. Pierwszym z nich
jest pomiar szerokiego zakresu nat˛eżenia światła. Aby zoptymalizować układ pod tym wzgl˛edem należy

J. Marecik Konstrukcja układu do monitorowania środowiska roślin doniczkowych


4.1. Wykorzystane komponenty elektroniczne 23

Rys. 4.2. Zależność pradu


˛ kolektora od nat˛eżenia światła[14].

użyć rezystora o stosunkowo niewielkiej oporności, na której końcówkach nie odłoży si˛e napi˛ecie wi˛ek-
sze od napi˛ecia zasilania przy przepływie dużego pradu.
˛ Z drugiej strony wartość powinna być duża na
tyle, aby wykorzystać cały zakres rozdzielczości ADC. Cecha˛ charakterystyczna˛ wi˛ekszości fototranzy-
storów jest szum sygnału. Aby ograniczyć ten niepożadany
˛ efekt należało dołaczyć
˛ kondensator C, który
okazał si˛e niezb˛edny do funkcjonowania układu na oczekiwanym poziomie. Wartość pojemności 4.7 µF
stanowi kompromis, ponieważ dobierajac
˛ ja˛ należało mieć na uwadze, iż zbyt duża wartość wydłuży czas
ustalania napi˛ecia na powstałym filtrze RC, wydłużajac
˛ przez to czas oczekiwania na pierwszy pomiar
po uruchomieniu układu pomiaru nat˛eżenia światła, natomiast wartość zbyt mała nie przyniesie poża-
˛
˛ wartości 1 µF i 2
danego efektu. Zanim postanowiono użyć t˛e wartość, testowano układ wykorzystujac
µF .
W celu sprawdzenia poprawności działania zaprojektowanego układu do pomiaru w nat˛eżenia świa-
tła napisano program w j˛ezyku skryptowym Python 3.6, który pozwalał przy użyciu portu szerego-
wego na odczytywanie danych z dwóch podłaczonych
˛ do komputera mikrokontrolerów, pobierajacych
˛
dane z czujników nat˛eżenia światła. Do akwizycji danych z fototranzystora posłużono si˛e układem
NRF52832, natomiast do pobierania danych z cyfrowego czujnika BH1750 firmy ROHM Semicon-
ductor użytego, jako źródło referencyjne wykorzystano mikrokontroler Atmega 328. Na rysunku 4.4
przedstawiono wyniki testów dla poszczególnych wartości pomiarów zwracanych przez czujniki w około
2-sekundowych odst˛epach czasu. Według zapewnień producenta[15] bład
˛ pomiaru nat˛eżenia światła dla
BH1750 wynosi typowo 20%, natomiast średnia rozbieżność mi˛edzy poszczególnymi wartościami zwra-
canymi przez każdy z czujników w danej chwili wynosi średnio około 19 lx. Z tego wynika, że poziom
poprawności działania czujnika fototranzystorowego jest zadowalajacy
˛ w kontekście projektowanego
układu.

J. Marecik Konstrukcja układu do monitorowania środowiska roślin doniczkowych


24 4.1. Wykorzystane komponenty elektroniczne

Rys. 4.3. Układ pomiaru nat˛eżenia światła z wykorzystaniem fototranzystora.

Rys. 4.4. Porównanie działania czujnika opartego na fototranzystorze z działaniem


cyfrowego czujnika BH1750.

4.1.4. Czujnik wilgotności podłoża

Do wykonywania pomiarów wilgotności gleby zdecydowano si˛e wykorzystać układ mierzacy


˛ opór
elektryczny podłoża. Na t˛e decyzj˛e wpływ miały mi˛edzy innymi nast˛epujace
˛ czynniki:

– niska cena komponentów,

– satysfakcjonujaca
˛ dokładność pomiaru,

J. Marecik Konstrukcja układu do monitorowania środowiska roślin doniczkowych


4.2. Schemat układu elektrycznego 25

– prostota układu.

Układ, jak pokazano na rysunku 4.5, opiera si˛e na tranzystorze bipolarnym NPN w konfiguracji
wspólnego kolektora. Prad
˛ elektryczny ograniczony rezystorem R1 przepływa przez warstw˛e podłoża
pomi˛edzy końcówkami sondy do bazy tranzystora, przez co proporcjonalnie zostaje wzmocniony prad
˛
kolektora. Kolejno na rezystorze R2 nast˛epuje konwersja zmian wartości pradu
˛ elektrycznego na napi˛ecie
elektryczne, które stanowi wartość wejściowa˛ przetwornika analogowo-cyfrowego. Wartość kondensa-
tora minimalizujacego
˛ szumy elektryczne dobrano na podstawie specyfikacji przetwornika, co opisano
w podrozdziale 4.1.2. Zaleta˛ użytej konfiguracji jest proporcjonalność zmian wilgoci do napi˛ecia wyj-
ściowego.

Rys. 4.5. Układ pomiaru wilgotności gleby z wykorzystaniem sondy rezystancyjnej.

W celu dokonania kalibracji układu wyznaczono empirycznie wartości wyjściowe dla dwóch skraj-
nych przypadków. Aby wyznaczyć dolna˛ wartość zanurzono sond˛e w suchym podłożu. Z kolei w celu
wyznaczenia górnej wartości użyto żyznej, maksymalnie nasaczonej
˛ źródlana˛ woda˛ gleby. Wzgl˛edem
otrzymanych poziomów napi˛ecia obliczany jest na poziomie oprogramowania urzadzenia
˛ procentowy
poziom wilgoci. Ewentualne wartości wykraczajace
˛ poza zakres przybliżane sa˛ do danej, ustalonej przy
kalibracji wielkości skrajnej. Ze wzgl˛edu na to, że urzadzenie
˛ w przypadku pomiaru wilgotności gleby
ma zwracać jednie wartości orientacyjne uznano, że opisana metoda kalibracji jest wystarczajaca.
˛

4.2. Schemat układu elektrycznego

Istotnym elementem projektu przed narysowaniem obwodu drukowanego jest sporzadzenie


˛ sche-
matu elektrycznego układu. Na rysunku 4.6 przedstawiono podłaczenie
˛ do jednostki centralnej anteny
oraz wszystkich elementów elektronicznych wraz z ich wartościami według zaleceń producenta zawar-
tych w dokumentacji. Nieużywane piny zaznaczono niebieskimi krzyżykami. Połaczenia
˛ od 4 do 6 wy-
korzystywane sa˛ jako wejścia kanałów przetwornika analogowo-cyfrowego. Z kolei piny 8 do 10 b˛eda˛
wykorzystane do sterowania zasilaniem czujników.

J. Marecik Konstrukcja układu do monitorowania środowiska roślin doniczkowych


26 4.2. Schemat układu elektrycznego

Rys. 4.6. Schemat elektryczny jednostki z podstawowymi układami i antena.˛

Na rysunku 4.7 przedstawiono schematy elektryczne modułów czujników. Każdy z nich sporzadzono
˛
na podstawie czynności projektowych opisanych w podrozdziale 4.1. Jak można zaobserwować zasilanie
poprowadzono nie bezpośrednio ze źródła zasilania jakim jest bateria, lecz z pinów ogólnego przezna-
czenia jednostki sterujacej.
˛ Dzi˛eki temu, układ nie b˛edzie zasilany bez potrzeby, co pozwoli na duża˛
oszcz˛edność energii. Niewielkie odst˛epstwo od tego ma miejsce w przypadku zasilania sondy do po-
miaru poziomu wilgoci gleby. Ze wzgl˛edu na niezbyt wysoka˛ wydajność pinów mikrokontrolera użyto
prostego klucza wykonanego z tranzystora bipolarnego PNP.
Na rysunku 4.8 przedstawiono schematy elektryczne modułów gniazda baterii i złacza
˛ SWD, którego
służy do wgrywania napisanego oprogramowania.

J. Marecik Konstrukcja układu do monitorowania środowiska roślin doniczkowych


4.2. Schemat układu elektrycznego 27

Rys. 4.7. Schematy elektryczne modułów czujników.

J. Marecik Konstrukcja układu do monitorowania środowiska roślin doniczkowych


28 4.3. Projekt PCB

Rys. 4.8. Schematy elektryczne modułów gniazda baterii i złacza


˛ SWD.

4.3. Projekt PCB

Końcowy etap projektowania cz˛eści sprz˛etowej urzadzenia


˛ stanowi wykonanie projektu PCB. Aby
móc tego dokonać posłużono si˛e darmowym programem KiCad. Ostateczna koncepcja wraz z poglado-
˛
wymi wymiarami została przedstawiona na rysunkach 4.9a i 4.9b. W ramach jednej, dwustronnej płytki
dokonano integracji wszystkich elementów układu. Na górnej warstwie, w górnej cz˛eści umiejscowiono
wszystkie elementy w obudowach SMD oraz anten˛e paskowa.˛ Z kolei na warstwie dolnej przewidziano
miejsce na gniazdo baterii CR2032 oraz fototranzystor umieszczony w najkorzystniejszym dla pomiaru
nat˛eżenia światła punkcie. Dokonano również integracji z PCB sondy mierzacej
˛ wilgotność gleby, prze-
znaczonej do wbicia w podłoże. Rozmieszczenie poszczególnych elementów elektronicznych na płytce,
mogłoby być jeszcze bardziej zoptymalizowane pod katem
˛ zmniejszenia rozmiarów urzadzenia.
˛ Posta-
nowiono jednak pozostawić troch˛e wolnej powierzchni, aby umożliwić w przyszłości ewentualne doda-
wanie nowych układów i modyfikacj˛e istniejacych.
˛

J. Marecik Konstrukcja układu do monitorowania środowiska roślin doniczkowych


4.3. Projekt PCB 29

(a) (b)

Rys. 4.9. Projekt PCB: (a) warstwa górna, (b) warstwa dolna.

J. Marecik Konstrukcja układu do monitorowania środowiska roślin doniczkowych


30 4.3. Projekt PCB

J. Marecik Konstrukcja układu do monitorowania środowiska roślin doniczkowych


5. System wbudowany

W poniższym rozdziale została zaprezentowana koncepcja systemu wbudowanego dedykowanego


dla projektowanego urzadzenia.
˛ Oprogramowanie w całości zostało napisane w j˛ezyku programowania
C. Jako zintegrowane środowisko programistyczne użyto programu Keil uVision5 firmy ARM.

5.1. Opis działania programu

Aby zobrazować działanie systemu, algorytm oprogramowania urzadzenia


˛ można podzielić na trzy
bloki proceduralne:

– inicjalizacyjny,

– funkcji wykonywanych na żadanie,


˛

– funkcji wykonywanych okresowo.

Inicjalizacja wykonywana jest jeden raz i ma miejsce po każdym uruchomieniu urzadzenia.


˛
Ma na celu aktywowanie wszystkich niezb˛ednych do działania systemu peryferiów oraz zwiazane
˛ z tym
wprowadzenie ustawień poczatkowych.
˛ Struktura poszczególnych etapów inicjalizacji została przedsta-
wiona na rysunku 5.1.
Aby użytkownik lub urzadzenie
˛ zewn˛etrzne w postaci smartfonu z dedykowana˛ aplikacja˛ mogło
przesłać dane, badź
˛ pobrać z pami˛eci mikrokontrolera, niezb˛edne jest nawiazanie
˛ połaczenia
˛ bluetooth.
Jak można zaobserwować na rysunku 5.2, po tej czynności projektowane urzadzenie
˛ umożliwia obsług˛e
komend tekstowych (szerzej opisane w podrozdziale 5.3). Kluczowe komendy z punktu widzenia algo-
rytmu to stime i getdata. Pierwsza z nich wysłana wraz z odpowiednim argumentem odpowiada
za ustawienie czasu w urzadzeniu.
˛ Istotna˛ informacja˛ jest również to, iż po wykonaniu tej czynności
urzadzenie
˛ dostaje pozwolenie na wykonywanie okresowych procedur (rysunek 5.3). Rozwiazanie
˛ to zo-
stało wprowadzone celowo, aby w urzadzeniu
˛ nie były zapisywane dane pomiarowe z niewłaściwa˛ data˛
i godzina.˛ Mogłoby to doprowadzić do bł˛edów. Co wi˛ecej, dane pomiarowe bez poprawnych informa-
cji o czasie maja˛ niewielka˛ wartość. Komenda getdata wysłana wraz z odpowiednim argumentem
uruchamia procedur˛e odczytu z pami˛eci flash i wysyłania danych historycznych z zadanego przedziału
czasowego (szerzej opisane w podrozdziale 5.6).
32 5.1. Opis działania programu

Rys. 5.1. Schemat inicjalizacji poszczególnych modułów systemu.

Wspomniany powyżej blok procedur (rysunek 5.3) jest wywoływany okresowo co 15 minut przez
przerwanie zegara RTC. W tym czasie rozpoczyna si˛e akwizycja danych z czujników przy użyciu prze-
twornika analogowo-cyfrowego. Zebrane dane po odpowiednich kalibracjach sa˛ kolejno formowane
w specjalna˛ ramk˛e składajac
˛ a˛ si˛e z kilku bajtów i zawierajac
˛ a˛ informacj˛e kolejno o aktualnej dacie, go-
dzinie oraz wynikach pomiarów. Ramka ta jest nast˛epnie zapisywana w pami˛eci flash pod odpowiednim
adresem oraz umieszczona w rozgłoszeniowej ramce BLE (szczegóły w podrozdziale 5.2).

J. Marecik Konstrukcja układu do monitorowania środowiska roślin doniczkowych


5.1. Opis działania programu 33

Rys. 5.2. Schemat działania cz˛eści procedur systemu wykonywanych na żadanie


˛ użyt-
kownika zewn˛etrznego.

J. Marecik Konstrukcja układu do monitorowania środowiska roślin doniczkowych


34 5.2. Obsługa Bluetooth Low Energy

Rys. 5.3. Schemat działania cz˛eści procedur systemu wykonywanych okresowo.

5.2. Obsługa Bluetooth Low Energy


Jedna˛ z najważniejszych funkcji projektowego systemu jest możliwość przesyłu informacji wykorzy-
stujac
˛ technologi˛e Bluetooth Low Energy. Wszystkie definicje funkcji odpowiedzialnych za inicjalizacj˛e
oraz najwyższa˛ warstw˛e obsługi BLE w urzadzeniu
˛ znajduja˛ si˛e w pliku ble_driver.c. W tworzo-
nym projekcie dane transferowane sa˛ przy użyciu:

– ramki rozgłoszeniowej,

– serwisu Nordic UART Service.

W pierwszym przypadku zostało wykorzystane pole Manufacture Specific Data znajdujace


˛ si˛e
w ramce rozgłoszeniowej. W polu tym umieszczane sa˛ po każdym okresowym pomiarze najbardziej
aktualne dane według schematu (tabela 5.1):

J. Marecik Konstrukcja układu do monitorowania środowiska roślin doniczkowych


5.3. Obsługa komend tekstowych 35

Nr bajtu 1 2 3 4 5 6 7 8 9 10
Wartość yy mm dd HH MM TT XX LL LL BB

Tabela 5.1. Ramka danych (spis oznaczeń tabela 5.3).

Wszystkie powyższe wartości domyślnie (w chwili ponownego uruchomienia) ustawione sa˛ na war-
tość zero. Dzi˛eki temu urzadzenie
˛ b˛edace
˛ klientem rozpoznaje, że układ został zrestartowany i należy
dokonać synchronizacji czasu. Ramki rozgłoszeniowe urzadzenia
˛ wysyłane sa˛ co 1 sekund˛e. Stanowi
to pewien rodzaj kompromisu, ponieważ zużycie energii przez radio BLE pozostaje na stosunkowo ni-
skim poziomie, a klient ma szans˛e w racjonalnym czasie wykryć urzadzenie.
˛ Przesyłanie aktualnych
danych tym sposobem pozwala cz˛eściowo ograniczyć zużycie energii. Klient (lub klienci) nie musza˛
nawiazywać
˛ połaczenia,
˛ aby pozyskać dane.
Druga metoda przesyłu danych odbywa si˛e poprzez nawiazanie
˛ połaczenia.
˛ Na potrzeby tego pro-
jektu postanowiono nie tworzyć nowego serwisu. Wystarczajacy
˛ okazał si˛e Nordic UART Service stwo-
rzony przez firm˛e Nordic Semiconductor i pozwalajacy
˛ na dwukierunkowy przesył dowolnego ciagu
˛
danych (maksymalnie 20 bajtów). Aby przesłać dane wystarczy funkcji ble_nus_string_send
przekazać wraz z odpowiednimi parametrami właściwie przygotowana˛ tablic˛e wartości jednobajtowych.
Odbiór danych zapewnia funkcja nus_data_handler wywoływana przez odpowiednie przerwanie
BLE. Ten typ transferu danych wykorzystywany jest do przesyłu komend tekstowych oraz odpowiedzi
na nie.

5.3. Obsługa komend tekstowych

Na potrzeby tego projektu stworzono bibliotek˛e obsługujac


˛ a˛ CLI (ang. Command Line Interface),
czyli interfejs pozwalajacy
˛ w prosty sposób zarzadzać
˛ komendami tekstowymi. Pozwala ona bardzo
szybko i łatwo dodawać nowe komendy wraz z powiazanymi
˛ funkcjami, przez co cechuje si˛e duża˛ uni-
wersalnościa.˛ Do poprawnego działania CLI niezb˛edne było stworzenie biblioteki pomocniczej obsługu-
jacej
˛ klasyczny bufor kołowy, przechowujacy
˛ analizowana˛ komend˛e wraz z ewentualnym parametrem.
Do głównych zadań biblioteki CLI należy dodawanie nowych komend, przechowywanie ich w odpo-
wiednich strukturach danych, analizowanie odebranych oraz uruchamianie właściwych funkcji. W tabeli
5.2 przedstawiono komendy wykorzystywane do zarzadzania
˛ urzadzeniem.
˛ Spis poszczególnych ozna-
czeń przedstawia tabela 5.3.

J. Marecik Konstrukcja układu do monitorowania środowiska roślin doniczkowych


36 5.4. Zarzadzanie
˛ czasem w urzadzeniu
˛

Nazwa Argumenty Wartość zwracana Opis


gtime yymmddHHMMSS Urzadzenie
˛ zwraca dat˛e i czas.
stime yymmddHHMMSS Ustawienie daty i czasu w urzadzeniu.
˛
getdata yymmddHHMM yymmddHHMMTTXXLLLL Żadanie
˛ wszystkich danych zmierzo-
nych po dacie ostatniej aktualizacji po-
dawanej jako argument.

Tabela 5.2. Komendy CLI.

Symbol Zakres Opis


yy 0 - 99 Numer roku z pomini˛eciem wieków
mm 1 - 12 Numer miesiaca
˛
dd 1 - 31 Numer dnia miesiaca
˛
HH 0 - 23 Godzina
MM 0 - 59 Minuta
SS 0 - 59 Sekunda
TT 0 - 99 Temperatura w ◦ C z offsetem 40◦ C
XX 0 - 99 Wilgotność gleby
LLLL 0 - 9999 Nat˛eżenie światła
BB 0 - 99 Poziom naładowania baterii

Tabela 5.3. Spis oznaczeń.

5.4. Zarzadzanie
˛ czasem w urzadzeniu
˛

W celu zarzadzania
˛ czasem w urzadzeniu
˛ wykorzystano bibliotek˛e nrf_calendar dostarczona˛
przez firm˛e Nordic Semiconductor wprowadzajac
˛ kilka modyfikacji. Do odmierzania czasu wykorzysty-
wany jest niskomocowy Timer RTC o cz˛estotliwości 32 kHz, odpowiednio przeskalowany. Biblioteka
zawiera odpowiednie struktury przechowujace
˛ dane o dacie i czasie. Pozwala również na wywoływa-
nie funkcji callback, co oznacza, że przechowuje wskaźnik na funkcj˛e, która ma być wywoływana
podczas okresowego przerwania. Taka˛ funkcja˛ w przypadku tego projektu jest wywoływanie bloku funk-
cyjnego odpowiedzialnego mi˛edzy innymi za pomiary (schemat 5.3). Ma ono miejsce co 15 minut. Bi-
blioteka do reprezentacji czasu wykorzystuje czas uniksowy, a wi˛ec mierzy liczb˛e sekund od poczatku
˛
1970 roku.

5.5. Akwizycja danych z czujników

Wszystkie czujniki wykorzystane w urzadzeniu


˛ sa˛ w postaci analogowej, a wi˛ec do akwizycji da-
nych należy wykorzystać przetwornik analogowo-cyfrowy. Układ scalony nRF52832 używa SAADC

J. Marecik Konstrukcja układu do monitorowania środowiska roślin doniczkowych


5.6. Przechowywanie danych w pami˛eci flash 37

(ang. Successive approximation ADC), b˛edacego


˛ typem ADC, którego zasada działania polega na stop-
niowym, cyfrowym przeszukiwaniu kolejnych poziomów kwantyzacji w celu znalezienia najlepiej od-
powiadajacemu
˛ wartości napi˛ecia na wejściu ADC[16].
Na potrzeby projektowanego układu rozdzielczość SAADC ustawiono na 12 bitów. Jest to najwyż-
sza wartość oferowana przez układ. Do wykonywania pomiarów użyto 4 kanałów przetwornika. W tabeli
5.4 zaprezentowano podstawowe informacje na temat konfiguracji każdego z nich. Czasy akwizycji do-

Mierzona wielkość Numer kanału Czas akwizycji Źródło napi˛ecia


referencyjnego
Temperatura 0 40 µs VDD
Nat˛eżenie światła 1 40 µs wewn˛etrzne 3.6 V
Wilgotność gleby 2 10 µs wewn˛etrzne 3.6 V
Naładowanie baterii VDD 10 µs wewn˛etrzne 3.6 V

Tabela 5.4. Ustawienia SAADC.

bierane były na podstawie rezystancji układów (wspomniane również w podrozdziale 4.1.2). Aby nie
tracić energii bez potrzeby, moduły czujników w czasie nieużywania nie sa˛ zasilane. W tym celu (jako
zasilanie) wykorzystano 3 piny GPIO (schemat 4.7 i 4.6), które sa˛ ustawiane na stan wysoki przed doko-
naniem pomiaru i na stan niski po dokonaniu pomiaru. Zanim zostanie dokonana akwizycja danych z SA-
ADC, w poszczególnych funkcjach odpowiedzialnych za pomiar danej wielkości należało wprowadzić
niezb˛edne opóźnienie ze wzgl˛edu na wyst˛epowanie pojemności w układach i właściwości czujników.
Na tej podstawie, jak również testujac
˛ czasy dla których zwracane wyniki b˛eda˛ stabilne (w przypadku
˛ opóźnienia: pomiar temperatury – 12 ms, pomiar wilgotności
temperatury), wyznaczono nast˛epujace
gleby – 5 µs, pomiar nat˛eżenia światła – 50 ms.

5.6. Przechowywanie danych w pami˛eci flash

Aby przechowywać dane historyczne w urzadzeniu,


˛ wykorzystano wbudowana˛ pami˛eć flash układu
nRF52832. Napisane oprogramowanie urzadzenia
˛ ma rozmiar zaledwie kilkudziesi˛eciu KB, natomiast
ilość oferowanej przez wykorzystywany model pami˛eci nieulotnej wynosi 512 KB, a wi˛ec ilość poten-
cjalnej przestrzeni na dane pozostaje bardzo duża. Korzystajac
˛ z tego faktu postanowiono na przechowy-
wanie danych pomiarowych wydzielić 288 KB (72 strony flash). Przy założeniu, że pomiary dokonywane
b˛eda˛ co 15 min, pami˛eć zostanie zapełniona po czasie około jednego roku.
W celu zarzadzania
˛ pami˛ecia˛ flash w urzadzeniu,
˛ stworzono na potrzeby projektu bibliotek˛e
jm_flash_manager. Odpowiada ona za poprawny zapis, odczyt i kasowanie danych z pami˛eci. Aby
ułatwić proces zapisu i odczytu, zastosowano metod˛e polegajac
˛ a˛ na przypisywaniu danym pozyskanym
o pewnej godzinie odpowiadajacej
˛ im komórki pami˛eci, której adres wyliczany jest według poniższego
wzoru:

J. Marecik Konstrukcja układu do monitorowania środowiska roślin doniczkowych


38 5.6. Przechowywanie danych w pami˛eci flash

address = (uint32_t *)(last_page_add - (13-mm)*6*page_size


+ (dd-1)*24*4*4*2 + HH*4*4*2 + XX*4*2);

Oznaczenia czasu sa˛ identyczne jak w tabeli 5.3, przy czym XX oznacza numer pomiaru w danej godzi-
nie. Do zapisu pojedynczego ciagu
˛ danych wykorzystuje si˛e 8 bajtów (dwie komórki pami˛eci przecho-
wuja˛ dane typu int32). Jak można wnioskować z powyższych opisów na jeden miesiac
˛ poświ˛ecane jest
pełne 6 stron flash (jedna strona to 4 KB). Przed dokonaniem pierwszego pomiaru w miesiacu
˛ czysz-
czona jest każda z sześciu stron, a na końcu ostatniej z nich dopisywany jest rok pomiaru. Zdecydowano
si˛e na taka˛ cz˛estotliwość kasowania, ponieważ należy usuwać stron˛e w całości w pami˛eci tego typu. Przy
odczycie danych zastosowano analogiczna˛ metod˛e szukania adresu jak przy zapisie. Dzi˛eki takiemu po-
dejściu mamy natychmiastowy dost˛ep do dowolnych danych.

J. Marecik Konstrukcja układu do monitorowania środowiska roślin doniczkowych


6. Aplikacja mobilna

W ramach opisywanego w tej pracy projektu zrealizowano również cz˛eść aplikacji mobilnej odpo-
wiedzialna˛ za komunikacj˛e smartfonu z tworzonym urzadzeniem.
˛ Po uwzgl˛ednieniu trendów rynkowych
podj˛eto decyzj˛e, aby docelowa˛ platforma˛ był system Android. Jako zintegrowane środowisko programi-
styczne wykorzystano Android Studio. Jest to darmowe, oficjalne środowisko do rozwijania aplikacji
dedykowanych dla tego systemu. Użytym j˛ezykiem programowania jest Java.

6.1. Opis działania aplikacji


Główna˛ kwestia˛ w tworzeniu opisywanego w tym rozdziale rozwiazania
˛ było napisanie klasy
MainService.java. Jest to serwis b˛edacy
˛ procesem działajacym
˛ w tle systemu operacyjnego. Za-
nim zostanie on uruchomiony, aplikacja sprawdza czy w bazie danych urzadzeń
˛ (baza danych SQLite)
znajduje si˛e co najmniej jeden rekord. Jeżeli nie, zostaje uruchomione Activity, b˛edace
˛ lista˛ wszystkich,
widocznych urzadzeń
˛ kompatybilnych z BLE. Zadaniem użytkownika jest dokonanie odpowiedniego
wyboru.
Co 60 sekund w MainService.java uruchamiane jest przerwanie oparte na interfejsie
Runnable, które rozpoczyna skanowanie widocznych urzadzeń
˛ BLE. Trwa ono 10 sekund. Jest to wy-
starczajaca
˛ ilość czasu, aby z dużym prawdopodobieństwem natrafić na ramk˛e rozgłoszeniowa˛ wysyłana˛
przez projektowane urzadzenie,
˛ które rozsyła ramki co jedna˛ sekund˛e. Należy również brać pod uwag˛e,
że skanowanie i rozgłaszanie ma miejsce na 3 losowych kanałach. Po wykryciu jakiegokolwiek urza-
˛
dzenia BLE, aplikacja sprawdza czy jego adres fizyczny znajduje si˛e w bazie danych urzadzeń.
˛ Jeżeli
tak, wykonywane sa˛ kolejne kroki. Pierwszym z nich jest pobranie danych z pola ramki rozgłoszeniowej
Manufacture Data. Jeżeli sa˛ to same zera, aplikacja interpretuje to jako potrzeb˛e synchronizacji czasu
z urzadzeniem.
˛ W zwiazku
˛ z tym uruchamiany jest BleService.java, b˛edacy
˛ klasa˛ odpowiedzialna˛
za nawiazanie
˛ i obsług˛e połaczenia
˛ z urzadzeniem
˛ BLE. Nast˛epnie zostaje wysłana komenda stime
wraz ciagiem
˛ tekstowym zawierajacym
˛ informacje o czasie pobrane ze smartfonu, po czym połaczenie
˛
zostaje zerwane.
Jeżeli w polu Manufacture Data aplikacja wykryje dane pomiarowe przyst˛epuje kolejno do ich ana-
lizy. W pierwszej kolejności sa˛ one odpowiednio parsowane. Nast˛epnie z bazy danych (SQLite) po-
miarów odczytywane sa˛ najbardziej aktualne dane. Jeśli sa˛ identyczne z odebranymi proces zostaje
przerwany. W przeciwnym wypadku aplikacja porównuje informacje o czasie najbardziej aktualnych
40 6.1. Opis działania aplikacji

danych z informacjami o czasie danych odebranych. Jeżeli rozbieżność jest mniejsza niż 30 minut
(czyli w praktyce wynosi około 15 minut), nowe dane zostaja˛ dodane do bazy. W przypadku jeśli
okres ten jest dłuższy, podobnie jak miało to miejsce z ustawianiem czasu zostaje uruchomiony serwis
BleService.java i wysłana komenda getdata wraz z informacja˛ o czasie ostatniej aktualizacji.
W tym momencie, aż do momentu zerwania połaczenia,
˛ za odbieranie danych i zapis do bazy odpowiada
BleService.java.

J. Marecik Konstrukcja układu do monitorowania środowiska roślin doniczkowych


7. Analiza systemu

W poniższym rozdziale przedstawiono ogólne wyniki działania zaprojektowanego systemu. Nast˛ep-


nie zaprezentowano kilka problemów napotkanych w czasie tworzenia projektu. Na końcu umieszczono
kilka propozycji rozwoju systemu.

7.1. Test zbudowanego prototypu


Po wykonaniu projektu systemu istotnym elementem sa˛ testy. Aby zrealizować je w kontekście opi-
sywanego projektu, zbudowano płytk˛e prototypowa˛ z czujnikami i pozostałymi elementami elektronicz-
nymi nakładana˛ na płyt˛e rozwojowa˛ układu nRF52. Skończony układ przedstawiono na rysunku 7.1.

Rys. 7.1. Prototyp testowy projektowanego układu.

W celu otrzymania jak najbardziej wiarygodnych wyników przeprowadzono testy całego systemu
(również cz˛eści zrealizowanej przez Przemysława Pachołka). Układ elektroniczny został umieszczony
na parapecie okna. Sond˛e do pomiaru wilgotności wbito w wilgotna˛ gleb˛e w szklanym słoiku. Prototyp
przez kilkadziesiat
˛ godzin wysyłał dane do smartfonu, który z kolei łaczył
˛ si˛e z aplikacja˛ internetowa.˛
42 7.1. Test zbudowanego prototypu

Warto dodać, że właściciel urzadzenia


˛ mobilnego kilkukrotnie opuszczał pomieszczenie na dłuższy czas,
gdzie miały miejsce testy, zabierajac
˛ ze soba˛ urzadzenie
˛ mobilne. Wyniki działania obrazuja˛ umiesz-
czone poniżej wykresy danych (rysunki 7.2, 7.3 i 7.4) skopiowane ze strony internetowej stworzonej
przez Przemysława Pachołka.

Rys. 7.2. Wykres prezentujacy


˛ wyniki okresowych pomiarów temperatury.

Rys. 7.3. Wykres prezentujacy


˛ wyniki okresowych pomiarów wilgotności gleby.

J. Marecik Konstrukcja układu do monitorowania środowiska roślin doniczkowych


7.2. Napotkane problemy 43

Rys. 7.4. Wykres prezentujacy


˛ wyniki okresowych pomiarów nat˛eżenia światła.

Ze wzgl˛edu na duże zmiany pradu


˛ elektrycznego w czujnikach i ilość połaczeń
˛ blueto-
oth nie można dokładnie określić długości pracy na jednej baterii CR2032. Korzystajac
˛ z licz-
nika teoretycznego umieszczonego przez firm˛e Nordic Semiconductor na stronie internetowej
https://devzone.nordicsemi.com/power/, można wyliczyć szacunkowe, średnie zużycie pradu,
˛ które
w przypadku samego wysyłania ramek rozgłoszeniowych wynosi średnio 15 µA. Biorac
˛ pod uwag˛e bar-
dzo krótki czas zasilania czujników, teoretycznie średni prad
˛ elektryczny jest mniejszy niż 1µA. A wi˛ec
po uwzgl˛ednieniu zużycia pradu
˛ przez mikrokontroler, przy zasilaniu bateria˛ 240 mAh, szacunkowy, teo-
retyczny czas pracy wynosi ponad rok. W praktyce czas ten b˛edzie krótszy ze wzgl˛edu na duże, chwilowe
zużycia energii, przyspieszajace
˛ rozładowanie baterii.

7.2. Napotkane problemy

Projektowanie tego typu systemu, zwłaszcza ze wzgl˛edu integracj˛e kilku technologi, wia˛że si˛e z ko-
niecznościa˛ zmierzenia si˛e z wieloma napotkanymi problemami. Poniżej zaprezentowano kilka z nich.
Jednym z pierwszych, poważnych problemów było automatyczne restartowanie mikrokontrolera
po kilku minutach. Zaburzyło to prawidłowo prac˛e systemu, ponieważ zwiazana
˛ z tym była ponowna ini-
cjalizacja wszystkich elementów składowych, w tym biblioteki odpowiedzialnej za odmierzanie czasu.
Rozwiazaniem
˛ okazało si˛e ustawienie parametru advertising timeout na 0.
Do działania biblioteki zarzadzaj
˛ acej
˛ czasem w urzadzeniu
˛ niezb˛edny jest RTC (ang. Real Time
Clock). Biblioteka firmy Nordic Semiconductor wykorzystywała RTC0. Jednak po zaaplikowaniu jej
w urzadzeniu
˛ pojawiły si˛e duże bł˛edy w działaniu. Po prześledzeniu podobnych problemów na forum
internetowym społeczności zgromadzonej wokół urzadzeń
˛ firmy Nordic Semiconductor okazało si˛e,

J. Marecik Konstrukcja układu do monitorowania środowiska roślin doniczkowych


44 7.3. Możliwości rozwoju

że używana wersja oprogramowania SoftDevice wykorzystuje RTC0. Aby rozwiazać


˛ problem należało
użyć RTC2 (RTC1 jest wykorzystywane przez biblioteki zarzadzaj
˛ ace
˛ praca˛ BLE).
Podczas tworzenia opisywanego w rozdziale 6 fragmentu aplikacji mobilnej pojawił si˛e trudny
do wykrycia bład
˛ uniemożliwiajacy
˛ automatyczne nawiazanie
˛ połaczenia
˛ BLE z urzadzeniem
˛ zewn˛etrz-
nym. Funkcjonalność była niezb˛edna do wysyłania komend tekstowych. Po dokładnym prześledzeniu
w czasie rzeczywistym działania poszczególnych fragmentów aplikacji, powodem zaistniałego bł˛edu
okazał si˛e być czas nawiazywania
˛ połaczenia
˛ przez moduł bluetooth smartfonu. Wynosił on kilkaset
milisekund (w zależności od modelu smartfonu). Aby rozwiazać
˛ zaistniały problem wystarczyło wpro-
wadzić opóźnienie wynoszace
˛ około 1 sekundy przed wysłaniem komendy.

7.3. Możliwości rozwoju

Projektowane urzadzenie
˛ jak pokazano w podrozdziale 7.1 spełnia swoje zadania w sposób stosun-
kowo niezawodny. Jednakże użyte technologie wprowadzaja˛ wiele nowych możliwości i kierunków roz-
woju, które można rozważać w dwóch kategoriach:

– dodawanie nowych funkcjonalności,

– ulepszanie już powstałych.

Wykorzystanie technologi Bluetooth Low Energy wprowadza do systemu duża˛ elastyczność. Przy-
kładem na to jest możliwość stosunkowo prostej aplikacji na poziomie oprogramowania technologi
Bluetooth Mesh, która umożliwia stworzenie sieci wielu urzadzeń,
˛ z których każde byłoby pojedyn-
czym w˛ezłem. Dzi˛eki takiemu rozwiazaniu
˛ możliwe byłoby pokrycie urzadzeniami
˛ ogromnego obszaru,
co bez watpienia
˛ w uprawie roślin (nie tylko doniczkowych) ma duże znaczenie.
Również w kwestii ulepszenia zasilania istnieje co najmniej kilka obiecujacych
˛ rozwiazań.
˛ Jednym
z nich jest użycie ogniwa fotowoltaicznego. Pozwoliłoby ono uczynić system niemalże niezależnym pod
wzgl˛edem energetycznym. Warto również rozważyć możliwość inteligentnego zarzadzania
˛ na poziomie
oprogramowania siła˛ sygnału radiowego.
Podobnie jak ma to miejsce w produktach konkurencyjnych przeanalizowanych w podrozdziale 2.1,
warto wyposażyć urzadzenie
˛ w układ do pomiaru poziomu nawożenia gleby oraz ulepszyć pomiar wil-
gotności gleby i nasłonecznienia pod wzgl˛edem energetycznym, jak również jakościowym (obawa o de-
gradacj˛e sond glebowych).

J. Marecik Konstrukcja układu do monitorowania środowiska roślin doniczkowych


8. Podsumowanie

Założeniem niniejszej pracy inżynierskiej było zaprojektowanie układu do monitorowania roślin do-
niczkowych. Układ ma za zadanie w regularnych odst˛epach czasu dokonywać akwizycji danych na temat
temperatury, wilgotności gleby oraz nat˛eżenia światła. Kolejno pozyskane informacje w sposób automa-
tyczny, z wykorzystanie techniki bezprzewodowej Bluetooth Low Energy, przesyłane sa˛ do urzadzenia
˛
mobilnego z systemem Android w celu dalszego przetwarzania i prezentacji. Niniejsze opracowanie wraz
z praca˛ inżynierska˛ o tytule: „Akwizycja i przetwarzanie danych pomiarowych w monitorowaniu roślin
doniczkowych”, napisana˛ przez Przemysława Pachołka stanowi spójna˛ całość.
Realizacj˛e projektu rozpocz˛eto od analizy istniejacych
˛ rozwiazań.
˛ Kolejno dokonano przegladu
˛
rynku elementów elektronicznych, potencjalnie możliwych do wykorzystania na potrzeby niniejszego
projektu oraz zdobyto niezb˛edna˛ wiedz˛e teoretyczna˛ pozwalajac
˛ a˛ na realizacj˛e pracy. Po zdobyciu po-
trzebnych informacji, przy wykorzystaniu płyty rozwojowej układu NRF52832 oraz smartfonu z syste-
mem Android przystapiono
˛ do stworzenia oprogramowania wbudowanego po stronie mikrokontrolera
oraz serwisu obsługujacego
˛ komunikacj˛e Bluetooth Low Energy. Wraz z tworzeniem oprogramowania
mikrokontrolera dobrano odpowiednie czujniki oraz zaprojektowano zwiazane
˛ z nimi układy. Na ko-
niec wykonano projekt PCB ostatecznego układu oraz dodatkowo skonstruowano prototypowa˛ płyt˛e do
testów całego systemu, które przeprowadzono w czasie kilkudziesi˛eciu godzin, w typowych dla docelo-
wego urzadzenia
˛ warunkach pracy.
Skonstruowany prototyp systemu umożliwia poprawne wykonywanie zadań, jakie były zaplanowane
na poczatku
˛ tworzenia projektu, jednak wskazane sa˛ dalsze prace inżynierskie i badania pod wzgl˛edem
lepszej optymalizacji energetycznej. Przed komercjalizacja˛ produktu należy również przeprowadzić sze-
reg testów obejmujacych
˛ wszystkie możliwe scenariusze pracy urzadzenia.
˛ W przyszłości planowane
jest wykonanie powyższych czynności, jak również wprowadzenie nowych funkcjonalności, czyniacych
˛
układ bardziej konkurencyjnym na rynku.
46

J. Marecik Konstrukcja układu do monitorowania środowiska roślin doniczkowych


Bibliografia

[1] Pachołek P. Akwizycja i przetwarzanie danych pomiarowych w monitorowaniu roślin doniczko-


wych. Kraków, 2018.

[2] Strona internetowa. https:// www.fictiv.com/ blog/ posts/ parrot- flower- power- teardown. [Data
uzyskania dost˛epu: 30-11-2017].

[3] Strona internetowa. http:// www.huahuacaocao.com/ product. [Data uzyskania dost˛epu: 30-11-
2017].

[4] Strona internetowa. https:// wiki.hackerspace.pl/ projects:xiaomi-flora. [Data uzyskania dost˛epu:


30-11-2017].

[5] R. Czabanowski. Sensory i systemy pomiarowe. Wrocław: Oficyna Wydawnicza Politechniki Wro-
cławskiej, 2010.

[6] Strona internetowa. https : / / en . wikipedia . org / wiki / Thermocouple. [Data uzyskania dost˛epu:
1-12-2017].

[7] Skowroński W. http:// layer.uci.agh.edu.pl/ maglay/ wrona/ pl/ podstrony/ spintronix/ Prezentacje/
Elementy\%20optoelektroniczne.pdf . [Data uzyskania dost˛epu: 30-11-2017].

[8] S. pod red. Kuta. Elementy i układy elektoniczne. Cz. 1. Kraków: AGH Uczelniane Wydawnictwa
Naukowo-Dydaktyczne, 2000.

[9] Strona internetowa. http:// www.nawadnianie.inhort.pl/ add/ article/ metody\ %20pomiaru.pdf .


[Data uzyskania dost˛epu: 30-11-2017].

[10] Strona internetowa. http:// www.label.pl/ po/ rekml2x.html. [Data uzyskania dost˛epu: 30-11-2017].

[11] Davidson R. Akiba Townsend K. Cufi C. Getting Started with Bluetooth Low Energy. Sebastopol:
O’Reilly, 2014.

[12] nRF52832 Product Specification v1.1 Nordic Semiconductor. http:// infocenter.nordicsemi.com/


pdf/ nRF52832_PS_v1.1.pdf . [Data uzyskania dost˛epu: 8-12-2017].

[13] Strona internetowa. http : / / blog . szulczynski . com . pl / pomiar - temperatury - termistor - ntc -
mikrokontroler/ . [Data uzyskania dost˛epu: 8-12-2017].

[14] TEPT5700 nota katalogowa. https:// www.vishay.com/ docs/ 81321/ tept5700.pdf . [Data uzyskania
dost˛epu: 10-12-2017].
48 BIBLIOGRAFIA

[15] BH1750 nota katalogowa. http:// www.mouser.com/ ds/ 2/ 348/ bh1750fvi- e- 186247.pdf . [Data
uzyskania dost˛epu: 10-12-2017].

[16] Strona internetowa. https : / / en . wikipedia . org / wiki / Successive _ approximation _ ADC. [Data
uzyskania dost˛epu: 10-12-2017].

J. Marecik Konstrukcja układu do monitorowania środowiska roślin doniczkowych

You might also like