sadržaj - ruđer bošković institute · vin. ulazni napon na arduino ploči kad se koristi...

68
Sadržaj 1.Uvod ........................................................................................................................................ 3 2.Primjena plovila ...................................................................................................................... 4 3. Arduino Mikrokontroler ......................................................................................................... 5 2.1. Povijest Arduina .............................................................................................................. 5 3.2. Arduino hardver .............................................................................................................. 6 3.3. Arduino Nano .................................................................................................................. 6 3.4. Arduino Mega 2560 ........................................................................................................ 9 3.5. Serijska komunikacija ................................................................................................... 11 3.6. PWM modulacija........................................................................................................... 12 4.Senzori i komunikacija .......................................................................................................... 13 4.1 Akcelerometar ADXL345 .............................................................................................. 13 4.2Magnetometar HMC5883L ............................................................................................. 14 4.3 Kompezacija magnetometra ........................................................................................... 17 4.4 GPS Modul ..................................................................................................................... 18 4.5 NRF24L01 ...................................................................................................................... 20 5.Pogon ..................................................................................................................................... 23 5.1 Istosmjerni motor bez četkica ........................................................................................ 23 5.2 Elektronički kontroler brzine(ESC) ............................................................................... 26 5.3 Baterija ........................................................................................................................... 29 6.Trup broda ............................................................................................................................. 33 6.1. Oblik i konstrukcija struktura trupa. ............................................................................. 33 6.2. Stvarna forma ................................................................................................................ 34 6.3. Teoretska forma............................................................................................................. 35 6.4. Prikaz forme nacrtom linija ........................................................................................... 35 6.5. Prikaz forme računalom ................................................................................................ 36 7. Realizacija plovila ................................................................................................................ 37 7.1.Izrada trupa broda........................................................................................................... 37 7.2. Postavljanje pogona i kormila ....................................................................................... 40 7.3.Postavljanje senzora ....................................................................................................... 42 8.Programski dio sklopa ........................................................................................................... 49 8.1. Izračun udaljenosti i brzine ........................................................................................... 49 8.2. Regulacija zakreta kormila ........................................................................................... 50 8.3. Shema upravljanja plovilom.......................................................................................... 53 8.4. Testiranje plovila ........................................................................................................... 54

Upload: others

Post on 23-Jan-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

Sadržaj

1.Uvod ........................................................................................................................................ 3

2.Primjena plovila ...................................................................................................................... 4

3. Arduino Mikrokontroler ......................................................................................................... 5

2.1. Povijest Arduina .............................................................................................................. 5

3.2. Arduino hardver .............................................................................................................. 6

3.3. Arduino Nano .................................................................................................................. 6

3.4. Arduino Mega 2560 ........................................................................................................ 9

3.5. Serijska komunikacija ................................................................................................... 11

3.6. PWM modulacija ........................................................................................................... 12

4.Senzori i komunikacija .......................................................................................................... 13

4.1 Akcelerometar ADXL345 .............................................................................................. 13

4.2Magnetometar HMC5883L ............................................................................................. 14

4.3 Kompezacija magnetometra ........................................................................................... 17

4.4 GPS Modul ..................................................................................................................... 18

4.5 NRF24L01 ...................................................................................................................... 20

5.Pogon ..................................................................................................................................... 23

5.1 Istosmjerni motor bez četkica ........................................................................................ 23

5.2 Elektronički kontroler brzine(ESC) ............................................................................... 26

5.3 Baterija ........................................................................................................................... 29

6.Trup broda ............................................................................................................................. 33

6.1. Oblik i konstrukcija struktura trupa. ............................................................................. 33

6.2. Stvarna forma ................................................................................................................ 34

6.3. Teoretska forma ............................................................................................................. 35

6.4. Prikaz forme nacrtom linija ........................................................................................... 35

6.5. Prikaz forme računalom ................................................................................................ 36

7. Realizacija plovila ................................................................................................................ 37

7.1.Izrada trupa broda ........................................................................................................... 37

7.2. Postavljanje pogona i kormila ....................................................................................... 40

7.3.Postavljanje senzora ....................................................................................................... 42

8.Programski dio sklopa ........................................................................................................... 49

8.1. Izračun udaljenosti i brzine ........................................................................................... 49

8.2. Regulacija zakreta kormila ........................................................................................... 50

8.3. Shema upravljanja plovilom .......................................................................................... 53

8.4. Testiranje plovila ........................................................................................................... 54

Page 2: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

2

8.5.Prednosti i nedostatci realiziranog riješenja ................................................................... 56

9. Zaključak .............................................................................................................................. 58

Ključne riječi ............................................................................................................................ 58

Literatura .................................................................................................................................. 58

Popis oznaka i kratica ............................................................................................................... 60

Sažetak ..................................................................................................................................... 61

Dodatak .................................................................................................................................... 62

Page 3: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

3

1. Uvod

Zadatak diplomskog rada je izraditi funkcionalnu bespilotnu brodicu sa vlastitim

propulzijskim sustavom i upravljanjem. Realizirati bežično upravljanje brodicom, tako da se

brodici šalje niz GPS koordinata koje ona slijedi. Sustav za vođenje brodice, koji je održava

na kursu i dovodi ka cilju bi se sastojao od GPS prijemnika, magnetomera, akcelerometra i

žiroskopa. Povezivanje senzora, komunikacijskih sustava i aktuatora realizirati Arduino

kompatibilnim mikrokontrolerom.

Princip rada sustava zasnovan je na mogućnosti plovila da obavlja zadane funkcije bez

neposredne prisutnosti čovjeka, plovilu se šalju GPS koordinate preko udaljenog mjesta

putem bežičnog modula, te se kreće od zadane koordinate do sljedeće Logika automatskog

moda rada je zasnovana na dvama komponentama GPS uređaju i kompenziranom

magnetometru. Magnetometar očitava trenutni smjer kojim se plovilo kreče dok GPS očitava

trenutnu koordinatu na kojoj se nalazi. Preko bežične komunikacije šaljemo kordinate na koje

plovilo treba dospjeti. Poznavajući ove parametre preko matematičkog modela možemo doći

do informacija o udaljenosti od cilja, kuta odmaka od točke cilja, te tim informacijama

upravljamo brzinom i smjerom kretnje plovila.

Diplomski rad realiziran je u tri faze. Prva faza sadržava izradu trupa broda te njenu zaštitu

od utjecaja mora. U drugoj fazi opisana je instalacija senzora u brodu, zašto je koji senzor

ugrađen na kojem mjestu, te sa kojim smo se problemima susreli tijekom instalacije senzora.

Treća faza diplomskog rada opisuje logiku po kojoj plovilo radi, matematičke modele koji su

korišteni pri izradi, programska rješenja, način upravljanja i na kraju testiranje samog broda.

Projektiranje ovoga uređaja uključuje opis osnovnih elemenata plovila, proračun sklopa,

izradu sklopa, pisanje programskog koda i njegov opis.

U trećem, četvrtom i petom poglavlju opisani su osnovni parametri i karakteristike

korištenih senzora, komunikacije, baterije, pogona i princip rada samih komponenti. Također

su opisane osnovne karakteristike Arduino platforme.

Šesto poglavlje je usko vezano za izradu trupa samog plovila, osnovne informacije o

tipovima i karakteristikama plovila.

U sedmom i osmom poglavlju opisana je izrada samog sklopa te korištena matematička,

logička i programska rješenja korištena pri izradi sklopa.

Page 4: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

4

2. Primjena plovila

Plovilo koje je obrađeno u diplomskom radu ima raznovrsne mogućnosti primjene, također

ima mogućnost ugradnje dodatnih senzora što mu može proširit područje djelovanja. Može se

ugraditi kamera te brod služi za nadzor pomorske granice, nadzor obale, nadzor marine,

nadzor ribogojilišta. Ugradnjom ultrazvučnih senzora može vršit raznorazna ispitivanja tla sa

morske površine, nadzor i praćenje ugroženih vrsta iz morskog svijeta.

Plovila dronovi su već danas imaju mnoge načine primjene u daljnjem tekstu analizirano je

par sličnih plovila.

Eclipse Stealth Drone 35 stopa dug brod je osmišljen za neprimjetan lov na pirate, područje

djelovanja mu je cijeli ocean. Eclipse Stealth Drone pripada prvoj svjetskoj floti daljinsko

upravljanih "Robo brodova 'dizajniran za obavljanje opasnih misija bez žrtava.

Slika 2.1 Eclipse Stealth Drone 35

Scout autonomni brod dron sagrađen od strane američkih studenata sa više sveučilišta. Jedan

Arduino Mega mikrokontroler zadužen je za navigaciju, obradu senzora i komunikaciju

putem Iridium satelitskog primopredajnik, brod je u potpunosti unaprijed programiran, rad

broda se oslanja na podatke senzora za prilagodbu uvjetima okoliša. Energiju brod dobiva od

solarnih panela, aluminijski okviri su uklonjeni iz panela i laminirani ravno na palubu,

dopuštajući da se može smjestiti više solarnih polja na vrhu robota. Paluba je nagnuta prema

jugu, što je bolji kut za prikupljanje sunčeve svjetlosti. Scout autonomna jedrilica ima zadatak

preći atlantski ocean, dok putuje preko oceana neprestano šalje GPS koordinate trenutnog

položaja.

Page 5: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

5

3. Arduino Mikrokontroler

Arduino je samostalni mikrokontroler, namijenjen za jednostavnu izradu aplikacija ili

interaktivnih objekata ili okruženja. Hardver se sastoji od hardver pločice odnosno pločice

otvorenog koda dizajnirane oko 8-bitnog Atmel AVR mikrokontrolera ili 32-bitnog Atmel

ARM-a. Svojstvo trenutnih modela Arduino pločica jest interakcija s računalima putem USB

priključka.

3.1. Povijest Arduina

Arduino mikrokontroler je izvorno napravljen kao platforma namijenjena u edukativne

svrhe, kao razredni projekt na Interaction Design Institute Ivrea 2005.godine. Predstavlja

nadogradnju rada Wiring mikrokontrolera dizajniranog od strane Hernanda Barragana 2004.

godine.

Izumitelji Arduino platforme su Massimo Banzi, David Cuartielles, Dave Mellis,

Gianluca Martino i Nicholas Zambetti. Trenutačni Arduino tim čine Banzi, Cuartielles,

Martino, Mellis i Tom Igoe. Namjere Arduino tima su bile pojednostavnjenje Wiring

platforme. Zbog jednostavnosti, Arduino mikrokontroler je naišao na veliku primjenu publike

izvan tehnoloških okvira.

Banzi je definirao pet razloga uspješnosti Arduino platforme, po kojima se isti izdvaja

od uobičajenih mikrokontrolera:

Financijski je dostupan. Moguće je nabaviti Arduino alat za manje od 30 €.

Dolazi u paketu s besplatnim Arduino razvojnim okruženjem (IDE).

Jednostavan za korištenje, spaja se s računalom putem USB-a i komunicira pomoću

standardnih serijskih protokola.

Ima potporu velikog broj izvornih kodova je dostupan već neko vrijeme i spreman za

korištenje.

Fleksibilan je, ima velik broj digitalnih i analognih ulaza, SPI, I2C, serijsko sučelje i

digitalne i PWM izlaze.

Page 6: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

6

3.2. Arduino hardver

Arduino pločica se sastoji od Atmel AVR mikrokontrolera i komplementarnih

komponenti koje olakšavaju programiranje i interakciju s drugim krugovima. Bitna

koncepcija Arduina jest mogućnost povezivanja CPU pločice na niz drugih izmjenjivih

dodatnih modula poznatih kao shields ili štitovi. Neki štitovi komuniciraju s Arduino

pločicom preko pinova, dok se drugi ostvaruju serijskom komunikacijom. Većina Arduino

sistema koriste megaAVR seriju čipova, posebice Atmega8, Atmega168, Atmega328,

Atmega1280 i Atmega2560. Linearni regulator od 5 V i 16 MHz kristalni oscilator (ili

keramički rezonator) su osnovne komponente kod većine Arduino pločica.

Arduino mikrokontroler je unaprijed programiran pomoću bootloadera koji

pojednostavnjuje preuzimanje programa na flash memoriju, po čemu se razlikuje od ostalih

uređaja koji zahtijevaju eksterno programiranje.

Na konceptualnoj razini, sve pločice su isprogramirane preko RS-232 serijske veze,

dok način implementacije varira od modela do modela. Serijske Arduino pločice sadrže

mehanizam za pretvaranje signala između RS-232 i TTL levela. Trenutne izvedbe Arduino

pločica su programirane putem USB priključka, odnosno implementirane povezivanjem USB

na čipove serijskih adaptera kao npr. FTDI FT232.

Razvijeno je mnogo vrsta Arduino modula koji se razlikuju u komponentama, cilju,

veličini, itd. Neki primjeri Arduino pločica su: Arduini Duemilanove/UNO, Arduino Mega,

Arduino Nano, Arduino Mini, Arduino Leonardo, LilyPad Arduino…

3.3. Arduino Nano

U ovom radu je korišten Arduino Nano v3.0 s mikrokontrolerom baziranom na

ATmega328. Ona ima 14 digitalnih ulaza / izlaza (od kojih se 6 može koristiti kao PWM

izlaza), 8 analognih ulaza, jedan 16 MHz kristal oscilator, USB priključak, ICSP zaglavlja i

tipku za resetiranje. Sadrži sve što je potrebno kako bi podržao mikrokontroler. Jednostavno

se spaja na računalo pomoću USB kabela.

Page 7: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

7

Tablica 3.1. Specifikacije Arduino Nano v3.0

Mikrokontroler ATmega328

Operativni napon 5V

Ulazni napon (preporučeno) 7 – 12 V

Ulazni napon (ograničenja) 6 – 20 V

