Professional Documents
Culture Documents
KATEDRA ELEKTRONIKI
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
1.1. Wprowadzenie
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
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.
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.
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
Zalety Wady
Czujniki – Niższa cena. – Potrzeba kalibracji.
analogowe – Możliwość doboru dowolnego układu – Potrzeba zewn˛etrznego
akwizycji danych. układu do akwizycji
– Elastyczność aplikacji.
Czujniki – Skalibrowany na etapie produkcji. – Wyższa cena.
cyfrowe – Odczyt cyfrowy przetworzonych danych. – Układy komunikujace
˛
łaczenia
˛ kilku układów scalonych do jed- sza˛ obsługiwać dany
tokołu.
Tabela 2.2. Wybrane cechy poszczególnych rodzajów czujników elektronicznych.
– 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,
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).
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.
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,
– energooszcz˛edność,
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
– ł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:
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:
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
gdzie:
RES − ADC
RT = ·R (4.4)
ADC
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
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
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.
˛
˛ czułości: ϕ = 100◦ ,
– kat
– obudowa THT,
– średnica 5 mm,
˛ kolektora IC : od 3 nA do 20 mA,
– prad
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
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.
– satysfakcjonujaca
˛ dokładność pomiaru,
– 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.
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.
˛
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.
(a) (b)
Rys. 4.9. Projekt PCB: (a) warstwa górna, (b) warstwa dolna.
– inicjalizacyjny,
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).
– ramki rozgłoszeniowej,
Nr bajtu 1 2 3 4 5 6 7 8 9 10
Wartość yy mm dd HH MM TT XX LL LL BB
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.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.
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.
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.
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.
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.
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
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,
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:
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).
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
[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].
[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.
[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.
[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].