Professional Documents
Culture Documents
Komparic SMS Vaga PDF
Komparic SMS Vaga PDF
Josip Komparić
Rijeka, 2014.
VELEUČILIŠTE U RIJECI
Stručni studij Telematike
MENTOR STUDENT
MBS: 2427005352/11
Rijeka,rujan 2014.
SAŽETAK
Ključne riječi: pčelarska SMS vaga, Arduino, mjerenje težine, mjerenje temperature i vlage
SADRŽAJ
1. UVOD ................................................................................................................................................. 1
2. PČELARSTVO ................................................................................................................................... 3
2.1. Pčelinji proizvodi ......................................................................................................................... 4
2.2. Pčelarski pribor i oprema ............................................................................................................. 5
2.2.1. Pčelarska vaga ....................................................................................................................... 5
3. KOMPONENTE SUSTAVA .............................................................................................................. 8
3.1. Arduino......................................................................................................................................... 8
3.1.1. Arduino Uno .......................................................................................................................... 9
3.1.2 Arduino IDE ......................................................................................................................... 10
3.2. Senzor temperature i vlage ......................................................................................................... 11
3.3. GPRS/GSM Shield ..................................................................................................................... 12
3.4. Mjerni pretvornici težine ............................................................................................................ 15
4. PREGLED KORIŠTENIH KODOVA .............................................................................................. 17
4.1. Primjer koda za DHT senzor ...................................................................................................... 17
4.2. Opis koda za provjeru spajanja na mrežu GPRS/GSM shielda .................................................. 18
4.3. Opis koda koji prima vrijednosti mjernih pretvornika težine ..................................................... 19
4.4. Opis koda za kontrolu LCD zaslona........................................................................................... 20
5. OPIS RADA SUSTAVA................................................................................................................... 22
5.1. Shema i opis strujnog kruga mjernih pretvornika težine ............................................................ 25
5.1.1. Mjerenje izlaznog napona pri različitim opterećenjima ...................................................... 28
5.2. Opis i shema napajanja ............................................................................................................... 29
5.3. Shema spajanja komponenata na Arduino .................................................................................. 30
5.4. Moguće nadogradnje sustava ..................................................................................................... 30
6. ZAKLJUČAK ................................................................................................................................... 32
Popis literature: ..................................................................................................................................... 33
Popis slika: ............................................................................................................................................ 34
Popis kratica: ......................................................................................................................................... 34
Prilog 1 - Kod napisan za potrebe ovog rada ........................................................................................ 35
Prilog 2 - Troškovnik ............................................................................................................................ 38
Prilog 3 – Shema spajanja sustava na eksperimentalnoj pločici ........................................................... 39
1. UVOD
Pčelari obično ne sele sve košnice na isto mjesto već ih rasporede na nekoliko mjesta.
U tom slučaju idealno bi bilo imati po jednu pčelarsku SMS vagu na jedan pčelinjak. Kako to
nije mala investicija ovim radom krenuli smo u realizaciju svoje pčelarske SMS vage.
Arduino platforma je uzeta kao baza zbog već stečenih osnovnih znanja te zbog vrlo
jednostavne proširivosti raznim dodacima, kao što se i učinilo u ovom radu. Kako vaga ne bi
slala poruke samo s težinom, osim GPRS/GSM shielda na Arduino je spojen senzor
temperature i vlage te LCD zaslon kako bi i dok smo tamo mogli očitati stanje.
Struktura ovog završnog rada s nazivom Realizacija SMS pčelarske vage sadržana je u
šest poglavlja.
Četvrto poglavlje ima naslov Pregled korištenih kodova i sadrži objašnjenja koda i kod
pomoću kojeg možemo provjeriti ispravnost pojedinih komponenti spojenih na Arduino.
1
Iznimna je pozornost posvećena petom poglavlju, koji ima naslov Opis rada sustava. U
tom dijelu nalazi se opis rada cijelog sustava u kojem su opisani načini na koje možemo dobiti
povratne informacije od vage te sheme spajanja napajanja te mjernih pretvornika. Opisano je i
mjerenje izlaznog signala mjernih pretvornika težine uz poznate težine radi softverske
kalibracije vage.
Uz rad se nalaze tri priloga. Prilog 1. sadrži kod koji je izrađen za potrebe ovog rada,
prilog 2. sadrži troškovnik i prilog 3. koji sarži shemu spajanja komponenata na Arduino.
2
2. PČELARSTVO
3
2.1. Pčelinji proizvodi
Med je prirodna slatka tvar koju proizvode medonosne pčele od nektara sakupljenog
od cvijetova biljaka ili od slatkih izlučevina nekih kukaca. Spremaju ga u saće gdje sazrijeva
te se ne smije vrcati prijevremeno. Vrcanje je proces kojim se med izdvaja iz saća. Med uz
pelud predstavlja osnovnu pčelinju hranu. Sastav meda se razlikuje od vrste do vrste meda ali
sljedeće stvari se nalaze u medu u većoj ili manjoj količini: minerali, aminokiseline, visoko
vrijedne organske kiseline kao što su mravlja, jabučna, limunska, octena, jantarna kiselina,
pigmenti, razni derivati klorofila, vosak, inulin, te elementi kompleksa vitamina B.
Uz med osnovna hrana pčela bez koje nema razvitka mladih pčela je pelud koji je
muška spolna stanica biljke, sadrži sve neophodne hranjive supstance za stvaranje i razvoj
novog života.
4
Propolis je smolasta smjesa, najčešće smeđe boje korištena za zatvaranje pukotina i
otvora košnice. Djeluje protiv bakterija, gljivica, virusa i upala te ima anestetički,
antioksidacijski i antitumorski učinak, jača imunološki sustav.
Matična mliječ je lučevina medonosnih pčela koja se koristi kao hrana ličinki.
Kremasta je, ljepljiva, mliječno bijele boje jako kisela supstanca sa malo gorčim okusom i
specifičnim mirisom.
Pčelinji vosak je prirodni vosak koji izlučuju pčele i od njega grade saće u koje
spremaju med.
Zadnji ali ne i najmanje bitan pčelinji proizvod je pčelinji otrov koji je izlučevina
žalčanog sustava pčele.
Kako bi pčelar mogao raditi sa pčelama mora posjedovati osnovni alat i opremu a to su:
pčelarsko odijelo sa šeširom, pčelarske rukavice, dimilica za pčele, dlijeto pčelarsko, gljiva
goba koja nam služi kao sredstvo za dimljenje, kliješta za vađenje okvira, stalak za otklapanje
saća (prilikom vrcanja), pčelarska vilica, vrcalica, posuda sa sitom za prihvat meda kod
vrcanja, stegač za seljenje, pčelarska vaga.
Dio pčelarske opreme koja služi da pokaže stanje u košnici, uspoređujući dnevne ili
periodične izmjerene vrijednosti. Na vagu se postavlja košnica u kojoj je u prosjeku nešto jače
„društvo“ od preostalih u pčelinjaku jer će tako dobiveni podaci biti najkorisniji za
sagledavanje stanja na cjelokupnom pčelinjaku. Pored standardne mehaničke pčelarske vage u
novije vrijeme sve češće su u upotrebi i elektroničke pčelarske vage.
5
Slika 3. Pčelarska vaga "domaće" proizvodnje
Izvor: http://www.pcelarstvo.hr/images/stories/pcelarska_radionica/vaga_za_pcelinjak/suncokret074.jpg
Vagu je u pčelinjaku korisno imati tijekom cijele godine a pogotovo tijekom intezivne
ispaše pčela u ljetnim mjesecima. Na taj način bez otvaranja košnica imamo uvid o prinosu
meda. Pomoću vage najbolje možemo vidjeti kada se počne smanjivati ispaša i kada u
potpunosti prestane, što znači da je pravi trenutak za selidbu na novu lokaciju. Za vrijeme
kada nema ispaše pčele će još uvijek izlaziti izvan košnice ako nije prehladno, međutim na
vagi ćemo jasno vidjeti kako nema nikakvog unosa. Ukoliko vaga počne padati potrebno je
početi prehranjivati „društvo“ ukoliko nije dovoljno meda ostavljeno da prežive period bez
ispaše. Povećanje ili smanjenje težine nije nužno odraz samo trenutne ispaše ili potrošnje
zaliha hrane, već utjecaj na to ima i izgradnja saća, zatim razvoj legla i povećanje broja pčela.
Kako bi se dobile što točnije informacije o težini košnice treba uspoređivati informacije
uvijek u isto vrijeme, što je u pravilu u večernjim satima nakon što se sve pčele vrate u
košnicu.
6
Elektronička pčelarska vaga koju sve više koriste suvremeni pčelari, ima mogućnost
slanja SMS-a te ovisno o proizvođaču i mnogo drugih dodataka poput: senzor za temperaturu
i vlagu okoline, senzor za temperaturu unutrašnjosti košnice, mogućnost spajanja na
električnog pastira, magnetni kontakt alarm, senzor kiše, senzor za mjerenje jačine vjetra,
detektor pokreta.
Pčelari nisu u mogućnosti svaki dan boraviti u svom pčelinjaku pa im je zbog toga
potrebno alternativno rješenje pomoću kojega će dobivati informacije iz pčelinjaka. Korisno
ali ne i uvijek jeftino rješenje je upravo elektronička SMS vaga. Pčelaru makar i stotinama
kilometara daleko informacije o pčelinjaku dolaze na mobitel, pa po njima može vidjeti da li
ima ispaše i koliko. Cijene takvih vaga ovisno o kvaliteti i mogućnostima koštaju od 300 eura
do 800 eura.
Izvor: http://www.agroklub.com/upload/slike/pcelarska-vaga.jpg
7
3. KOMPONENTE SUSTAVA
U prošlom poglavlju vidjeli smo osnove pčelarstva te pobliže objasnili pčelarsku vagu
koja je dio osnovne opreme pčelara. Usprkos postojanju vaga različitih proizvođača na tržištu
krenuli smo s izradom svoje vage jer ove postojeće imaju visoku cijenu. U nastavku
opisujemo komponente realizirane pčelarske SMS vage. Sustav pčelarske SMS vage je
ostvaren pomoću Arduina, pripadajućeg GPRS/GSM shielda, senzora temperature i vlage i
mjernih pretvornika težina.
3.1. Arduino
1
I/O pinovi (Input /Output pinovi)– ulazno/izlazni priključci
2
SRAM (Static Random Access Memory) – Statička radna memorija
3
EEPROM (Electricaly Erasable Programmable Read-Only Memory)– Električno izbrisiva programabilna
ispisna memorija
4
IDE (Integrated Development Environment) – Integrirano razvojno okruženje
8
zahtjevnom elektronikom za kontroliranje elektromotora. Sve su ovo standardne elektroničke
komponente koje nisu ograničene na Arduino, niti je Arduino ograničen na njih. Verzija
Arduina koju ću koristit za izradu svoga projekta, pčelarske vage, je Arduino Uno.
Ovo je jedna od prvih Arduino verzija koja je nastala kako bismo lakše mogli
upravljati određenim procesima i kako bi olakšali raznim kreativcima i studentima da bez
previše znanja o programiranju mogu kontrolirati različite procese. Ova jednostavna
platforma namjenjena je prvenstveno svim početnicima koji se žele okušati u programiranju, a
nisu do sada imali prilike susresti se sa nekim programskim jezikom, pa čak niti sa
mikrokontrolerom.
9
Slika 5. Arduino Uno
Izvor: http://www.liquidware.com/system/0000/3648/Arduino_Uno_Angle.jpg
10
Slika 6. Arduino IDE – Primjer programa
Izvor: http://en.wikipedia.org/wiki/Arduino#mediaviewer/File:Arduino_1.0_IDE,_Ubuntu_11.10.png
DHT22 (AM2302) je digitalni senzor koji mjeri vlažnost i temperaturu zraka. Može se
povezati na Arduino ili bilo koji drugi mikrokontroler. Jedina mana mu je što može poslati
nove podatke s njega svake dvije sekunde. Na prvi pin s lijeva dovodimo napajanje (3-5V),
drugi pin je pin s podacima i njega spajamo na digitalni ulaz mikrokontrolera. Treći pin ne
spajamo nigdje, a četvrti pin spajamo na masu (GND)5. U usporedbi s DHT11 ovaj senzor je
precizniji, točniji i radi u većem rasponu temperature i vlage, ali je malo veći i skuplji.
Potrebno je spojiti 10K Ohmski otpornik između pina napajanja i pina podataka.
5
GND (Ground) - masa
11
Glavne karakteristike DHT22 senzora su: niska cijena, napajanje od 3V do 5V, 2.5mA
maksimalna jakost struje tijekom komunikacije, raspon vlažnosti zraka koji može očitati je od
0 do 100% sa mogućom greškom od 2 do 5%, raspon temperature koju može očitati je od -40
do 80°C sa mogućom greškom 0.5°C, frekvencija slanja podataka je 0.5 Hz (svake dvije
sekunde), dimenzije su mu 27mm x 59mm x 13.5mm.
Slika 7. DHT22
Izvor: http://electropark.pl/img/cms/Czujniki/temperatury/dht22_wyproadzenia.jpg
6
GSM (Global System for Mobile Communications) - najkorišteniji standard za mobilnu telefoniju
7
GPRS (Genera Packet Radio Service) – protokol koji omogućava prijenos podataka bežičnim putem kroz GSM
mrežu
12
Baziran je na SIM900 modulu koji omogućuje rad na 850/900/1800/1900 MHz. Shield
može biti konfiguriran i kontroliran pomoću UART8-a koristeći jednostvane AT naredbe9. U
potpunosti je kompatibilan s Arduinom te se samo „natakne“ na Arduino.
VAŽNO
Nije moguće koristiti ovaj shield bez dodatnog napajanja 9V jer USB port nije u
mogućnosti napajati strujom jačine 2A. SIM kartica koju koristimo ne smije biti zaključana
Izvor: http://www.elecfreaks.com/wiki/index.php?title=EFCom_GPRS/GSM_Shield
8
UART (Universal Asynchronous Receiver/Transmitter) – dio Arduina koji omogućuje serijsku komunikaciju
9
AT (Attention) naredbe – AT naredbe koriste se za komunikaciju s modemima u ovom slučaju sa GPRS/GSM
shieldom
13
Slika 9. EFCOM GPRS/GSM Shield pozadina s utorom za SIM
Izvor: http://www.elecfreaks.com/wiki/index.php?title=EFCom_GPRS/GSM_Shield
Glavne karakteristike GSM/GPRS shielda su: napon napajanja od 3.1V do 4.8V, niska
potrošnja struje u sleep modu (1.5mA), radna temperatura je od -40°C do +80°C, zadani Baud
rate je 19200 bps 8-N-1 (može biti promijenjen pomoću AT naredbi), GPRS mobilna stanica
klasa B, GPRS multi-slot Klasa 10/8, GSM frekvencija na kojoj radi je quad-band
850/900/1800/1900, možemo odabrati želimo li ga kontrolirati putem Hardware Serial porta
(D0/D1) ili Software Serial porta (D2/D3) (slika 6.), RTC(Real time Clock) može raditi više
od jednog dana napajanjem kondenzatora što znači da može imati spremljeno vrijeme i kada
je ugašen. Osim što se može paliti tipkom, može se i signalom na digitalni pin (D6), za
resetiranje koristim digitatalni pin (D5).
14
Slika 10. Mostovi (jumpers) postavljeni za serijsku komunikaciju
Izvor: http://www.elecfreaks.com/wiki/index.php?title=File:Wireless-EFCom-07.jpg
Mjerni pretvornici težine su senzori čiji se otpor mijenja ovisno o primijenjenoj sili.
Pretvara silu, pritisak, napetost, težinu, itd., u promjene električnog otpora koji se onda može
izmjeriti. Kada su vanjske sile primijenjene na stacionarni objekt, pritisak (stress) i naprezanje
(strain) su rezultati. Pritisak se definira kao unutarnja sila otpora, a naprezanje je definirano
kao pomak i deformacija koji se javljaju. Mjerni pretvornici težine su jedni od najvažnijih
alata za mjerenje mehaničkih veličina uz dobivanje električnog rezultata. Naprezanje može
biti uzrokovano silom, pritiskom, momentom, toplinom, promjenom strukture materijala i sl.
Ako su ispunjeni određeni uvjeti, vrijednost ili količina uzročnika naprezanja može biti
izvedena iz izmjerene vrijednosti mjernog pretvarača. Posebne sonde mogu biti dizajnirane za
mjerenje sile ili ostalih izvedenih vrijednosti, npr. moment, pritisak, ubrzanje, pomaci,
vibracije itd. Sonde obično sadržavaju na pritisak osjetljivu membranu sa mjernim
pretvornikom prilijepljenim na nju.
15
Prvi mjerni pretvornik težine je razvijen 1938. Obično se sastoji od žičane mrežne niti
(0.025mm debljine) vezane tankim slojem epoksidne smole direktno na površinu mjernog
pretvornika. Uslijed opterećenja površine mijenja se njena duljina te se mijenja otpor .
Birajući mjerni pretvornik težine ne smijemo uzeti samo karakteristike senzora (npr. najveće
moguće opterećenje i sl.) već moramo uzeti u obzir i temperaturnu osjetljivost. Nažalost i
najpoželjniji materijali su također temperaturno osjetljivi te imaju tendeciju mijenjati otpor
kroz godine, te zbog toga za kontinuirano industrijsko mjerenje moraju uključivati
temperaturnu kompenzaciju. Da bi se izmjerilo opterećenje mjerni pretvornik težine mora biti
spojen u električni krug koji je sposoban mjeriti vrlo male promjene otpora. Obično su
spojena 4 mjerna pretvornika u tzv. Wheatstone-ov most. Wheastone-ov most je uređaj koji
služi za vrlo precizno mjerenje otpora ili za mjerenje malih promjena otpora, također je dobro
prilagođen za kompenzaciju temperature, daje izlaz reda veličine mV.
Izvor: http://www.ebay.com/itm/4-pcs-x-50Kg-Body-Load-Cell-Weighing-Sensor-Resistance-strain-Half-bridge-Total-
/221463943308?pt=LH_DefaultDomain_0&hash=item339047988c
16
4. PREGLED KORIŠTENIH KODOVA
#include "DHT.h"
void setup() {
Serial.begin(9600);
Serial.println("DHTxx test!");
dht.begin();
}
void loop() {
delay(2000);
// stanka od 2 sekunde - najmanja moguća stanka između mjerenja
float h = dht.readHumidity();
// Očitaj temperaturu u Celsiusima
float t = dht.readTemperature();
// Očitaj temperaturu u Fahrenheitima
float f = dht.readTemperature(true);
17
// Provjera očitanja, ukoliko nisu dobra pokušava ponovo
if (isnan(h) || isnan(t) || isnan(f)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
float hi = dht.computeHeatIndex(f, h);
Serial.print("Humidity: ");
Serial.print(h);
Serial.print(" %\t");
Serial.print("Temperature: ");
Serial.print(t);
Serial.print(" *C ");
Serial.print(f);
Serial.print(" *F\t");
Serial.print("Heat index: ");
Serial.print(hi);
Serial.println(" *F");
}
#include <SoftwareSerial.h>
void setup()
{
mySerial.begin(19200); // GPRS baud rate
Serial.begin(19200); // GPRS baud rate
}
void loop()
{
if (mySerial.available())
18
Serial.write(mySerial.read());
if (Serial.available())
mySerial.write(Serial.read());
}
Provjera se obavlja sa naredbom „AT“, ukoliko je sve u redu shield odgovara sa OK.
19
preciznost 4.9mV (5/1023). Znači da za dobivanje napona samo pomnožimo broj koji
dobijemo sa 4.9mV. Zbog povećanja točnosti napravljen je prosjek vrijednosti napravivši
pedeset mjerenja te je svako mjerenje u razmaku od 40ms, što u prijevodu znači da nam
Arduino za 2 sekunde izbaci srednju vrijednost.
SoftwareSerial ekran(A2,A5); // -RX pin LCD zaslona je spojen na Arduinov A5 analogni ulaz, a A2 bi bio TX ali se on u
ovom slučaju ne koristi.
Da bi se uopće mogle, bilo koje vrijednosti koje nisu tipa podatka String, prikazivati
na LCD zaslonu moramo ih pretvoriti u String. Pretvorba vrijednosti tipa podatka float se
odvija pomoću funkcije dtostrf() i dodavanjem pripadajućim parametrima dtostrf (float koji
pretvaramo, dužina, broj decimala, varijabla u koju zapisujemo vrijednosti). Da bi ova
funkcija radila moramo uključiti knjižnicu <stdlib.h>. Prilikom pokretanja ili promjene
prikaza potrebno je prvo „očistiti“ ekran pozivanjem funkcije „ocistiEkran()“.
void ocistiEkran()
{
ekran.write(254); // cursor to beginning of first line
ekran.write(128);
ekran.write(" "); // clear display + legends
20
ekran.write(" ");
}
Izvor: https://www.sparkfun.com/tutorials/246
dtostrf(tezina,10,2,tezinaString);
char porEkran[30];
sprintf(porEkran, "V %d%% T %d*C", h,t);
ekran.write(254);
ekran.write(128);
ekran.write(porEkran);
ekran.write(254);
ekran.write(192);
ekran.write(tezinaString);
21
5. OPIS RADA SUSTAVA
Kako bi Arduino znao kad treba poslati poruku, neprestano uspoređuje trenutnu
vrijednost funkcije millis() sa onom vrijednošću kada je zadnji put poslao poruku. Ako je
razlika veća od vrijednosti intervala (1 dan – 86400000ms) tada ponovo pokreće funkciju
slanja poruke. Ovakva verzija programa može raditi najduže 49 dana radi toga što se tada
timer Arduina resetira te bi bile potrebne neke preinake u programu kako bi radio duže od
toga. Gotovo ni jednom pčelaru nije potreban period rada duži od 49 dana radi toga što će
svaki pčelar koji odnese pčele u udaljeno mjesto posjetiti iste prije isteka perioda od 49 dana
radi kontrole košnica, vrcanja ili nekog drugog razloga.
22
Slika 13. SMS dobiven od vage
23
Slika 15. Komponente spojena na eksperimentalnu pločicu
24
5.1. Shema i opis strujnog kruga mjernih pretvornika težine
Senzori težine su spojeni u Wheatstone-ov most. Wheatstone-ov most ima četiri žice
pina, to su: E+, E-, S+, S-. E označava "excitation" tj. napon uzbude dok S označava "sense" i
na njemu dobivamo izlazni napon ovisan o opterećenju senzora. Izlazni napon je reda mV te
ga je zbog toga potrebno pojačati kako bi ga Arduino mogao očitati. Pojačanje se vrši
instrumentacijskim pojačalom INA125. INA125 ima mogućnost pojačanja ulaznog signala od
4 do 10000 puta ovisno o otporu pojačanja. Pojačanje se izračunava po formuli:
Za ovaj projekt je izabran otpor Rg= 47 ohma te po ovoj formuli pojačanje iznosi 1280
puta. Ovim otporom se dobio takav raspon koji je dovoljno velik za potrebe mjerenja košnica
kao i dovoljna preciznost. Ukoliko bi otpor bio veći bilo bi manje pojačanje i veći raspon što
nam nije potrebno, te manja preciznost.
25
Slika 17. Shema spajanja pojačala INA125
Izvor: http://www.ti.com/lit/ds/symlink/ina125.pdf
Pojačani signal se dobiva na 10-om pinu pojačala te je taj pin spojen na analogni ulaz
Arduina (u ovom slučaju A2). Vrlo je bitno da analogni ulaz Arduina bude između 0-5V jer u
protivnom može doći do oštećenja mikrokontrolera.
26
Slika 18. Shema spajanja na eksperimentalnoj pločici
Izvor: http://www.deferredprocrastination.co.uk/blog/2013/reading-strain-gauge-scales-with-arduino/
27
5.1.1. Mjerenje izlaznog napona pri različitim opterećenjima
Ovim mjerenjem se htjelo postići da se vidi kako će se ponašati signal pod većim
opterećenjima tj. onima za koje bi i bio namijenjen. Signal je inertan na opterećenje prvih
20kg dok je nakon 25 kg otprilike linearan. Svaka dva kilograma dodaje se 0.1V što znači da
se dobilo dovoljno iskoristivog raspona te dovoljno velika preciznost. Pri gore navedenom
mjerenju nisu još primijećene velike oscilacije. Za drugo mjerenje je napravljen prosjek 50
vrijednosti svakih 40ms, te su vrlo precizno izvagane težine koje će koristit za kalibraciju. Na
početku mjerenja je Arduinov analogni ulaz za 30kg imao vrijednost 60,61 dok se kasnije
nakon još dodatnih mjerenja za veće težine, vrativši se ponovo na 30kg, vrijednost povećala
za 10. Mjerenje se ponovilo kako bi se vidjelo da li je dolazilo do zagrijavanja i da li to utječe
na vrijednosti. Temperatura mjerena pirometrom je bila gotovo konstantna uz promjenu od
najviše 1-2°C. Nakon mjerenja je isključeno napajanje. Nakon nekoliko sati (opterećenje je
ostalo na vagi jer je vaga zamišljena da radi u takvim uvjetima) ponovo je napravljeno
mjerenje - vrijednosti su bile i dalje povećane u odnosu na one početne. To povećanje pod
stalnim opterećenjem se naziva „creep response“ i ne može se izbjeći. Moguće je ugraditi
28
ćeliju koja nije tome toliko podložna ili u softver ugraditi kompenzaciju što je potrebno na
duže vrijeme proučavati kako bi se senzori ponašali pod poznatim opterećenjem i isto to
ponoviti sa nekoliko različitih poznatih opterećenja.
Kao što je već spomenuto, kako bi GPRS/GSM shield mogao slati poruke potrebno mu
je dodatno napajanje. Ideja je da pčelarska vaga bude napajana preko baterije iz razloga što
pčelinjaci nisu na mjestima gdje je dostupan strujni priključak. Prvo je bila priključena
baterija od 9V, ali GPRS/GSM shield prilikom spajanja na mrežu „potegne“ naglo veliku
struju te se događa isto kao i kad je na samom USB priključku, ugasi se. Kako bi se gašenje
izbjeglo, paralelno sa baterijom spojen je kondenzator (2200mF).
29
5.3. Shema spajanja komponenata na Arduino
Prije bilo kakve nadogradnje potrebno je otkloniti najveću preostalu manu sustava
prethodno navedenu (poglavlje 5.1.1.). Jedna košnica ne mora uvijek odražavati stanje cijelog
pčelinjaka. U pravilu se stavlja vaga pod košnicu „jačeg društva“, međutim i „jače društvo“ se
može razboliti ili imati staru maticu pa se neće razvijati i imati isti prinos meda poput drugih
zdravih košnica. Zbog toga bi bilo idealno imati još jednu vagu. Kako bi se maksimalno
smanjili troškovi moguće je spojiti samo signal sa strujnog kruga mjernih pretvornika na
Arduino. Time bi dobivali informacije o dvjema košnicama uz minimalno povećanje troškova
u odnosu na cijenu jedne vage (Prilog 2.).
30
S obzirom da je ovaj sustav učinjen na Arduino platformi izuzetno je lako nadogradiv
dodatnim senzorima kao što su: senzor padalina, senzor jačine vjetra, senzor temperature
unutrašnjosti košnice, itd.
31
6. ZAKLJUČAK
Cilj ovoga rada bio je izraditi pčelarsku vagu koristeći Arduino platformu. Izrađena
pčelarska vaga mogućnosti je mjeriti težinu košnice i temperaturu i vlagu okoline u kojoj se
nalazi. Programiranje na Arduinu vrlo je lako, brzo shvatljivo, a samo pisanje koda nije
predstavljalo probleme. Elementi ovoga sustava su osjetljivi i ovdje je došlo do podosta
komplikacija. Variranje signala prilikom kontinuiranog mjerenja poznate težine je
predstavljao najveći problem te još uvijek nije u potpunosti riješen. Sljedeće što je potrebno
učiniti je uzeti nekoliko poznatih težina, proučavati signal dok su na vagi kroz duže vrijeme
(barem tjedan dana) sa svakom pojedinačno, te odrediti krivulju promjene kako bi se u softver
mogla ugraditi kompenzacija. Prikupljanje podataka o temperaturi i vlazi okoliša je uspješno
napravljeno, pa se putem GSM/GPRS shielda putem SMS-a šalju na mobitel zajedno sa
izmjerenom težinom svakih 24 sata nakon uključenja Arduina ili pritiskom na tipkalo. Prva
poruka se pošalje 24 sata nakon uključenja iz razloga što se pčele prevoze po noći, a to znači
da ćemo i vagu montirat ili rano ujutro ili kasno navečer a upravo u to vrijeme želimo da nam
vaga pošalje izvještaj.
Ostale pčelarske vage na tržištu imaju višestruko veću cijenu od cijene komponenti i
izrade vage opisane u radu (Prilog 2.) te smo iz tog razloga odlučili učiniti svoju vagu uz čiju
ćemo izradu puno i naučiti. Potrebno je još dosta testiranja kako bi se vaga usavršila,
pogotovo što se tiče oscilacije signala pri kontinuiranom mjerenju, te će tek tada u potpunosti
biti spremna za korištenje. Ukupno vrijeme razvoja je 300 sati. Najviše vremena za potrošilo
na dobivanje kvalitetnog analognog signala s mjernih pretvornika težina na Arduino. Svaka
sljedeća vaga s gotovim kodom i jednakim mjernim pretvornicima bila bi izrađena za 10-ak
sati. Okvirna cijena proizvoda bila bi 1500kn.
32
Popis literature:
1. http://arduino.cc/en/Main/arduinoBoardUno (2.9.2014)
2. http://en.wikipedia.org/wiki/Arduino (2.9.2014)
3. http://www.adafruit.com/products/385 (9.9.2014)
4. https://github.com/adafruit/DHT-sensor-
library/blob/master/examples/DHTtester/DHTtester.ino (8.9.2014)
5. http://www.elecfreaks.com/wiki/index.php?title=EFCom_GPRS/GSM_Shield
(8.9.2014)
6. http://www.omega.com/prodinfo/StrainGages.html (8.9.2014)
7. http://www.deferredprocrastination.co.uk/blog/2013/reading-strain-gauge-scales-with-
arduino/ (8.9.2014)
8. https://www.sparkfun.com/tutorials/246 (8.9.2014)
9. http://www.hackerbee.com/ (9.9.2014)
10. http://ww1.microchip.com/downloads/en/appnotes/01030a.pdf (9.9.2014)
11. http://makingthingswork.wordpress.com/ (9.9.2014)
12. http://www.loadstarsensors.com/what-is-a-load-cell.html (9.9.2014)
13. http://www.open-electronics.org/wi-fi-body-scale-with-arduino/ (9.9.2014)
14. http://arduinotronics.blogspot.com/2013/04/this-weeks-projects-load-cells.html
(9.9.2014)
15. http://flashgamer.com/arduino/comments/making-a-scale-for-arduino-with-ina125
(9.9.2014)
16. http://tronixstuff.com/2014/01/08/tutorial-arduino-and-sim900-gsm-modules/
(9.9.2014)
17. http://arduino.stackexchange.com/questions/176/how-do-i-print-multiple-variables-in-
a-string (9.9.2014)
18. http://arduino.cc/en/Tutorial/BlinkWithoutDelay (9.9.2014)
19. http://www.elecfreaks.com/store/download/product/EFcom/EFcom_Datasheet.pdf
33
Popis slika:
Popis kratica:
34
Prilog 1 - Kod napisan za potrebe ovog rada
#include <SoftwareSerial.h>
#include "DHT.h"
#define rxPin 2
#define txPin 3
long staroMillis = 0;
long interval = 86400000;
void setup()
{
dht.begin();
ekran.begin(9600);
mySerial.begin(19200);
ocistiEkran();
}
void SIM900power()
// funkcija koja oponaša pritisak na tipku power
{
digitalWrite(6, HIGH);
delay(1000);
digitalWrite(6, LOW);
delay(8000);
}
void ocistiEkran()
//funkcija koja briše sve sa LCD zaslona
{
ekran.write(254);
ekran.write(128); //Kursor pomiće na prvu točke prve liniju
35
ekran.write(" ");
ekran.write(" ");
}
void posaljiSMS()
//funkcija koja šalje SMS te prikazuje informacije na LCD zaslonu
{
SIM900power();
int sensorValue[50];
char poruka[50];
int h = dht.readHumidity(); //očitanje vlage
int t = dht.readTemperature(); //očitanje temperature u °C
int ukupno=0;
int prosjek=0;
char tezinaString[25];
float tezina=(napon-0.2688)/0.0005*10/1000+27;
36
mySerial.print("AT+CSCA=\"+385970703\"; \r"); //definiranje SMS centra
delay(100);
mySerial.println("AT+CMGS=\"+385912108262\"; \r");
delay(100);
strcat(poruka, tezinaString);
strcat(poruka, " kg");
mySerial.println(poruka); // tekst poruke
mySerial.println("\r");
delay(500);
mySerial.println();
delay(100);
mySerial.println((char)26);
delay(100);
mySerial.println();
delay(8000);
SIM900power();
ocistiEkran();
}
void loop()
{
delay(2000);
unsigned long trenutnoMillis = millis(); //dohvaća proteklo vrijeme u ms
pinMode(A4, INPUT);
if(trenutnoMillis - staroMillis > interval)
{
posaljiSMS();
staroMillis = trenutnoMillis;
}
if (digitalRead(A4) == HIGH)
{
posaljiSMS();
}
delay(1000);
}
37
Prilog 2 - Troškovnik
Naziv Koli Cijena Opis
čina
Arduino Uno 1 68.45kn Osnovni Arduino mikrokontroler.
(11.62$) http://www.fasttech.com/products/0/10000015/1001700-arduino-compatible-uno-r3-rev3-development-board
EFCOM 1 278.60kn GSM/GPRS shield baziran na SIM900 modulu.
GSM/GPRS (47.30$) http://www.dx.com/p/arduino-compatible-gsm-gprs-shield-wireless-extension-board-module-w-antenna-adapter-
Shield 144865#.VA28OvmSy1U
DHT22 1 29.33kn Senzor temperature i vlage.
(4.98$) http://www.ebay.com/itm/261070585099?_trksid=p2059210.m2749.l2649&ssPageName=STRK%3AMEBIDX%
3AIT
Senzori težine 1 51.53kn Senzori težine kakvi se nalaze u kučnim vagama.
4kom (8.75$) http://www.ebay.com/itm/291121350051?_trksid=p2059210.m2749.l2649&ssPageName=STRK%3AMEBIDX%
3AIT
LCD zaslon 1 146.95kn LCD zaslon sa serijskom komunikacijom
16X2 (24.95$) https://www.sparkfun.com/products/9393
INA125P 1 31.45kn Instrumentacijsko pojačalo
(5.34$) http://hr.mouser.com/ProductDetail/Texas-Instruments/INA125P/?qs=VBduBm9rCJSDMcs2CyEvAw==
Ostalo 100kn Otpornici, baterija, itd...
UKUPNO 706,31
38
Prilog 3 – Shema spajanja sustava na eksperimentalnoj pločici
39