Digitalni ulazno/izlazni pinovi 14

PWM kanali 6

Analogni ulazni pinovi 8

DC struja po ulaz/izlaz pinu 40 mA

Flash memorija 32 KB (ATmega 328) od čega 2 KB

koristi za pokretanje sustava (bootloader)

SRAM 2 KB

EEPROM 1 KB

Brzina sata 16 MHz

Veličina 1.85cm x 4.3cm

Arduino Nano se može napajati putem Mini-B USB priključaka, 5 V stabiliziranim vanjskim

napajanjem (pin 27-5 V) ili 6-20 V nestabiliziranim vanjskim napajanjem (pin 30- VIN). Ako

je opskrba naponom manja od 7 V, pin od 5 V može dostaviti manje od 5 V i pločica može

biti nestabilna. Međutim, ako se koristi više od 12 V, regulator napona se može pregrijati i

oštetiti ploču. Preporučeni napon jest od 7 do 12 volti. Izvor napajanja automatski se odabire

na najveći izvor napona. Pinovi za napajanje su:

VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za

razliku od 5 V dobivenih preko USB priključka ili drugog izvora energije).

5 V. Regulirano napajanje služi za napajanje mikrokontrolera i drugih komponenti

na pločici. Može se ostvariti i od VIN pina, preko regulatora na pločici, ili se može

ostvariti preko USB ili drugog reguliranog 5-voltnog izvora.

3.3 V. Izvor od 3.3 V generiran na regulatoru na pločici. Maksimalni protok struje

jest 50 mA.

GND. Uzemljenje.

Page 8: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

8

ATmega328 ima 32 KB memorije za pohranjivanje koda (od čega se 2 KB koriste za

bootloader). Također ima 2 KB SRAM memorije i 1 KB EEPROM memorije (koja se može

očitati i zapisati u EEPROM biblioteci).

Svaki od 14 ulazno/izlaznih digitalnih pinova Arduino Nano može biti konfiguriran kao ulaz

(INPUT) ili izlaz (OUTPUT). To se postiže naredbama pinMode(), digitalWrite() i

digitalRead() funkcijama. Koriste se pri naponu od 5 V. Svaki pin može dati ili primiti

maksimalno 40 mA, te ima unutarnji pull-up otpornik 20-50 kOhma. U Arduinu digitalni

signal se može nalaziti u dva stanja: LOW ili HIGH. Kad je pin spojen na 5 V smatra se

HIGH, a kad je spojen na 0 V ili GND, smatra se LOW.

Analogni naponi mogu imati bilo koju vrijednost napona između 0 i 5 V (2 V, 3.4 V, 4.6 V,

itd.). Arduino Nano ima 8 analognih ulaza koji mogu odrediti točnu vrijednost analognog

napona.

Nano ima niz objekata za komunikaciju s računalom, drugom Arduino pločicom ili drugim

mikrokontrolerom. ATmega328 pruža četiri hardverska UART-a za TTL (5 V) serijsku

komunikaciju. FTDI FT232RL na pločici prenosi jedan od njih preko USB-a i FTDI driveri

(uključeni u Arduino softver) ostvaruju virtualni COM priključak na softver na računalu.

Arduino softver uključuje i serijski monitor koji omogućuje slanje i primanje jednostavnih

tekstualnih podataka sa Arduino pločice. RX i TX LED-svjećica će treptati kada je u toku

prijenos podataka putem FTDI čipa i USB priključka na računalu (ali ne i za serijsku

komunikaciju na pinovima 0 i 1).

Slika 3.1. Arduino Nano

Page 9: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

9

3.4. Arduino Mega 2560

Arduino Mega2560 je mikrokontrolerska platforma bazirana na Atmel ATMega 2560

mikrokontroleru. Pored mikrokontrolera sadržava potrebno okruženje za njegov rad,

komunikaciju i programiranje sa PC-om putem USB sučelja preko IC ATmega16U2 .

Kompatibilna je sa velikim brojem dodatnih ploča Arduino Duemilanove ili Diecimila

platformi.Arduinio Mega 260 smo izabrali kao mikrokontroler plovila jer ima više Serial i SPI

i ulaza na koje se spajaju senzori u odnosu na druge Arduino uređaje.

Slika 3.2. Arduino Mega

Tehnički podaci tablica 3.2.

Mikrokontroler ATmega2560

Radni napon 5 V

Napajanje 7-12 V

Ulazni napon (limiti) 6-20 V

Digitalni I/O pinovi 54 ( 14 sa PWM izlazom)

Analogni ulazi 16

Flash Memorija 256 KB / 8 KB za bootloader

SRAM 8 KB

EEPROM 4 KB

Takt 16 MHz

Page 10: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

10

Napajanje

Mega2560 se može napajati preko USB porta ili vanjskog izvora. Odabir je automatski.

Vanjsko napajanje se spaja na 2,1 mm utičnicu ili na pinove. Preporučeno je napajanje od 7-

12 V.Može izdržati od 5 do 20 V ali ako je napajanje manje od 7 V Arduino može postati

nestabilan. Za napajana od 12 do 20 V može doći do pregrijavanja i kvara stabilizatora.

Memorija

Mikrokontroler ATmega2560 ima 256 KB flash memorije za spremanje programskog

koda od čega je 8 KB za bootloader, 8 KB SRAM i 4 KB EEPROM. EEPROM-u se pristupa

preko EEPROM.h biblioteka.

Ulazi i Izlazi

Svaki od 54 digitalna pina može se koristiti kao ulaz i kao izlaz koristeći funkcije

pinMode(), digitalWrite(), i digitalRead(). Oni rade na 5 V i mogu dati/primiti 40 mA. Neki

pinovi imaju specijalne funkcije: Serijska komunikacija: 0 (RX) i 1 (TX); Serial 1: 19 (RX)

i18 (TX); Serial 2: 17 (RX) i 16 (TX); Serial 3: 15 (RX) i 14 (TX). Koriste se za primanje

(RX) i slanje (TX) serijske komunikacije TTL razina. Pin 0 i 1 su isto spojeni na

odgovarajuće pinove ATmega16U2 USB-to-TTL serijskog kola. Vanjski prekidi: 2

(interrupt0), 3 (interrupt 1), 18 (interrupt 5), 19 (interrupt 4), 20 (interrupt 3), i 21 (interrupt2).

Ovi pinovi mogu biti podešeni na okidanje na nisku razinu, rastuću ili padajući rub ili

promjenu napona. Za rad sa prekidima koristi se attachInterrupt() funkcija. PWM: Pulse

Width Modulation Pinovi 0 - 13. Daju 8-bit PWM pomoću analogWrite() funkcije. SPI: 50

(MISO), 51 (MOSI), 52 (SCK), 53 (SS). Ovi pinovi imaju podrški za SPI komunikaciju preko

SPI biblioteka. LED: 13. Mega ima ugrađeni pin za LED diodu na pinu 13. Kada je na HIGH

vrijednosti LED dioda svijetli a na LOW je ugašena. TWI: 20 (SDA) i 21 (SCL). Podrška ta

TWI komunikaciju uz korištenje Wire biblioteke. Analogni ulazi: Mega2560 ima 16

analognih ulaza koji se očitavaju 10 bitnom rezolucijom ( moguće 1024 različite razine).

Zadano je mjerenje od 0 do 5 V ali je moguće promijeniti gornji nivo preko pina AREF i

funkcije analogReference(). Reset. Treba na njega dati LOW razinu za reset. Tipično se

koristi za dodatne ploče.

Komunikacija

Arduino Mega2560 posjeduje brojne resurse za komunikaciju sa vanjskim svijetom. Na

primjer PC, drugi Arduino, neki drugi mikrokontroler. ATmega2560 posjeduje četiri sučelja

za serijsku komunikaciju na TTL razinama. USB kontroler ATmega16U2 daje virtualni

serijski port preko USB komunikacije. Na taj način može se ostvariti jednostavna tekstualna

Page 11: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

11

komunikacija. SoftwareSerial biblioteka omogućava serijsku komunikaciju preko bilo kojeg

digitalnog pina. TWI komunikacija se radi preko Wire biblioteka a SPI preko SPI biblioteke.

3.5. Serijska komunikacija

Arduino pločica ostvaruje komunikaciju koristeći protokole za serijsku komunikaciju.

Serijska komunikacija je proces slanja dijelova podataka (bajtova) preko jednog kanala,

poznatog pod nazivom bus. Podaci se u serijskoj komunikaciji šalju uzastopno jedan za

drugim, za razliku od paralelne komunikaciju gdje se više bitova šalju istovremeno preko više

kanala. Prednosti serijske komunikacije u odnosu na paralelnu:

Manji broj žica omogućuje lakšu obradu vremena propagacije.

S manjim brojem kanala preslušavanje je otežano u odnosu na veći broj kanala.

Ušteda prostora i novca, zbog manjeg broja žica, što daje mogućnost i povećanja

sigurnosti tog kanala.

U današnje doba pojas propusnosti serijske komunikacije obuhvaćaju raspon od

nekoliko kilobita u sekundi do nekoliko terabita u sekundi. Serijska komunikacija se ostvaruje

izmjenom binarnih vrijednosti, te se brzina izražava u baud-ima. Jedan baud označava

prijenos 1 simbola po sekundi. Simbol može biti i višebitni.

Arduino, kao što je navedeno u prijašnjim poglavljima, nudi mnoge mogućnosti za

interakciju sa senzorima, pogonima, motorima, itd. Ali mogućnosti samog Arduina su ipak

ograničene. Na sreću, Arduino je pogodan za ostvarivanje komunikacije s nekim složenijim

uređajima poput računala ili druge Arduino pločice. Takva komunikacija se ostvaruje USB

vezom i koristi se kao serijska RS-232 komunikacija. Arduino IDE je koristi da bi učitao

programe na pločici, no serijska veza se može koristiti i za bilo koje druge vrste

komunikacije.

Na Arduino pločici postoje i digitalni pinovi 0 (RX) i 1 (TX). Oni se, također, mogu

koristiti u svrhu ostvarivanja serijske komunikacije. Oni dostavljaju identične signale koji se

šalju i na USB serijsko sučelje. Dok se ostvaruje serijska komunikacija bitno je naglasiti

nemogućnost korištenja digitalnih pinova 0 i 1 u bilo koju drugu svrhu osim ostvarivanja

serijske komunikacije. Oni dostavljaju serijske signale (čak i ako ih ne priključimo, nego

koristimo isključivo USB), tako da ih nije moguće koristiti ni za što drugo.

Page 12: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

12

3.6. PWM modulacija

Pulsno širinska modulacija (Pulse Width Modulation ili PWM) je tehnika dobivanja

analognih vrijednosti preko digitalnih oblika. Digitalno upravljanje se iskoristi za dobivanje

pravokutnog signala koji se mijenja između "ima signala" i "nema signala" (signal on/off).

Ovaj način rada može simulirati napon koji se mijenja između stanja kada signal ima najvišu

vrijednost (5 V) i stanja kada signal ima minimalnu vrijednost (0 V) tako da se mijenja dio

vremena u kojem ima signala i vremena u kojem nema signala. Trajanje vremena u kojem je

signal upaljen naziva se širina pulsa. Dobivanje različitih analognih vrijednosti postiže se

modulacijom širine pulsa. Ako se ponavlja ovaj on-off uzorak kroz npr. LED diodu, rezultat

je isti kao da je signal stalni napon između 0 V i 5 V upravlja osvjetljenjem LED diode. Na

Slici 2.3. zelene linije predstavljaju stvarno vrijeme perioda. Ovaj period je inverz PWM

frekvencije. Frekvencija PWM signala je približno 490 Hz.

Slika 2.3. Pulsno-širinska modulacija (PWM)

Nakon poziva analogWrite() proizvesti će se pravokutni signal sa određenim radnim

omjerom (0-uvijek isključeno ili 255-uvijek uključeno) sve do sljedećeg poziva analogWrite()

(ili poziva digitalRead() ili digitalWrite() na isti pin). Ako je pozvana naredba

analogWrite(255) radni omjer će biti 100% (uvijek 5 V), dok će poziv analogWrite(127)

rezultirati radnim omjerom od 50% (5 V će biti 50% vremena). Najviša struja na svakom pinu

je 40 mA.

Page 13: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

13

4. Senzori i komunikacija

4.1.Akcelerometar ADXL345

Zadatak akceleratora je mjerenje linearnog ubrzanja tijekom kretanja. Najčešće se koristi

za testiranje pomičnih dijelova opreme i određuje njihova opterećenja. Akcelerometar se

trenutno može naći u uređajima kao što su mobilni telefoni, tableti, fotoaparati i modeli na

daljinsko upravljanje RC.

Jedan od najpopularnijih i najpristupačnijih akceleratora koji se koristi u takvim uređajima je

ADXL345. Ovaj sustav može komunicirati s mikrokontrolerom preko I2C ili SPI protokola,

mjeri ubrzanje za sve tri osi u rasponu do ± 16 g s rezolucijom od 13 bita. Ubrzanje tijela za

vrijednost 1 g je jednaku ubrzanju od 9,81 m/𝑠 2 tj. slovo g u izrazu je vrijednost gravitacijske

konstante a broj ispred je multiplikator.

Tijekom mjerenja, maksimalna potrošnja struje je samo 23 μA a napona napajanja je od 2,0

do 3.6 V. Budući da sustav ne podnosi veću voltažu (5 V), treba obratiti posebnu pozornost na

napon napajanja. Treba napomenuti kako je akcelerometar vrlo osjetljiv na vibracije, tako da

treba obratiti pažnju prilikom njegove ugradnje.

Određivanje prostornog položaja objekta (Pitch, role)

Podsjetimo se kava je konfiguracija X, Y, Z osi akcelerometra ADXL345:

Slika 4.1. Konfiguracija osi

