Professional Documents
Culture Documents
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
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
2
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.
3
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.
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.
4
3. Arduino Mikrokontroler
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.
5
3.2. Arduino hardver
6
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.
7
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).
8
3.4. Arduino Mega 2560
Mikrokontroler ATmega2560
Radni napon 5V
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
9
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
10
komunikacija. SoftwareSerial biblioteka omogućava serijsku komunikaciju preko bilo kojeg
digitalnog pina. TWI komunikacija se radi preko Wire biblioteka a SPI preko SPI biblioteke.
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.
11
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.
12
4. Senzori i komunikacija
4.1.Akcelerometar ADXL345
13
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 𝜃𝑥𝑦𝑧 = ( 4.1. )
√𝐺𝑝𝑦 2 + 𝐺𝑝𝑧 2
𝐺𝑝𝑦
tan 𝜃𝑥𝑦𝑧 = (4.2. )
𝑠𝑖𝑔𝑛(𝐺𝑝𝑧)√𝐺𝑝𝑧 2 + 𝜇𝐺𝑝𝑥 2
14
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°
15
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.
16
Slika 4.5. Ispis očitanja magnetometra
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(𝑌ℎ, 𝑋ℎ)
17
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.
18
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
19
Tablica 4.3. Konfiguracija pinova NEOGPS modula
CFG_COM1 CFG_COM0 Protokol Poruka UART USB
brzina 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- 57600 BUS
SVINFO,NAV-CLOCK,INF
4.5. NRF24L01
20
sebi sadrži linearni naponski regulator koji generira izlazni napon od 3,3 V za napajanje
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
21
km. Pri ugradnji primopredajnika sa pjačalom treba obratiti pažnju na napajanje, zbog toga što
on zahtjeva struju od 150 mA.
22
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.
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
23
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.
24
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.
25
Slika 5.4.Oblici faznih struja u ovisnosti od položaja rotora
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
26
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.
27
Slika 5.6. Prikaz spajanja sučelja na kontroler
28
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.
29
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.
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:
30
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.
31
Slika 5.8. Oštećena LiPo baterija na mobilnom telefonu
32
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.
1. Stvarna forma,
2. Teoretska forma,
4. Prikaz računalom.
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:
33
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 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.
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.
34
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.
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.
35
Slika 6.2. Forma trupa nacrtana linijom
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.
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.
37
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.
38
Slika 7.4. Izrada dna i bokova plovila
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.
39
Slika 7.6. Završna faza izrade broda
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.
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.
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:
Magnetometar je jako dobro podnosio zahtjeve koje mu sustav nalaže tako da nije trebalo
vršiti nikakve korekcije vezane za poziciju ugradnje.
42
Slika 7.9. Mjesto i način postavljanja magnetometra
Ugradnja akcelerometra
43
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.
44
Slika 7.11. Ugradnja GPS modula
45
Slika 7.12. nRF modul ugrađen na plovilo
46
Spajanje komponenti na Arduino Mega
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.
47
Napajanje elektroničkog kontrolera brzine je također spojeno na 5 V i GND pinove dok je
komunikacija spojena na digitalni pin 6.
48
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.
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.)
49
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.
50
{
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.
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°
51
200
150
100
50
0
0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90
-50
-100
-150
-200
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.
52
Slika 8.2. Brod u navigaciji
53
Slika 8.3. Princip upravljanja brodom
55
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.
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
56
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
57
9. Zaključak
58
Ključne riječi
Arduino, autonomno plovilo, upravljanje bespilotnom brodicom, kompenzacija
magnetometra, nRF24L01
Literatura
59
Popis oznaka i kratica
60
Sažetak
61
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);
// 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);
62
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);
}
// 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;
}
63
// 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.startListening();
Serial.println(poruka[0]);
}
// odabir GPS kordinate
if (poruka[0]==49)
{
LAT2 = LAT5;
64
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;
}
// Izlaz
Serial.print("Heading:");
Serial.println(heading2);
65
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
// 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
66
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);
if(Distance <500||Distance>2)
{
Velocity = 128;
}
else
{
Velocity=0;
}
esc.write(Velocity);
Serial.print("Brzina : ");
Serial.println(Velocity);
}
67
{
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;
}
68