Kao što se može vidjeti na Slici 4.1. gibanje naprijed nazad se odvija oko osi X, lijevo i

desno oko osi Y, a gibanje gore dolje odvija se oko osi Z. Ova gibanja odgovaraju

odgovarajućim kutovima:

Φ - Roll - rotacija oko osi X

θ - Pitch - rotacija oko osi Y

Ψ - Yaw - rotacija oko osi Z

Page 14: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

14

Sa senzora se čita izravno ubrzanje za svaku os, na temelju tih vrijednosti možemo izračunati

kut Φ - Roll i θ - Pitch.

Mi ćemo koristiti funkciju atan2 ( ) umjesto tan2 ( ) pri izračunu kako bi ga lakše kontrolirati

nazivnik kojih ne smije biti nula .

tan 𝜃𝑥𝑦𝑧 = −𝐺𝑝𝑥

√𝐺𝑝𝑦2 + 𝐺𝑝𝑧2 ( 4.1. )

tan 𝜃𝑥𝑦𝑧 = 𝐺𝑝𝑦

𝑠𝑖𝑔𝑛(𝐺𝑝𝑧)√𝐺𝑝𝑧2 + 𝜇𝐺𝑝𝑥2 (4.2. )

Gpx - gravitacijska sila u smjeru osi x

Gpy – gravitacijska sila u smjeru osi y

Gpz – gravitacijska sila u smjeru osi z

Formule za proračun Φ – Roll i θ – Pitch

Sila teže je sila kojom Zemlja privlači neko tijelo mase m, označavamo ju najčešće slovom G.

ta sila privlači sva tijela prema središtu Zemlje pa je stoga tu i usmjerena. Kada pustimo tijelo

da slobodno pada s određene visine, ono se giba ubrzanjem g koje iznosi 9,81 m/s2 Senzor

mjeri iznos sile teže na svakoj svojoj osi, odnosno mjeri akceleraciju sile teže.

4.2. Magnetometar HMC5883L

HMC5883L je digitalni, 3-osni magnetometar

koji omogućuje mjerenje širokog raspona zemljinog

magnetskog polja veličine u iznosu od ± 8 Gauss (Slika

4.3.). Njegovom 12-bitnom rezolucijom omogućuje se

mjerenje s točnošću od 2 miligaussa s trenutnom

potrošnjom od samo 100 μA. HMC5883L komunicira s

mikrokontrolerom preko I2C sabirnice s maksimalnom

frekvencijom od 75 Hz.

Slika 4.3 Prikaz magnetometra

HMC5883L omogučava postizanje frekvencije do 160 Hz, ako koristimo single mode način

mjerenje i praćenje DRDY prekida(interrup). Zanimljiva mogučnost u ovom modu rada

Page 15: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

15

kompasa je odabir broja uzoraka (1, 2, 4 ili 8), gdje se kao konačna vrijednost uzima

aritmetiča sredina odabranog broja uzoraka.

Napon napajanja sklopa je od 2.0 do 3.6 V

Točnost kompasa od 1° do 2°

Kompas HMC5883L ima široki spektar upotrebe; u mobilnim uređajima, tabletima,

potrošačkoj elektronici, auto navigacijski sustavi, navigacijski sustavi dronova, osobni

navigacijski sustavi itd.

Tablica 4.1 Ispitivanje na magnetometru

Mjerno područje Razlučivost Pojačanje

± 0.88 Ga 0.73 mG 1370

± 1.3 Ga 0.92 mG 1090

± 1.9 Ga 1.22 mG 820

± 2.5 Ga 1.52 mG 660

± 4 Ga 2.27 mG 440

± 4.7 Ga 2.56 mG 390

± 5.6 Ga 3.03 mG 330

± 8.1 Ga 4.35 mG 230

HMC5883L kao digitalni kompas

Poznavanjem Zemljinog magnetskog polja (vektor X , Y i Z vektor) Slika 4.5. omogućuje

nam određivanje smjera magnetskog meridijana. Smjer magnetskog meridijana može se

izračunati s jednostavnom formulom:

Smjera digitalnog kompasa (rad) = atan (vektor y, vektor x) (4.1.)

Za odrediti točan smjer potrebno je uzeti u obzir faktor pogreške - magnetske deklinacije.

Magnetska deklinacija je za oba Zemljina magnetska pola na drugom mjestu u odnosu na

geografske magnetske polove i ima različite vrijednosti u ovisnosti o mjestu mjerenja (npr.

prisutnost velike količine željezne rude na određenom mjestu). Važno je napomenuti da je

magnetska varijacija varijabla ovisna o parametau vremena, jer se Zemljin magnetski stup

stalno kreće. Vrijednost trenutne magnetske deklinacije može se naći na posebnim

magnetskim kartama.

Page 16: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

16

Slika 4.4 Prikaz iznos magnetske deklinacije za određeno područje

Kao što možemo vidjeti iz slike 4.4. magnetska deklinacija na mjestu testiranja je plus 3

stupnja i 38 minuta (istok). Vrijednost deklinacije moramo pretvoriti u radijane:

Kut deklinacje = (stupnjevi + (min / 60.0)) / (180 / π);) (4.2.)

Konačnu vrijednost smjera digitalnog kompasa dobijemo tako da izmjerenoj vrijednosti

dodamo ili oduzmemo magnetsku deklinaciju(pozitivna ili negativna):

Smjer = imjerena vrijednost ± kut deklinacije (4.3.)

Dalje moramo osigurati da je rezultat izračunatog magnetskog polja u rasponu od 0π - 2π, ako

je smjer manji od 0 onda treba dodati na njega 2π, ako je smjer veči od 2π oduzimamo od

njega 2π. Zatim je potrebno pretvoriti radijane u stupnjeve:

Smjer(stupnjevi) = smjer(radijani)* (180 / π) (4.4.)

Ružna osobina magnetometra HMC5883Lje različito mjerenje magnetsko polja u rasponu od

1 ° do 180 ° i od 180 ° do 360 °. Za prvi odjeljak naš magnetometar će proizvesti pristrane

rezultate od 1 ° do 240 °, a drugi od 240 ° do 360 °. Ova osobina se jednostavno ispravi

kalibracijom magnetometra pomoču primjera koji se nalazi u HMC5883L Arduino biblioteci

tako da dobivene rezultate unesemo u Arduino kod našeg magnetometra.

Nažalost kompas je osjetljiva na bilo koji nagib pri izračunu magnetskog meridijana. Stoga se

mora postaviti na ravnu površinu, tako da su rezultati točni. Negativni učinak nagiba pri

mjerenju smjera magnetskog polja možemo kompezirati akcelerometarom.

Page 17: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

17

Slika 4.5. Ispis očitanja magnetometra

4.3. Kompenzacija magnetometra

Jedan od glavnih problema s kojima se susreću magnetometri koji se koriste za

provedbu jednostavnih digitalni kompasa, jest pomicanje ravnine X, Y u odnosu na Z ravninu

(ljuljanje).

Čak i mala odstupanja kuta između ravnina, mogu uvelike utjecati na očitanje magnetometra.

Ovoj problem može biti riješen poznavanjem role i pich kuta uz uporabu ADXL345

akcelerometar. Ova metoda je učinkovita samo kada se promjena kuta kreće u rasponu od -45

° do + 45 °. U većini slučajeva, to je sasvim dovoljno za kompenziranje kompasa.

Izračun pitch i roll kuta

roll = asin(normAccel. YAxis) (4.5.)

pitch = asin (−normAccel. XAxis) (4.6)

Tilt kompenzacija

𝑋ℎ = 𝑚𝑎𝑔. 𝑋𝐴𝑥𝑖𝑠 ∗ 𝑐𝑜𝑠𝑃𝑖𝑡𝑐ℎ + 𝑚𝑎𝑔. 𝑍𝐴𝑥𝑖𝑠 ∗ 𝑠𝑖𝑛𝑃𝑖𝑡𝑐ℎ

𝑌ℎ = 𝑚𝑎𝑔. 𝑋𝐴𝑥𝑖𝑠 ∗ 𝑠𝑖𝑛𝑅𝑜𝑙𝑙 ∗ 𝑠𝑖𝑛𝑃𝑖𝑡𝑐ℎ + 𝑚𝑎𝑔. 𝑌𝐴𝑥𝑖𝑠 ∗ 𝑐𝑜𝑠𝑅𝑜𝑙𝑙 − 𝑚𝑎𝑔. 𝑍𝐴𝑥𝑖𝑠 ∗ 𝑠𝑖𝑛𝑅𝑜𝑙𝑙

mag.Xaxis - očitanje kuta X sa magnetometra

mag.Yaxis - očitanje kuta Y sa magnetometra

mag.Zaxis - očitanje kuta Z sa magnetometra

𝑆𝑚𝑗𝑒𝑟 = 𝑎𝑡𝑎𝑛2(𝑌ℎ, 𝑋ℎ)

Page 18: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

18

4.4. GPS Modul

NEO-6 modul je serija iz obitelji samostalnih GPS prijamnika koji omogućava visoke

performanse. Ovaj fleksibilan i jeftin prijemnik nudi brojne mogućnosti pri izradi sklopova.

Dimenzija 16 x 12,2 x 2,4. Njegova kompaktna arhitektura i mala potrošnja struje i memorije

idealna je za sklopove napajane baterijom ,kao što su mobilni telefoni i minijaturni sklopovi

za navođenje koji zahtijevaju malu potrošnju energije i s vrlo strogim ograničenjima prostora i

troškova,50-kanalni U-Blox 6 ima mogućnost pozicioniranja unutar 1 sekunde, što omogućuje

da pronađete satelite odmah. Inovativan dizajn i tehnologija smanjuje ometanje dolaznog

signala i ublažava vanjske utjecaje na sam sklop. Neo-6 GPS prijemnici imaju izvrsne

navigacijske performanse čak u vrlo izazovnim uvjetima. Značajke proizvoda prikazane su na

slijedećoj tablici. Blok dijagram sklopa je prikazan na Slici 4.6.

Tablica4.2. Značajke proizvoda

Slika 4.6.Block dijagram

Page 19: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

19

AssistNow autonomija

AssistNow autonomija pruža funkcionalnost, bez potrebe za host ili vanjskim mrežni

priključkom . Na temelju prethodno preuzetih podataka od satelitskih odašiljača, koji su

pohranjeni od strane samog GPS prijemnik, AssistNow Autonomija automatski generira točne

satelitske orbitalne podatke ("AssistNowAutonomna podaci ") koji su korisni za buduće

ispravke GPS položaja. AssistNow autonomni podaci su pouzdani do 3 dana nakon početne

upotrebe.

U-Blox 'AssistNow Autonomne prednosti su:

Brže ispravak položaja

Nije potrebno prethodno povezivanja

Komplementarni s AssistNow online i offline uslugom

Bez velikog utjecaja na sami mikrokontroler, izračuni se obavljaju u pozadini

Serijsko periferno sučelje (SPI)

SPI sučelje omogućava spajanje vanjskih uređaja s serijskim sučeljem GPS uređaja. Sučelje

može izvršavati operacije u master ili slave načinu rada. U master modu, signal sa procesora

je dostupan svim vanjskim slave uređajima. U slave modu procesor omogućuje komunikaciju

s domaćinom. N Slici 4.7. prikazan je primjer komunikacije preko SPI protokola.

Slika 4.7. Prikaz komunikacije preko SPI protokola

Konfiguracija

NEO-6 moduli pružaju konfiguraciju pinova za boot-time konfiguraciju. Što stupa na snagu

odmah nakon pokretanja. Kada je modul počeo sa radom, postavke se mogu mijenjati pomoću

UBX konfiguracijskih poruka. Modificirani postavke ostaju na snazi do nestanka napajanja

ili resetiranja. Ako su ove postavke pohranjene u bateriju backup RAM, onda će izmijenjena

konfiguracija biti zadržana, dok je opskrba backup baterije osigurana.

NEO-6 moduli uključuju i CFG_COM0 i CFG_COM1 konfiguraciju pinova kao što se vidi

Tablici 4.3.

Page 20: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

20

Tablica 4.3. Konfiguracija pinova NEOGPS modula

CFG_COM1 CFG_COM0 Protokol Poruka UART

brzina

USB

napajanje

1 1 NMEA GSV, RMC, GSA,GGA,GLL,VTG.TXT 9600 BUS

1 0 NMEA GSV, RMC, GSA,GGA,GLL,VTG.TXT 38400 samostalno

0 1 NMEA GSV, RMC, GSA,GGA,,VTG.TXT 4800 BUS

0 0 UBX NAV-SOL,NAV-STATUS,NAV-

SVINFO,NAV-CLOCK,INF

57600 BUS

Spajanje na Ardino Mega

Pinovi GPS-a se spajaju na arduino slijedećim redom:

GND - GND Arduino

VCC - 3.3V Arduino

TX- RX Serial 1 Arduino

RX- TX Serial 1 Arduino

4.5. NRF24L01

Nordic Semiconducor nRF24L01 je jedinstveni 2.4 Ghz primopredajnik dizajniran za

bežične aplikacije s niskom potrošnjom. nRF24L01 je pronašao svoju primjenu na mnogo

mjesta. Ponajprije valja istaknuti bežične PC periferije(bežični miš, tastatura, joystick), zatim

tu su ultra nisko potrošačke senzorske mreže, VOIP slušalice, alarmni i sigurnosni sustavi,

aktivni RFID (RF IDentification) te mnogi drugi sustavi koji za svoj rad zahtijevaju bežični

prijenos podataka. U ovom projektu njegova uloga je bežično upravljanje plovilom kojemu se

šalju GPS kordinate. Prednost ovog nad ostalim ovakvog tipa je mogućnost istovremenog

slanja i primanja podataka, niska cijena, jednostavnost i potpuna kompatibilnost s Arduino

razvojnom okolinom budući da postoje gotove biblioteke koje olakšavaju programiranje i

korištenje. Primopredajnik sadrži potpuno integrirani frekvencijski alat za sintezu, pojačalo,

kristalni oscilator, demodulator, modulator i Enhanced Shock Burst protokol. nRF24L01 je

projektiran za rad na širokopojasnom ISM frekvencijskom rasponu od 2.400 - 2.4835 GHz.

Izlazna snaga, frekvencijski kanali i protokol lako se unose otvorenim SPI sučeljem. Pomoću

mikrokontrolera, nRF24L01-a i nekoliko dodatnih pasivnih komponenti moguće je realizirati

jednostavan radio prijemnik. Sklop u svom dizajnu ima implementiranu automatsku potvrdu o

primitku poruke, mogućnost spajanja s do 6 različitih uređaja u istom frekvencijskom kanalu,

te još neke druge mogućnosti. Sklop je napajan direktno s Arduino mikrokontrolera koji u

Page 21: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

21

sebi sadrži linearni naponski regulator koji generira izlazni napon od 3,3 V za napajanje

nRF24L01.

Slika 4.8.Prikaz nRF24L01 primopredajnika

nRF24L01 je konfiguriran i upravljan preko serijskog komunikacijskog protokola (Serial

Peripheral Interface – SPI). Ovaj protokol omogućava dvosmjernu komunikaciju i preko

njega je moguće ostvariti veće brzine prijenosa nego kod ostalih komunikacijskih standarda.

Brzina prijenosa podataka kod nRF24L01 kreće se do 2 Mbps što ga uz izuzetno nisku

potrošnju energije svrstava u poželjnije uređaje ovog cjenovnog razreda. Na Slici 4.9.

prikazan je blok dijagram uređaja te raspodjela pinova .

Slika 4.9. Blok dijagram nRF24L01

Postoje dvije izvedbe nRf24L01 promopredajnika, prva verzija ima domet do 100m, druga

verzija primopredajnika ima na sebi pojačalo i antenu vidljivo na Slici 4.8. njegov domet je 1

Page 22: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

22

km. Pri ugradnji primopredajnika sa pjačalom treba obratiti pažnju na napajanje, zbog toga što

on zahtjeva struju od 150 mA.

Tablica 4.3.Funkcionalni opis.

Pin Ime Funkcija Pina Opis

1 CE Digitalni ulaz Aktivira RX ili TX način rada

2 CSN Digitalni ulaz SPI odabir chipa

3 SCK Digitalni ulaz SPI takt

4 MOSI Digitalni ulaz Pomicanje podataka

5 MISO Digitalni izlaz Pomicanje podataka

6 IRQ Digitalni izlaz Interapt pin

7 VDD Napajanje Napajanje(1.9V-3.6V DC)

8 VSS Napajanje Uzemljenje( 0V )

9 XC2 Analogni izlaz Oscilator pin 2

10 XC1 Analogni ulaz Oscilator pin 1

11 VDD_PA Vanjsko

napajanje

Napajanje(1.8V) za unutarnje pojačalo

Mora bit povezano na ANT1 i ANT2

12 ANT1 RF Priključak za antenu 1

13 ANT2 RF Priključak za antenu 2

14 VSS Napajanje Uzemljenje( 0V )

15 VDD Napajanje Napajanje(1.9V-3.6V DC)

16 IREF Analogni ulaz Referentna struja; priključiti 22k otpornik

prema uzemljenju

17 VSS Napajanje Uzemljenje( 0V )

18 VDD Napajanje Napajanje(1.9V-3.6V DC)

19 DVDD Vanjsko

napajanje

Interni digitalni izlaz za svrhe prespajana

20 VSS Napajanje Uzemljenje( 0V )

Page 23: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

23

5. Pogon

5.1. Istosmjerni motor bez četkica

Istosmjerni motor bez četkica (Brushless DC motor) također poznat kao elektronički

komutirani motor je sinkroni motor koji se napaja istosmjernom strujom koja se putem

integriranog pretvarača pretvara u izmjenični električni signal koji upravlja motorom. U tom

kontekstu izmjenična struja ne podrazumijeva sinusoidalni valni oblik, nego dvosmjernu

struju bez ograničenja valnog oblika. Dodatni senzori i elektronike kontroliraju amplitudu,

valni oblik) i frekvenciju (tj. brzina rotora) na izlazu pretvarača. Dva ključna parametra

motora bez četkica su konstante kV i Km.

Karakteristike

Na rotoru su smješteni permanentni magneti, a stator se sastoji od namota, predstavlja oblik

AC motora s električkom komutacijom.Motori ne sadrže četkice ili komutator i mnogo su

efikasniji i imaju manje trenje. Mogu se pogoniti većim brzinama bez rizika oštećenja četkica,

što nije slučaj sa DC motorom s četkicama. Kroz statorske namote se propušta struja koja

dovodi do zakretanja rotoraStrujom koja prolazi kroz statorske namote se upravlja izvana

elektroničkom sklopom, tzv. elektroničkim komutatorom, koji zamjenjuje klasični komutator.

Uloga komutatora je promjena polariteta u vodičima ovisno o njihovom položaju u odnosu na

uzbudno polje.

Slika 5.1.Presjek DC motora bez četkica

Da bi se moglo ispravno odrediti kroz koji namot će elektronički komutator poslati struju, i

struju kojeg smjera, takav motor mora imati senzor položaja rotora na osnovu čega se upravlja

Page 24: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

24

radom samog komutatora (zahtijeva se dodatna elektronika i senzori položaja). Ovaj senzor

koristi Hall-ov efekt.

Ukoliko se poluvodič nalazi u električnom polju, ono će uzrokovati protok električne struje

gustoće J. Ako okomito na smjer tog polja djeluje magnetsko polje indukcije B, javlja se,

transverzalno na oba polja, novo električno polje jačine: E = RH J B gdje je RH Hallova

konstanta.

Usporedba s istosmjernim motorom

Električna veza između rotora i izvora istosmjerne struje se ostvaruje tako da se izvor

istosmjerne struje spoji na grafitne četkice koje kližu po komutatoru. Prilikom prelaska

četkice s jedne na drugu lamelu komutatora postoji trenutak kada se izvor nalazi u kratkom

spoju uslijed čega dolazi do iskrenja četkica. Iskrenje četkica dovodi do polaganog

uništavanja grafitnih četkica, ali i do oksidacije i trošenja komutatora, pa je to glavni

nedostatak ove vrste motora. Učinkovitost istosmjernog motora bez četkica je 85-90%, dok je

istosmjernog motora s četkicama 75-80%.Najveća prednost motora bez četkica je vrlo

jednostavna kontrola brzine okretaja koja se izvršava preko elektroničkog kontrolera brzine.

Životni vijek motora bez četkica je višestruko duži od klasičnog motora sa četkicama, i veći je

od 20 000 radnih sati.

Slika 5.2.Prikaz DC motora sa i bez četkica

Page 25: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

25

Osnovna struktura elektronički komutiranog motora

Na statoru se nalazi trofazni simetrični namotaj (slično kao kod asinkronog motora) uglavnom

spojen u zvijezdu, a na rotoru su postavljeni permanentni magneti. Konfiguracija magneta

prema Slici 5.2. zahtjeva najkvalitetnije magnetske materijale (SmCo, NdFeB) da bi se

ostvarila zadovoljavajuća magnetska indukcija u zračnom rasporu. Ekvivalentni zračni raspor

u sebi uključuje stvarni zračni raspor uvećan za debljinu permanentnih magneta budući da

permanentni magneti imaju permeabilnost približno jednaku zraku (μr =1). Raspodjela namota

na statoru, te izvedba i položaj magneta na rotoru osiguravaju da se pri konstantnoj brzini

vrtnje u namotu statora induciraju fazne elektromotorne sile trapeznog valnog oblika s

trajanjem ravnog dijela trapeza od 120° električnih. Elektromagnetski moment EKM-a može

se izraziti pomoću snage u zračnom rasporu i kutne brzine rotora:

(5.1.)

gdje su ea, eb, ec fazne EMS inducirane poljem permanentnih magneta, ia, ib, ic fazne struje, a

ω kutna brzina rotora.

Da bi stroj razvijao konstantan moment u zračnom rasporu struje moraju imati oblik

pravokutnih impulsa koji se po širini, fazi i predznaku poklapaju s intervalom u kojem je

EMS te faze konstantna. Postoji šest intervala u električnom periodu za koje je karakteristično

da struja teče kroz dvije faze, a u trećoj je jednaka nuli Slika 5.4. U svakoj šestini periode stroj

se praktički ponaša kao istosmjerni motor, s tim da se uzbuda nalazi na rotoru a armatura na

statoru. Svaku šestinu periode vrši se komutacija struje s faze na fazu, a budući da se ta

komutacija ne vrši pomoću kolektora i četkica kao kod istosmjernih motora, već pomoću

elektroničkog pretvarača ovaj se motor i naziva elektronički komutirani motor.

Slika 5.3.Blok shema upravljačkog kruga

Page 26: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

26

Slika 5.4.Oblici faznih struja u ovisnosti od položaja rotora

5.2. Elektronički kontroler brzine(ESC)

Elektronički kontroler brzine ili ECS je

elektronski sklop čija je funkcija da upravlja

brzinama elektromotora, njegovim smjerom, a može

služiti i kao dinamička kočnica (Slika 5.5.). Najčešće

se koristi kod motora bez četkica gdje generira izvor

trofazne struje niskog napona koja služi kao energija

motoru. ESC može biti izveden kao samostalna

jedinica koja se potom priključuje u kontrolni kanal

prijamnika ili može biti integriran u prijemnik što je češći slučaj. Slika 5.5. Prikaz ESC-a

Funkcija

Bez obzira na način korištenja ESC interpretira upravljačke informacije ne kao

mehaničke pokrete što bi bio slučaj kod serva već više na način da mijenja brzinu

prebacivanja mrežnih tranzistora ili FETa. Upravo je brzina prebacivanja tranzistora uzrok

karakterističnom visoko-piskutavom zujanju koje motor emitira a posebno je primjetno pri

nižim brzinama. Moderniji ESC-ovi uključuju eliminacijski krug baterije ili BEC koji služi za

reguliranje napona za prijemnike, a ujedno uklanja potrebu za odvojenim baterijama za

prijemnike. BEC-ovi su obično regulatori napona linearnog moda. DC BEC-ovi su u širem

Page 27: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

27

smislu PWM regulatori za elektromotor. ESC generalno prihvaća ulazni PWM servo signal od

50 Hz čije trajanje varira između 1 i 2 ms. Kada se u 1ms isporučuje signal od 50 Hz ESC

odgovara isključivanjem DC motora priključenog na njegov izlaz. 1.5 ms trajanje ulaznog

signala dovodi motor na otprilike pola brzine, a u slučaju 2ms ulaznog signala motor radi u

punoj brzini.

ESC za motore bez četkica:

ESC sustavi za motore sa četkicama jako se razlikuju po dizajnu i nisu kompatabilni za

motore bez četkica. ESC sustav i za motore bez četkica u osnovi upravljaju trofaznim

motorima bez četkica tako da šalju niz signala za rotaciju. Motori bez četkica su postali

veoma popularni među modelarima radio kontroliranih modela zbog svoje učinkovitosti,

snage, dugovječnosti i male težine u odnosu na tradicionalne motore sa četkicama. Međutim

AC kontroleri za motore bez četkica su mnogo složeniji od kontrolera za motore sa četkicama.

Ispravna faza ovisi o rotaciji motora, a pozadinski se EMF iz motora koristi za otkrivanje ove

rotacije. Računalno programirani kontroleri brzine obično imaju korisničko- specificirane

opcije koje dopuštaju postavljanje niskonaponske granice, kočenje i smjer vrtnje. Promjena

smjera motora može se postići prebacivanjem bilo koja dva od tri voda iz ESCa na motor.

Klasifikacija:

Kontroler se obično rangira prema maksimalnoj struji npr. 25 A Mnogi moderni ESCovi

podržavaju nikal-metal hibridne, litij-ion polimere i litij-željezo fosfatne baterije s nizom

ulaznih i cut-off napona. Tip baterije i broj povezanih ćelija važan je prilikom odabira

eliminacijskog kruga baterije (BEC), bilo da je samostalna jedinica ili ugrađen u kontroler.

Veći broj povezanih ćelija rezultirat će smanjenom snagom a stoga i nižim brojem serva koje

podržava integrirani BEC ukoliko se koristi linearni regulator napona. Dobro dizajnirani BEC

koristeći prebacivački regulator ne bi trebali imati slična ograničenja.

Page 28: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

28

Slika 5.6. Prikaz spajanja sučelja na kontroler

Daljinsko upravljanje aplikacijama:

Automobili- kontroler dizajniran za sportski upotrebu u automobilima ima reverzibilnu

sposobnost. Noviji sportske kontrole mogu imati tako jaku reverzibilnu sposobnost da se ne

mogu koristiti u utrkama. Dizajniraju se posebne kontrole za utrke pa neke čak imaju i

dodatnu prednost sposobnosti dinamičkog kočenja. Postavljanjem električnih opterećenja

preko armature ESC daje snagu motoru da djeluje kao generator. To čini armaturu težom za

okretanje, usporava ili zaustavlja model. Neki kontroleri dodaju korištenje regenerativnog

kočenja.

Helikopteri-Kontroler dizajnirani za radio-kontrolere helihoptera ne zahtijevaju

karakteristike kočenja, niti zahtijevaju obrnuti smjer. Mnogi high-endhelihopter ESCovi

pružaju „ Governormod “ koji podešava okretaje motor na zadanu brzinu.

Zrakoplovi - Kontroleri dizajnirani za radio kontrolu zrakoplova obično sadrže nekoliko

sigurnosnih značajki. Ukoliko je energija koja dolazi iz baterije nedovoljna da nastavi

pokretati elektromotor ESC će smanjiti ili isključiti napajanje motora i omogućiti daljnje

korištenje krila, kormila i funkcije dizanja. To pilotu omogućuje da zadrži kontrolu nad

zrakoplovom koji će nastaviti klizati ili letjeti na maloj snazi.

Brodovi- kontroleri dizajnirani za brodove obavezno su vodonepropusni. Takva se

struktura značajno razlikuje od ne morskog tipa ESC-a. Javlja se potreba za hlađenjem motora

što se realizira na način da voda cirkulira oko motora ili pomoću negativnog vakuuma u

Page 29: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

29

blizini izlaznog pogona osovine. Kao i automobilski tako i brodski ESC-ovi imaju sposobnost

dinamičkog kočenja i reverzibilnu sposobnost.

Dronovi-kontroleri su bitna sastavnica modernih dronova koji nude veliku snagu, visoku

frekvenciju, visoku razlučivost, trofazno AC napajanje za motore u izuzetno malom

kompaktnom paketu. U potpunosti ovise o promjenjivoj brzini kojom motor pokreće

propelere. Ova sloboda promjenjivosti brzine i RPM kontrola čine svu potrebnu kontrolu za

let drona. Visina je određena količinom energije na sva četiri motora. Kretanje naprijed

postiže se bržim kretanjem stražnjeg dijela od prednjeg dijela. Kretanje u stranu ostvaruje se

bržim kretanjem lijeve ili desne strane. Sve se to postiže kombinacijom usporavanja i

ubrzavanja pojedinih motora, s time da se dva rotora rotiraju u smjeru kazaljke na satu, a dva

u smjeru obrnutom od kazaljke. Dronovi se razvijaju velikom brzinom i pružaju vrlo stabilne

radne nosače za video kamere, koje mogu služiti za pokrivanje sportskih događanja,

poljoprivredna istraživanja, pregled električnih stupova, povijesna istraživanja isl.

Programsko sučelje

Većina modernih ESC-ova sadrži mikrokontroler tumač ulaznog signala i na odgovarajući

način kontrolira motor koristeći ugrađeni program ili softver. U nekim je slučajevima moguće

mijenjati tvornički softver alternativnim javno dostupnim, softverom. To se radi kada se želi

ESC prilagoditi za neku određenu primjenu. Neki ESC-ovi imaju tvornički ugrađen softver s

mogućnošću nadogradnje od strane korisnika, dok drugi zahtijevaju nadogradnju od strane

programera

5.3. Baterija

Litij-polimer baterija (Li-Poly, LiPo, LIP) pripada skupini punjivih baterija na bazi litija.

Tehnološki predstavlja generaciju baterija koje su naslijedile litij-ionsku bateriju.

Osobine su joj uglavnom iste kao kod prethodnice. Vrlo je lagana zbog litijevih elektroda,

vrlo velika gustoća energije koja je skoro dvostruko veća od obične NiMH baterije, veći

nazivni napon od napona koji je u baterijama na bazi nikla. Za razliku od niklovih baterija nije

ju nužno održavati, jer nije podložna nikojim štetnim efektima poput memorijskog kad ju se

ne koristi niti kristalizacijskog. Zbog toga nema potrebe za periodičnim pražnjenjem, a može

ju se puniti u bilo kojem vremenu. Tehnološki pomak je elektrolit. Čini ga polimer koji se

dade oblikovati u razne oblike, što sve prethodne generacije baterija nisu imale mogućnost.

Page 30: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

30

Budući da ove baterije mogu biti vrlo tanke, primjenjivost se odmah pokazala kod mobilnih

telefonskih uređaja, prijenosnih računala i RC model i drugdje.

Slabosti litij-polimer baterija su dvije. Osjetljivije su na niske temperature, a životni vijek im

je kraći, otprilike koliko i kod baterija koje su dvije generacija unazad, nikal-metal-

hibridnoj bateriji.

Slika 5.7. Prikaz LiPo baterije

Broj ćelija od koje je izrađena pojedina LiPo baterija označava se slovom S. Poznajući taj

podatak lako možemo saznati nazivni napon baterije. Ovdje je nekoliko primjera Lipo

baterija:

• 3,7 V baterija = 1 ćelija x 3,7 V (1S)

• 7,4 V baterija = 2 ćelije x 3,7 V (2S)

• 11.1 V baterija = 3 ćelije x 3,7 V (3)

Kapacitet baterija se izražava u mAh mili-amper-satima. Iako to nije direktan pokazatelj

koliko je energije u bateriji jednostavnije je za svakodnevnu upotrebu jer nam govori koliko

će dugo baterija trajati. Ako baterija ima kapacitet 1000 mAh ona može davati struju od

Page 31: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

31

jednog ampera kroz vremenski period od jednog sata. U stvarnosti kapacitet ovisi o struji koju

crpimo iz baterije, ako je potrošnja jako velika kapacitet će biti manji. Baterija od 1000 mAh

može davati 2 A kroz period od pola sata, ali ako iz nje trošimo 5 A neće izdržati 15 minuta

ispraznit će se znatno prije.

Princip rada

Baš kao i kod drugih litij-ionskih ćelija, LiPo rade na principu interkaliranja i de-interkalacije

litija iz pozitivne elektrode litij-iona i negativne elektrode litij-iona, dok tekući elektrolit

pruža vodljivost medija. Da bi se spriječio izravni dodir elektroda, postoji mikroporozni

separator koji se nalazi između elektroda i omogućuje prolazak iona dok čestice materijala

ostaju na elektrodama.

Pražnjenje

Brzina pražnjenja je broj koji nam pokazuje kojom brzinom se ioni kreču od anode ka katodi

odnosno kojom se brzinom baterija prazni. U svijetu RF LiPo baterija brzina pražnjenja se

označava sa slovom „C“. Ako imamo bateriju od 10C to znači da se baterija može isprazniti

10 puta brže od vrijednosti kapaciteta baterije koja naznačena na njoj. Baterija od 1000mAh

sa oznakom pražnjenja 10C nam može dati konstantnu struju od 10A.

Punjenje

Napon Lipo ćelije ovisi o samom kemijskom spoju i varira od 2.7-3.0 V (prazna ćelija) do o

4,20-4,35 V (potpuno napunjena ćelija). Točni naponi punjenja trebaju biti navedeni u

tehničkim karakteristikama baterije, gdje se podrazumijevanjem da ćelija trebali biti zaštićena

od strane punjača koji neće dopustiti da ih se prenapuni, ili nekakvog kontrolera koji neče

dopustiti pretjerano pražnjenje baterije.

Lipo baterije su pogođene istim problemima kao i druge litij-ionskie baterije. To znači da

preopterećenje, pretjerano pražnjenje, prekomjerna temperatura, kratki spoji, mehanička

oštećenja mogu rezultirati napuhivanjem baterije, puknućem kućišta, curenjem elektrolita pa

čak i požarom. Sve vrste Li-ion baterija podložne su napuhivanju zbog visokog napona

punjenja ili pre-naboja, zbog laganog isparavanja elektrolita. To može dovesti do raslojavanja,

a samim time i lošeg kontakta unutarnjih slojeva ćelija, što pak pridonosi smanjenu

pouzdanosti i ukupnog života baterije.

Page 32: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

32

Slika 5.8. Oštećena LiPo baterija na mobilnom telefonu

Page 33: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

33

6. Trup broda

Glavni parametri koji karakteriziraju oblik trupa broda su: - glavne dimenzije i njihovi

međusobni odnosi, - koeficijenti brodske forme, - istisnina broda i njezino težište, - krivulja

površine rebara (areala rebara), - položaj težišta broda. Forma i geometrija broda Brod u

plovidbi morem pod utjecajem je mnoštva parametara. Neki od njih dolaze iz okoline, drugi

od pomoraca koji brodom upravljaju, dok su treći posljedica osobina koje je brodu odredio

brodograditelj. Brodograditelj utječe na osobine broda izborom veličine, oblika trupa,

konstrukcije, strojeva, opreme itd. Osobine broda su u najvećoj mjeri određene formom trupa

i njenim geometrijskim značajkama. Zbog toga je geometrija broda temelj brodograđevnog

znanja. Forma brodskog trupa redovito nije jednostavnog geometrijskog ili analitičkog oblika,

premda u najširem smislu postoje i takva jednostavna plovila (pontoni, plovni dokovi, plutače

itd.). Formu broda treba odrediti i kasnije reproducirati prilikom gradnje s velikom točnošću.

Prikaz forme može biti trodimenzionalan, putem fizičkog modela, dvodimenzionalan putem

nacrta u više projekcija ili numerički putem tablica koordinata točaka na formi, spremljenih

na papiru ili kao računalni zapis u datoteci. Geometrijske osobine brodske forme utječu na

njegovu plovnost, stabilnost, otpor, propulziju, upravljivost, dakle praktički na sva svojstva

broda. Određivanje geometrijskih osobina brodske forme vezano je za način definiranja

forme.

Princip prikaza brodske forme dijelimo na četiri načina:

1. Stvarna forma,

2. Teoretska forma,

3. Prikaz nacrtom linija,

4. Prikaz računalom.

6.1. Oblik i konstrukcija struktura trupa.

Oblici trupa mogu se podijeliti na više načina. Jedan od njih je prema Froudeovom broju,

tj. omjeru brzine i korijena dužine broda. Dijele se na:

Deplasmanske - Fn (Froudeov broj) <1

Poludeplasmanske - 1<Fn<3

Glisirajuće - Fn>3

Page 34: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

34

Trup broda se najčešće sastoji od valjanih limova te valjanih i složenih profila koji su

međusobno spojeni, najčešće zavarivanjem. Po globalnoj podjeli konstrukciju broda dijelimo

na:

Kostur (konstrukciju strukture)

Oplatu.

Kostur predstavlja poprečne okvire rebra i uzdužne nosače, izvedene, u pravilu, iz profila

koji služe u svrhu davanja željenog oblika brodu i osiguravaju mu traženu čvrstoću, a ujedno

omogućavaju sigurno postavljanje oplate na svoju strukturu.

Oplata predstavlja vanjsko opločenje koja se postavlja na konstrukciju kostura i izvodi se, u

pravilu, iz limova za kostur i međusobno spojenih, a osigurava brodu nepropusnost i sudjeluju

u osiguranju njegove čvrstoće.

Unutar globalnih grupacija postoje područja koja se nalaze na svakom brodu, bez obzira na

tip, vrstu i namjenu i to:

dno broda,

uzvoj,

bokovi (bočna oplata ili dvobok),

završni voj (razma),

paluba.

6.2. Stvarna forma

Stvarna forma broda obuhvaća sve oblike koji se mogu naći na vanjskom dijelu trupa. Ona

uključuje sve neravnine (namjerne ili nenamjerne), spojeve, zavare, preklope, promjene u

debljini oplate, zaštitne trake, anodne protektore, sve privjeske itd.. Red veličine tih detalja je

redovito znatno manji od reda veličine cijelog broda. Za opisivanje forme i provođenje svih

hidrostatičkih proračuna potpuno opisivanje stvarne forme broda bilo bi potpuno nepraktično.

Tome je više razloga. Proračuni se moraju provesti prije potpunog definiranja svakog detalja i

naravno prije gradnje broda. Prema tome veći broj sitnih detalja još nije definiran.

Izglađivanje forme koja bi sadržavala sve detalje bilo bi vrlo teško izvodivo a i proračuni

geometrijskih veličina vrlo komplicirani. Zbog toga se brodska forma rastavlja na idealiziranu

glatku formu (teoretsku formu) i na razne dodatke i privjeske koje realna forma ima.

Page 35: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

35

6.3. Teoretska forma

Teoretska forma definira idealizirani osnovni oblik broda. Ovisno o materijalu gradnje

trupa, teoretska forma je definirana na različite načine. Drvenim i kompozitnim brodovima

teoretska forma je definirana na vanjskoj plohi oplate. Kod drvenog broda debljina oplate više

nije zanemariva u odnosu na veličinu broda pa bi opis s unutrašnje strane predstavljao

neprihvatljivo odstupanje od stvarnog stanja. Premda je debljina oplate drvenih brodova

redovito promjenjiva u područjima uz kobilicu, u području uzvoja i završnih vojeva, Slika

6.1., prema, ipak ta odstupanja nisu velika i teoretska forma se opisuje tako da prolazi

vanjskom plohom većeg dijela oplate dna ili boka. Pretpostavlja se da je sva oplata jednolike

debljine, a razlike se kasnije na pojedinim lokacijama mogu uzeti u obzir posebnim

postupkom samo za višak debljine iznad pretpostavljenog.

Slika 6.1. Glavno rebro drvenog broda

6.4. Prikaz forme nacrtom linija

Teoretska forma broda redovito se prikazuje nacrtom brodskih linija. Taj nacrt

predstavlja prikaz niza prosječnih krivulja s teoretskom formom broda. Redovito se nacrt

linija sastoji od 4 ili 5 crteža smještenih na zajednički nacrt. Svaki od tih crteža predstavlja

ortogonalnu projekciju presjeka teoretske forme i niza jednoliko razmaknutih međusobno

paralelnih ravnina, slično izohipsama na zemljopisnoj karti. Redovito se prikazuju crteži

rebara, vodnih linija i uzdužnica. Ovom nacrtu se često dodaje i crtež svih tih krivulja u

izometrijskom prikazu. Dodatni crtež može sadržavati presjeke forme ravninama koso

položenim prema simetralnoj ravnini broda - crtež širnica.

Page 36: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

36

Slika 6.2. Forma trupa nacrtana linijom

6.5. Prikaz forme računalom

Prikaz forme računalom osniva se na definiranju krivulja ili ploha brodske forme

analitičkim metodama, najčešće raznim oblicima spajanja. Postoji veliki broj raznih pristupa u

praktičnoj realizaciji kao i veći broj komercijalno dostupnih računalnih paketa za definiranje

forme brodova. U odnosu na ručno crtanje, rad računalom omogućava brži, točniji i detaljniji

prikaz forme uz dodatne prednosti dobivanja crteža, ili prikaza u tri dimenzije i to u raznim

fazama definiranja forme. Razvoj računala i metoda računalne grafike danas je praktički

istisnuo ručno crtanje forme.. Na Slici 6.3. je prikazana odabrana forma koja če biti korištena

u diplomskom radu.

Slika 6.3. Forma broda nacrtana računalom

Page 37: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

37

7. Realizacija plovila

U ovom poglavlju detaljno ćemo se upoznati sa izradom praktičnog dijela diplomskog

rada. Praktični rad sadrži izradu trupa broda, instalaciju pogona u brod te instalaciju senzora i

elektronike.

7.1. Izrada trupa broda

Kod izrade trupa broda moramo odabrati oblik trupa i građevni materijal. Za oblik trupa smo

se odlučili za glisersko dno zbog veoma malog hidrodinamičkog otpora koje pruža voda.

Glisersko dno razvija veću brzinu za manju uloženu snagu motora u odnosu na druge oblike

korita. Građevni materijal za izradu trupa je drvo koje ćemo na kraju zaštiti stakloplastikom

kako bi spriječili utjecaj mora na korito i neželjeni ulaz mora u sami brod.

Prvi korak pri izradi trupa je izrada kostura brod, kostur broda smo izradili od

vodonepropusne šperploče koja ima dobru čvrstoću te veoma dobro podnosi opterećenja koja

djeluju na brod.

Slika 7.1. Građevni materija kostura

Iz drvene ploče smo izrezali elemente na kombiniranom stroju za obradu drva te ih učvrstili

vijcima i potom zalijepili dvokomponentnim ljepilom za drvo. Na sljedećoj Slici 7.2. je

prikazan završeni kostur plovila.

Page 38: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

38

Slika 7.2. Prikaz kostura broda

Slijedeći korak je izrada ploča dna ,bočnih oplata i palube koje su izrađene od lesonita.

Lesonit smo izabrali zbog njegove veoma male mase i mogućnosti savijanja kako bi bilo lakše

izraditi oplate za dno, bokove i palubu.

Slika 7.3. Građevni materijal za dno ,bokove i palubu.

Kao i kod izrade kostura segmente dna, bokova smo izrezali na kombiniranom stroju te ih

uhvatili stegama i zalijepili.

Page 39: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

39

Slika 7.4. Izrada dna i bokova plovila

Slika 7.5.Prikaz korita broda

Na isti način smo izradili palubu i poklopac plovila, nakon izrade modela broda u drvu cijelog

smo premazali u stakloplastiku kako bi mu povećali čvrstoću i zaštitili ga od utjecaja mora.

Nakon jednog dana sušenja brod smo prebrusili te stavili na njega primer premaz kako bih se

boja bolje uhvatila za stakloplastiku, potom je brod obojan premazom koji je otporan na sol i

morsku vodu.

Page 40: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

40

Slika 7.6. Završna faza izrade broda

7.2. Postavljanje pogona i kormila

Nakon što je trup plovila gotov slijedi ugradnja pogona u samo plovilo, kod ugradnje

pogona treba obratiti pažnju da ne poremetimo plovnost broda tako da nam brod ne bi bio u

debalastu (pogrešno raspoređena masa unutar broda, te je brod nakrivljen na jednu stranu),

važno je obratiti pažnju i na instalaciju same pogonske osovine te je potrebno centrirati da ne

dođe do neželjenih grešaka u kursu plovila tokom navigacije.

Slika 7.7. Montaža pogona

Page 41: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

41

Motor smo smjestili u kremeni dio broda te fizički odvojili krmeni prostor od pramčanog radi

smanjenja utjecaja motora na elektroniku plovila. Motor je postavljen na gumene nosače kako

bi se smanjila vibracija koju motor proizvodi pri svom rad. Sljedeće na redu je izrada

pogonske osovine i košuljice u kojoj se rotira osovina. Osovina je izrađena od inox šipke

promjera 3mm. Inox smo izabrali zbog njegove velike čvrstoće i otpornosti na morsku vodu i

koroziju, na kraju osovine je izrađen navoj od 2.5 mm na koji je postavljen pogonski vijak i

zatim učvršćen sigurnosnom maticom. Košuljica osovine je izrađena od mjedi vanjskog

promjera 5 mm i unutarnjeg promjera 3.2 mm. Važno je napomenuti da se prostor u košuljici

mora uljiti kako bi se smanjilo trenje između košuljice i pogonske osovine. Kako je motor

postavljen vodoravno a košuljica je pod određenim kutom u odnosu na ravninu motora

potrebno je bilo ugraditi homokinetički zglob. Njegova uloga je da omogućuje pogonskoj

osovini da prenosi snagu (okretni moment) preko promjenljivog kuta, pri konstantnoj brzini

obrtanja, bez značajnog porasta u trenju i slobodnom hodu.

Slika 7.8. Ugradnja pogonske osovine i kormila vanjski dio plovila

Page 42: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

42

Zbog vibracija koje pogonska osovina prenosi na košuljicu javio se problem klizanja košuljice

kroz krmeno zrcalo prema unutrašnjosti broda, da bi spriječilo daljnje klizanje na košuljicu

smo s vanjske strane krme montirali cijev od inoxa unutrašnjeg promjera 5 mm. a vanjskog

6mm. koja zaustavlja klizanje i osigurava nam normalan rad pogona.

Kormilo smo ugradili po sredini krme broda , dok je servo motor pozicioniran u unutrašnjosti

krmenog djela tako da nesmetano može odvijati svoje zadatke Slika 6.7. Postavljen je u

neposrednoj blizini kormila zbog lakše izrade mehaničke veze sa kormilom, te da bis e

smanjio utjecaj deformacije inox šipke koja povezuje servo motor i kormilo.

7.3. Postavljanje senzora

Senzori Arduino sustava su veoma osjetljivi na vanjski utjecaj, stoga ih je potrebno

smjestiti gdje će smetnje najmanje utjecati na njihov rad,. Provu i krmu plovila smo fizički

odvojili tako da bi što bolje zaštitili elektronski dio od utjecaja pogonskog djela koji je

smješten u krmu broda.

Ugradnja kompasa

Kompas treba ugraditi ako je to moguće na sredinu broda i na najnižu moguću poziciju kako

bi se smanji utjecaj ljuljanja, propinjanja i uranjanja pramca plovila. Kompas smo ugradili u

na sredinu pramčanog dijela plovila tako da je orijentacija osi bila:

X – os – smjer naprijed nazad

Y – os – lijevo desno

Z – os – gore dolje

Magnetometar je jako dobro podnosio zahtjeve koje mu sustav nalaže tako da nije trebalo

vršiti nikakve korekcije vezane za poziciju ugradnje.

Page 43: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

43

Slika 7.9. Mjesto i način postavljanja magnetometra

Ugradnja akcelerometra

Akcelerometar ADXL 345 je vrlo osjetljiv na vibracije te ga je potrebno ugraditi na mjesto

gdje će utjecaj vibracija biti što manji. Kako motor plovila stvara vibracije tokom rada

akcelerometar je potrebno ugraditi na što dalju poziciju od motora . U našem slučaju smo

akcelerometar postavili odah iza magnetometra i to na silikonski suspenzor kojemu je uloga

smanjiti vibracije okoline koje utječu nam sam senzor. Orijentacija osi akcelerometra je

jednaka kao i kod magnetometra.

Njegova uloga u plovilu je kompenzacija magnetometra, tako da magnetometar ima uvijek

točno očitanje kursa bez obzira na os ljuljanja broda. ADXL veoma dobro kompenzira

ljuljanje i valjanje pod kutovima od – 45 ° do + 45 ° što je zadovoljavajuće za ovaj sustav.

Page 44: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

44

Slika 7.10. Instalacija Akcelerometra ADXL345

Ugradnja GPS-a

Kao i u slučaju sa kompasom GPS moramo ugraditi na sredinu broda i na što nižu poziciju

tako da smanjimo utjecaj vanjskih smetnji ka što je ljuljanje i valjane. GPS treba biti na

mjestu gdje mu fizički ništa neće ometati prijem signala, pa smo ga smjestili odmah do

akcelerometra i magnetometra. Uređaj ima antenu i pojačalo tako da prijem signala na

otvorenom prostoru ne bi trebao imati nikakvih smetnji.

Page 45: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

45

Slika 7.11. Ugradnja GPS modula

Ugradnja nRF modula

Za razliku od ugrađenih senzora prijemnik signala mora biti na uzvišenom mjestu kako bi što

bolje primao informacije od odaljenog odašiljača. NRF modul smo smjestili na sredinu

plovila na palubi tako da se protok informacija odvija sa što manje smetnji. Ovaj prijamnik

također u sebi ima pojačalo i antenu od 5dB kako bih mogao primati podatke na većim

udaljenostima od običnog nRF modula.

Page 46: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

46

Slika 7.12. nRF modul ugrađen na plovilo

Elektronički kontroler brzine

ESC smo ugradili odmah iza motora da olakšamo njegovo spajanje na motor i na napajanje iz

baterije

Slika 7.13. Postavljanje elektroničkog kontrolera brzine

Page 47: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

47

Spajanje komponenti na Arduino Mega

Ugrađene komponente plovila potrebno je zalemiti na mikrokontroler Arduino Mega i

omogućiti im komunikaciju. Lemljenje je bilo potrebno zbog vibracija koje proizvodi plovilo,

dok su obični spojevi uobičajeni u arduino razvojnim projektima te bi bili loši i veze bi

pucale.

Kompas zahtjeva napajanje od 5 V tako da smo napajanje kompasa spojili na pin GND i pin

5 V Arduina dok je komunikacija išla preko I2C protokola te je modul spojen na SDA i SCL

pinove Arduina Mege.

Akcelerometar razmjenjuje podatke sa kontrolerom preko I2C protokola te je spojen na

Arduino na pinove SDA i SCL, senzor zahtjeva napajanje od 3.3 V i spojen je na pinove 3.3

V i GND kontrolera.

Komunikacija GPS uređaja se odvija preko serijskog porta Arduina Mege tako da je pin RX

GPS-a spojen na TX1,pin a TX pin je spojen na RX1 pin kontrolera. Napajanje GPS-a je

spojeno sa 3.3 V i GND pinom Arduino Mege.

NRF modul zahtjeva vanjsko napajanje od 3.3 V zbog ograničenja Arduna koji može dati

struju od 40 mA na svom izlazu dok je potrošnja modula oko 150 mA. NRF je zbog toga

spojen na stabilizator napona od 3.3 V koji mu na svom izlazu daje dovoljnu struja za

normalan rad. Komunikacija prijemnika se odvija preko SPI protokola.

Tablica 7.1. shema spajanja pinova

Servo motor zahtjeva napajanje od 5 V te je spoje na pinove 5 V i GND kontrolera dok je pin

za komunikaciju spojen na digitalni izlaz 5 Arduina.

Signal RF modul Arduino Mega

GND 1 GND Stabilizator napona

VCC 2 3.3 V Stabilizator napona

CE 3 9

CSE 4 53

SCK 5 52

MOSI 6 51

MISO 7 50

IRQ 8 Slobodan pin

Page 48: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

48

Napajanje elektroničkog kontrolera brzine je također spojeno na 5 V i GND pinove dok je

komunikacija spojena na digitalni pin 6.

Slika 7.14 Prikaz komponenti spojenih na mikrokontroler

Page 49: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

49

8. Programski dio sklopa

Kako bi razumjeli princip rada potrebno je objasniti logiku rada sklopa, te matematiče

modele i programska rješenje koja su korištena u ovom radu. Osnovni elementi za izvedbu

automatskog rada plovila su kompenzirani magnetometar, GPS modul, nRF i Arduino Mega.

8.1. Izračun udaljenosti i brzine

GPS uređaj ima zadatak da u svakom trenutku sprema koordinatu na kojoj se nalazio, bio

u pokretu ili na mjestu, poznajući trenutnu koordinatu na kojoj se nalazimo i odredišnu

koordinatu koja je poslana na Arduino Mega preko nRF modula Sve dobivene vrijednosti

uvrštavano u 'haversine' formulu za izračunavanje udaljenosti između dvije točke - to jest,

najkraća udaljenost iznad Zemljine površine

𝑎 = 𝑠𝑖𝑛2 (𝛥𝜑

2) 𝑐𝑜𝑠 𝜑1 ∗ 𝑐𝑜𝑠 𝜑2 ∗ 𝑠𝑖𝑛2(𝑠𝑖𝑛²(𝛥𝜆/2) (8.1.)

𝑐 = 2 ∗ 𝑎𝑡𝑎𝑛2(√𝑎, √(1 − 𝑎) (8.2.)

𝑑 = 𝑅 ∗ 𝑐 (8.3.)

a,c – pomoćne varijable

Δφ – razlika između latitudalnih kordinata (φ2 - φ1)

Δλ – razlika između longitudinalnih kordinata (λ2 – λ1)

R – radijus Zemlje ( 6371000 metara )

d – udaljenost od krajnje toče

Pomoću haversinove formule smo izračunali udaljenost od trenutno točke do točke cilja,

udaljenost se osvježava svaku sekundu, te u svakom trenutku znamo udaljenost od cilja.

Poznajući ovaj parametar lako možemo regulirati brzinu kretanja broda u ovisnosti o

udaljenosti od cilja. Uvjeti su postavljeni tako što je brod udaljeniji od cilja brzina mu je

veća, a kako se približava smanjiva mu se brzina i kada dođe na 5 metara od odredišta brzinu

pada na nulu.

Logika određivanja brzine:

if(Distance <=5||Distance >500)

Velocity = 0; // ako je udaljenost manja od 5m ili veća od 500m brzina je nula

else if(Distance <500&&Distance>20)

Velocity = 128; // za udaljenost veću od 20 m i manju od 500m brzina je maksimalna

Page 50: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

50

else

Velocity= 96; // za ostale vrijednosti brzina je jednaka polovica brzine

Treba napomenuti da je postavljeno ograničenje od 500 m, tj. da je brzina za sve udaljenosti

veće od 500 metara jednaka nula, radi zaštite od mogućnosti izlaska iz radio dometa.

8.2. Regulacija zakreta kormila

Poznajući trenutnu GPS koordinatu i odredišnu koordinatu preko 'haversine' jednadžbe se

izračunava azimut. Azimut je kut u ravnini obzora između vertikalne ravnine koja prolazi

opažanim predmetom i vertikalne ravnine u kojoj se umiruje magnetna igla slobodno obješena

u Zemljinu magnetnom polju, bez utjecaja nekog umjetnog magnetskog polja. Obično se kut

mjeri od magnetnog sjevera u smjeru satne kazaljke. U ovom slučaju azimut je smjer pod

kojim bi plovilo trebalo voziti da bi stiglo do odredišne točke.

θ = atan2( sin Δλ ⋅ cos φ2 , cos φ1 ⋅ sin φ2 − sin φ1 ⋅ cos φ2 ⋅ cos Δλ )

θ - Azimut

Δλ - razlika između longitudinalnih kordinata (λ2 – λ1)

φ2 – latituda točke cilja

φ1 – longituda točke cilja

Kao što je spomenuto ranije magnetometar je potrebno kompenzirati da bi se odstranile

smetnje koje proizvodi ljuljanje i valjanje broda. Zadatak magnetometra je da u svakom

trenutku na mikroprocesor šalje informacije o trenutnom smjeru u kojem se plovilo kreće,

zatim kontroler sprema te podatke i obrađuje i ih.

Sada su poznate sve informacije za izračun i regulaciju kormila, magnetometar daje trenutni

smjer plovidbe ,dok GPS uređaj preko haversine jednadžbe daje vrijednost kuta azimuta.

Oduzme li se od azimuta trenutni smjer plovila točno je poznato koliko plovilo odstupa od

kursa i za koliki kut se treba zakrenuti brod.

Logika upravljanja kormilom

if(Bearing1-heading2 <180||Bearing1-heading2 >-180) // ako je Azimut – trenutni smjer

manje d 180 ili veće od -180

{

Rudder=Bearing1-heading // zakret kormila je Azimut - smjer

}

else if(Bearing1-heading2 >180||Bearing1-heading2 <-180) // ako

je Azimut – smjer veće od 180 ili manje od - 180

Page 51: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

51

{

Rudder=360-Bearing1+heading2; // zakret kormila je 360°- Azimut

+smjer

}

else // za ostale vrijednosti

{

Rudder=0+Bearing1- heading2; // zakret je 0 + Azimut - smjer

}

Mehanički zakret kormila je ograničen na 45°i -45° i dobivene vrijednosti zakreta kormila

treba mapirati u zadano područje. Da bio se smanjile oscilacije potrebno je izraditi regulator,

kako zakreti kormila ne bi bili prenagli i remetili navigaciju.

Ispis koda regulatora

if(d >= -180 && d < -150) //ako je zakret kormila između -180 i -

150

return 90; // zakreni kormilo na 90°

else if(d >= -150 && d < -120)

return 85;

.

.

else if(d >= -3 && d < 3) // ako je zakret kormila između -3°i 3°

return 45; // zakret kormila je 45°

else if(d >= 3 && d < 6)

return 40;

.

.

else if(d >= 120 && d < 150)

return 5;

else if(d >= 150 && d < 180) //ako je zakret kormila između 150°i 180°

return 0; // zakret kormila je 0°

Regulator je osmišljen tako kada je izračunati zakret kormila unutar određenih granica npr.

<180° a veći od 150° treba zakrenuti kormilo za kut od 0° odnosno ići maksimalno u desnu

stranu. Također kada je plovilo unutar okvira od +- 3° izračunatog smjera nema nikakvih

događanja sve dok ne izađe iz tog okvira.

Servo motor koji upravlja kormilom ne može raditi sa negativnim vrijednostima kuta, pa je

područje rada kormila od -45°do 45° prebačeno u područje od 0° do 90°

Page 52: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

52

Graf 8.1. Regulacija upravljanja kormilom

Crvenom linijom je označena razlika kuta između Azimuta i smjera plovidbe, dok je plavom

bojom označen kut za koji se kormilo mora zakrenuti. Iz grafa je vidljivo da je zakret kormila

0° za razliku Azimuta i smjera od –180° do -150, 45° za razliku od -3°do 3° i tako sve do

zakreta od 90° za područje od 150°do 180°.

Na sljedećim slikama prikazan je brod u stacionarnom stanju i u navigaciji.

Slika 8.1. Brod u stacionarnom stanju na moru

-200

-150

-100

-50

0

50

100

150

200

0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90

Page 53: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

53

Slika 8.2. Brod u navigaciji

8.3. Shema upravljanja plovilom

Shema upravljanja je zamišljena da plovilo prima koordinate od odašiljača, obrađuje ih i

izračunava putanje po kojim ide do zadanih lokacija. Podatci se na plovilo šalju preko

kontrolera koji je spojen na prijenosno računalo, na serijski monitor Arduino sučelja unosimo

prije definirane brojeve, koje Arduino Nano koji je smješten unutar kontrolera obrađuje i šalje

ih preko nRF odašiljača plovilu. U plovilu je smješten Arduino Mega koji procesuira

primljene podatke i nastavlja sa zadanim radom. Ovakva kontrola plovidbe može se odraditi

na udaljenosti unutar 1 km, ako želimo povećati domet plovila i odašiljača postoji mogućnost

za ugradnju GSM ili satelitskog Arduino modula.

Page 54: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

54

Slika 8.3. Princip upravljanja brodom

8.4. Testiranje plovila

Testiranje je izvedeno tako da su unesene fiksne GPS koordinate u plovilo, pa je ono

trebalo odraditi uprogramiranu rutu. Prilikom testa izašlo ja nekoliko nepravilnosti na vidjelo,

kod prvog testa osovina broda nije bila pod pravim kutom u odnosu na krmeno zrcalo, te je

plovilo uvijek skretalo više u desno. Greška sa osovinom je ispravljena i mogao se obaviti

novi test. Prilikom testa kormilo je imalo vrlo loš utjecaj na plovidbu, odnosno imalo je

premale zakrete i brod je vrlo sporo reagirao na komande. Da bi se ispravila greška bilo je

potrebno u regulator postaviti grublju podjelu u odnosu na prethodne postavke (veći zakret

kormila). Nakon ispravaka grešaka plovilo je besprijekorno odradilo zadatke i bilo je spremno

za daljnju upotrebu.

Page 55: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

55

Slika 8.4 Završni test

Završni test je obavljen između točaka T1 i T2 prikazanih na Slici 8.4. Crvenom linijom je

označen pravac po kojemu brod treba putovati dok je ljubičastom bojom označena linija

kojem se kretalo plovilo prilikom testa. Zadatak plovilu je bio stići od toče T1 do točke T2 sa

što manjim izobličenjem putanje. Treba napomenuti kako su testovi obavljani na potpuno

mirnom moru i sa smanjenom brzinom da bi se greške što lakše primijetile. Iz slike je vidljivo

kako je vrlo mali prebačaj prilikom navigacije te da je plovilo vrlo brzo došlo na kurs s

obzirom da je udaljenost između točaka svega 60 metara.

Nakon završenog testiranja plovila cilj je odraditi navigaciju između pet točaka koje se nalaze

unutar malog zaljeva a udaljenost između krajnjih točaka je manja od 500m kako bi brod

ostao u dometu nRF primopredajnika. Plovilo je krenulo iz iste početne točke kao i u

testiranju te su mu naknadno poslane odredišne koordinate preko nRF odašiljača.

Page 56: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

56

Slika 8.5. Putanja navigacije plovila

Na Slici 8.5. su prikazane točke od T1 do T5 redoslijedom koji je plovilo obrađivalo zadane

lokacije koje su mu bile poslane, crvenom bojom označene su postavljene putanje, dok je

crnom bojom prikazana putanja koju je slijedilo plovilo. Treba napomenuti kako je navigacija

odrađena pri istoj brzini kao i testiranje zbog potrebe za snimanjem navigacije.

Plovilo je postavljeno u točku T1 te mu je preko nFR modula poslana odredišna koordinata

T2, iz slike je vidljivo kako plovilo jako dobro prati putanju i vrlo brzo dolazi do ustaljenog

stanja, kada je plovilo stiglo u doseg od 2 metra od odredišne točke motor se gasi i čeka se

nova točka. Potom su poslane koordinate točke T3 i brod nastavlja navigaciju prema novoj

točki. Nakon dolaska u točku T3 brod je dobiva koordinatu koja zahtjeva okret za 120 °te je iz

slike vidljivo kako je navigacija odrađena sa zadovoljavajućim odstupanjima, prilikom

plovidbe prema posljednjoj točci bio je prisutan veliki utjecaj valova i morske struje a plovilo

je vrlo dobro kompenziralo njihov utjecaj i stiglo do krajnje točke. Plovilo je testirano unutar

dometa nRF modula kako ne bi došlo do zamrzavanja kontrolera i nestanka plovila iz

vidokruga.

8.5. Prednosti i nedostatci realiziranog driješenja

Prednosti sklopa su relativno niska cijena za mogućnosti koje sklop može obavljati,

mogućnost ugradnje dodatnih senzora, poboljšanje komponenata, reprogramiranje plovila te

mogućnost promjene područja primjene. Također prednost sklopa je dostupnost mnogih

Page 57: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

57

senzora i njihova mala cijena, otvorenost Arduino sučelja i veoma velika podrška od strane

Arduino razvijača.

Nedostatci izrađenog sklopa su nestabilnost Arduino Mega i Nano kontrolera, dolazi do

zamrzavanja kontrolera te je potrebno ponovno pokretanje za nastavak normalnog rada,

također Arduino sučelje nije projektirano za primjenu u području koje je u kontaktu sa

morskom vodom. Jedan od nedostataka je domet plovila koji je je jednak dometu radio

modula, ugradnjom GSM modula ili satelitskog modul omogućili bi upravljanje sve dok je

brod u mogućnosti primati nove koordinate

Tablica 8.1. Trošak pri izradi projekta

Naziv Količina Trgovina Cijena

Arduino Mega 1 ebay 55.61 Kn

Arduino Nano 1 ebay 23.45 Kn

Neo-6 GPS 1 ebay 81.47 Kn

ADXL 345 1 ebay 13.40 Kn

HMC5883L 1 ebay 6.69 Kn

NRF24L01 2 ebay 58.55 Kn

Hobbypower ESC 30A 1 ebay 56.95 Kn

Turnigy D2836 1 Njuškalo 170.00 Kn

SG90 Servo 1 ebay 14.14Kn

Kormilo 1 ebay 13.40 Kn

Pogonska osovina 1 ebay 103.50 Kn

Homokinetički zglob 1 ebay 23.47 Kn

Stabilizator napona 3.3 V 2 Elmatis 54.00 Kn

Baterija Turnigy 2200 mAh 1 Njuškalo 130 Kn

Drvo 1 Brodomerkur 100.00 Kn

Lijepilo 1 Brodomerkur 27.00 Kn

Boja 1 Brodomerkur 85.00 Kn

UKUPNO / / 1016.63 Kn

Page 58: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

58

9. Zaključak

Sustav bespilotnog plovila realiziran je pomoću Arduino platforme. Arduino sa svojim

gotovim hardverom i besplatnim integriranim razvojnim okruženjem, pruža amaterima i

stručnjacima jednostavnu interakciju s okolinom. Arduino je također bio dobar izbor za

spajanje senzora i ostalih uređaja zbog posjedovanja već gotovih biblioteka koje omogućavaju

jednostavno spajanje i upotrebu istih. Prednost korištenja Arduino sučelja je mogućnost

daljnje dorade i poboljšanja. Prednost rada sa Arduino sučeljem je dostupnost i niska cijena

komponenti, te je izrada diplomskog rada stajala oko 1000 kuna.

Sustav svoju primjenu može naći za nadzor pomorske granice, za nadzor marina, nadzor

ribogojilišta, sustav također može poslužiti za praćenje brodova ili ribe.

Iz svega prethodno navedenog može se zaključiti da su predstavljeni kontroler zasnovan na

Arduino platformi i program za navigaciju potpuno funkcionalni te smo ostvarili potpuno

autonomni način rada.

Autonomija plovila je oko jednog sata rada na punoj brzini, maksimalna brzina koju plovilo

može postići je 10 čvorova, pa je udaljenost koja se može prijeći prilikom navigacije otprilike

10 nautičkih milja.

Page 59: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

59

Ključne riječi

Arduino, autonomno plovilo, upravljanje bespilotnom brodicom, kompenzacija

magnetometra, nRF24L01

Literatura

[1] Arduino https://www.arduino.cc/

[2] Bonković, M.; Musić J.; Stančić I.; „Mikroregulatori i ugradbeni mrežni sustavi u Arduino

razvojnom okruženju“, Split, FESB, 2013.

[3] Akcelerometar ADXL 345 https://learn.adafruit.com/adxl345-digital-

accelerometer/overview

[4] Magnetometar HMC 5883L http://www.jarzebski.pl/arduino/czujniki-i-sensory/3-osiowy-

magnetometr-hmc5883l.html

[5] GPS NEO 6Mhttps://www2.u-blox.com/images/downloads/Product_Docs/NEO-

6_DataSheet_(GPS.G6-HW-09005).pdf

[6] nRF 24L01 https://arduino-info.wikispaces.com/Nrf24L01-2.4GHz-

HowTo?responseToken=0cc3c7f015bf1353105fe59b6510457a8

[7] Motor Turnigy D2836 https://hr.wikipedia.org/wiki/Elektri%C4%8Dni_strojevi

[8 ] Elektronički kotroler brzine https://en.wikipedia.org/wiki/Electronic_speed_control

[9] ] ESC Hobypower 30A

http://www.hobbyking.com/hobbyking/store/__15205__Hobby_King_30A_ESC_3A_UBEC.

html

[10] Baterija Turnigy 2200 mAh 3S http://dronesarefun.com/BatteriesForUAV.html

https://en.wikipedia.org/wiki/Lithium_polymer_battery

[11] Izrada broda http://www.joskodvornik.com/konstrukcija/konstrukcija-broda.pdf

[12] Proračun udaljenosti i azimuta http://www.movable-type.co.uk/scripts/latlong.html

http://forum.arduino.cc/index.php?topic=48112.0

Page 60: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

60

Popis oznaka i kratica

GPS globalni sustav za pozicioniranje

nRF bežični primopredajnik

RX prijamnik serijske komunikacije

SDA serijska podatkovna linija

SCL serijska podatkovna linija

SPI serijsko periferno sučelje

TX predajnik serijske komunikacije

PWM pulsno širinska modulacija

LED svjetleća dioda

RF radio frekvencija

Li-Po litium polimer

Arduino mikrokontroler

DC istosmjerna struja

ESC elektronički kontroler brzine

EMS elektromotorna sila

Fn Froudeov broj

GND uzemljenje

I2C komunikacijski protokol

GSM globalni sistem za mobilnu komunikaciju

UART univerzalni asinkroni prijemnik/odašiljač

CPU procesor

Arduino IDE Arduino razvojno okruženje

Page 61: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

61

Sažetak

U diplomskom radu realizirana je funkcionalna bespilotna brodica sa vlastitim propulzijskim

sustavom i upravljanjem. Brodicom se upravlja bežično preko radio frekvencijskih modula,

tako da se brodici šalje niz GPS koordinata koje ona slijedi. Sustav za vođenje brodice, koji je

održava na kursu i dovodi ka cilju se sastoji od GPS prijemnika, magnetomera i

akcelerometra. Povezivanje senzora, komunikacijskih sustava i aktuatora realizirano je

Arduino kompatibilnim mikrokontrolerom. Objašnjena je detaljno izrada plovila, spajanje

komponenti, logika i kod programa koji upravlja brodom, te je analizirana navigacija.

Page 62: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

62

Dodatak

include <Wire.h>

#include <HMC5883L.h>

#include <ADXL345.h>

#include <SoftwareSerial.h> // biblioteka koja omogučava serijsku

komunikaciju Arduina i GPS uredjaja

#include <TinyGPS.h> //biblioteka za koja sadrži funkcije GPS uređaja

#include <math.h>

#include <Servo.h>

#include <SPI.h>

#include "nRF24L01.h"

#include "RF24.h"

#include "printf.h"

HMC5883L compass;

ADXL345 accelerometer;

RF24 radio(9,53);

unsigned long fix_age;

//softserial definiran na pinovima 2 (Rx) i 4 (Tx)

TinyGPS gps; // TinyGPS objekt

// funkcije

void gpsdump(TinyGPS &gps);

bool feedgps();

void getGPS();

Servo esc;

Servo myservo;

const int role_pin = 2;

const uint64_t pipes[2] = { 0xF0F0F0F0E1LL, 0xF0F0F0F0D2LL };

typedef enum { role_ping_out = 1, role_pong_back } role_e;

const char* role_friendly_name[] = { "invalid", "Ping out", "Pong back"};

role_e role;

// globalne varijable

long lat1, lon;

float LAT, LON;

float heading1;

float heading2;

float LAT1,LON1,LAT2,LON2, LAT3,LAT4,LON3,LON4;

float LAT5 =43.473667;

float LON5 =16.565093;

float LAT6 =43.473353;

float LON6 =16.566929;

float LAT7 =43.472919;

float LON7 =16.566897;

float LAT8 =43.473692;

float LON8 =16.565884;

float LAT9 =43.474147;

float LON9 =16.565168;

float Bearing;

int Bearing1;

int Rudder;

int Rudder1 =45;

float Distance;

int Velocity=128;

float R = 6371000;

int poruka[1];

int kormilo(int d);

Page 63: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

63

void setup()

{

esc.attach(6);

myservo.attach(5);

Serial1.begin(9600); // start gps komunikcije (preko soft seriala) na

brzini 9600

Serial.begin(9600);

printf_begin();

radio.begin();

radio.setRetries(15,15);

radio.setPayloadSize(8);

radio.openWritingPipe(pipes[1]);

radio.openReadingPipe(1,pipes[0]);

radio.startListening();

radio.printDetails();

int i;

for(i=5;i<=8;i++)

pinMode(i, OUTPUT);

// Inicializacija ADXL345

if (!accelerometer.begin())

{

delay(500);

}

accelerometer.setRange(ADXL345_RANGE_2G);

// Inicializacija HMC5883L

while (!compass.begin())

{

delay(500);

}

// Namještanje moda mjeranja

compass.setRange(HMC5883L_RANGE_1_3GA);

// Namještanje moda mjeranja

compass.setMeasurementMode(HMC5883L_CONTINOUS);

// Takt komunikacije

compass.setDataRate(HMC5883L_DATARATE_30HZ);

// Broj uzoraka

compass.setSamples(HMC5883L_SAMPLES_8);

// Kalibracijski

compass.setOffset(2, -109); OO

}

// Nekompezirana vrijednost

float noTiltCompensate(Vector mag)

{

float heading = atan2(mag.YAxis, mag.XAxis);

return heading;

}

Page 64: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

64

// Tilt kompezacija

float tiltCompensate(Vector mag, Vector normAccel)

{

// Pitch & Roll

float roll;

float pitch;

roll = asin(normAccel.YAxis);

pitch = asin(-normAccel.XAxis);

if (roll > 0.78 || roll < -0.78 || pitch > 0.78 || pitch < -0.78)

{

return -1000;

}

float cosRoll = cos(roll);

float sinRoll = sin(roll);

float cosPitch = cos(pitch);

float sinPitch = sin(pitch);

// Tilt compensation

float Xh = mag.XAxis * cosPitch + mag.ZAxis * sinPitch;

float Yh = mag.XAxis * sinRoll * sinPitch + mag.YAxis * cosRoll -

mag.ZAxis * sinRoll * cosPitch;

float heading = atan2(Yh, Xh);

return heading;

}

//Isparvni kut

{

if (heading < 0) { heading += 2 * PI; }

if (heading > 2 * PI) { heading -= 2 * PI; }

return heading;

}

void loop()

{ //Pomoćne varijable

float a;

float c;

if ( radio.available() )

{

unsigned long got_time;

bool done = false;

while (!done)

{

char inChar;

done = radio.read( poruka, sizeof(poruka) );

Serial.println("Primljen paket naredbi!");

delay(20);

}

radio.stopListening();

got_time=millis();

radio.write( &got_time, sizeof(unsigned long) );

printf("Sent response.\n\r");

radio.startListening();

Serial.println(poruka[0]);

}

// odabir GPS kordinate

if (poruka[0]==49)

{

LAT2 = LAT5;

Page 65: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

65

LON2 = LON5;

}

if (poruka[0]==50)

{

LAT2 = LAT6;

LON2 = LON6;

}

if (poruka[0]==51)

{

LAT2 = LAT7;

LON2 = LON7;

}

if (poruka[0]==52)

{

LAT2 = LAT8;

LON2 = LON8;

}

if (poruka[0]==53)

{

LAT2 = LAT9;

LON2 = LON9;

}

Serial.println(LAT2,7);

Serial.println(LON2,7);

// Očitavanje vektora

Vector mag = compass.readNormalize();

Vector acc = accelerometer.readScaled();

//Izračun smjera

heading1 = noTiltCompensate(mag);

heading2 = tiltCompensate(mag, acc);

if (heading2 == -1000)

{

heading2 = heading1;

}

//Namještanje magnetske deklinacije

float declinationAngle = (3.0 + (37.0 / 60.0)) / (180 / M_PI);

heading1 += declinationAngle;

heading2 += declinationAngle;

heading1 = correctAngle(heading1);

heading2 = correctAngle(heading2);

// Prebacivanje iz radiana u stupnjeve

heading1 = heading1 * 180/M_PI;

heading2 = heading2 * 180/M_PI;

// Izlaz

Serial.print("Heading:");

Serial.println(heading2);

long lat1, lon;

unsigned long fix_age, time, date, speed, course;

unsigned long chars;

unsigned long year, month, day, hour, minute, second ;

unsigned short sentences, failed_checksum;

Page 66: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

66

gps.get_position(&lat1, &lon, &fix_age); // funkcija koja očitava položaj

sa GPS uređaja

gps.get_datetime(&date, &time, &fix_age); // funkcija koja očitava GPS

vrijeme

//preracunavanje datuma i vremena

year = date % 100;

month = (date / 100) % 100;

day = date / 10000;

hour = time / 1000000;

minute = (time / 10000) % 100;

second = (time / 100) % 100;

// ispis vremena

Serial.print("Vrijeme -> ");

Serial.print(hour); Serial.print(":");

Serial.print(minute); Serial.print(":");

Serial.print(second);

Serial.print(" Datum : ");

Serial.print(day);Serial.print(".");

Serial.print(month); Serial.print(".");

Serial.print(year); Serial.println(".");

LAT1=LAT/1000000;

LON1=LON/1000000;

getGPS();

// ispis polozaja

Serial.print("Polozaj -> ");

Serial.print("Sirina : ");

Serial.print(LAT1,6);

Serial.print(" Duzina : ");

Serial.println(LON1,6);

Serial.println(" ");

//Rudder direction kormilo

LON3=LON1*M_PI/180;

LON4=LON2*M_PI/180;

LAT3=LAT1*M_PI/180;

LAT4=LAT2*M_PI/180;

Bearing =atan2(sin(LON2-LON1)*cos(LAT2),cos(LAT1)*sin(LAT2)-

sin(LAT1)*cos(LAT2)*cos(LON2-LON1));

Bearing = Bearing* 180/M_PI;

Bearing1=Bearing;

Bearing1=(Bearing1+360)%360;

Serial.print("Bearing");

Serial.println(Bearing1);

// petlja za određivane zakreta kormila

if(Bearing1-heading2 <180||Bearing1-heading2 >-180)

{

Rudder=Bearing1-heading2;

}

else

{

Rudder=360-Bearing1+heading2;

}

Rudder1=kormilo(Rudder);

myservo.write(Rudder1);

Serial.print("Zakret : ");

Serial.print(Rudder1);

//Udaljenost

Page 67: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

67

a=sin((LAT4-LAT3)/2)*sin((LAT4-LAT3)/2)+(cos(LAT3)*cos(LAT4)*sin((LON4-

LON3)/2)*sin((LON4-LON3)/2));

c=2*atan2(sqrt(a),sqrt((1-a)));

Distance=R*c;

Serial.print("Udaljenost : ");

Serial.println(Distance);

// Petlja za proračun brzine

if(Distance <500||Distance>2)

{

Velocity = 128;

}

else

{

Velocity=0;

}

esc.write(Velocity);

Serial.print("Brzina : ");

Serial.println(Velocity);

}

// funkcije za rad sa GPS

void getGPS()

{

bool newdata = false;

unsigned long start = millis();

// ispisivanje novog stanja svkih 1000 ms (1 s)

while (millis() - start < 1000)

{

if (feedgps ()) // provjera ima li novih podataka

{

newdata = true;

}

}

if (newdata) //ako ima novih podataka

{

gpsdump(gps); // pozovi funkciju za ocutavanje

}

}

bool feedgps(){ // funkicja za provjeru ima li novih podataka na GPS

while (Serial1.available())

{

if (gps.encode(Serial1.read()))

return true;

}

return 0;

}

void gpsdump(TinyGPS &gps) // ocitavanje polozaja, i spremanje u globalne

varijable

{

gps.get_position(&lat1, &lon);

LAT = lat1;

LON = lon;

{

feedgps(); // potrebno da se ne gube znakovi i da se ne pojave checksum

pogreške

}

}

// Funkcija zakreta kormila

int kormilo(int d)

Page 68: Sadržaj - Ruđer Bošković Institute · VIN. Ulazni napon na Arduino ploči kad se koristi vanjski izvor napajanja (za razliku od 5 V dobivenih preko USB priključka ili drugog

68

{

if(d >= -180 && d < -150)

return 90;

else if(d >= -150 && d < -120)

return 85;

else if(d >= -120 && d < -90)

return 80;

else if(d >= -90 && d < -60)

return 75;

else if(d >= -60 && d < -30)

return 70;

else if(d >= -30 && d < -20)

return 65;

else if(d >= -20 && d < -10)

return 60;

else if(d >= -10 && d < -5)

return 55;

else if(d >= -5 && d < -2)

return 50;

else if(d >= -2 && d < 2)

return 45;

else if(d >= 2 && d < 5)

return 40;

else if(d >= 5 && d < 10)

return 35;

else if(d >= 10 && d < 20)

return 30;

else if(d >= 20 && d < 30)

return 25;

else if(d >= 30 && d < 60)

return 20;

else if(d >= 60 && d < 90)

return 15;

else if(d >= 90 && d < 120)

return 10;

else if(d >= 120 && d < 150)

return 5;

else if(d >= 150 && d < 180)

return 0;

return 0;

}