Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
NAČRTOVANJE IN IZVEDBA
VODENEGA MODELA
VAB PRI RIBOLOVU
Gregor Pihler
RTOVANJE IN IZVEDBA BREZŽI
VODENEGA MODELA ČOLNA ZA PREVOZ
VAB PRI RIBOLOVU
Diplomsko delo
Maribor, marec 2011
BREZŽIČNO
OLNA ZA PREVOZ
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 2
Diplomsko delo visokošolskega strokovnega študijskega programa
NAČRTOVANJE IN IZVEDBA BREZŽIČNO VODENEGA MODELA ČOLNA ZA
PREVOZ VAB PRI RIBOLOVU
Študent: Gregor Pihler
Študijski program: visokošolski, Elektrotehnika
Smer: Elektronika
Mentor: doc. dr. Boštjan Vlaovič, telekomunikacije
Maribor, marec 2011
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 3
Številka:
Datum in kraj:
Na osnovi 330. člena Statuta Univerze v Mariboru (Ur. l. RS, št. 90/2008)
SKLEP O DIPLOMSKEM DELU
1. Gregorju Pihlerju, študentu visokošolskega strokovnega študijskega programa Elektrotehnika, smer Elektronika, se dovoljuje izdelati diplomsko delo pri predmetu Mikroprocesorski sistemi II.
2. MENTOR: doc. dr. Boštjan Vlaovič
3. Naslov diplomskega dela:
NAČRTOVANJE IN IZVEDBA BREZŽIČNO VODENEGA MODELA ČOLNA ZA
PREVOZ VAB PRI RIBOLOVU
4. Naslov diplomskega dela v angleškem jeziku:
DESIGN AND IMPLEMENTATION OF THE REMOTE CONTROLLED BAIT
BOAT MODEL
5. Diplomsko delo je potrebno izdelati skladno z “Navodili za izdelavo diplomskega dela” in ga oddati v treh izvodih ter en izvod elektronske verzije do #Rok v referatu za študentske zadeve.
Pravni pouk: Zoper ta sklep je možna pritožba na senat članice v roku 3 delovnih dni.
Obvestiti:
• kandidata, • mentorja, • odložiti v arhiv.
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 4
ZAHVALA
Za pomoč in vodenje pri opravljanju diplomskega
dela se zahvaljujem mentorju doc. dr. Boštjanu
Vlaoviču. Posebna zahvala velja staršem, ki so me
pri študiju podpirali.
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 5
NAČRTOVANJE IN IZVEDBA BREZŽIČNO VODENEGA MODELA
ČOLNA ZA PREVOZ VAB PRI RIBOLOVU
Ključne besede: model za prevoz vab, mikrokrmilnik, brezžični prenos, krmiljenje, PicBasic Pro
UDK: 621.371:681.586(043.2)
Povzetek
V diplomski nalogi je predstavljena izvedba daljinsko vodenega modela čolna za prevoz
vab pri ribolovu. Cilj projekta je bila nadgradnja in izboljšanje obstoječih rešitev na trgu z
uporabo računalniške igralne palice za krmiljenje modela in sistemoma za kontroliran
način izmeta vabe in neodvisen izpust navezov. Dodatno je izdelek opremljen z brezžičnim
video nadzornim sistemom, s kamero na premični platformi. Izboljšan je način osvetlitve
na plovilu z dodatno infrardečo osvetlitvijo. V nalogi so podane smernice za izdelavo
konstrukcije modela z uporabljenimi materiali, podrobneje pa so predstavljena elektronska
vezja in uporabljene komponente. Poudarek je tudi na opisu in delovanju programske
opreme izbranih mikrokrmilnikov.
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 6
DESIGN AND IMPLEMENTATION OF THE REMOTE
CONTROLLED BAIT BOAT MODEL
Key words: bait boat model, microcontroller, wireless transmission, control, PicBasic Pro
UDK: 621.371:681.586(043.2)
Abstract
This diploma work presents realization of the remote controlled bait boat model. The aim
of the project was to upgrade and improve existing designs on the market by using a
computer joystick to control the model and an independent systems for controllable bait
and rig release. The product is additionally equipped with video surveillance system. The
camera is mounted on a moving platform. On-board lighting is also improved with added
infrared illumination feature. The paper presents guidelines for constructing the body of
the model with selected materials and gives detailed explanation of electronic circuits and
components. Software for chosen microcontrollers is also fully described.
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 7
VSEBINA
1. UVOD ......................................................................................................................... 17
1.1 Tehnika talnega lova rib ....................................................................................... 17
1.2 Problematika in omejitve priobalnega ribolova .................................................... 18
1.3 Predlog rešitve – transport vabe na oddaljeno mesto ........................................... 18
1.4 Kratek pregled vsebine in sistematika obravnave ................................................. 19
2 IZGRADNJA IN LASTNOSTI FIZIČNEGA MODELA PLOVILA .................. 20
2.1 Zahteve in lastnosti ............................................................................................... 20
2.2 Oblika, velikost in teža ......................................................................................... 20
2.3 Pogon .................................................................................................................... 21
2.4 Sistem za izmet vabe ............................................................................................. 22
2.5 Mehanizem za premikanje kamere in izpusta navezov......................................... 23
2.6 Materiali ................................................................................................................ 23
2.7 Postopek izdelave modela ..................................................................................... 24
3 ELEKTRONSKI DEL .............................................................................................. 25
3.1 Zahteve in lastnosti ............................................................................................... 25
3.2 Izbira mikrokrmilnika ........................................................................................... 25
3.3 Brezžični oddajno - sprejemni modul ER400TRS ............................................... 27
3.4 Oddajni del ............................................................................................................ 32
3.4.1 Zahteve in lastnosti oddajnika ....................................................................... 32
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 8
3.4.2 Blokovna shema in delovanje ........................................................................ 33
3.4.3 Krmilnik PIC16F877A .................................................................................. 33
3.4.4 Igralna palica – opis predelave in delovanje ................................................. 35
3.4.5 Prikazovalnik LCD na oddajniku .................................................................. 37
3.4.6 Napajanje oddajnega vezja ............................................................................ 40
3.5 Sprejemni del ........................................................................................................ 41
3.5.1 Zahteve in lastnosti sprejemnika ................................................................... 41
3.5.2 Blokovna shema in delovanje ........................................................................ 41
3.5.3 Krmilnik PIC16F876A .................................................................................. 43
3.5.4 Pogonska motorja Graupner Speed 400 ........................................................ 44
3.5.5 H-most ........................................................................................................... 45
3.5.6 Koračni motor in gonilno vezje ..................................................................... 51
3.5.7 Servo motorji ................................................................................................. 54
3.5.8 Osvetlitev ....................................................................................................... 56
3.5.9 Prikazovalnik LCD na sprejemniku .............................................................. 57
3.5.10 Napajanje ....................................................................................................... 58
3.6 Zajem slike in prenos video signala ...................................................................... 60
3.6.1 Zahteve in lastnosti ........................................................................................ 61
3.6.2 CMOS kamera ............................................................................................... 61
3.6.3 Oddajnik video signala .................................................................................. 64
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 9
3.6.4 Sprejemnik video signala.............................................................................. 64
3.7 Izdelava tiskanih vezij .......................................................................................... 65
3.7.1 Zahteve in lastnosti ........................................................................................ 65
3.7.2 Načrtovanje s programskim paketom Altium Designer ................................ 66
3.7.3 Tiskanina oddajnega vezja............................................................................. 67
3.7.4 Tiskanina sprejemnega vezja ......................................................................... 68
3.7.5 Postopek izdelave tiskanin ............................................................................ 70
4 PROGRAMSKI DEL – OPIS KODE IN DELOVANJE ....................................... 71
4.1 Zahteve in lastnosti ............................................................................................... 71
4.2 Izbor programskega jezika in razvojnega okolja .................................................. 71
4.3 Programski jezik PicBasic .................................................................................... 72
4.4 Razvojno okolje MicroCode Studio ..................................................................... 72
4.5 Koda oddajnega dela ............................................................................................. 73
4.5.1 Diagram poteka.............................................................................................. 73
4.5.2 Opis kode ....................................................................................................... 75
4.6 Koda prvega mikrokrmilnika v sprejemnem delu ................................................ 91
4.6.1 Diagram poteka prvega mikrokrmilnika ....................................................... 91
4.6.2 Opis kode ....................................................................................................... 93
4.7 Koda drugega mikrokrmilnika v sprejemnem delu ............................................ 100
4.7.1 Diagram poteka drugega mikrokrmilnika ................................................... 100
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 10
4.7.2 Opis kode ..................................................................................................... 101
5 IMPLEMENTACIJA IN TESTIRANJE .............................................................. 108
5.1 Meritve ................................................................................................................ 108
5.1.1 Meritve ključnih elektronskih komponent ................................................... 108
5.1.2 Meritve dometa brezžičnih povezav ............................................................ 108
5.2 Preizkus plovnih in manevrskih sposobnosti ...................................................... 108
5.3 Preizkus sistemov za izmet vabe in izpust navezov ........................................... 109
6 SKLEP ...................................................................................................................... 109
6.1 Možnosti za nadgradnjo ...................................................................................... 109
6.2 Nasveti za vzdrževanje in uporabo ..................................................................... 110
7 VIRI IN LITERATURA ......................................................................................... 111
8 PRILOGE ................................................................................................................. 112
8.1 Naslov Študenta .................................................................................................. 112
SEZNAM SLIK
Slika 1.1.1: Sistem naveza za talni ribolov .......................................................................... 17
Slika 2.3.1: Pogonski motor Graupner Speed 400 s prenosom in propelerjem ................... 22
Slika 2.4.1: Sistem krožnega zajema tovora ........................................................................ 22
Slika 2.5.1: Sistem za izpust navezov ................................................................................. 23
Slika 3.3.1: Blokovna shema oddajno-sprejemnega modula ER400TRS ........................... 27
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 11
Slika 3.3.2: Razpored priključkov oddajno-sprejemnega modula ER400TRS ................... 28
Slika 3.3.3: Vezje za pretvorbo logičnih nivojev ................................................................ 30
Slika 3.3.4: Okno aplikacije za nastavite parametrov modula ER400TRS ......................... 31
Slika 3.4.1: Blokovna shema oddajnega vezja .................................................................... 33
Slika 3.4.2: Mikrokrmilnik PIC16F877A in razpored priključkov ..................................... 34
Slika 3.4.3: Osnovno vezje za delovanje mikrokrmilnika PIC16F877A ............................ 34
Slika 3.4.4: Vezava potenciometrov .................................................................................... 35
Slika 3.4.5: Matrična vezava tipk ........................................................................................ 36
Slika 3.4.6: Igralna palica Genius MaxFghter F-31D in funkcije uporabljenih tipk ........... 37
Slika 3.4.7: Prikazovalnik LCD na oddajniku ..................................................................... 37
Slika 3.4.8: Vezje za povezavo modula LCD na oddajniku ................................................ 40
Slika 3.4.9: Shema priklopa napetostnega regulatorja L7805CV ....................................... 41
Slika 3.5.1: Blokovna shema sprejemnika........................................................................... 42
Slika 3.5.2: Razpored priključkov krmilnika PIC16F876A ................................................ 43
Slika 3.5.3: Osnovno vezje za delovanje mikrokrmilnika PIC16F876A ............................ 44
Slika 3.5.4: Princip delovanja vezja H-most. ...................................................................... 45
Slika 3.5.5: Integrirana izvedba dvojnega H-most vezja - L298N. ................................... 46
Slika 3.5.6: Razpored priključkov L298N ........................................................................... 46
Slika 3.5.7: Notranja zgradba L298N .................................................................................. 49
Slika 3.5.8: Pulzno-širinska modulacija (PWM) ................................................................. 50
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 12
Slika 3.5.9: Krmilno vezje pogonskih motorjev .................................................................. 51
Slika 3.5.10: Koračni motor SMB35-4868-B ...................................................................... 51
Slika 3.5.11: Princip navitij koračnega motorja ................................................................. 52
Slika 3.5.12: Blokovna shema in razpored priključkov čipa ULN2803A ........................... 53
Slika 3.5.13: Darlington vezava tranzistorjev v ojačevalnem elementu ULN2803A ......... 53
Slika 3.5.14: Vezje za krmiljenje koračnega motorja z gonilnim vezjem ULN2803A ....... 54
Slika 3.5.15: Zgradba modelarskega servo motorja ............................................................ 55
Slika 3.5.16: Krmilni signali in koti zasuka modelarskih servo motorjev .......................... 56
Slika 3.5.17: Tiskanina z IR diodami in fotouporom .......................................................... 57
Slika 3.5.18: Priključna shema prikazovalnika LCD na sprejemniku ................................. 58
Slika 3.5.19: Vzporedna vezava dveh napetostnih regulatorjev LM7808 ........................... 59
Slika 3.5.20: Napetost tipične svinčene 12-V baterije v odvisnosti od napolnjenosti......... 60
Slika 3.6.1: Modul barvne CMOS kamere .......................................................................... 62
Slika 3.6.2: Oddajnik za prenos video signala..................................................................... 64
Slika 3.6.3: Vezje sprejemnika video signala ...................................................................... 65
Slika 3.7.1: Okno aplikacije Altium Designer za novi projekt ............................................ 67
Slika 3.7.2: Tiskanina oddajnega vezja ............................................................................... 68
Slika 3.7.3: Tiskanina oddajnega vezja za tisk .................................................................... 68
Slika 3.7.4: Tiskanina sprejemnega dela ............................................................................. 69
Slika 3.7.5: Tiskanina sprejemnega vezja za tisk ................................................................ 69
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 13
Slika 4.4.1: Okno aplikacije MicroCode Studio Plus .......................................................... 73
Slika 4.5.1: Diagram poteka oddajniške kode ..................................................................... 74
Slika 4.5.2: Inicializacija registrov mikrokrmilnika PIC16F877A ..................................... 75
Slika 4.5.3: Definicije parametrov za A/D pretvorbo .......................................................... 77
Slika 4.5.4: Definicije parametrov za komunikacijo prikazovalnikom LCD ...................... 77
Slika 4.5.5: Najava spremenljivk v oddajniški kodi ............................................................ 78
Slika 4.5.6: Koda za preverjanje povezave in kalibracije igralne palice ............................. 80
Slika 4.5.7: Branje in pošiljanje položaja igralne palice ..................................................... 81
Slika 4.5.8: Branje tipk v matrični vezavi (1) ..................................................................... 82
Slika 4.5.9: Branje tipk v matrični vezavi (2) ..................................................................... 83
Slika 4.5.10: Podprogram za pošiljanje ukaza za izmet vabe .............................................. 84
Slika 4.5.11: Podprogram za kontrolo nad pošiljanjem premikov igralne palice ............... 84
Slika 4.5.12: Podprograma za pošiljanje ukazov za ločen izpust navezov.......................... 85
Slika 4.5.13: Podprograma za izpust in ponastavitev ročic obeh navezov .......................... 86
Slika 4.5.14: Podprogrami za pošiljanje ukazov za krmiljenje z osvetlitvijo na modelu .... 87
Slika 4.5.15: Podprograma za pošiljanje ukazov za vklop in izklop kamere ...................... 88
Slika 4.5.16: Podprograma za izpis o nepodprtih funkcijah gumbov igralne palice ........... 88
Slika 4.5.17: Podprogrami za pošiljanje ukazov za premikanje kamere ............................. 89
Slika 4.5.18: Podprogram za kalibracijo igralne palice ....................................................... 90
Slika 4.6.1: Diagram poteka za 1. mikrokrmilnik v sprejemnem vezju .............................. 92
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 14
Slika 4.6.2: Inicializacija registrov 1. mikrokrmilnika v sprejemnem vezju ....................... 93
Slika 4.6.3: Najava spremenljivk v kodi 1. mikrokrmilnika v sprejemniku ........................ 93
Slika 4.6.4: Vrednotenje tipa prejetih podatkov 1. mikrokrmilnika v sprejemniku ............ 94
Slika 4.6.5: Funkcije za implementacijo prejetih ukazov za 1. mikrokrmilnik (1) ............. 95
Slika 4.6.6: Funkcije za implementacijo prejetih ukazov za 1. mikrokrmilnik (2) ............. 96
Slika 4.6.7: Podprograma za preklope relejev pri krmiljenju pogonskih motorjev ............. 98
Slika 4.6.8: Funkcije za krmiljenje koračnega motorja za izmet vabe ................................ 99
Slika 4.6.9: Funkcija za utripanje diode LED v 1. mikrokrmilniku v sprejemnem vezju ... 99
Slika 4.7.1: Diagram poteka za 2. mikrokrmilnik v sprejemnem vezju ............................ 100
Slika 4.7.2: Inicializacija registrov 2. mikrokrmilnika v sprejemnem vezju ..................... 101
Slika 4.7.3:Definicije parametrov za A/D pretvorbo in komunikacijo s prikazovalnikom102
Slika 4.7.4: Najava spremenljivk v kodi 2. mikrokrmilnika v sprejemnem vezju ............ 102
Slika 4.7.5: Določanje in izpis stanja akumulatorskih baterij na krovu ............................ 103
Slika 4.7.6: Sprejemanje in vrednotenje prejetih podatkov v kodi 2. mikrokrmilnika...... 104
Slika 4.7.7: Podprogram za krmiljenje servo motorja za premikanje kamere ................... 104
Slika 4.7.8: Podprograma za krmiljenje servo motorjev pri ločenem izpustu navezov .... 105
Slika 4.7.9: Podprograma za skupen izpust navezov in ponastavitev ročice mehanizmov106
Slika 4.7.10: Funkcija za utripanje diode LED v 2. mikrokrmilniku v sprejemnem vezju106
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 15
SEZNAM PREGLEDNIC
Tabela 3.2.1: Primerjava lastnosti PIC mikrokrmilnikov serije 16F87xA .......................... 26
Tabela 3.4.1: Tabela priključkov prikazovalnika LCD na oddajniku ................................. 38
Tabela 3.5.1: Izbrani tehnični podatki motorja Graupner Speed 400 .................................. 44
Tabela 3.6.1: Tehnični podatki modula kamere .................................................................. 63
Tabela 4.5.1: Tabela za določanje vrednosti ADCON1 registra ......................................... 76
Tabela 4.5.2: Zgradba in vrstni red skupine podatkov za brezžični prenos ........................ 82
Tabela 5.1.1: Električne meritve ključnih elektronskih komponent .................................. 108
UPORABLJENI SIMBOLI
A – Amper (enota za električni tok)
V – Volt (enota za električno napetost)
W – Watt (enota za moč)
Ω – Ohm (enota za električno upornost)
Hz – Hertz (enota za frekvenco)
F – Farad (enota za kapacitivnost)
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 16
UPORABLJENE KRATICE
A/D – Analogno/digitalni pretvornik (Analog to Digital converter)
BO – Zaposlenost izhoda (Bussy Output)
CCD – Naprava z učinkom sklopljenih nabojev (Charge-Coupled Device)
CMOS – Komplementaren kovinsko-oksidni polprevodnik (Complementary Metal-
Oxide Semiconductor)
E – Omogočitev (Enable)
EEPROM – Električno zbrisljiv in programirljiv bralni pomnilnik (Electrically
Erasable Programmable Read-Only Memory)
EM – Elektro magnetno (ElectroMagnetic)
GND – Ozemljitev (Ground)
GPS – Sistem globalnega pozicioniranja (Global Positioning System)
HR – Gostitelj pripravljen (Host Ready)
ICSP – Serijsko programiranje v vezju (In-Circuit Serial Programming)
IR – Infrardeča (InfraRed)
LCD – Prikazovalnik s tekočimi kristali (Liquid Crystal Display)
LED – Svetleča dioda (Light Emitting Diode)
MIPS – Milijon inštrukcijskih ciklov na sekundo (Million Instructions Per Second)
MOSFET – Kovinsko-oksidni polprevodniški tranzistor z učinkom električnega polja
(Metal–Oxide Semiconductor Field Effect Transistor)
PCB – Plošča tiskanega vezja (Printed Circuit Board)
PIC – Periferni vmesniški krmilnik (Peripheral Interface Controller)
PWM – Pulzno-širinska modulacija (Pulse-Width Modulation)
RAM – Pomnilnik z naključnim dostopom (Random Access Memory)
RS – Izbira registra (Register Select)
RSSI – Indikator moči prejetega signala (Received Signal Strength Indicator)
R/W – Beri/piši (Read Write)
TTL – Tranzistorsko-tranzistorska logika (Transistor-Transistor Logic)
USART – Univerzalni sinhroni/asinhroni oddajnik/sprejemnik (Universal
Synchronous/ Asynchronous Receiver/transmitter)
USB – Univerzalno serijsko vodilo (Universal Serial Bus)
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 17
1. UVOD
Športni način ribolova se tudi pri nas vse bolj uveljavlja ne samo kot hobi, temveč tudi kot
sredstvo za premagovanje stresa in sprostitev. Ribiči z željo po dobrem ulovu posegajo po
čedalje boljši opremi, na tržišču pa se vsako leto najde kakšna novost. Razvija se tudi
ribiški turizem, z domačimi in tujimi gosti, ki preživljajo dopuste s palico v roki. Ob tako
veliki izbiri opreme, se vsak resnejši športni ribič prej ali slej osredotoči na lov določene
vrste ribe, ena najbolj priljubljenih pa je krap (Cyprinus carpio).
1.1 Tehnika talnega lova rib
Za lov te ribe se uporabljajo različne tehnike, kot so talni ribolov, ribolov s plovcem in celo
muharjenje. Izbira najprimernejše tehnike je v precejšnji meri odvisna od mesta lova,
globine vode in režima hranjenja. Večje ribe se rade zadržujejo na dnu, kjer je več hrane in
tudi voda je poleti tam hladnejša in bogatejša s kisikom. Zato se na večjih jezerih in rekah
ribiči najraje odločijo za tehniko talnega ribolova. Značilnost tega načina lova je, da je
vaba s trnkom in obtežilnikom (navez) potopljena na dno. Obtežilnik na koncu vrvice
pripomore k daljšemu metu in poskrbi, da vaba ostane na izbranem mestu. Tehnika je še
posebej primerna za ribolov na rekah z močnejšimi tokovi. Slika 1.1.1 prikazuje
najpogosteje uporabljen tip naveza za talni ribolov.
Slika 1.1.1: Sistem naveza za talni ribolov
Za vabo pri lovu krapov se uporabljajo najrazličnejše vrste ribje hrane v obliki tekočine,
praškov, zrnja, peletov in zelo priljubljenih "boili" kroglic. Slednje se da kupiti v
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 18
najrazličnejših okusih in izvedbah, njihova prednost pred ostalimi vabami pa je dolga
obstojnost v vodi in močna aroma. Obstaja poseben način natika te vabe na trnek, za
uspešnejši ulov pa je zaželeno z njimi krape tudi krmiti in jih s tem privabljati na mesto
lova.
1.2 Problematika in omejitve priobalnega ribolova
Krap je po naravi plaha in previdna žival z dobrim spominom, zato se večji primerki raje
zadržujejo stran od poraščenih obrežij, kjer nanje prežijo naravni plenilci in ribiči. S
krmljenjem na oddaljeni lokaciji in kasneje z lovom na tem mestu, bi se tako možnosti za
ulov večje ribe znatno povečale. Z uporabo kvalitetnih ribiških palic in težjih obtežilnikov
lahko sicer precej izboljšamo domet, a izgubimo natančnost. Ponovljivost meta na isto
mesto pri razdalji, večji od 20 metrov, je skoraj neizvedljiva. Veliko težavo predstavlja tudi
krmljenje na takšni razdalji.
1.3 Predlog rešitve – transport vabe na oddaljeno mesto
Pravila nekaterih revirjev sicer dovoljujejo uporabo raznih čolnov na vesla, vendar z
veslanjem precej razburkamo gladino, povzročamo nepotreben hrup in tako zmanjšamo
možnosti za uspešen lov. Boljša rešitev bi bila uporaba manjšega modela čolna z
brezžičnim vodenjem, s katerim bi prepeljali vabo na točno določeno mesto in se izognili
nepotrebnemu hrupu. Prav tako bi lahko z njim prepeljali in odvrgli navez.
Za ta namen predstavljamo zasnovo in izvedbo manjšega modela brezžično vodenega
transportnega čolna. Na tržišču obstaja več takih modelov, trenutno pa ni izvedbe, ki
omogoča reguliran izmet vabe in ločen izpust navezov. Obstoječe rešitve bomo nadgradili
tudi s sistemom za zajem in brezžični prenos video signala, upravljanje pa izboljšali z
uporabo računalniške igralne palice.
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 19
1.4 Kratek pregled vsebine in sistematika obravnave
Razvoj in izdelavo smo razdelili na tri faze, ki so predstavljene v ločenih poglavjih. Pri
izdelavi se po navadi te faze v skladu s prototipnim načinom razvoja prepletajo. V vsakem
poglavju se najprej opredelimo glede želenih lastnosti, nato pa sledijo podrobnejši opisi
izbranih rešitev.
V prvem poglavju je predstavljena fizična izvedba plovila in mehanski sistemi. Najprej
definiramo želene lastnosti modela, določimo obliko, velikost in težo ter izberemo
pogonske rešitve. Nadaljujemo z zasnovo in izvedbo mehanskih sistemov izmeta vabe,
izpusta navezov in premikanja kamere. Nato izberemo ustrezne materiale in predstavimo
izgradnjo modela.
V drugem poglavju nadaljujemo z ločeno predstavitvijo elektronike oddajnega in
sprejemnega vezja. Predstavimo blokovni shemi vezij in izberemo primerne komponente
za delovanje. Nato sledijo opisi krmilnih elektronskih sklopov, delovanja uporabljenih
motorjev in sistema za zajemanje in prenos video signala. Na koncu poglavja predstavimo
postopek izdelave tiskanih vezij.
V tretjem poglavju razvijemo programski kodi za krmiljenje mikrokrmilnikov v vezjih
oddajnika in sprejemnika. Najprej definiramo želene lastnosti programov, nato pa
izberemo in predstavimo razvojno okolje in programski jezik. Ločeno opišemo oba
programa po funkcijskih sklopih delovanja.
V zadnjem poglavju opišemo postopek implementacije in testiranja modela. Opravimo
električne meritve in testiramo domete radijskih zvez. Preizkusimo delovanja vgrajenih
sistemov in plovne lastnosti modela. Rezultate opravljenega dela povzamemo s
komentarjem, kjer primerjamo dejanske in želene lastnosti izdelka. Na koncu podamo
nasvete za vzdrževanje in uporabo.
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 20
2 IZGRADNJA IN LASTNOSTI FIZIČNEGA MODELA PLOVILA
2.1 Zahteve in lastnosti
Model plovila mora biti sposoben prevoza pol kilograma vabe in dveh navezov na mesto
lova, ki je od obrežja oddaljeno vsaj 30 metrov. Omogočati mora reguliran način izmeta
vabe v obliki "boili" kroglic in ločen izpust obeh navezov. Plovne in manevrske
sposobnosti modela morajo zagotavljati stabilno plovbo in polmer polnega obrata plovila
največ dva metra. Delovanje naj bo čim tišje, z avtonomijo vsaj 30 minut. Model bo
uporabljan tudi za izvidniške namene, zato mora biti opremljen s sistemom za zajem in
brezžični prenos video signala ter mehanizmom za premikanje kamere v horizontalni
smeri. Imeti mora osvetlitev za možnost uporabe v temi. Z obzirom na te lastnosti naj bo
izvedba čim manjše velikosti in teže, izdelek pa nezahteven za uporabo in vzdrževanje.
Končna cena sistema naj bo čim nižja.
2.2 Oblika, velikost in teža
Glede na zahtevo po dobrih plovnih in manevrskih lastnostih je model dvotrupne
(katamaranske) oblike. Dvotrupna oblika omogoča izredno dobro stabilnost na vodi, saj
dobro prenaša prerazporeditve teže tovora. To je še posebej pomembno pri prevozu
navezov, saj sta mehanizma za njun izpust nameščena na levi in desni bok katamarana.
Masa posameznega naveza z utežjo lahko doseže tudi 100 g, zato bi se ob uporabi
klasičnega modela čolna, pri transportu enega naveza, porušilo ravnotežje.
Velikost modela je prirejena količini vabe in sistemu za njen izmet. V skladu z zahtevo po
transportu 0,5 kilograma kroglic vabe, je model dolg 60 cm in širok 30 cm. Višina modela
je zaradi vzgona deloma povezana z njegovo težo.
Pri gradnji upoštevamo še zahtevo po čim manjši teži. Ker so mase uporabljenih
komponent, kot so pogonski in drugi motorji ter napajalne baterije določene, skušamo težo
zmanjšati z izdelavo čim lažje konstrukcije modela. Izbirali smo med umetnimi materiali,
kot so steklena ali ogljikova (karbonska) vlakna in modelarskim lesom. Izbrali smo les, saj
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 21
v tem primeru ni potrebna izdelava kalupa, izdelek pa je prototip. V primeru produkcije
več enakih modelov bi bila izdelava kalupa in uporaba umetnih mas boljša izbira. Pri
uporabi modelarskih vezanih plošč ima konstrukcija maso dva kilograma, skupna masa pa
ne presega petih kilogramov.
2.3 Pogon
Za uporabo v modelih plovil se uporabljajo različne vrste pogonov, največkrat klasični
propelerski ali pa impelerski (Jet). Pri slednjih se za pogon izkorišča vodni curek, ki ga
ustvarja elisa v potopljenem ohišju in deluje kot vodna črpalka. Prednost teh sistemov je,
da so odpornejši na razne mehanske poškodbe elise zaradi nesnage v vodi, vendar je cena
dosti višja od klasičnih propelerskih pogonov. Običajno tudi niso v izvedbi, ki omogoča
vzvratno vožnjo. Ker naj vgrajeni pogon omogoča čim tišje delovanje, smo se odločili za
klasično izvedbo propelerskega električnega pogona. Glede tipa pogonskega motorja se v
modelarstvu največkrat uporabljajo krtačni in brezkrtačni motorji. Slednji imajo v
primerjavi s krtačnimi izvedbami boljše lastnosti, predvsem glede izkoristka, teže, hitrosti
vrtenja in pokvarljivosti. Pri delovanju ustvarjajo tudi manj nezaželenih elektromagnetnih
motenj in omogočajo tišje delovanje. Slabost pa je njihova cena in dobavljivost primernih
prenosov. Ker je nizka cena eden glavnih pogojev pri načrtovanju, se zanje nismo odločili.
Plovilo je dvotrupne oblike, zato smo izbrali dva enaka krtačna motorja s prenosi in ju
namestili v levi in desni trup plovila. Takšna izvedba tudi omogoča enostavno krmarjenje,
s spreminjanjem smeri in hitrosti vrtenja posameznega motorja. Izbrana sta enosmerna
krtačna motorja Graupner Speed400, s primernimi vodotesnimi prenosi za uporabo na
modelih plovil. Glavni razlog za izbiro tega modela motorjev je bila hitra dobava in nizka
cena v kompletu s pripadajočimi prenosi. Model poganjata priporočena dvokraka
propelerja premera 25 mm. Prenosa sta z motorjema povezana preko kardanskega zgloba,
nanju pa sta nameščena nastavka za dovajanje mazalnega olja. Motorja pritrdimo na
polkrožna lesena nosilca, da ju je mogoče brez težav zamenjati. Natančnost pri vgradnji
obeh pogonskih sistemov je ključnega pomena za ohranjanje želene smeri plovbe, saj se pri
izdelavi nismo odločili za možnost popravljanja smeri s krmilom ("trimanje"). Na sliki
2.3.1 je prikazan uporabljen pogonski motor s prenosom in propelerjem.
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 22
Slika 2.3.1: Pogonski motor Graupner Speed 400 s prenosom in propelerjem
2.4 Sistem za izmet vabe
Ker želimo reguliran način izmeta vabe smo skonstruirali sistem za krožni zajem tovora, ki
ob vsakem obratu zajame določeno količino kroglic vabe in jih preko odprtine na zadnjem
delu modela strese v vodo. Zasnovan sistem je prikazan na sliki 2.4.1. Sistem je sestavljen
iz zbiralnika vabe in vrtečega zajemalnega dela s prekati. Zobje prekatov se ob zajemu
prekrivajo z utori zbiralnika in tako ob vsakem prehodu zajamejo po eno vrstico kroglic.
Ker je zbiralnik nekoliko nagnjen, je ob naslednjem zajemu že pripravljena nova vrstica.
Os zajemalnika je ležajno vpeta med dva nosilca, poganja pa jo koračni motor z zobniškim
reduktorjem moči in jermenski prenos.
Slika 2.4.1: Sistem krožnega zajema tovora
Eden od ciljev pri izdelavi modela je tudi minimizacija stroškov. Za zbiralnik vabe je
uporabljena škatla za hrambo računalniških disket, motor in prenos pa sta vzeta iz
odsluženega tiskalnika. Motor je koračnega tipa, ker želimo natančne cikle zajemov.
Podrobneje je delovanje koračnega motorja opisano v poglavju Elektronski del (str. 25).
Natančnost izdelave prenosa je zelo pomembna, saj pride ob morebitnem zatikanju med
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 23
delovanjem sistema do preskokov korakov motorja, česar pa načrtovana elektronika ne
nadzira. Naslednji cikel izmeta se v tem primeru ne bi pravilno izvedel.
2.5 Mehanizem za premikanje kamere in izpusta navezov
Kamera je nameščena na premcu plovila in je v osnovnem položaju obrnjena v smer
plovbe. Želimo jo premikati v vodoravni smeri tako, da je mogoče z njo spremljati tudi
dogajanje na obeh straneh modela. Potrebni so natančni premiki v levo ali desno od
izbranega izhodiščnega položaja. Takšno funkcijo odlično opravljajo modelarski servo
motorji, ki se poleg natančnih kotov zasuka odlikujejo tudi po relativno velikih navorih.
Slednja lastnost je zelo uporabna, saj lahko tako modul kamere pritrdimo neposredno na os
manjšega servo motorja. Tudi servo motorji in način krmiljenja bodo podrobneje
predstavljeni v poglavju Elektronski del (str. 25). Kamera je pokrita s prozorno kupolo, ki
jo ščiti pred vremenskimi vplivi. Tudi za izpust obeh navezov sta uporabljena dva servo
motorja, ki sta nameščena na levo in desno stran modela. Princip vgradnje servo motorja v
trup modela je predstavljen na sliki 2.5.1. Sponka naveza se zatakne za ročico, pritrjeno na
os motorja. Ob zasuku osi za 180 stopinj, se navez odpne in pade v vodo.
Slika 2.5.1: Sistem za izpust navezov
2.6 Materiali
Pri izgradnji modela čolna upoštevamo zahtevo po čim manjši masi, hkrati pa želimo
zagotoviti dobro trpežnost. Uporabimo modelarske vezane plošč debeline 3 mm. Posebnost
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 24
teh plošč je, da so zlepljene iz petih plasti zelo lahke skandinavske breze, kar daje modelu
dobro kompaktnost in hkrati majhno težo konstrukcije. Večinoma je pri izdelavi uporabljen
les, izjema je jeklena os pri sistemu za izmet vabe in plastična posoda za vabo. Plošči obeh
tiskanin sta izdelani iz pertinaksa. Za lepljenje lesa uporabimo vodoodporno lepilo za les,
manjše nenatančnosti spojev pa popravimo z modelarskim kitom. Izdelek pobarvamo z
vodoodporno barvo in lakom.
2.7 Postopek izdelave modela
Postopek izdelave modela začnemo na papirju, z osnutkom želene oblike. Natančnejše
mere določimo z upoštevanjem predvidene mase in vzgona. Paziti je potrebno, da po
nepotrebnem ne dvigujemo težišča modela, kar bi kasneje lahko imelo neprijetne posledice
pri stabilnosti in upravljanju. Zasnovo nato prenesemo na računalnik, kjer smo s
programom Google SketchUp podrobneje izrisali končno obliko modela s ključnimi
sistemi na krovu. Ko je bil virtualni model končan, smo pričeli z razrezom lesa in
lepljenjem. Začnemo z najpomembnejšim delom modela – izdelavo trupa modela. Pri tem
je potrebna velika natančnost, saj bi vsaka nesorazmernost pomenila slabše plovne
lastnosti. Tako dobimo osnovo, na katero namestimo sistem za izmet vabe. Nato pritrdimo
oba pogonska motorja, koračni motor s pripadajočimi prenosi, ter vse tri servo motorje.
Vse ključne komponente pritrdimo z vijaki, da jih bo možno ob morebitni odpovedi tudi
zamenjati. Na premec modela namestimo kupolo iz prozorne plastike ter v notranjost
vgradimo modul kamere in oddajnik video signala. Nato dokončamo zgornji del ohišja
modela in tako zaščitimo notranjost in komponente pred vremenskimi vplivi. Model s tem
dobi tudi nekoliko privlačnejšo obliko. Nato ga zopet razstavimo, temeljito zbrusimo,
pokitamo in pobarvamo. Vgradimo izdelano vezje ter priključimo baterije. Za zaščito
oddajnika uporabimo večje plastično ohišje, kamor vgradimo izdelano vezje, prikazovalnik
s tekočimi kristali (LCD) in vezje sprejemnika video signala. Za ohišje oddajnika smo
izbrali klasično ohišje za vgradnjo elektronskih vezij, ki ni vodoodporno, zato je pri
rokovanju potrebna večja pazljivost.
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 25
3 ELEKTRONSKI DEL
3.1 Zahteve in lastnosti
Izdelana elektronika predstavlja bistvo naprave, zato moramo pri načrtovanju vezij
upoštevati bistvene zahteve:
• hitra odzivnost,
• majhna poraba energije,
• majhna velikost in teža,
• velika zanesljivost in
• nizka končna cena.
Izdelan elektronski sistem naprave mora v čim krajšem času zaznati, prenesti in izvesti vse
uporabniške ukaze. Ker je napajanje baterijsko, želimo tudi, da imajo zasnovana vezja
majhno lastno porabo energije. Z namenom izdelave čim manjših tiskanin, želimo visoko
stopnjo integracije, zato za nekatere funkcije modela uporabimo komponente z
integriranimi vezji. Glavni pogoj pri načrtovanju vezij je zanesljivost delovanja.
3.2 Izbira mikrokrmilnika
Odločili smo se za mikrokrmilniško podprto upravljanje z modelom. Ti skrbijo za branje,
pošiljanje in izvajanje uporabnikovih ukazov, zato pri izbiri upoštevamo naslednje
lastnosti:
• večje število vhodno-izhodnih priključkov (vsaj 30),
• programski pomnilnik FLASH (FLASH memory – bliskovni pomnilnik),
• navadna izvedba ohišja (through-hole),
• vgrajen analogno-digitalni pretvornik (A/D) z vsaj tremi kanali,
• vgrajen vmesnik za serijski prenos podatkov (USART) in
• hitra dobavljivost z nizko ceno.
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 26
Glede izbire mikrokrmilnikov ni posebnih zahtev in večina proizvajalcev ponuja izvedbe,
ki imajo naštete lastnosti. Zato izberemo podjetje in krmilnike, s katerimi morda že imamo
nekaj izkušenj. Mi smo se odločili za mikrokrmilnike ameriškega proizvajalca Microchip.
Funkcije, ki jih bodo opravljali izbrani krmilniki niso preveč zahtevne, zato izberemo
mikrokrmilnike z 8-bitnim procesorskim jedrom in arhitekturo srednje kategorije
(MidRange). Proizvajalec ponuja širok izbor PIC (Programmable Interface Controller–
programirljivi krmilniški vmesnik) mikrokrmilnikov, ki ustrezajo želenim zahtevam.
Omejili smo se na PIC16F družino, ki vključuje 87 krmilnikov, od katerih jih je 71 v redni
proizvodnji. Glede na želene lastnosti ostane 13 krmilnikov med katerimi lahko izbiramo.
Ponudba slovenskih trgovcev izbiro dodatno zniža na štiri krmilnike serije 16F87x,
oziroma 16F87xA, ki imajo izboljšan FLASH pomnilnik. Izboljšava omogoča hitrejše
vpisovanje v pomnilnik, večje število prepisov in daljšo obstojnost podatkov v pomnilniku.
Tabela 3.2.1 prikazuje primerjavo lastnosti omenjene serije, ki so pomembne za izvedbo
projekta.
Tabela 3.2.1: Primerjava lastnosti PIC mikrokrmilnikov serije 16F87xA
Krmilnik (PIC)
Programski pomnilnik
(zlogi)
Pomnilnik RAM (zlogi)
Pomnilnik EEPROM
(zlogi)
V/I priključki
A/D kanali
USART CCP
(PWM)
16F873A 7,2 k 192 128 22 5 Da 2
16F874A 7,2 k 192 128 33 8 Da 2
16F876A 14,3 k 368 256 22 5 Da 2
16F877A 14,3 k 368 256 33 8 Da 2
Za uporabo v oddajnem vezju smo zaradi večjega pomnilnika in števila priključkov izbrali
krmilnik PIC16F877A. Ima 40 priključkov, od katerih jih lahko kot vhodne ali izhodne
(V/I) uporabimo 33. Vsebuje 14,3 kB programskega pomnilnika FLASH, 368 zlogov
bralnega pomnilnika z naključnim dostopom (RAM - Random Access Memory), 128
zlogov električno zbrisljivega bralnega pomnilnika (EEPROM - Elecrically Erasable
Programmable Read Only Memory), ima osem analogno-digitalnih pretvornikov
(A/D - Analog to Digital converter) z deset-bitno natančnostjo, strojno implementiran
vmesnik za serijsko komunikacijo (USART - Universal Asynchronous
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 27
Receiver/Transmitter), in dva strojno podprta kanala za pulzno-širinsko moduliranje
signalov (PWM - Pulse-Width Modulation).
3.3 Brezžični oddajno - sprejemni modul ER400TRS
Module proizvaja britansko podjetje LPRS (Low Power Radio Solutions). Njihova
prednost je zelo enostavna uporaba, saj vsebujejo integriran mikrokrmilnik, ki upravlja z
vsemi notranjimi funkcijami modula in omogoča dvosmerno serijsko komunikacijo z
mikrokrmilniki. Ker vsebuje EEPROM pomnilnik, jim je mogoče trajno nastaviti razne
parametre, kot so frekvenca brezžične zveze, hitrost serijskega prenosa podatkov
(Baudrate), moč izhodnega signala ter razne načine delovanja. Podatke kodira po sistemu
Manchester, ki je eden od najpogosteje uporabljenih algoritmov za zmanjševanje napak pri
prenosu podatkov. Pri tem načinu kodiranja so podatkovni biti digitalne informacije
predstavljeni (kodirani) s prehodi logičnih stanj. Prehod iz visokega v nizko stanje je po
pretvorbi kodiran kot logična 1, prehod nizkega v visoko pa kot 0. Možno je tudi obratno,
odvisno od izbranega protokola. Dodatna prednost tega načina kodiranja je tudi
prednastavljena dolžina vsakega podatkovnega bita in tako odpravljena potreba po dodatni
sinhronizaciji oddajnika in sprejemnika. Ta način kodiranja še dodatno poveča zanesljivost
brezžičnega prenosa in hkrati razbremeni krmilnik s katerim je povezan. Slika 3.3.1
prikazuje blokovno shemo modula.
Slika 3.3.1: Blokovna shema oddajno-sprejemnega modula ER400TRS
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 28
Za potrebe izdelka zadostuje enosmerna komunikacija v smeri oddajnika proti
sprejemniku, zato kontrolnih linij ne potrebujemo. Na sliki 3.3.2 je prikazan razpored in
imena priključkov modula [1].
Slika 3.3.2: Razpored priključkov oddajno-sprejemnega modula ER400TRS
• Antena - Ant [1]
Uporabimo lahko katerokoli standardno izvedbo antene, katere impedanca
ustreza 50 Ω. Odločili smo se za enostavno monopolno anteno. Po specifikacijah
mora biti dolžina take antene za frekvenco 433 MHz, z upoštevanjem λ/4
valovne dolžine, enaka 16,4 cm [1, stran 20]. Ker želimo anteno čim bolj ločiti
od motilnih virov v vezju, jo s kratkim koaksialnim kablom, impedance 50 Ω,
pritrdimo na ohišje modela.
• Ozemljitev brezžičnega signala - RF Gnd [2]
Priporočljivo bi bilo uporabiti dvoslojno tiskanino, katere spodnja stran bi služila
kot ozemljitvena plošča. Ker je praktični poskus pokazal, da to za zadovoljivo
delovanje ni nujno potrebno, smo ta del zaradi enostavnejše izvedbe izpustili.
Pomembno pa je, da je ta priklop vezan na maso.
• Moč signala - RSSI (Received Signal Strength Indicator) [3]
Na tem priključku lahko merimo moč sprejetega signala v obliki izhodnega
analognega signala, katerega amplituda je obratno sorazmerna prisotni RF
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 29
energiji v pasovnem področju sprejemanja in znaša od 0 do 1 V, z naklonom 50
dB/V. Ta analogni signal je dovoljeno meriti le z vezjem z vhodno impedanco
večjo od 100 kΩ.
• Izhodna kontrolna linija - BO (Bussy Output) [4]
Je digitalni izhod, ki določa ali je modul pripravljen na sprejetje podatkov iz
mikrokrmilnika. Kadar je modul zaposlen s pošiljanjem ali prejemanjem
podatkov postavi to linijo na visok logični nivo in s tem označi mikrokrmilniku,
da ni pripravljen za komunikacijo. Tega priključka ne priklopimo, saj
uporabljamo modul za enosmerno povezavo in majhne količine podatkov.
• Podatkovni izhod - Tx [5]
Digitalni izhod za pošiljanje prejetih podatkov mikrokrmilniku. Ta priključek
vežemo le pri sprejemniku.
• Podatkovni vhod - Rx [6]
Digitalni vhod za podatke, ki jih želimo poslati. Če se ta priključek ne uporablja,
ga je potrebno vezati na 5 V napajanje. Tako modul le sprejema.
• Vhodna kontrolna linija - HR (Host Ready) [7]
Digitalni vhod, preko katerega mikrokrmilnik pošlje signal, da je pripravljen
prevzeti podatke. Takrat je signal na visokem logičnem nivoju. Tudi tega
priključka zaradi enosmerne komunikacije ne potrebujemo in ga vežemo na
maso. Za njegovo uporabo je potrebno modulu programsko omogočiti
usklajevanje (handshaking).
• Napajanje - Vcc [8]
Napajanje modula z napetostjo med +2,5 in +5,5 V. Napajalna napetost mora
biti čim bolj stabilna, z manj kot 25 mV spremembe. Ker pri oddajniku ni večjih
tokovnih porabnikov, napajanje pa je baterijsko, se tu priporoča le gladilni
kondenzator 100 µF med napajalno linijo in maso.
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 30
• Ozemljitev - GND [9]
Ozemljitvena linija za priklop modula na skupno maso.
Tovarniško so ti moduli sprogramirani z omogočenimi kontrolnimi linijami, najnižjo
možno hitrostjo prenosa podatkov in nizko izhodno močjo signala. Za potrebe projekta jim
je potrebno spremeniti te nastavitve in izbrati primeren frekvenčni kanal za povezavo. Na
proizvajalčevi spletni strani dobimo računalniško aplikacijo za spreminjanje nastavitev. Za
programiranje nastavitev je potrebna izdelava serijskega vmesnika za pretvorbo RS232
logičnih nivojev v TTL. V nasprotnem primeru lahko pride do uničenja modulov. Za
pretvorbo je uporabljen integriran pretvornik logičnih nivojev MAX232, s potrebnimi
elementi za delovaje [1]. Shema pretvornega vezja je na sliki 3.3.3.
Slika 3.3.3: Vezje za pretvorbo logičnih nivojev
S tako izdelanim vezjem nato v oba modula vnesemo želene nastavitve. Slika 3.3.4
prikazuje okno aplikacije in izbrane nastavitve. Ob zagonu aplikacije najprej v zgornjih
zavihkih izberemo tip serije brezžičnega modula ER400. Zadnji zavihek je namenjen
terminalskemu oknu, kjer lahko ob povezavi na osebni računalnik vizualno spremljamo
prejete podatke (ASCII znake) ali pa jih pošiljamo. Ker imamo oddajno-sprejemni
(transceiver) modul, je potrebno izbrati še možnost TRS.
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 31
Slika 3.3.4: Okno aplikacije za nastavite parametrov modula ER400TRS
Serijska hitrost prenosa (Serial Data Rate) predstavlja hitrost prenosa podatkov med
modulom in ciljnim mikrokrmilnikom. Glede na količino podatkov, ki jih prenašamo,
zadostuje hitrost 9600 Bd. Bd je oznaka za Baud in pomeni količino poslanih ali prejetih
simbolov informacije v eni sekundi. V izbranem načinu serijske komunikacije predstavlja
vsak simbol skupek desetih bitov. Prvi bit (start bit) služi za označitev začetka prenosa,
nato sledi kombinacija osmih podatkovnih bitov, zadnji bit (stop bit) pa označi konec
prenosa informacije. V nekaterih načinih serijske komunikacije se uporablja še dodaten
paritetni bit, ki služi za odkrivanje napak med prenosom. Omenjeno kodiranje po
Manchester protokolu zadovoljivo odpravlja napake med prenosom, zato ti moduli ne
uporabljajo paritetne tehnike. Simbolna hitrost brezžične zveze ni enaka simbolni hitrosti
med gostiteljskim mikrokrmilnikom in modulom. Tovarniško je nastavljena na 19200 Bd
in je uporabnik ne more spreminjati.
Izhodna moč (Power Output) naj bo za daljši domet brezžične zveze nastavljena na
največjo vrednost. V primeru izbranih modulov je to 10 mW. To je hkrati največja
dovoljena efektivna izsevana moč amaterskih radijskih postaj (SRD - Short Range
Devices) v frekvenčnem pasu s centralno frekvenco 433,92 MHz. Izsevana moč na anteni
ni nujno enaka oddajni moči modulov, zato je ob uporabi kvalitetnejših vsesmernih
(omnidirekcijskih) ali pa usmerjenih anten, potrebno upoštevati dobitek antene in ustrezno
zmanjšati oddajno moč oddajnega modula.
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 32
Frekvenca (Frequency) se lahko izbira med desetimi možnimi frekvenčnimi kanali v
področju med 433,23 MHz in 434,35 MHz. V tem frekvenčnem pasu sicer delujejo v času
nastanka te diplomske naloge v Sloveniji trije radioamaterski repetitorji (S55UKK,
S55ULR, S55UBO), vendar so večino časa neaktivni.
Zmanjševanje porabe (Power Saving) pri teh modulih ni možno nastavljati.
Testni način (Test Modes) je potrebno v meniju izklopiti z izbiro možnosti OFF. Za
pravilno delovanje je to ključnega pomena, saj se v testnem načinu pošilja le nosilni signal
brez moduliranih podatkov.
3.4 Oddajni del
Elektronika oddajnega dela zbira uporabnikove ukaze preko računalniške igralne palice in
jih brezžično pošlje sprejemniku na modelu.
3.4.1 Zahteve in lastnosti oddajnika
Pri izdelavi oddajnega vezja želimo upoštevati naslednje lastnosti:
• hitra razpoznava ukazov in pošiljanje,
• vizualna potrditev poslanih ukazov,
• zanesljivo delovanje,
• majhna velikost tiskanine in
• majhna poraba energije.
Vezje oddajnika mora v realnem času razbrati uporabnikove ukaze, jih obdelati ter poslati
sprejemniku. Večino dela opravi mikrokrmilnik, ki po končanem pošiljanju z izpisom na
prikazovalnik LCD tudi vizualno sporoči uporabniku vsebino poslanih komand. Tiskanina
oddajnega dela je vgrajena v plastično ohišje, kjer sta nameščena še prikazovalnik LCD in
vezje sprejemnika video signala, ki je komercialne izvedbe in je vgrajeno kot ločeni
modul. Prostor v ohišju je omejen, zato pri izdelavi tiskanine in razporeditvi elementov
pazimo na velikost.
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 33
3.4.2 Blokovna shema in delovanje
Slika 3.4.1 prikazuje blokovno shemo oddajnega vezja. Mikrokrmilnik PIC16F877A od
uporabnika prejema ukaze preko računalniške igralne palice. Podatke o želeni smeri in
hitrosti dobi z analogno-digitalno pretvorbo (A/D) padcev napetosti na potenciometrih
obeh osi ročice, ostale ukaze pa z branjem tipk, vgrajenih v ohišju igralne palice. Zbrane
ukaze preko serijskega vmesnika sproti pošilja oddajnemu modulu. Prenos podatkov med
krmilnikom in brezžičnim modulom teče neprekinjeno. Po zaključenem prenosu podatkov
v modul, krmilnik izpiše vrednosti položaja igralne palice in informacije o pritisnjenih
tipkah na prikazovalnik.
Slika 3.4.1: Blokovna shema oddajnega vezja
3.4.3 Krmilnik PIC16F877A
Izbrani mikrokrmilnik spada med 8-bitne mikrokrmilnike ameriškega proizvajalca
Microchip. Vsebuje FLASH programski pomnilnik velikosti 14336 zlogov, 368 zlogov
RAM pomnilnika, EEPROM pomnilnik pa je velikosti 256 zlogov. Pri maksimalni
frekvenci oscilatorja (20 MHZ) izvede pet milijonov inštrukcijskih ciklov na sekundo
(MIPS). Vgrajen je potreben serijski vmesnik USART, do katerega dostopamo preko
priključkov RC7 in RC6, dva pulzno-širinska (PWM) kanala na priključkih RC1 in RC2,
dva 8-bitna in en 16-bitni časovnik, dva primerjalnika in osem A/D pretvornikov z
natančnostjo deset bitov. Za uporabo v vezju oddajnika je primeren predvsem zaradi
večjega števila V/I priključkov (33). Slika 3.4.2 prikazuje imena in razpored priključkov
izbranega mikrokrmilnika. Posamezen vhod ali izhod lahko obremenimo z največ 25 mA
toka.
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 34
Slika 3.4.2: Mikrokrmilnik PIC16F877A in razpored priključkov
Priprava krmilnika za uporabo ni zahtevna, saj za osnovno delovanje potrebuje malo
spremljevalnih komponent. Na sliki 3.4.3 je prikazana vezava potrebnih elementov za
osnovno delovanje mikrokrmilnika PIC16F877A.
Slika 3.4.3: Osnovno vezje za delovanje mikrokrmilnika PIC16F877A
Krmilnik potrebuje za delovanje stabilen vir napetosti 5 V in oscilator za generiranje takta.
Namesto zunanjega kristalnega oscilatorja je mogoče uporabiti tudi notranji oscilator,
vendar je ta RC tipa, zato se raje odločimo za kristalnega, ki je natančnejši. Izbrani
mikrokrmilnik podpira zunanje oscilatorje do frekvence 20 MHz. Za potrebe projekta
zadostuje izbrana vrednost 4 MHz. Frekvenco je potrebno stabilizirati z vezavo dveh
keramičnih kondenzatorjev, vrednosti 22 pF, med vsako priključno sponko oscilatorja in
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 35
maso. Program v krmilniku se prične izvajati šele, ko je zagotovljen visok napetostni nivo
na priključku reset (MCLR). Napetost na tem priključku mora biti stabilna. Krmilnik sicer
vsebuje notranje vezje za stabilizacijo te napetosti, vendar ta ne sme pasti za več kot 20
odstotkov napajalne, saj to povzroči reset mikrokrmilnika. Reset povzroči tudi izguba tega
signala za več kot 2 µs. V primeru, da bi želeli namerno povzročiti reset krmilnika, lahko
to storimo z vezavo prekinitvene tipke med MCLR priključkom in maso. Proizvajalec v
tem primeru priporoča zaporedno vezavo upora, vrednosti med 50 in 100 Ω, med tipko in
maso
3.4.4 Igralna palica – opis predelave in delovanje
Za krmiljenje hitrosti in smeri modela smo izbrali odsluženo računalniško igralno palico
Genius Maxfighter F-31D. V ohišju palice sta nameščena dva potenciometra, ki sta
mehansko povezana s kontrolno ročico. S premikanjem ročice v X in Y smeri povzročimo
spremembo upornosti obeh potenciometrov, preko katerih se določi informacija o
premikih. V tovarniški izvedbi vsebuje igralna palica lastno vezje z mikrokrmilnikom za
branje potenciometrov. Tega smo odstranili in potenciometra povezali z izbranimi vhodi
mikrokrmilnika PIC16F877A, kot kaže slika 3.4.4. Potenciometra v tej vezavi delujeta kot
nastavljiva delilnika napetosti, s sredinskima odcepoma vezanima na vhoda dveh A/D
pretvornikov. Mikrokrmilnik dobi informacijo o premiku igralne palice z meritvijo obeh
napetosti. Za potrebe analogno-digitalne pretvorbe je na voljo osem A/D kanalov. Za
branje potenciometrov krmilniku določimo priključka RD3 in RD2. Poleg potenciometrov
je v ohišje igralne palice vgrajenih tudi 16 tipk, ki služijo za upravljanje ostalih funkcij
modela. Z njimi se upravlja premikanje kamere, izmet vabe, izpust navezov in osvetlitev.
Slika 3.4.4: Vezava potenciometrov
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 36
Vsako od tipk je mogoče priključili na svoj priključek krmilnika, vendar je zaradi zahteve
po čim manjšem številu priključnih žic in porabljenih priključkov krmilnika, izvedena
matrična vezava. Slika 3.4.5 prikazuje izvedbo matrične vezave tipk in uporabljene
priključke mikrokrmilnika PIC16F877A.
Slika 3.4.5: Matrična vezava tipk
Pri takšnem načinu vezave, krmilnik s signalom izmenično napaja stolpce in meri napetost
na vrsticah. Najprej pošlje signal v prvi stolpec vezave in preveri, ali je katera od vrstic pod
napetostjo. V primeru, da je takrat pritisnjena tipka 1, nastane spoj med linijo prvega
stolpca in prve vrstice. Nato pošlje signal v drugi stolpec in zopet preveri napetosti na
vrsticah. Krmilnik ciklično ponavlja ta zaporedja zelo hitro, tako da se detekcija pritiska
katerekoli tipke izvrši praktično v trenutku. Predupori na linijah stolpcev poskrbijo za
omejitev toka. V primeru 5-voltnega napajanja in uporabe uporov 1 kΩ, tako iz
posameznega izhodnega priključka krmilnika teče tok 5 mA. Metoda je zelo praktična, saj
je za branje 16 tipk potrebnih le 8 žic in priključkov krmilnika. Vezava je izvedena v
ohišju igralne palice. Na sliki 3.4.6 so prikazane funkcije posameznih tipk na igralni palici.
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 37
Slika 3.4.6: Igralna palica Genius MaxFghter F-31D in funkcije uporabljenih tipk
3.4.5 Prikazovalnik LCD na oddajniku
Ker želimo možnost potrditve pošiljanja in nadzor nad že poslanimi ukazi plovilu, je vezju
oddajnika dodan LCD prikazovalni modul. Uporabljen je prikazovalnik z osvetlitvijo,
dolžine 20 znakov in širine 4 vrstice. Za izpis znakov skrbi vgrajeni krmilnik Hitachi
HD44780. Modul je zelo preprost za povezavo z mikrokrmilniki, saj so za veliko
programskih jezikov na voljo knjižnice za komunikacijo s temi krmilniki. Slika 3.4.7
prikazuje uporabljen prikazovalnik.
Slika 3.4.7: Prikazovalnik LCD na oddajniku
Prikazovalnik je z mikrokrmilnikom povezan na način, ki omogoča 4-bitno komunikacijo s
HD44780 krmilnikom. Za prenos podatkov so pri tem načinu nujni štirje priključki, za
delovanje pa uporabimo še dve kontrolni liniji. V tabeli 3.4.1 je prikazan vrstni red
priključkov z imeni [3].
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 38
Tabela 3.4.1: Tabela priključkov prikazovalnika LCD na oddajniku
Priključek 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Ime Vss Vdd V0 RS R/W E DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7 A C
Pomen in oznake priključkov uporabljenega prikazovalnega modula so naslednje [3]:
• Ozemljitev- Vss [1]
Ozemljitvena linija za priklop modula na skupno maso.
• Napajanje -Vdd [2]
Napajanje modula z napetostjo 5 V. Napetost mora biti stabilna, zato med
priključek in maso vežemo elektrolitski kondenzator, kapacitete 100 nF.
• Nastavitev kontrasta - V0 [3]
Največji kontrast prikazovalnika bi dosegli z neposredno vezavo priključka na
maso, vendar postane s tem prikaz slabo ločljiv. Za dosego optimalnega
kontrasta med priključek in maso vežemo upor vrednosti 6 kΩ.
• Kontrolna linija za ločevanje tipa podatkov - RS (register select) [4]
Če je ta linija na visokem logičnem nivoju krmilnik HD44780 bere podatke kot
tekst za izpis. V nasprotnem primeru, če je linija na nizkem nivoju, podatke
razume kot kontrolne ukaze. Med slednje spadajo ukazi za izbiro vrstice in
mesta zapisa posameznih znakov, upravljanje s kurzorjem in podobno.
• Kontrolna linija za izbiro branja ali pisanja - R/W (Read/Write [5]
Če je ta linija na nizkem nivoju se podatki vpisujejo v krmilnik HD44780, v
nasprotnem primeru pa se iz njega berejo. Priključek vežemo na maso, saj se
prikazovalnik uporablja le za izpis.
• Kontrolna linija za pretok podatkov - E (Enable) [6]
Mikrokrmilnik postavi to linijo na visok logični nivo in s tem označi začetek
prenosa podatkov. Po končanem prenosu, postavi linijo nazaj na nizek nivo.
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 39
• Podatkovni priključki - DB4~DB7 (Data Bit 4 ~ Data Bit7) [7 ~ 14]
Ti štirje priključki se uporabljajo za prenos podatkov med mikrokrmilnikom in
prikazovalnikom ter tvorijo 4-bitno podatkovno vodilo. Izbrani modul podpira
tudi hitrejšo, 8-bitno komunikacijo, vendar potrebuje osem podatkovnih linij.
Izbran 4-bitni način je za potrebe projekta povsem dovolj, saj je količina
podatkov za izpis majhna. Zmanjša se tudi potrebno število priključkov
mikrokrmilnika. Na podatkovnih linijah je potrebno zagotoviti visoke logične
nivoje, zato so vezani na napajanje. Dvižni upori vrednosti 1 kΩ služijo za
omejitev toka.
• Anoda osvetlitvene diode - A (Anode) [15]
Je pozitivna sponka vgrajene diode LED (Light Emitting Diode) za osvetlitev
prikazovalnika. Za maksimalno osvetlitev pri 5-V napajanju ni potrebno dodajati
predupora, saj ga prikazovalnik za to napetost že vsebuje. Sponko zato
povežemo na napajanje.
• Katoda osvetlitvene diode - C (Cathode) [16]
Je negativna sponka osvetlitvene diode LED. Vežemo jo na maso.
Za povezavo prikazovalnika z mikrokrmilnikom je potrebnih nekaj dodatnih elementov.
Slika 3.4.8 prikazuje elemente in vezavo prikazovalnika. Dvižni upori vrednosti 1 kΩ
zagotavljajo potrebno visoko logično stanje na podatkovnih linijah. Mikrokrmilnik ima na
priključkih porta B, kjer so priključene podatkovne linije prikazovalnika, sicer vgrajene
notranje dvižne upore, ki jih lahko programsko omogočamo, vendar smo se zaradi
enostavnejše programske kode odločili za uporabo zunanjih. Gladilni kondenzator,
vrednosti 100 µF, med napajalnim priključkom in maso služi za stabilizacijo napajalne
napetosti.
Med izhodni priključek V0 in maso vežemo upor vednosti 6 kΩ in tako nastavimo
optimalen kontrast prikazovanja.
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 40
Slika 3.4.8: Vezje za povezavo modula LCD na oddajniku
3.4.6 Napajanje oddajnega vezja
Vezje oddajnika potrebuje za delovaje le vir 5-voltne napetosti. Uporabljene komponente
imajo majhno tokovno porabo, hkrati pa v vezju ni induktivnih porabnikov, ki bi ob
vklopih slabšali stabilnost napajalne napetosti. Kljub temu moramo zagotoviti stabilen vir
napajanja, ki bo učinkovito pretvarjal 12-voltno napetost baterije. Za ta namen uporabimo
5-voltni napetostni regulator L7805CV. Regulator daje na izhodu napetost 5 V, s toleranco
35 mV. Ima nizko izhodno upornost in je s primernim hladilnim elementom zmožen
zagotavljati tokove do 1,2 A. Vsebuje termalno in pretokovno zaščito. Za delovanje ne
potrebuje posebnih komponent, zaželeno pa je dodati gladilne kondenzatorje med obe
priključni sponki in maso. Na sliki 3.4.9 je prikazana vezava napetostnega stabilizatorja
L7805CV.
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 41
Slika 3.4.9: Shema priklopa napetostnega regulatorja L7805CV
3.5 Sprejemni del
3.5.1 Zahteve in lastnosti sprejemnika
Vezje sprejemnika je nameščeno na plovilu in mora zadostiti naslednjim zahtevam:
• hitro in učinkovito izvajanje prejetih ukazov,
• majhna poraba energije,
• majhna velikost in
• zanesljivo delovanje.
Od sprejemnika pričakujemo hitro in učinkovito izvajanje prejetih ukazov, zato sta v tem
vezju uporabljena dva mikrokrmilnika. Vhodne podatkovne priključke obeh
mikrokrmilnikov združimo in s tem ustvarimo skupno podatkovno vodilo in s tem
dosežemo delitev opravil ter vzporedno izvajanje ključnih funkcij modela. Zaradi
varčevanja s prostorom na tiskanini uporabimo komponente z integriranimi vezji, kjer je to
mogoče. Z ločitvijo napajanja mikrokrmilnikov od ostalih porabnikov poskrbimo za
nemoteno delovanje vseh komponent. Ločevanje podatkovnih in napajalnih linij pri
načrtovanju tiskanine še dodatno prispeva k zanesljivosti delovanja sprejemnika.
3.5.2 Blokovna shema in delovanje
Na sliki 3.5.1 je prikazana blokovna shema elementov sprejemnika. Osrednja elementa
sprejemnega vezja, sta mikrokrmilnika PIC16F876A. Vhodna priključka njunih serijskih
vmesnikov (Rx) povežemo in priključimo na podatkovni izhod sprejemnega modula
ER400TRS. S tem ustvarimo skupno podatkovno vodilo.
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 42
Slika 3.5.1: Blokovna shema sprejemnika
Podatke, namenjene posameznemu mikrokrmilniku ločimo programsko, s programsko
dodelitvijo naslova vsakemu od krmilnikov. Funkcije, kot so krmiljenje pogonskih
motorjev in premikanje kamere, se tako lahko izvajajo vzporedno. To omogoča
spremljanje dogajanja okoli modela med plovbo.
Prvi mikrokrmilnik skrbi za spreminjanje smeri in hitrosti vrtenja pogonskih motorjev.
Oba enosmerna motorja sta velika tokovna porabnika, zato ju ne moremo neposredno
priključiti na izhode krmilnika. Potrebujemo vmesniško vezje, ki je sposobno zagotoviti
večje tokove in napetosti. Izbrali smo integrirano različico vezja, znanega pod imenom
H-most, v obliki čipa L298N. Podrobneje bo opisan v nadaljevanju. Isti mikrokrmilnik je
uporabljen tudi za krmiljenje koračnega motorja pri pogonu sistema za izmet vabe. Tudi
tega krmilimo posredno, preko integriranega ojačevalnega vezja ULN2803A. S pomočjo
tega vezja prvi mikrokrmilnik tudi vklaplja in izklaplja oba načina osvetlitve modela.
Z drugim mikrokrmilnikom izpisujemo stanje akumulatorskih baterij na krovu in krmilimo
servo motorje. Za premikanje kamere zadostuje en servo motor, saj jo premikamo le v
horizontalni smeri. Preostala motorja sta uporabljena za izpust obeh navezov. Krmiljenje
servo motorjev ne potrebuje dodatnih vmesniških vezij, saj ti motorji že vsebujejo vgrajeno
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 43
krmilno elektroniko. Z mikrokrmilnikom elektroniki le posredujemo podatke o želenih
položajih osi.
Oba mikrokrmilnika med delovanjem vklapljata in izklapljata statusne diode LED, ki
vizualno prikazujejo izvajanje nekaterih funkcij programske kode. Vsak krmili po dve
diodi. Prva služi kot pokazatelj neprekinjenega delovanja in je ves čas vklopljena, drugo pa
krmilnik kratko vklopi, kadar prispeli podatki niso namenjeni njemu. S tem je dosežen
stalen nadzor operativnega stanja programske kode v krmilniku. V primeru nepravilnega
delovanja tako lažje odkrijemo napake.
3.5.3 Krmilnik PIC16F876A
Po lastnostih je enak krmilniku PIC16F877A, ki je uporabljen pri oddajniku, le da je ta v
manjšem ohišju (28 priključnih sponk) in ima pet priključkov za A/D pretvorbo. Razpored
priključkov je prikazan na sliki 3.5.2.
Slika 3.5.2: Razpored priključkov krmilnika PIC16F876A
Enaki so tudi elementi za osnovni priklop in delovanje. Za generiranje frekvence delovanja
je tudi pri tem mikrokrmilniku uporabljen kvarčni oscilator s frekvenco 4 MHz.
Priključimo ga na priključka 9 in 10. Večjo zanesljivost oscilatorja dosežemo z dvema
keramičnima kondenzatorjema kapacitivnost 22 pF, ki ju vežemo med priključka
oscilatorja in maso. Slika 3.5.3 prikazuje priključitev osnovnih elementov za delovanje
mikrokrmilnika PIC16F876A.
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 44
Slika 3.5.3: Osnovno vezje za delovanje mikrokrmilnika PIC16F876A
3.5.4 Pogonska motorja Graupner Speed 400
Za pogonska motorja smo izbrali pogosto uporabljan model modelarskih enosmernih
krtačnih motorjev. Te motorje je mogoče napajati tudi z nekoliko višjimi napetostmi od
nazivne, odlikuje pa jih tudi dober izkoristek. Tabela 3.5.1 prikazuje nekatere tehnične
podatke izbranega motorja [4].
Tabela 3.5.1: Izbrani tehnični podatki motorja Graupner Speed 400
Nazivna napetost 6 V
Območje obratovalne napetosti 2,4 - 8,2 V
Število vrtljajev v minuti pri neobremenjenem motorju 18.000
Tokovna poraba brez obremenitve 0,7 A
Tokovna poraba pri največjem izkoristku 4 A
Največji izkoristek brez prenosov 70 %
Premer ohišja 27,7 mm
Uporabljena enosmerna motorja sta krtačnega tipa s komutatorjem. Komutator je izveden
mehansko in skupaj s krtačkami služi za prepolarizacijo navitja, vsakih 180 stopinj obrata
osi. S tem ustvari vrtilni moment, ki poganja rotor. Elektromagnetno (EM) polje v navitju
se razširja tudi izven ohišja, zato tak motor hkrati deluje tudi kot oddajnik motilnega
elektromagnetnega signala. Kadar so hitrosti motorja majhne, tokovi pa nizki, običajno
pojav ni moteč. Pri višjih hitrostih pa so frekvence teh signalov lahko v frekvenčnem pasu
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 45
reda MHz. To lahko povzroča motnje v komunikacijah, predvsem pri radijskih zvezah.
Motilne frekvence elektromagnetnih signalov modelarskih motorjev običajno dušimo z
uporabo filtrirnih kondenzatorjev, ki jih vežemo med priključne sponke napajanja.
Zaželeno je, da so keramični in nameščeni čim bližje komutatorju, zato jih imajo nekateri
motorji vgrajene v ohišjih. V uporabljenih motorjih sta kondenzatorja vrednosti 47 nF.
3.5.5 H-most
Model krmarimo s spreminjanjem smeri vrtenja in hitrosti posameznega motorja. Za
dosego spremembe smeri enosmernih motorjev je potrebno zamenjati polariteto priključnih
sponk. Elektronsko to storimo s posebnim vezjem, imenovanim H-most (H-bridge). Ime
izhaja iz oblike vezja, ki spominja na črko H. Slika 3.5.4 prikazuje princip delovanja.
Slika 3.5.4: Princip delovanja vezja H-most.
S preklapljanjem štirih stikal dosežemo spremembo smeri toka skozi motor, s čimer se
zamenja tudi smer vrtenja enosmernega motorja. S sklenjenima stikaloma S1 in S4, teče
tok skozi navitje motorja v smeri od leve proti desni. Motor se vrti v levo. Pri tem sta
stikala S3 in S2 odprta. Ko želimo obrniti smer vrtenja, postopamo obratno. S1 in S4
razklenemo, sklenemo pa stikala S3 in S2. Tok v motor sedaj teče od desne proti levi, zato
se motor vrti v desno. Hkrati vklopimo in izklopimo po dve stikali, zato sta za takšno
krmiljenje potrebna le dva krmilna signala. Z vklopi S1 in S3 (ali S2 in S4), lahko
zaviramo vrtenje motorja, saj takrat napravimo kratek stik navitja. Vrteči se motor bi
deloval kot generator, katerega inducirana napetost bi poskušala zavrteti rotor v drugo
smer. Tega načina delovanja ne potrebujemo. V primeru sklenitve stikal S1 in S2 (ali S3 in
S4), bi v vezju nastal kratek stik napajalne napetosti, zato takšna kombinacija vklopov
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 46
stikal ni dovoljena. Pri izgradnji teh vezij za manjše tokove namesto stikal običajno
uporabimo tranzistorje. Največkrat so zgrajeni z uporabo MOSFET tranzistorjev, vezja pa
se dobijo tudi v integrirani obliki. Zaradi varčevanja s prostorom na tiskanini in želje po
čim večji integraciji smo se tudi mi odločili za takšno izvedbo. Ker imamo dva pogonska
motorja, ki ju želimo krmiliti neodvisno, smo izbrali čip L298N [5]. Vsebuje dvojno H-
most vezje (vezje I, II) v ohišju na sliki 3.5.5. Izvedba je primerna za krmiljenje
induktivnih bremen, kot so enosmerni krtačni motorji, koračni motorji, releji in tuljave. Z
njim je možno regulirati napetosti do 48 V, s tokovi do 4 A. Z montažo primernega
hladilnega elementa, lahko tokovno območje še nekoliko povečamo, kar tudi storimo. Proti
pregrevanju je vgrajena toplotna zaščita. Ima ločeni napajalni liniji za krmilno logiko in
bremena. Vhodi se krmilijo napetostno, s pulzi standardne tranzistorsko-tranzistorske
logike (TTL).
Slika 3.5.5: Integrirana izvedba dvojnega H-most vezja - L298N.
Pomen in razpored petnajstih priključkov gonilnika L298N prikazuje slika 3.5.6.
Slika 3.5.6: Razpored priključkov L298N
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 47
• Tokovni izhod vezja II - Current sensing II [1]
Preko tega priključka se s povezavo na maso zaključi tokokrog vezja II. Če je
med tem priključkom in maso vezan merilni (Shunt) upor, lahko preko padca
napetosti na njem merimo tok priključenega bremena. Tokovne porabe
pogonskih motorjev ne merimo, zato ta priključek vežemo na maso.
• Izhod 1- Out1 [2]
Prvi izhod H-most vezja I. Povezan je s prvo sponko motorja v levem trupu
modela.
• Izhod 2 - Out2 [3]
Drugi izhod H-most vezja I. Povezan je z drugo sponko motorja v levem trupu
modela.
• Napajalna napetost bremena - Vs [4]
Na to sponko se priključi napajalna napetost za motorja. Ko želimo največjo
hitrost vrtenja motorjev, vezje prepušča praktično vso napetost te sponke na
izhodne priključke. Ker ne želimo napajati motorjev z napetostjo večjo od 8 V,
naj bo napetost na tej sponki 8 V.
• Vhod - In1 [5]
Priključek za vhodni krmilni signal H-most vezja I. S pulzi na tem priključku
krmilimo napetost na izhodu 1.
• Omogočitev vezja I - En I [6]
Preko tega vhodnega priključka je možen izklop delovanja H-most vezja I.
Delovanje je omogočeno le, kadar je na tem priključku visok logični nivo.
Priključek omogoča neposreden priklop na mikrokrmilnik in je namenjen
zmanjševanju energijske porabe kadar vezje I ni aktivno. Poraba vezja v stanju
mirovanja je zanemarljiva, zato ta priključek vežemo na potencial krmilne
logike (5 V).
• Vhod 2 - In2 [7]
Priključek za vhodni krmilni signal H-most vezja I. S pulzi na tem priključku
krmilimo napetost na izhodu 2.
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 48
• Ozemljitev - Gnd [8]
Ozemljitvena linija za priklop gonilnika L298N na skupno maso.
• Napajalna napetost krmilne logike - Vss [9]
Krmilna logika gonilnika L298N deluje z napetostjo 5 V, zato ta priključek
povežemo z napajalno napetostjo mikrokrmilnikov.
• Vhod 3 - In3 [10]
Priključek za vhodni krmilni signal H-most vezja II. S pulzi na tem priključku
krmilimo napetost na izhodu 3.
• Omogočitev vezja II - En II [11]
Preko tega vhodnega priključka je možen izklop delovanja H-most vezja II. Tudi
to vezje je ves čas aktivno, zato priključek vežemo na potencial krmilne logike.
• Vhod 4 - In4 [12]
Priključek za vhodni krmilni signal H-most vezja II. S pulzi na tem priključku
krmilimo napetost na izhodu 4.
• Izhod 3 - Out3 [13]
Prvi izhod H-most vezja II. Povezan je s prvo sponko motorja v desnem trupu
modela.
• Izhod 4 - Out4 [14]
Drugi izhod H-most vezja II. Povezan je z drugo sponko motorja v desnem trupu
modela.
• Tokovni izhod vezja I - Current sensing I [15]
Preko tega priključka se s povezavo na maso zaključi tokokrog vezja I. Ker
tokov motorjev ne merimo, priključek brez merilnega upora vežemo na maso.
Integrirano vezje L298N je sestavljeno iz dveh enakih H-most vezij z bipolarnimi
tranzistorji. Na sliki 3.5.7 je prikazana poenostavljena notranja struktura elementa.
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 49
Slika 3.5.7: Notranja zgradba L298N
Na baze zgornjih tranzistorjev so priključena standardna logična IN vrata, na baze spodnjih
pa IN vrata z invertiranim enim od vhodov. Za delovanje posameznega vezja mora biti to
najprej omogočeno z visokim napetostnim nivojem na omogočitvenih priključkih En I in
En II. Ko je prisoten signal na vhodu In1, sta odprta tranzistorja A in D. Izhodni tok v tem
primeru teče iz priključka Out1, preko motorja, v Out2. V primeru, da je krmilni signal
prisoten na vhodu In2, teče tok v obratni smeri. Na izhodne priključke Out1 in Out2
priključimo prvi motor, na Out3 in Out4 pa drugega. Zaradi logičnih vrat na vhodih
tranzistorjev moramo vezje krmiliti s TTL logičnimi nivoji. Takšna vezava je ugodna, saj
lahko vhode priključimo neposredno na mikrokrmilnik.
Hitrost vrtenja motorjev spreminjamo z uporabo pulzno-širinske modulacije (PWM). Ta
tehnika se pogosto uporablja za krmiljenje moči bremen. Napetost na izhodu spreminjamo
v obliki pulzov različnih dolžin. Razmerje med signalom in pavzo določa povprečno
vrednost napetosti (in toka), ki jo breme občuti. Temu razmerju pravimo delovni cikel
(Duty cycle). Na sliki 3.5.8 je prikazan princip pulzno-širinske modulacije. Ko je razmerje
med visoko in nizko vrednostjo signala v eni periodi T enako, breme na izhodu vezja
občuti polovično vrednost napajalne napetosti. V drugem signalu na sliki 3.5.8, je visok
nivo signala samo 20 % periode. Izhodna napetost je v tem primeru 20 odstotkov
napajalne. Frekvenco pulzov izberemo dovolj visoko, da motor gladko teče. Izbrali smo
frekvenco 2 kHz.
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 50
Slika 3.5.8: Pulzno-širinska modulacija (PWM)
S pulzno moduliranimi signali na vhodih obeh H-most vezij torej spreminjamo napetosti na
obeh izhodih, s preklopi teh signalov na ustrezne vhode pa še smeri tokov. Za izbrano
krmiljenje potrebujemo štiri pulzno modulirane signale, mikrokrmilnik PIC16F876A pa
ima le dva strojno implementirana PWM izhodna priključka. Seveda je možno uporabili
tudi splošno namenske izhode krmilnika in pulze generirati programsko, vendar je prednost
namenskih v tem, da poteka generiranje signalov vzporedno z ostalimi funkcijami
programske kode. Pomanjkanje teh priključkov smo rešili tako, da vsakemu motorju
namenimo po en PWM kanal mikrokrmilnika, nato pa signal preklapljamo med obema
vhodoma posameznega H-most vezja. Preklope izvedemo z dvema relejema, ki delujeta
kot signalni kretnici. Z enim preklapljamo prvi kanal med priključkoma In1 in In2, ko
krmilimo levi motor, z drugim pa vodimo drugi kanal na priključke In3 ali In4, za
krmiljenje desnega motorja. Slika 3.5.9 prikazuje uporabljeno vezje za krmiljenje
pogonskih motorjev.
Oba PWM signala dobimo iz izhodnih priključkov RC1 in RC2 prvega mikrokrmilnika
PIC16F876A in jih s preklopi obeh relejev vodimo na ustrezne vhode gonilnika L298N.
Uporabljena sta releja z dvojnim stanjem (Two State Relay). Od običajnih relejev se
razlikujeta po tem, da ohranita izbrano stanje tudi po prekinitvi napajanja preklopne
tuljavice. S tem porabljata tok le ob preklopih in prispevata k manjši porabi energije.
Tranzistorji BC547 so NPN tipa in služijo kot ojačevalne stopnje za krmiljenje relejev.
Vezani so v orientaciji s skupnim emitorjem. Krmilimo jih s signali istega mikrokrmilnika,
preko izhodnih priključkov od RB4 do RB7.
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 51
Slika 3.5.9: Krmilno vezje pogonskih motorjev
3.5.6 Koračni motor in gonilno vezje
Izmet vabe se izvaja z natančnimi premiki sistema za izmet. Ker gre pri tem sistemu za
krožno zajemanje, za pogon izberemo koračni motor s primernim zobniškim reduktorjem
moči in jermenskim prenosom. Koračni motorji imajo za razliko od krtačnih več navitij, ki
omogočajo premike po korakih. Obstaja več tipov teh motorjev, uporabljena pa je štiri-
fazna, unipolarna izvedba. Razlog je v enostavnem krmiljenju in tudi tem, da jih lahko
vzamemo iz odsluženega tiskalnika, kjer se pogosto uporabljajo. Na sliki 3.5.10 je
prikazana zgradba uporabljenega motorja.
Slika 3.5.10: Koračni motor SMB35-4868-B
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 52
Motor pri polnem obratu osi napravi 48 korakov, kar pomeni 7,5° na korak. Ima dve
navitji, s skupno vezanima sredinskima odcepoma. To daje štiri krmilne priključke ali faze,
od koder izhaja tudi ime štiri-fazni koračni motor. Slika 3.5.11 prikazuje poenostavljen
princip izvedbe navitij. Tok skozi posamezno fazo ustvari v tem delu navitja magnetno
polje, ki pritegne os, pritrjeno na trajni magnet. V primeru napajanja navitij v zaporedju od
F1 do F4, bi se rotor motorja zavrtel v protiurni smeri. Hitrost motorja je odvisna od
hitrosti preklapljanja signala med fazami. Izvedba na sliki 3.5.11 opravi le štiri korake za
polni obrat osi, zato so dejanske izvedbe motorjev napravljene dosti bolj kompleksno.
Navitja uporabljenega motorja so dimenzionirana za napetosti 12 V in porabo toka 0,24 A
na posamezno fazo. Ne smemo jih neposredno priključiti na izhode mikrokrmilnikov,
temveč jih moramo prej ojačiti. Uporabljeni so tranzistorji tipa NPN v Darlington vezavi.
Glede načina priključitve in krmiljenja posameznih faz imamo na voljo več možnosti.
Običajno sta sredinska odcepa združena in jih vežemo na pozitivni pol napajanja, vse štiri
faze pa krmilimo tranzistorsko. Tranzistorji ustvarjajo stik navitij z maso in tako zaključijo
tokokroge.
Glede zaporedja in smeri tokov v navitja poznamo več načinov delovanja, oziroma
krmiljenja. Smeri toka ne bomo obračali, prav tako bomo vklapljali hkrati le po eno fazo.
Takšen način sicer ustvarja najmanjši navor motorja, vendar za delovanje porabi najmanj
toka. Ker za sistem izmeta vabe ni potrebna velika moč, smo se odločili za varčnejšo
izvedbo krmiljenja.
Slika 3.5.11: Princip navitij koračnega motorja
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 53
Zaradi varčevanja s prostorom na tiskanini je uporabljena integrirana izvedba polja NPN
tranzistorjev, v obliki čipa ULN2803A [6]. Blokovna shema elementa z razporedom
priključnih sponk je prikazana na sliki 3.5.12.
Slika 3.5.12: Blokovna shema in razpored priključkov čipa ULN2803A
ULN2803A vsebuje osem ločenih tranzistorskih ojačevalnih stopenj v Darlington vezavi.
Takšna vezava je sestavljena iz dveh tranzistorjev, ki sta v uporabljeni izvedbi vezana v
orientaciji s skupnim emitorjem. Notranja zgradba ojačevalnega elementa je prikazana na
sliki 3.5.13.
Slika 3.5.13: Darlington vezava tranzistorjev v ojačevalnem elementu ULN2803A
Vezava se uporablja za različne namene, kjer želimo visoke stopnje ojačenja. Z vgrajenim
baznim uporom 2,7 kΩ so ojačevalne stopnje primerne za krmiljenje z vhodnimi
napetostmi do 5 V, bazni tokovi pa so omejeni na največ 25 mA. Tako je mogoče vezje
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 54
krmiliti neposredno z mikrokrmilniki. Posamezen izhod lahko obremenimo s konstantnim
tokom največ 500 mA ter napetostjo 50 V. To je več kot dovolj za krmiljenje navitij
izbranega koračnega motorja. Če bi želeli krmiliti večje tokove, bi lahko z vzporedno
vezavo vhodov in izhodov združili več stopenj. Izhodi vsebujejo zaščitne diode, ki ob
izklopih induktivnih porabnikov, kot so navitja, preprečujejo uničenje tranzistorjev. Za
krmiljenje koračnega motorja so uporabljene štiri ojačevalne stopnje, zato lahko preostale
štiri uporabimo za napajanje svetlečih diod modela (LED). Služile nam bodo za
osvetljevanje okolice med plovbo ponoči. Vezje za krmiljenje koračnega motorja je
prikazano na sliki 3.5.14.
Slika 3.5.14: Vezje za krmiljenje koračnega motorja z gonilnim vezjem ULN2803A
3.5.7 Servo motorji
V modelarstvu se zaradi svojih edinstvenih lastnosti pogosto uporabljajo enosmerni servo
motorji. Njihova značilnost je krmiljenje pogonske osi po korakih premika. Za razliko od
koračnih motorjev ti za premike osi ne vsebujejo ločenih navitij, ampak imajo vgrajene
enosmerne krtačne motorje z zobniškimi prenosi. Delovanje motorja krmili vgrajeno vezje,
ki poganja motor dokler pogonska os ne doseže želenega kota zasuka. Informacijo o
trenutnem položaju osi dobi preko spremembe upornosti potenciometra, katerega os je
mehansko povezana s pogonsko. Na sliki 3.5.15 je predstavljena zgradba tipičnega
modelarskega servo motorja.
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 55
Slika 3.5.15: Zgradba modelarskega servo motorja
Motorji so običajno napajani z napetostjo 5 V, tok pa je odvisen od navora. Imajo tri
priključne sponke, od katerih sta dve za napajanje z enosmerno napetostjo, tretja pa je
krmilna, po kateri pošiljamo krmilne pulze za želene kote zasuka. Večina modelarskih
servo motorjev omogoča 180-stopinjske kote zasuka. Srednji položaj osi je na 90°, nato pa
lahko os po korakih premikamo levo ali desno v obe skrajni legi. Koti zasuka so določeni z
dolžinami pulzov, ki jih pošiljamo krmilnemu vezju. Proizvajalci servo motorjev
uporabljajo nekoliko različne dolžine pulzov, vendar pa se večina motorjev krmili s pulzi
dolžine med eno in dvema milisekundama, kot prikazuje slika 3.5.16.
Za delovanje je pomembna tudi frekvenca pulzov, saj vezja servo motorjev merijo čas
trajanja visokega nivoja pulza, glede na celotno periodo. Ta mora pri večini servo motorjev
znašati 20 ms. Frekvenca pulzov je torej 50 Hz. V primeru, da želimo spremembo kota osi
iz enega skrajnega položaja v drugi, mora biti vlak krmilnih pulzov med premikom ves čas
prisoten, zato je pomemben podatek za praktično uporabo servo motorjev tudi dolžina
trajanja krmilnega signala. Običajno zasuk za 180° ne traja dlje od ene sekunde. Pri
kvalitetnejših servo motorjih, vgrajena krmilna elektronika spreminja napetost
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 56
pogonskemu motorju v odvisnosti od predhodnega položaja osi in želenega kota zasuka.
Večji kot je potreben zasuk glede na trenutni položaj osi, večja bo začetna hitrost motorja.
Ko se os približa končnemu položaju, vezje zmanjša hitrost.
Slika 3.5.16: Krmilni signali in koti zasuka modelarskih servo motorjev
Vse parametre pulzov nastavimo s krmilnim vezjem. Za krmiljenje servo motorjev je
uporabljen drugi mikrokrmilnik PIC16F876A. Razlog za uporabo dveh mikrokrmilnikov je
ravno v časih trajanja krmilnih signalov servo motorjev, da se ti lahko prevrtijo med
skrajnima legama. V primeru, da bi samo enemu od treh servo motorjev želeli spremeniti
kot zasuka iz ene skrajne lege v drugo, bi lahko ta proces trajal eno sekundo, kar bi
mikrokrmilniku onemogočilo izvajanje drugih funkcij kot je krmiljenje pogonskih
motorjev. Ker imajo uporabljeni servo motorji lastno krmilno vezje, signali za upravljanje
pa so kompatibilni s TTL nivoji mikrokrmilnika, jih lahko priključimo neposredno na
njegove izhodne priključke. Z njim krmilimo oba servo motorja za izpust navezov in enega
za premikanje kamere.
3.5.8 Osvetlitev
Ker želimo, da bo mogoče model uporabljati tudi v temi, mu dodamo osvetlitvene diode.
Uporabljena kamera je občutljiva na infrardečo svetlobo (IR), zato lahko okoli objektiva v
ohišju kamere namestimo infrardeče diode, na trup čolna pa svetleče LED diode z belo
svetlobo. Infrardečo svetlobo delimo po valovni dolžini na tri pasove. V video nadzornih
sistemih se za osvetlitev največ uporablja prvi pas, ki je valovne dolžine med 700 in 1400
nm. Uporabljene infrardeče diode, imajo valovno dolžino 850 nm.
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 57
Za infrardečo osvetlitev je uporabljeno že obstoječe vezje, ki vsebuje 36 infrardečih diod.
Na tiskanini je stikalno vezje s fotouporom, ki diodam vklopi napajanje, ko postane
svetloba v okolici prešibka. Tiskanina ima na sredini izvrtino za namestitev preko
objektiva kamere. Slika 3.5.17 prikazuje uporabljeno tiskanino z IR diodami.
Slika 3.5.17: Tiskanina z IR diodami in fotouporom
Pri napajanju z 12 V porabi vezje 80 mA toka. Poraba omogoča krmiljenje preko
ULN2803A čipa, na katerem so ostali še štirje prosti pari priključkov. Vklop in izklop
vezja krmilimo s prvim mikrokrmilnikom PIC16F876A, preko priključka RA0.
3.5.9 Prikazovalnik LCD na sprejemniku
Prikazovalnik uporabljamo za nadzor kapacitete baterij na krovu. Ker je uporabljeno
ločeno napajanje večjih tokovnih porabnikov in mikrokrmilnikov, je potrebno prikazovati
dve številčni vrednosti o stanju kapacitete baterij. Uporabljen je prikazovalnik z dvema
vrsticama po 16 znakov. Prikazovalnik je zaradi nižje cene in varčevanja z energijo brez
osvetlitve. Modul prikazovalnika ima grajen enak krmilnik, kot tisti na oddajni strani. Enak
je tudi razpored priključkov ter njihove funkcije, zato je podobna tudi priključna shema
(slika 3.5.18). Vezje se od vezave prikazovalnika na oddajni strani razlikuje le v tem, da ni
priklopa za osvetlitev in da je za nastavitev optimalnega kontrasta uporabljen upor
vrednosti 1 kΩ. Tudi pri tem prikazovalniku je uporabljena štiri-bitna komunikacija, s
priključki od DB4 do DB7. Krmili ga isti mikrokrmilnik kot servo motorje.
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 58
Slika 3.5.18: Priključna shema prikazovalnika LCD na sprejemniku
3.5.10 Napajanje
Vezje sprejemnika napaja in krmili mnogo večje porabnike kot oddajniško, poleg tega pa
jih je večina induktivnega značaja. Med takšne porabnike sodita oba pogonska motorja,
koračni motor in tudi servo motorji, saj tudi ti vsebujejo navitja. Slabost induktivnih
bremen pride najbolj do izraza pri vklopih motorjev, saj je začetni tok pri zagonu lahko
tudi nekajkrat višji kot med delovanjem. Oba pogonska motorja sta celo krmiljena s pulzno
napetostjo, pri čemer se motorju neprestano prekinja napajanje. Tudi vrtenje koračnega
motorja poteka z zaporednimi vklopi posameznih navitij. Posledica tega so veliki padci
napetosti na napajalnih linijah. Ker je napajanje modela baterijsko, se ti padci z
iztrošenostjo baterije le še povečujejo. Za napajanje mikrokrmilnikov je zaželena čim bolj
stabilna napajalna napetost, zato smo se odločili za ločeno napajanje krmilne logike in
ostalih porabnikov. Za napajanje mikrokrmilnikov in prikazovalnika je uporabljena
svinčena akumulatorska baterija manjše kapacitete (1,2 Ah), z napetostjo 12 V. Ostale
porabnike napajamo z dvema svinčenima baterijama kapacitete 2,3 Ah, napetosti 12 V. Z
njuno vzporedno vezavo povečamo tokovno zmogljivost, oziroma podvojimo kapaciteto
napajanja. Za pravilno delovanje elektronike je pomembno, da sta masi obeh virov
napetosti povezani. Razlog za uporabo svinčenih baterij je pravzaprav v njihovi teži.
Velikost modela in lahka konstrukcija zahtevata dodatno obtežitev, saj bi drugače plovilo
imelo premajhen ugrez za pogonska propelerja. Dodatna prednost teh baterij je v ceni. Za
enako kapaciteto drugih tipov baterij bi plačali več.
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 59
Koračni motor v sprejemnem vezju je dimenzioniran za napetost 12 V, zato ga lahko
napajamo neposredno, z napetostjo akumulatorja, ostalim porabnikom pa moramo
zagotoviti ustrezne nižje napetosti. Pogonska motorja sta sicer dimenzionirana za
napajanje s šestimi volti, vendar bomo gonilno H-most vezje napajali z napetostjo 8 V.
Razlog je v skupnem padcu napetosti na obeh bipolarnih tranzistorjih v krmilnem vezju, ki
lahko preseže 2 V [5, stran 3]. 8-voltno napetost dobimo z uporabo napetostnega
regulatorja L7808, v TO220 ohišju. Na izhodu daje stabiliziran vir napetosti 8 V in toka do
1,5 A. S primernim hladilnim elementom lahko izhodni tok še nekoliko povečamo. Kljub
dodanim hladilnim elementom, je tokovna poraba pogonskih motorjev še vedno prevelika,
zato vzporedno vežemo dva regulatorja in tako podvojimo tokovno zmogljivost. Vhodni
sponki obeh regulatorjev priključimo na vir napetosti bremen. Slika 3.5.19 prikazuje
vezavo obeh regulatorjev.
Slika 3.5.19: Vzporedna vezava dveh napetostnih regulatorjev LM7808
Za napajanje obeh mikrokrmilnikov in krmilne logike H-most gonilnega vezja
potrebujemo vir 5-voltne napetosti. Uporabljen je enak napetostni stabilizator kot pri
oddajnem vezju. Tudi servo motorje napajamo z napetostjo 5 V. Ker ne želimo uporabiti
napajanja iz vira za mikrokrmilnike, potrebujemo dodatni 5-voltni regulator, katerega
vhodno sponko priključimo na vir napetosti bremen. Tudi oba 5-voltna regulatorja sta v
izvedbi s TO220 ohišjem. Čeprav je zagotovljene več kot dovolj energije za zahtevano
polurno avtonomijo modela, vseeno izvedemo nadzor kapacitete baterij. Uporabimo lahko
posredno metodo merjenja, preko napetosti baterij. Merjenje kapacitete, preko napetosti na
sponkah baterije, je sicer dokaj nenatančna metoda, vendar je relativno dober pokazatelj
glede na kompleksnost vezja za merjenje. Iz grafa na sliki 3.5.20 je razviden potek
napetosti tipične 12-voltne svinčene akumulatorske baterije v odvisnosti od stanja
napolnjenosti.
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 60
Slika 3.5.20: Napetost tipične svinčene 12-V baterije v odvisnosti od napolnjenosti
Iz grafa je razvidno, da je padec napetosti na sponkah baterije dokaj linearno odvisen od
kapacitete, vse do 10-odstotne napolnjenosti, nato pa napetost strmo pade. Iz grafa
sklepamo, da ta tip baterije ni primeren za globoko izpraznjenje. Ko pade napetost pod
mejo 11,5 V jih moramo ponovno napolniti. Ta metoda merjenja kapacitete je najbolj
zanesljiva pri neobremenjenem stanju baterij, saj tokovi med delovanjem bremen
povzročajo velike padce napetosti na baterijah.
3.6 Zajem slike in prenos video signala
Model želimo opremiti z brezžičnim sistemom za zajem slike in prenos video signala. Ker
so v teh vezjih prisotni visokofrekvenčni signali, vezja pa so kompleksna, raje uporabimo
obstoječo komercialno izvedbo. Pri izbiri pazimo na skladnost oddajne moči in frekvence z
Uredbo o načrtu razporeditve radiofrekvenčnih pasov [8].
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 61
3.6.1 Zahteve in lastnosti
Razvoj brezžičnega sistema za zajemanje in prenos video signala ni bil predmet raziskave,
zato smo uporabili že izdelano komercialno izvedbo. Pri nakupu je potrebno upoštevati
naslednje lastnosti sistema:
• čim manjša poraba energije,
• zajemanje, prenos in reprodukcija barvne slike,
• stabilnost prenosa signala,
• domet zveze vsaj 30 metrov in
• nizka cena.
3.6.2 CMOS kamera
Pri izbiri tipa svetlobnega senzorja kamere sta na voljo tehnologiji CCD in CMOS. V obeh
tehnologijah se vrši pretvorba fotonov v elektrone na podoben način kot v sončnih celicah.
Razlika med tipoma je v načinu detekcije naboja posamezne točke senzorja. Pri CCD
tehniki se naboj posamezne svetlobne točke prenaša po induciranih kanalih in se ovrednoti
na robu senzorskega polja. CMOS senzorji pa imajo vgrajene tranzistorje za vsako
svetlobno točko posebej. Nameščeni so v senzorskem polju. Nekaj fotonov tako zadene
tudi tranzistorje, posledica česa je nekoliko manj kvalitetna slika. Prednost CMOS
tehnologije svetlobnih senzorjev pa je, da za pretvorbo svetlobe in delovanje ni potrebno
dosti energije. Postopek izdelave senzorja je enak kot pri izdelavi integriranih vezij, zato
so CMOS kamere dosti cenejše od CCD. Nizka cena in majhna poraba energije sta bili
razlog za izbiro CMOS tipa kamere.
Modul uporabljene kamere ima vgrajeno vezje za pretvorbo digitalne informacije o sliki v
analogni signal na izhodu. Ima programsko implementirano sito infrardečega dela
svetlobnega spektra, ki te žarke filtrira, kadar je na voljo dovolj sončne svetlobe. Takrat se
tvori informacija o barvni sliki. Ko nivo svetlobe pade pod določeno mejo se filtriranje
izklopi in modul posreduje črno belo sliko. V tem načinu je senzor občutljiv na infrardečo
svetlobo. Na sliki 3.6.1 je prikazan modul uporabljene CMOS kamere.
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 62
Slika 3.6.1: Modul barvne CMOS kamere
Modul je sestavljen iz treh glavnih komponent - svetlobnega CMOS senzorja, objektiva z
lečo in vezja za pretvorbo digitalne informacije o sliki v analogni video signal.
CMOS svetlobni senzor pretvarja zajeto svetlobo v digitalno informacijo o sliki. Ločljivost
uporabljenega senzorja je po podatkih proizvajalca 510x492 svetlobnih točk. Število
svetlobnih točk, ki jih vsebuje določen senzor se lahko precej razlikuje od dejanskega
števila točk, ki aktivno sodelujejo pri procesu pretvorbe svetlobe (efektivne svetlobne
točke). Glavni razlog je v tem, da so svetlobni senzorji pravokotnih oblik, objektivi kamer
pa so okrogli. Tako je celotno področje senzorja le redko obsijano. Dodatno proizvajalci na
robovih senzorskega polja celo namenoma ustvarijo pas filtrirnih točk, ki označujejo rob
polja ali pa služijo kot referenca za določanje črne barve. Način navajanja ločljivosti ni
zakonsko predpisan, zato proizvajalci cenejših kamer po navadi navajajo skupno število
točk in ne efektivnega števila.
Objektiv je monofokalnega tipa z goriščno razdaljo 3,6 mm, kot snemanja pa 62°.
Najpomembnejši faktor pri izbiri je bila končna cena video nadzornega sistema. Ker so
sistemi za prenos analognega signala dosti cenejši od digitalnih, smo se odločili za
analogno izvedbo. Pri izbiri teh sistemov moramo biti pozorni na tip TV standarda
analognega signala. V Evropi se večinoma uporablja PAL (Phase Alternating Line)
standard, v Ameriki pa je najpogostejši NTSC (National Television System Committee).
Obstajajo še drugi, ki pa so v splošnem kombinacija omenjenih dveh. Glavna razlika med
njima je v tem, da je slika pri standardu PAL nekoliko boljše ločljivosti, NTSC pa
omogoča hitrejše osveževanje. Zaradi dosti nižje cene nakupa brezžičnega video
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 63
nadzornega sistema v tujini smo se odločili za nakup sistema s standardom NTSC. Izbrani
modul kamere podpira ta standard. Tehnični podatki modula so prikazani v tabeli 3.6.1.
Tabela 3.6.1: Tehnični podatki modula kamere
Ločljivost senzorja CMOS 510x492 točk
Horizontalna ločljivost slike 380 TV linij
Frekvenca vertikalnega osveževanja 60 Hz
Ločljivost svetlobnega CMOS senzorja kamere je podatek, ki se nanaša na digitalno
ločljivost. Zmnožek horizontalnih (510) in vertikalnih (492) točk daje podatek o njihovem
skupnem številu (0,25 Mtočk). Horizontalna ločljivost je podatek, ki je pomemben za
ločljivost njihove analogne reprodukcije (analogna slika). Digitalne in analogne ločljivosti
ne moremo strogo povezati, saj se analogna slika na končnem zaslonu (analognem) tvori
na drugačen način kot digitalna in se zato ločljivost nanaša na horizontalno število TV linij
(resolucijo). Dejansko je horizontalna ločljivost povezana s številom vertikalnih linij, ki jih
lahko zajema kamera, oba podatka pa sta povezana z razmerjem širine in višine slike, na
primer 4:3. Možna je orientacijska primerjava med številom horizontalnih točk
svetlobnega senzorja in reproducirano ločljivostjo analogne slike tako, da delimo število
horizontalnih točk svetlobnega senzorja z razmerjem 4/3:
510 4
3 382,5 ~380
Dobimo rezultat, ki je zelo blizu podatku o horizontalni resoluciji slike, ki ga navaja
proizvajalec. Frekvenca vertikalnega osveževanja je podatek ki se nanaša na hitrost
osveževanja slike pri analogni reprodukciji. Na starejših televizorjih s katodno cevjo se
slika videa ne tvori z izrisovanjem celih sličic na enkrat, temveč se posamezna slika videa
izriše v dveh delih. Najprej se izrišejo vse sode vrstice, nato pa še vse lihe. Pojav se
imenuje prepletanje (interlacing). V primeru frekvence vertikalnega osveževanja 60 Hz se
vsaka polovica slike izriše v 1/60 sekunde. Frekvenca osveževanja celotne slike na zaslonu
je tako za polovico nižja (30 Hz) od navedene v tabeli 3.6.1.
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 64
3.6.3 Oddajnik video signala
Uporabili smo oddajnik s frekvenco 1150 MHz. Slika 3.6.2 prikazuje uporabljen oddajnik
video signala.
Slika 3.6.2: Oddajnik za prenos video signala
Vezje oddajnika ni odporno na vodo in vlago, zato ga je potrebno zaščititi z montažo v
notranjost modela. Žico, ki nadomešča anteno odstranimo in namesto nje uporabimo
komercialno vsesmerno anteno z ojačenjem 3 dBi. Oddajnik in anteno povežemo s kratkim
koaksialnim kablom. Impedanci uporabljene antene in povezovalnega kabla naj bosta
50 Ω. Oddajnik deluje z napetostjo 9 V, zato je potrebno zagotoviti primeren vir te
napetosti. Uporabimo lahko napetostni regulator LM7809.
3.6.4 Sprejemnik video signala
Sprejemnik video signala ima možnost nastavitve sprejemne frekvence. Z vgrajenim
potenciometrom nastavimo želeno frekvenco tako, da se ta ujema z oddajno. Med
delovanjem oddajnika je potrebno večkrat "uglasiti" sprejemnik z oddajno frekvenco.
Razlog je v temperaturni občutljivosti vezja za generiranje nosilne frekvence v oddajniku.
S povečanjem temperature oddajnika med delovanjem pride do pojava lezenja frekvence
oscilatorja nihajnega kroga v oddajniku. Čeprav je v vezju uporabljen kvarčni oscilator, ki
ima relativno nizko temperaturno občutljivost, se nosilna frekvenca oddajnika vseeno malo
spreminja. Zato moramo na sprejemni strani večkrat popraviti položaj potenciometra za
nastavitev frekvence sprejemanja. To je posledica nizke cene oddajnika. Boljši oddajniki
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 65
imajo vgrajene oscilatorje s fazno zaklenjeno zanko (PLL). V osnovi je to kontrolni sistem,
ki generira izhodni signal, katerega faza poskuša slediti fazi referenčnega signala na vhodu.
Vezje je sestavljeno iz faznega primerjalnika in napetostno krmiljenega oscilatorja (VCO).
Primerjalnik primerja fazo signala na izhodu in fazo referenčnega signala na vhodu ter
ustrezno spreminja napetost oscilatorja. Tako je izhodni signal ves čas v fazi z
referenčnim, oziroma mu skuša kar najbolje slediti. Ker sta faza in frekvenca signala
povezani, se tudi frekvenca izhodnega signala usklajuje z vhodno. Ker oddajnik tega
sistema nima, poskušamo temperaturo vsaj omejiti, oziroma stabilizirati. Montaža
aluminijastega hladilnega elementa na ohišje oddajnika nekoliko stabilizira temperaturo in
tako relativno uspešno ustavi nezaželeno lezenje frekvence.
Sprejemnik potrebuje za delovanje vir 12-voltne napetosti, zato ga priključimo neposredno
na baterijo sprejemnika. Pri izbranem sprejemniku je vezje vgrajeno v aluminijastem
ohišju, ki ga je potrebno odstraniti in tiskanino namestiti v plastično ohišje oddajnega
vezja. Na sliki 3.6.3 je prikazan uporabljen sprejemnik video signala.
Slika 3.6.3: Vezje sprejemnika video signala
3.7 Izdelava tiskanih vezij
3.7.1 Zahteve in lastnosti
Tiskanini oddajnega in sprejemnega vezja želimo zasnovati tako, da bomo izpolnili
naslednje zahteve:
• majhna velikost,
• fizična ločitev napajalnih in signalnih linij in
• preglednost povezav.
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 66
Obe tiskanini želimo napraviti v čim manjši izvedbi z veliko gostoto elementov. Zaradi
boljše preglednosti, lahko povezave napravimo na isti strani kot so elementi.
3.7.2 Načrtovanje s programskim paketom Altium Designer
Altium designer je programsko okolje za načrtovanje in simulacijo elektronskih vezij.
Omogoča načrtovanje tiskanine od električne sheme do načrta tiskanine. Ko odpremo okno
aplikacije najprej tvorimo nov projekt z izbiro File → New → Project → PCB Project. Na
desni strani se odpre urejevalnik projektov, kjer so vključene razne ustvarjene datoteke
projekta. Okno aplikacije s pri tvorbi novega projekta prikazuje slika 3.7.1 Nato z izbiro
File → Save Project As projekt shranimo z izbranim imenom. Nato dodamo v urejevalnik
dokumentov shemo, kot novi dokument. Odpre se list za nove shemo. Z izbiro Design →
Browse Library se odpre okno, kjer izbiramo med želenimi elementi vezja. Ko z
postavitvijo elementov in povezovanjem končamo, z izbiro Compile Project, preverimo
morebitne napake med povezovanjem. Če ni sporočil o napakah, lahko preidemo na
izdelavo načrta tiskanine. Običajno si pomagamo z vgrajenim čarovnikom, z izbiro PCB
Board Wizard. Najprej izberemo želen merski sistem, nato pa velikost tiskanine, število
potrebnih slojev, tip elementov in širino povezav ter izvrtin.
Nato prenesemo vezalno shemo v urejevalnik tiskanine, kjer lahko spremenimo ali dodamo
nastavitve slojev in povezovanja. Lahko izberemo avtomatsko povezovanje ali pa elemente
razporedimo in povežemo ročno. Ker želimo primerno ločiti napajalne in signalne linije,
povezave ustvarimo ročno. Z izbiro Tools → Design Rule Check preverimo pravilnost
ustvarjenih povezav, kjer se prepričamo, da ni nezaželenih kratkih stikov. Načrt tiskanine
je tako pripravljen za izdelavo.
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 67
Slika 3.7.1: Okno aplikacije Altium Designer za novi projekt
3.7.3 Tiskanina oddajnega vezja
Pri ustvarjanju povezav se skušamo izogibati pravim kotom. V vezjih sicer ni signalov z
visokimi frekvencami (reda GHz), kjer imajo povezave z 90-stopinjskimi koti lahko
neželene učinke na integriteto signalov in elektromagnetno združljivost, vendar se poveča
možnost za luščenje bakrene plasti.
Pričnemo z mikrokrmilnikom in osnovnimi elementi za njegovo delovanje, ga povežemo z
napajanjem, nato pa dodamo in povežemo še ostale elemente. Pri načrtovanju skušamo čim
bolj ločiti napajalne linije od signalnih. Gladilni kondenzatorji naj bodo nameščeni čim
bližje napajalnim priključkom elementov, ki jih potrebujejo, povezave podatkovnih linij pa
čim krajše. Na elemente napetostnih regulatorjev bomo namestili skupen hladilni element,
zato jih pri razmestitvi postavimo v vrsto na robu tiskanine. Izogibamo se predolgim
linijam in raje uporabimo premostitvene povezave v obliki kratkih žic ali uporov vrednosti
0 Ω. Povezave lahko speljemo tudi pod elementi. Na koncu narišemo še izvrtine za
pritrditev vezja z vijaki. Izdelan načrt tiskanine prikazuje slika 3.7.2.
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 68
Slika 3.7.2: Tiskanina oddajnega vezja
Tako izdelana tiskanina še ni pripravljena za tisk na folijo, ker vsebuje imena in obrise
elementov, ki jih pri jedkanju ne želimo ohraniti. Prav tako je viden še spodnji sloj
povezav. Pred tiskom načrta na folijo moramo neželene sloje v meniju Print Preview
izklopiti. Tako nastane končna oblika načrta oddajnega vezja, ki je prikazana na sliki 3.7.3.
Slika 3.7.3: Tiskanina oddajnega vezja za tisk
3.7.4 Tiskanina sprejemnega vezja
Postopki za načrtovanje tiskanine prejemnega vezja so enaki kot pri oddajnem. Tudi tu
pričnemo s povezavo obeh mikrokrmilnikov, nato pa dodamo še ostale elemente vezja.
Slika 3.7.4 prikazuje izdelan načrt tiskanine sprejemnika.
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 69
Slika 3.7.4: Tiskanina sprejemnega dela
Tudi to vezje pred tiskom ustrezno pripravimo in izklopimo nepotrebne sloje. Tako
ustvarimo načrt tiskanine, ki je pripravljena za tisk na folijo. Slika 3.7.5 prikazuje končno
različico načrta za izdelavo tiskanine s foto postopkom.
Slika 3.7.5: Tiskanina sprejemnega vezja za tisk
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 70
3.7.5 Postopek izdelave tiskanin
Tako izdelana načrta obeh tiskanin lahko sedaj prenesemo na folijo za tisk. Izberemo folije
za tiskanje z laserskim tiskalnikom in v nastavitvah za tisk izberemo največjo ločljivost.
Tiska zrcalno ne obračamo, saj želimo povezave na isti strani kot so elementi. Pertinaks
plošče so na eni strani premazane z foto občutljivim premazom. Ko to stran plošče
prekrijemo s folijo vezja, lahko ploščo izpostavimo ultravijolični svetlobi. Med postopkom
osvetljevanja ostane premaz le na delih, ki niso zaščiteni s povezovalnimi linijami načrta.
Na ostalih delih plošče se premaz razgradi. Sedaj je na plošči že delno viden načrt povezav
vezja. Nato pričnemo z jedkanjem v kislini. Izbrali smo način penjenega jedkanja z
napravo, ki segreje jedkalno tekočino železovega II klorida na temperaturo 50 °C in med
procesom dovaja zračne mehurčke. Rezultat je zelo dobra kakovost povezav, vendar
omenjena kislina nekoliko podaljša čas jedkanja. Potreben čas za jedkanje ene ploščice je
približno 20 minut. Po končanem postopku ploščici oddajnega in sprejemnega vezja
temeljito očistimo in zvrtamo luknje za elemente. Nato pričnemo s spajkanjem in
povezovanjem. Vedno pričnemo s spajkanjem najnižjih elementov, kot so upori, končamo
pa z elementi, ki imajo najvišja ohišja. Med postopkom spajkanja ves čas preverjamo stike
z Ohm metrom. Pazimo, da pri spajkanju ne pretiravamo z dovajanjem spajkalne žice.
Pomembno je tudi, da elemente čim manj pregrevamo. Mikrokrmilnikov ne spajkamo
neposredno na tiskanini, raje uporabimo podnožja. Pred priključitvijo napajanja vedno
preverimo, ali obstajajo kratki stiki med napajalno napetostjo in maso. Preverimo tudi, da
med spajkanjem nismo napravili stikov med signalnimi linijami in napajanjem. Če
testiramo vezja s priklopom na baterije, vežemo pozitivno priključno sponko preko Amper
metra in 0,5-amperske varovalke. To je še zadnji ukrep za zaščito vezja pred morebitnim
kratkim stikom napajalne napetosti. Tok amper metra bo tudi pokazal, če so vsi elementi
pravilno priključeni. Z 0,5-ampersko varovalko ne testiramo vklopov večjih porabnikov,
kot so motorji. S spremljanjem delovanja vgrajenih statusnih diod LED, lahko natančneje
ugotovimo pravilnost delovanja obeh vezij.
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 71
4 PROGRAMSKI DEL – OPIS KODE IN DELOVANJE
4.1 Zahteve in lastnosti
Programi v mikrokrmilnikih naj imajo naslednje lastnosti:
• hitro izvajanje funkcij,
• čim manjša poraba pomnilnika,
• čim krajši programi,
• poudarek na enostavnosti funkcij in
• temeljito in natančno komentiranje programske kode.
Mikrokrmilniki predstavljajo jedro naprave. Skladno s programsko kodo izvajajo vse
naloge modela, zato mora biti ta napisana tako, da se bodo funkcije kar najhitreje izvedle.
Krmiljenje pogonskih motorjev je za varno delovanje bistvenega pomena, zato morajo
imeti te funkcije prednost pred drugimi. Pri načrtovanju programov poskušamo pisati
enostavne in dobro komentirane funkcije, saj le tako dosežemo dobro spremljanje razvoja
programa kot celote. Vedno si najprej izdelamo diagrame poteka, in jih kasneje uporabimo
kot načrt pri pisanju programske kode. Za imena spremenljivk in oznak izbiramo čim bolj
pomenska imena, v urejevalniku pa s praznimi vrsticami ločujemo posamezne funkcije, ki
jim lahko z naslovi v obliki komentarjev dodatno podkrepimo razumevanje.
4.2 Izbor programskega jezika in razvojnega okolja
Pričakujemo relativno kompleksne programe, ki ne obdelujejo velikih količin podatkov,
vendar pa opravljajo veliko funkcij. Zato se namesto zbirnika raje odločimo za uporabo
višjega programskega jezika, s človeku čim bolj razumljivo sintakso. Ker smo imeli nekaj
izkušenj z jezikoma C in Basic, smo izbirali med njima. Seveda ima jezik C nekoliko večjo
učinkovitost in boljšo optimizacijo kode ter za enake funkcije zasede malo manj prostora v
pomnilniku. Vendar pa so programi, napisani v jeziku PicBasic krajši v smislu vrstic
programske kode, zato postanejo daljši programi dosti bolj pregledni. PicBasic Pro
prevajalnik je konzolna aplikacija, brez grafičnega vmesnika, zato ga vključimo v razvojno
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 72
okolje z integriranim tekstovnim urejevalnikom. Za ta namen smo izbrali razvojno okolje
MicroCode Studio, britanskega podjetja Mecanique. Omogoča razhroščevanje v vezju,
spremljanje pretoka serijskih podatkov, urejevalnik besedila pa barvno loči tipe podatkov,
logične izraze, oznake, simbole, spremenljivke, definicijske izraze in mnoge druge
elemente programa. To naredi program zelo berljiv. Prav tako odkriva logične in tiskarske
napake med pisanjem in postopkom prevajanja ter ponudi predloge za odpravo. Če
uporabljamo funkcijo serijskega programiranja krmilnikov v vezju (ICSP), okolje samo
sprogramira krmilnik in preveri pravilnost vpisa programske kode.
4.3 Programski jezik PicBasic
Temelji na jeziku Basic in je razvit posebej za PIC mikrokrmilnike. Za programiranje smo
uporabili izboljšano različico "Pro", ki se od običajne razlikuje po večjem naboru knjižnic
in po dodatno poenostavljenih funkcijah za delo s prikazovalniki, EEPROM-i, 1-WIRE
protokolom, USB komunikacijo in X-10 protokolom. Omogoča uporabo 32-bitnih
predznačenih števil in s tem podpira tudi PIC18 serijo krmilnikov. Z njim lahko
programiramo več kot 300 mikrokrmilnikov družine PIC in dostopamo do vseh registrov
mikrokrmilnika. Podpira uporabo oscilatorjev s frekvencami do 64 MHz. V program lahko
vključimo tudi zbirniško kodo.
4.4 Razvojno okolje MicroCode Studio
Omogoča vizualno podporo jeziku, vsebuje urejevalnik teksta in razna integrirana orodja
za podporo programiranju, kot je okno za serijsko komunikacijo in vmesnik za
razhroščevanje v vezju ICD (In Circuit Debugger). Podprto je prevajanje in programiranje
mikrokrmilnikov v ciljnem vezju (ICSP). Uporaba razvojnega okolja je nezahtevna,
potrebno je le izbrati prevajalnik v meniju View→ Compile and Program Options. Na sliki
4.4.1 je prikazano okno aplikacije MicroCode Studio Plus.
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 73
Slika 4.4.1: Okno aplikacije MicroCode Studio Plus
4.5 Koda oddajnega dela
Oddajniško vezje krmili mikrokrmilnik PIC16F877A. Izvaja vrednotenje položaja ročice
igralne palice in detekcijo pritisnjenih tipk. Zbrane ukaze sproti posreduje oddajnemu
modulu s serijskim načinom prenosa podatkov. Ukaze dodatno izpisuje na prikazovalnik
LCD.
4.5.1 Diagram poteka
Na sliki 4.5.1 je prikazan diagram poteka oddajniške kode. Zaradi večje preglednosti smo
pri načrtovanju diagrama izpustili nekatere funkcije za izpis sporočil uporabniku in stanja
spremenljivk na prikazovalnik.
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 74
Slika 4.5.1: Diagram poteka oddajniške kode
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 75
4.5.2 Opis kode
Koda oddajnega dela se prične z vključitvijo rutin za serijsko komunikacijo in
inicializacijo registrov mikrokrmilnika PIC16F877A (slika 4.5.2).
Pred pričetkom pisanja programov običajno vključimo potrebne knjižnice, ki jih potrebuje
prevajalnik pri prevajanju programa. Za serijsko komunikacijo in A/D pretvorbo vključimo
knjižnico modedefs.bas. knjižnica vsebuje definicije raznih načinov in hitrosti prenosa
podatkov, definicije parametrov A/D pretvorbe in druge. Nadaljujemo z inicializacijo
vhodno-izhodnih priključkov krmilnika. Za njihovo delovanje skrbita dva tipa registrov,
PORT in TRIS. Število bitov v obeh registrih je odvisno od števila priključkov
posameznega porta. TRIS register vsebuje informacijo o želenem tipu priključka. S
postavitvijo posameznega bita na 0 definiramo pripadajoči priključek kot izhod, postavitev
na 1 pa ga nastavi kot vhod. S spreminjanjem vrednosti bitov v registrih PORT izhodnim
priključkom spreminjamo logična stanja. Enke pomenijo visoka, ničle pa nizka logična
include "modedefs.bas" ;Vključi rutine za serijsko komunikacijo
TrisA = %001011 ;V/I : 0,1,3-Vhodi(A/D) 2,5-Izhodi (tipke)
PortA = %000000 ;V/N : vsi Nizko
TrisB = %00000000 ;V/I : vsi Izhodi(LCD)
PortB = %00000000 ;V/N : vsi Nizko
TrisC = %00000111 ;V/I : 6-Izhod (Tx-oddajnik) 0,1,2-Vhodi(tipke)
PortC = %00000000 ;V/N : vsi Nizko
TrisD = %00000000 ;V/I : vsi Izhodi(Statusne LED)
PortD = %00000000 ;V/N : vsi Nizko
TrisE = %100 ;V/I : O,1-Izhodi (Tipke) 2 - Vhod (Tipke)
PortE = %000 ;V/N : vsi Nizko
ADCON1 = %00000100 ;A/D : (PortA) ADCON1: 00xx0100
;0100: 0,1,3- Vhodi(A/D kanali)
;b7 – levo poravnan, 8-bitni rezultat A/D pretvorbe
Slika 4.5.2: Inicializacija registrov mikrokrmilnika PIC16F877A
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 76
stanja. V primeru visokega logičnega stanja je posamezen izhodni priključek sposoben
dajati napetost 5 V in maksimalen tok 25 mA. Bite registrov štejemo od najmanj utežnega
proti najbolj utežnemu. Analogno-digitalni modul mikrokrmilnika vsebuje štiri registre,
vendar je za uporabo s prevajalnikom PicBasic potrebno nastaviti le prve štiri bite registra
ADCON1, ki določajo kateri priključki mikrokrmilnika bodo uporabljeni za A/D
pretvorbo. Ti biti določajo tudi referenčno vrednost napetosti pri pretvorbi. Referenčni
napetosti Vref+ in Vref- določita območje napetosti za pretvorbo. Tabela 4.5.1 prikazuje
različne kombinacije kontrolnih bitov (b3-b4) za določitev želenih priključkov pri uporabi
A/D pretvorbe [2, stran 128].
Tabela 4.5.1: Tabela za določanje vrednosti ADCON1 registra
b3-b0 RE2 RE1 RE0 RA5 RA3 RA2 RA1 RA0 (Vref+) (Vref-)
0000 A A A A A A A A Vdd Vss
0001 A A A A Vref+ A A A RA3 Vss
0010 D D D A A A A A Vdd Vss
0011 D D D A Vref+ A A A RA3 Vss
0100 D D D D A D A A Vdd Vss
0101 D D D D Vref+ D A A RA3 Vss
011x D D D D D D D D Vdd Vss
1000 A A A A Vref+ Vref- A A RA3 RA2
1001 D D A A A A A A Vdd Vss
1010 D D A A Vref+ A A A RA3 Vss
1011 D D A A Vref+ Vref- A A RA3 RA2
1100 D D D A Vref+ Vref- A A RA3 RA2
1101 D D D D Vref+ Vref- A A RA3 RA2
1110 D D D D D D D A Vdd Vss
1111 D D D D Vref+ Vref- D A RA3 RA2
V zadnjih dveh stolpcih tabele izberemo referenčni napetosti. Za potrebe projekta smo
izbrali območje napetosti med napajalnim (Vdd) priključkom in maso (Vss). Iz tabele je
razvidno, da lahko za referenčni napetosti uporabimo tudi signale drugih napetosti, ki jih
pripeljemo na priključka RA2 in RA3. S tabelo določimo tudi število in kombinacijo
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 77
priključkov za A/D pretvorbo. Oznaka A pomeni analogni tip priključka, oznaka D pa
digitalni. Iz tabele določimo le prve štiri (b0-b3) kontrolne bite registra ADCON1. Biti 4 in
5 za delovanje A/D pretvorbe niso pomembni, zato jih lahko poljubno izberemo. Bit 6
delno določi vir takta in frekvenco vzorčenja analognega signala, z zadnjim bitom pa
izberemo poravnavo rezultata. S postavitvijo tega bita na 0, izberemo levo poravnavo
[2, stran 127, 128]. Ostale parametre A/D pretvorbe definiramo posebej (slika 4.5.3).
Parametre, kot so natančnost rezultata, vir takta in čas (frekvenco) vzorčenja lahko
določimo z ADCON0 registrom, ker pa smo na začetku vključili knjižnico modedefs to
raje storimo s tremi define direktivami. Nastavitve parametrov analogno-digitalne
pretvorbe, za uporabo v jeziku PicBasic, so s tem zaključene.
Pred samo implementacijo funkcij programa je potrebno nastaviti še parametre za
komunikacijo s prikazovalnikom LCD (slika 4.5.4). Tudi to storimo s serijo define
direktiv.
define LCD_DREG PORTB ;Dolocitev porta za podatkovne linije (Data REGister)
define LCD_DBIT 4 ;Dolocitev prve podatkovne linije-RB4 (RB7 je zadnja)
define LCD_RSREG PORTB ;Dolocitev porta za RS linijo - PortB
define LCD_RSBIT 3 ;Dolocitev pina za RS linijo – RB3
define LCD_EREG PORTB ;Dolocitev porta za E linijo - PortB
define LCD_EBIT 0 ;Dolocitev pina za E linijo – RB0
define LCD_BITS 4 ;Dolocitev nacina komunikacije – 4 bitna
define LCD_LINES 4 ;Dolocitev stevila vrstic prikazovalnika – 4 vrstice
define LCD_COMMANDUS 2000 ;Dolocitev pavze med kontrolnimi ukazi – 2000 us
define LCD_DATAUS 50 ;Dolocitev pavze med posiljanjem podatkov – 50 us
define ADC_BITS 8 'Rezultat A/D pretvorbe naj ima 8 bitov
define ADC_CLOCK 3 'Za A/D uro uporabi notranji RC oscilator
define ADC_SAMPLEUS 50 'Čas vzorčenja v us
Slika 4.5.3: Definicije parametrov za A/D pretvorbo
Slika 4.5.4: Definicije parametrov za komunikacijo prikazovalnikom LCD
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 78
Določiti je potrebno vrata in posamezne priključke za komunikacijo. Ukazi za dejansko
krmiljenje in kontrolo nad podatki so zbrani v modedefs knjižnici, zato je potrebno le
definirati parametre, ki jih knjižnica uporablja. Poleg priključkov določimo še število
vrstic, ki se lahko uporabljajo za izpis znakov, način komunikacije in obe pavzi med
pošiljanjem ukazov ter posameznih znakov med izpisom.
Po definiranju priključkov in parametrov za opravljanje želenih funkcij mikrokrmilnika
PIC16F877A, sledi najava spremenljivk za uporabo v funkcijah (slika 4.5.5). Imena
spremenljivk lahko izberemo poljubno, vendar pazimo da so čim bolj smiselna in ne
predolga.
Oznaka var je direktiva prevajalniku, naj besedo pred njo razume kot spremenljivko
(variable). Nato določimo velikost rezerviranega prostora za spremenljivko. V
programskem jeziku PicBasic Ločimo tri številčne tipe podatkov glede na velikost
pomnilnika, ki ga lahko zasedejo: bit, byte in word. Ker v spremenljivke shranjujemo
vrednosti, manjše od 255, najavimo spremenljivke tipa byte. Izjema je spremenljivka
DriveLock z obema pomožnima spremenljivkama b1 in b0, ki vsebujeta le vrednosti 0 ali
Slika 4.5.5: Najava spremenljivk v oddajniški kodi
uC_ID var byte ;Spremenljivka za naslov mikrokrmilnika v sprejemniku
Data1 var byte ;Spremenljivka za kategorijo komande
Data2 var byte ;Spremenljivka za podatke funkcijam
Xos var byte ;Spremenljivka za X koordinato osi igralne palice
Yos var byte ;Spremenljivka za Y koordinato osi igralne palice
Servo var byte ;Spremenljivka za podatke o zasuku kamere
Servo = 150 ;Začetna vrednost položaja kamere (center)
DriveLOCK var bit ;Spremenljivka za omogočanje pošiljanja Xos, Yos
b1 var bit ;Pomožna spremenljivka za DriveLock
b1 = 1 ;Začetna vrednost
b0 var bit ;Pomožna spremenljivka za DriveLock
b0 = 0 ;Začetna vrednost
b3 var byte 'Spremenljivka za stetje izpustov vabe
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 79
1, zato jih najavimo s tipom bit. Preko teh spremenljivk omogočamo pošiljanje koordinat
premika igralne palice, ki se na sprejemni strani prevedejo v ustrezno krmiljenje hitrosti in
smeri pogonskih motorjev. Pomožnim spremenljivkam še določimo začetne vrednosti.
Vrednost spremenljivke Servo se na sprejemni strani prevede v ustrezen položaj osi servo
motorja za premikanje kamere. Po najavi definiramo začetno vrednost 150, ki predstavlja
izhodiščni položaj kamere. Izhodiščnega položaja kamere uporabnik ne more spreminjati.
S pritiski ustreznih tipk na igralni palici se vrednost spremenljivke Servo le manjša ali veča
s koraki 10 med mejnima vrednostma 70 in 220, ki ustrezata skrajnima položajema servo
motorja za premikanje kamere.
Nato pričnemo z glavnim delom programske kode (slika 4.5.6). Začetek programa
označimo z oznako main in najprej vklopimo diodo LED, priključeno na tretji priključek
vrat D (portd.2). Dioda nam služi kot vizualni dokaz, da mikrokrmilnik deluje z
nemotenim napajanjem. Nato program preko analogno digitalne pretvorbe prebere obe
vrednosti položaja ročice igralne palice. Ukaz adcin potrebuje dva parametra. Kot prvi
parameter navedemo želeni kanal, drugi pa je spremenljivka za shranitev rezultata
pretvorbe. Funkcija namesto priključka sprejme zaporedno številko kanala. Ko sta obe
vrednosti prebrani preverimo, če sta v pričakovanih mejah. Ker smo izbrali natančnost
pretvorbe osem bitov, lahko obe spremenljivki zavzameta vrednosti med 0 in 255. V
primeru, da igralna palica ni priklopljena, bo ena od prebranih vrednosti gotovo manjša od
polovice dosega. izberemo vrednost položaja osi X in preverimo ali je manjša od 115. V
primeru, da program prebere manjšo vrednost, izpiše napako in predlaga naj uporabnik
preveri povezavo. Nato veji v podprogram za kalibracijo. Pred skokom počaka tri sekunde.
Razlog za daljšo pavzo po izpisu sporočila je, da ostane izpis v tej vrstici viden dovolj
dolgo, da ga uporabnik lahko prebere.
Če je povezava uspešna, mikrokrmilnik to izpiše in preveri ali začetne vrednosti ustrezajo
nevtralnemu položaju obeh osi. Tipični vrednosti dobro kalibriranih položajev v mirovanju
sta 128, zato izberemo mejo med 125 in 130. V primeru, da vrednosti nista v tem intervalu,
program veji v kalibracijski podprogram. V nasprotnem primeru sledi izpis o
pripravljenosti.
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 80
Nato program prične z branjem in pošiljanjem položaja igralne palice (slika 4.5.7). Najprej
ponovno prebere obe vrednosti koordinat in jih izpiše v drugo vrstico prikazovalnika. Znak
# pred spremenljivko v izpisu pomeni, naj se izpišejo ASCII znaki za število. Dalje
program preveri kakšno je stanje spremenljivke DriveLOCK.
Slika 4.5.6: Koda za preverjanje povezave in kalibracije igralne palice
main:
high portd.2 ;indikator da se program izvaja
adcin 0, Xos ;Beri A/D vrednost 1.kanala (za X os) in shrani v Xos
adcin 1, Yos ;Beri A/D vrednost 2.kanala (za Y os) in shrani v Yos
if (Xos < 115) then ;Če Joystick ni povezan:
lcdout $fe,1,"Joystick Error!" ;LCD izpis: napaka (1. Vrstica)
lcdout $fe,$c0,"Check COM!" ; 2. vrstica
lcdout $fe,$94," " ; Brisi 3. vrstico
entering:
lcdout $fe,$d4,"Entering CAL Mode..." ;4. vrstica
pause 3000 ;cakaj tri sekunde
goto calibration
else ; Ce je povezava OK:
lcdout $fe,1,"Connection OK!" ;1. vrstica
lcdout $fe,$c0,"Testing Calibration:" ;2. vrstica
pause 3000
if (Xos < 125) or (Xos > 130) then entering ;Meje za X os v mirovanju
if (Yos < 125) or (Yos > 130) then entering ;Meje za Y os v mirovanju
endif ; konec If stavkov
lcdout $fe,$c0," CALIBRATED! " ; 2. vrstica
pause 2000
lcdout $fe,1," Status: READY " ;1. vrstica
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 81
Stanje 1 ali 0 prevzame iz pomožne spremenljivke b0, katere stanje kasneje v podprogramu
BTN2 (slika 4.5.11) spreminjamo s pritiskom tipke. Če je vrednost enaka 1, se izvede
pošiljanje koordinat in izpis na prikazovalnik, drugače se vrednosti samo izpišejo. Ker sta
v sprejemnem delu dva mikrokrmilnika, s skupnim vodilom, moramo podatke primerno
ločiti. Razdelimo jih na pakete, od katerih ima vsak svojo funkcijo. Prvi paket vsebuje
oznako ali naslov ciljnega mikrokrmilnika. Ker sta v sprejemnem vezju dva
mikrokrmilnika, vsebuje spremenljivka uC_ID vrednost 1 ali 2 in tako določi kateremu
mikrokrmilniku so namenjeni podatki. Nato sledi paket s tipom podatkov v spremenljivki
Data1, ki prav tako vsebuje številčne vrednosti in določi katero funkcijo naj izbrani
mikrokrmilnik izvede. V zadnjem paketu so vključeni podatki za funkcije v spremenljivki
Data2. Tabela 4.5.2 prikazuje zgradbo skupine podatkov in vrstni red paketov.
Slika 4.5.7: Branje in pošiljanje položaja igralne palice
ALLread: ; Zacni z branjem koordinat
adcin 0, Xos ; Beri A/D vrednost 1.kanala (za X os) in shrani v Xos
adcin 1, Yos ; Beri A/D vrednost 2.kanala (za Y os) in shrani v Yos
lcdout $fe,$c0, " " ; Postavi se v 2. vrstico in jo zbrisi
lcdout $fe,$c0, "X=", #Xos, " Y=", #Yos ; Izpis vrednosti koordinat
DriveLock = b0 ; DriveLOCK prevzame vrednost spremenljivke b0
If DriveLOCK = 1 then ;Ce je DriveLOCK izklopljen posiljaj Xos in Yos
Lcdout $fe,$D4,"DriveLock: OFF" ;Izpis na prikazovalnik
uC_ID = 1 ; Komando prejme prvi uC
Data1 = 1 ; Komanda za DC motorja
Serout portc.6,t9600,[uC_ID, Data1, Xos, Yos] ; Poslji podatke
else
lcdout $fe,$D4,"DriveLock: ON" ; Ce je DriveLOCK vklopljen, samo izpisi
endif
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 82
Tabela 4.5.2: Zgradba in vrstni red skupine podatkov za brezžični prenos
Naslov krmilnika (uC_ID) Tip podatkov (Data_1) Funkcija (Data2)
Ukaz Serout poleg podatkov za pošiljanje potrebuje še informacijo o izbranem priključku
in načinu pošiljanja. Ker gre za programsko implementacijo serijskega prenosa, lahko
uporabimo katerikoli priključek, ki pa mora biti fizično povezan z oddajnim modulom.
Izbran način serijskega prenosa t9600 pomeni neinvertirane nivoje signala s hitrostjo
prenosa podatkov 9600 simbolov na sekundo (Bd).
Program nadaljuje z branjem pritisnjenih tipk. Programsko kodo za branje šestnajstih tipk
v matrični vezavi prikazujeta sliki 4.5.8 in 4.5.9.
high porta.2 ;Vklopi 1. vrstico
low porta.5 ;2. izklopi
low porte.0 ;3. izklopi
low porte.1 ;4. izklopi
if PORTE.2 =1 then GOSUB BTN1 ;Ce je signal na 1. stolpcu je gumb 1
if PORTC.0 =1 then GOSUB BTN2 ;Ce je signal na 2. stolpcu je gumb 2
if PORTC.1 =1 then GOSUB BTN3 ;Ce je signal na 3. stolpcu je gumb 3
if PORTC.2 =1 then GOSUB BTN4 ;Ce je signal na 4. stolpcu je gumb 4
high porta.5 ;Vklopi 2. vrstico
low porta.2 ;Ostale tri izklopi
low porte.0
low porte.1
if PORTE.2 = 1 then GOSUB BTN5 ;Ce je signal na 1. stolpcu je gumb 5
if PORTC.0 = 1 then GOSUB BTN6 ;Ce je signal na 2. stolpcu je gumb 6
if PORTC.1 = 1 then GOSUB BTN7 ;Ce je signal na 3. stolpcu je gumb 7
if PORTC.2 = 1 then GOSUB BTN8 ;Ce je signal na 4. stolpcu je gumb 8
Slika 4.5.8: Branje tipk v matrični vezavi (1)
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 83
Programska koda na slikah 4.5.8 in 4.5.9 izmenično vklaplja napetost na vsako od štirih
vrstic vezave in nato preverja ali je katera tipka prenesla signal na ustrezni stolpec. V
primeru, da program zazna visok napetostni nivo na posameznem priključku stolpca,
izvede skok v ustrezni podprogram, kjer se izvede funkcija izbrane tipke. Po izvedbi
funkcije se program vrne nazaj in nadaljuje z branjem ostalih tipk. Na koncu se z vejitvijo
na oznako Allread ponavlja branje koordinat premika palice in detekcija tipk.
Podprogrami za izvedbo funkcij tipk si zaradi lažjega sledenja programu sledijo v
zaporedju. Prvi je podprogram za pošiljanje ukaza za izmet vabe (slika 4.5.10). Ob vsakem
pritisku na gumb za izmet vabe se izvede podprogram BTN1. Spremenljivka uC_ID dobi
vrednost 1, kar pomeni, da so podatki namenjeni prvemu mikrokrmilniku v sprejemnem
vezju. Program v njem bo izvedel funkcijo številka dva (vrtenje koračnega motorja).
Število obratov določi vrednost v spremenljivki Data2. Definirane vrednosti spremenljivk
se nato pošljejo z ukazom Serout. Po končanem pošiljanju se uporabniku izpiše sporočilo o
izvedeni funkciji z izpisom na prikazovalnik.
if PORTE.2 = 1 then GOSUB POVUP ;Ce je signal na 1. stolpcu je gumb POVUP
if PORTC.0 = 1 then GOSUB POVDWN ;Ce je signal na 2. stolpcu je gumb POVDWN
if PORTC.1 = 1 then GOSUB POVLEFT ;Ce je signal na 3. stolpcu je gumb POVLEFT
if PORTC.2 = 1 then GOSUB POVRIGHT;Ce je signal na 4. stolpcu je gumb POVRIGHT
high porte.1 ;Vklopi 4. vrstico
low porta.5 ;Ostale tri izklopi
low porte.0
low porta.2
if PORTE.2 = 1 then GOSUB BTN9 ;Ce je signal na 1. stolpcu je gumb 9
if PORTC.0 = 1 then GOSUB BTN10 ;Ce je signal na 2. stolpcu je gumb 10
if PORTC.1 = 1 then GOSUB BTN11 ;Ce je signal na 3. stolpcu je gumb 11
if PORTC.2 = 1 then GOSUB BTN12 ;Ce je signal na 4. stolpcu je gumb 12
goto Allread ;Pojdi nazaj na branje komand
Slika 4.5.9: Branje tipk v matrični vezavi (2)
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 84
Tekst za izpis vedno zapišemo v navednicah, vrednosti spremenljivk pa za izpis ločimo z
vejicami. Pazimo da število izpisanih znakov ne preseže dolžine posamezne vrstice
prikazovalnika. Vsak izpis v tem podprogramu vsebuje še števec pritiskov gumba za izmet
vabe, ki se poveča ob vsaki izvedbi te funkcije. Pred izhodom iz podprograma je pavza
dolžine 10 sekund, s čimer onemogočimo pošiljanje ukazov za čas trajanja izmeta vabe.
Sledi podprogram za kontrolo nad pošiljanjem vrednosti premikov igralne palice (slika
4.5.11). Funkcijo omogočanja (ali onemogočanja) pošiljanja koordinat premikov smo
uvedli, ker so gumbi za izmet vabe, premikanje kamere in izpust navezov nameščeni na
ročici igralne palice. Z izklopom pošiljanja preprečimo, da bi nehoteni premiki igralne
palice med pritiskanjem teh gumbov vklapljali pogonske motorje.
Podprogram BTN2 zamenja vrednosti v pomožnih spremenljivkah b1 in b0. Ob njuni
definiciji smo b1 določili začetno vrednost 1, b0 pa je bil nastavljen na 0. Pred pošiljanjem
BTN2: ;Pritisnjen gumb 2 (DriveLOCK)
swap b1,b0 ;Zamenjaj vrednosti v pomoznih spremenljivkah(INIT:b1=1,b0=0)
RETURN ;Skoci nazaj na branje drugih gumbov
BTN1: ;Pritisnjen gumb 1 (Izpust vabe)
uC_ID = 1 ;Ukaz za prvi uC
Data1 = 2 ;Ukaz za koracni motor
Data2 = 150 ;Podatek za funkcijo vrtenja koracnega motorja
Serout portc.6,t9600,[uC_ID, Data1, Data2] ;Poslji podatke
b3 = b3 + 1 ;Povecaj stevec izpusta vabe za 1
lcdout $fe,$94,"BAIT: Release (",#b3,")" ;Izpis na prikazovalnik
pause 10000 ;10 s pavze med ponovnim izmetom
RETURN ;Skoci nazaj na branje drugih gumbov
Slika 4.5.10: Podprogram za pošiljanje ukaza za izmet vabe
Slika 4.5.11: Podprogram za kontrolo nad pošiljanjem premikov igralne palice
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 85
koordinat program preveri stanje spremenljivke DriveLOCK, ki pred tem prevzame
vrednost iz b0 (slika 4.5.7).
Na sliki 4.5.12 sta prikazana podprograma za ločen izpust levega in desnega naveza.
Podprogram BTN3 najprej spremeni vrednosti spremenljivk za tip podatkov (Data_1) in
podatke za funkcije na plovilu (Data_2). Spremenljivka za naslov mikrokrmilnika (Uc_ID)
ohrani vrednost 1. Zaradi lažjega spremljanja programske kode to vrednost ponovno
določimo. V podprogramu BTN4 se spremeni le vrednost spremenljivke za tip podatkov.
Funkciji modela za ločen izpust obeh navezov sta posebej uporabni kadar ne želimo
odvreči obeh navezov na isto mesto.
Za izpust obeh navezov hkrati in za ponovno ponastavitev ročic za izpust, se izvedeta
podprograma BTN5 in BTN6 na sliki 4.5.13.
BTN3: ;Pritisnjen gumb 3 (izpust prvega naveza)
uC_ID = 2 ;Ukaz za drugi uC
Data1 = 3 ;Ukaz za drugi (RIG release 1) servo motor
Serout portc.6,t9600,[uC_ID, Data1]; ;Poslji podatke
lcdout $fe,$94,"RIG: Left Release " ;Izpis na prikazovalnik
RETURN ;Skoci nazaj na branje drugih gumbov
BTN4: ;Pritisnjen gumb 4 (izpust drugega naveza)
uC_ID = 2 ;Ukaz za drugi uC
Data1 = 4 ;Ukaz za tretji (RIG release 2) servo motor
Serout portc.6,t9600,[uC_ID, Data1] ;Poslji podatke
lcdout $fe,$94,"RIG: Right Release " ;Izpis na prikazovalnik
RETURN ;Skoci nazaj na branje drugih gumbov
Slika 4.5.12: Podprograma za pošiljanje ukazov za ločen izpust navezov
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 86
Pošiljanje ukazov za krmiljenje servo motorjev pri izpustih navezov je izvedeno brez
pošiljanja krmilnih podatkov za izvedbo teh funkcij na sprejemni strani (Data_2). Razlog
je v tem, da lahko te podatke posredujemo funkcijam na sprejemni strani neposredno pred
izvedbo, saj se ročice motorjev za izpust vedno zavrtijo za enake kote. Po vsakem
pošiljanju podatkov se funkcije še izpišejo na prikazovalnik.
Nato sledijo podprogrami za krmiljenje osvetlitve na modelu (slika 4.5.14). Z njimi
pošiljamo ukaze za vklope in izklope infrardečih diod na objektivu kamere in svetlečih
diod LED, nameščenih na premcu plovila. Z osvetlitvami upravlja prvi mikrokrmilnik v
sprejemnem vezju, zato ima spremenljivka uC_ID vrednost ena. Vrednost v spremenljivki
za tip ukaza Data_1 se za izvedbo vsake funkcije spremeni. Tako na sprejemni strani
ločimo posamezne ukaze.
Slika 4.5.13: Podprograma za izpust in ponastavitev ročic obeh navezov
BTN5: ;Pritisnjen gumb 5 (izpust obeh navezov)
uC_ID = 2 ;Ukaz za drugi uC
Data1 = 5 ;Ukaz za drugi in tretji (RIG release 1,2) servo motor
Serout portc.6,t9600,[uC_ID, Data1] ;Poslji podatke
lcdout $fe,$94,"RIG: All Release " ;Izpis na prikazovalnik
RETURN ;Skoci nazaj na branje drugih gumbov
BTN6: ;Pritisnjen gumb 6 (reset obeh navezov)
uC_ID = 2 ;Ukaz za drugi uC
Data1 = 6 ;Ukaz za drugi in tretji (RIG set 1,2) servo motor
Serout portc.6,t9600,[uC_ID, Data1] ;Poslji podatke
lcdout $fe,$94,"RIG: All Set " ;Izpis na prikazovalnik
RETURN ;Skoci nazaj na branje drugih gumbov
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 87
Podprograma za krmiljenje vklopa in izklopa napajanja kamere sta prikazana na sliki
4.5.15.
BTN7: ;Pritisnjen gumb 6 (vklop LED osvetlitve)
uC_ID = 1 ;Ukaz za prvi uC
data1 = 3 ;Ukaz za vklop LED osvetlitve
Serout portc.6,t9600,[uC_ID, Data1] ;Poslji podatke
lcdout $fe,$94,"LIGHT: LED ON " ;Izpis na prikazovalnik
RETURN ;Skoci nazaj na branje drugih gumbov
BTN8: ;Pritisnjen gumb 8 (izklop LED osvetlitve)
uC_ID = 1 ;Ukaz za prvi uC
Data1 = 4 ;Ukaz za izklop LED osvetlitve
Serout portc.6,t9600,[uC_ID, data1] ;Poslji podatke
lcdout $fe,$94,"LIGHT: LED OFF " ;Izpis na prikazovalnik
RETURN ;Skoci nazaj na branje drugih gumbov
BTN9: ;Pritisnjen gumb 9 (vklop IR osvetlitve)
uC_ID = 1 ;Ukaz za prvi uC
data1 = 5 ;Ukaz za vklop IR osvetlitve
Serout portc.6,t9600,[uC_ID, data1] ;Poslji podatke
lcdout $fe,$94,"LIGHT: IR ON " ;Izpis na prikazovalnik
RETURN ;Skoci nazaj na branje drugih gumbov
BTN10: ;Pritisnjen gumb 10 (izklop IR osvetlitve)
uC_ID = 1 ;Ukaz za prvi uC
Data1 = 6 ;Ukaz za izklop IR osvetlitve
Serout portc.6,t9600,[uC_ID, Data1] ;Poslji podatke
lcdout $fe,$94,"LIGHT: IR OFF " ;Izpis na prikazovalnik
RETURN ;Skoci nazaj na branje drugih gumbov
Slika 4.5.14: Podprogrami za pošiljanje ukazov za krmiljenje z osvetlitvijo na modelu
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 88
Sledijo podprogrami za premikanje kamere. Podprograma POWUP in POWDWN ne
pošiljata ukazov sprejemniku, ker funkcija vertikalnih premikov kamere ni strojno podprta.
Podprograma na sliki 4.5.16 le izpišeta, da funkciji nista podprti.
Kamero lahko premikamo le v vodoravni smeri. Na sliki 4.5.17 so prikazani podprogrami
za pošiljanje ukazov za premike.
BTN11: ;Pritisnjen gumb 11 (vklop kamere)
uC_ID = 1 ;Ukaz za prvi uC
Data1 = 7 ;Ukaz za vklop kamere
Serout portc.6,t9600,[uC_ID, Data1] ;Poslji podatke
lcdout $fe,$94,"CAMERA: ON " ;Izpis na prikazovalnik
RETURN ;Skoci nazaj na branje drugih gumbov
BTN12: ;Pritisnjen gumb 12 (izklop kamere)
uC_ID = 1 ;Ukaz za prvi uC
Data1 = 8 ;Ukaz za izklop kamere
Serout portc.6,t9600,[uC_ID, Data1] ;Poslji podatke
lcdout $fe,$94,"CAMERA: OFF " ;Izpis na prikazovalnik
RETURN ;Skoci nazaj na branje drugih gumbov
POVUP: ;Ta gumb nima funkcije
lcdout $fe,$94,"NOT USED " ;Izpis na prikazovalnik
RETURN ;Skoci nazaj na branje drugih gumbov
POVDWN: ;Ta gumb nima funkcije
lcdout $fe,$94,"NOT USED " ;Izpis na prikazovalnik
RETURN ;Skoci nazaj na branje drugih gumbov
Slika 4.5.15: Podprograma za pošiljanje ukazov za vklop in izklop kamere
Slika 4.5.16: Podprograma za izpis o nepodprtih funkcijah gumbov igralne palice
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 89
Servo motor za premikanje kamere želimo vrteti med skrajnim levim in skrajnim desnim
položajem. Praktični poskusi z izbranimi motorji so pokazali, da so za dosego skrajnega
POVLEFT: ;Kamera levo
if Servo < 220 then ;Ce je vrednost manj kot 220 potem pristej
Servo = Servo + 10 ;Pristej 10 (INIT: Servo = 150)
else ;Drugace ne pristevaj in pojdi nazaj (dosegel skrajno levo)
RETURN ;Skoci nazaj na branje drugih gumbov
endif ;Konec preverjanja
uC_ID = 2 ;Ukaz za drugi uC
data1 = 2 ;Ukaz za prvi servo motor (kamera)
data2 = Servo ;Prevzem vrednosti spremenljivke servo
Serout portc.6,t9600,[uC_ID, data1, data2] ;Poslji podatke
lcdout $fe,$94,"VIEW: LEFT " ;Izpis na prikazovalnik
RETURN ;Skoci nazaj na branje drugih gumbov
POVRIGHT: ;Kamera desno
if Servo > 70 then ;Ce je vrednost vec kot 70 potem odstej(150=zacetna)
Servo = Servo - 10 ;Odstej 10
else ;Drugace ne odstevaj in pojdi nazaj. (dosegel skrajno desno)
RETURN ;Skoci nazaj na branje drugih gumbov
Endif ;Konec preverjanja
uC_ID = 2 ;Ukaz za drugi uC
Data1 = 2 ;Ukaz za prvi servo motor
Data2 = Servo ;Prevzem vrednosti spremenljivke servo
Serout portc.6,t9600,[uC_ID, Data1, Data2] ;Poslji podatke
lcdout $fe,$94,"VIEW: RIGHT " ;Izpis na prikazovalnik
RETURN ;Skoci nazaj na branje drugih gumbov
goto Allread ;Pojdi nazaj na začetek branja ukazov
Slika 4.5.17: Podprogrami za pošiljanje ukazov za premikanje kamere
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 90
levega položaja potrebni pulzi dolžine 2,2 ms, za skrajno desno lego pa dolžine 0,7 ms.
Sredinski položaj osi dosežemo s pulzi standardne dolžine 1,5 ms. Položaje osi motorja
krmilimo s pošiljanjem dejanskih vrednosti za funkcijo, ki bo upravljala z motorjem na
sprejemni strani. Tam bo uporabljen ukaz Pulsout, ki bo na izbranem priključku dajal servo
motorju pulze z ločljivostjo 10 µs. Ta ločljivost velja le za izbrani 4 MHz oscilator. Pri tej
ločljivosti moramo torej za dosego pulza dolžine 2,2 ms funkciji za argument poslati
število 220. Za dosego vmesnih položajev premika spreminjamo poslano vrednost med 220
in 70, po korakih deset. Začetna vrednost za spremenljivko Servo je 150 in predstavlja
srednji položaj kamere. Ob vsakem pritisku na gumb POVLEFT ali POVRIGHT se najprej
preveri ali so dosežene meje, nato pa se vrednost spremenljivke ustrezno zmanjša ali
poveča za deset. Po spremembi vrednosti se rezultati pošljejo, vsak podprogram pa se
zaključi z izpisom opravila na prikazovalnik.
Koda mikrokrmilnika v oddajnem vezju se zaključi z implementacijo funkcij
kalibracijskega menija (slika 4.5.18).
Skok programa v kalibracijski meni povzročita nepravilno nastavljena izhodiščna položaja
obeh osi igralne palice. Na njeni spodnji strani se nahajata dva drsnika, s katerima lahko
mehansko nastavljamo začetna položaja obeh potenciometrov. V primeru, da program na
Slika 4.5.18: Podprogram za kalibracijo igralne palice
calibration:
lcdout $fe,1, " -Calibration Mode- " ;Izpis naslova menija (1. Vrstica)
lcdout $fe,$c0," X~128 Y~128 " ;izpis referenčnih vrednosti (2.vr)
lcdout $fe,$D4," Reset PWR when done" ;Ponovno vklopi napravo ko koncas(4.vr)
_repeat:
adcin 0, Xos ;Beri X os
adcin 1, Yos ;Beri y os
lcdout $fe,$94," " ;Postavi se v 3. vrstico in jo zbrisi
lcdout $fe,$94," X=", #Xos, " Y=", #Yos ;Izpis koordinat (3. vr)
goto _repeat ;Ponavlaj do izklopa naprave
end
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 91
začetku zazna odklon začetnih vrednosti, lahko v tem meniju to popravimo. Program izpiše
idealni vrednosti obeh osi (128), nato pa bere in prikazuje dejanski vrednosti rezultatov
A/D pretvorbe. Ta del programa je izveden kot neskončna zanka, zato moramo, ko smo z
nastavitvami zadovoljni, ponovno zagnati program z izklopom in vklopom naprave.
Razlog za takšno odločitev je v zahtevi po čim manjšem številu vrstic programske kode.
4.6 Koda prvega mikrokrmilnika v sprejemnem delu
V sprejemnem vezju sta dva mikrokrmilnika PIC16F876A. Oba sprejemata ukaze preko
skupnega vodila, vendar pa so ukazi programsko ločeni. Prvi mikrokrmilnik upravlja s
pogonskima motorjema, koračnim motorjem za izmet vabe, vklopi in izklopi osvetlitve ter
s kamero. Programsko mu dodelimo naslov preko spremenljivke uC_ID in tako izvaja
ukaze le, če ima prejeti podatek za to spremenljivko pravo vrednost.
4.6.1 Diagram poteka prvega mikrokrmilnika
Na sliki 4.6.1 je prikazan diagram poteka programske kode za prvi mikrokrmilnik v
sprejemnem vezju. Po inicializaciji spremenljivk mikrokrmilnik neprestano sprejema in
vrednoti prejete ukaze. Shranjevanje podatkov poteka tako, da se prejeti paketi podatkov
shranjujejo v spremenljivke po enakem vrstnem redu, kot so bili poslani. Najprej program
preveri ali prejeti podatki vsebujejo njegov naslov. V primeru prvega mikrokrmilnika je to
prejeta ASCII koda za znak številke 1. V primeru, da prvi paket prejetih podatkov ne
vsebuje te kode, program veji na oznako NoData, kjer mikrokrmilnik izvaja utripanje diode
LED. Če je naslov pravilen, so prispeli podatki na skupnem vodilu namenjeni njemu in
programska koda prične vrednotiti vrednosti v spremenljivki Data1 in izvajati zahtevane
funkcije.
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 92
Slika 4.6.1: Diagram poteka za 1. mikrokrmilnik v sprejemnem vezju
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 93
4.6.2 Opis kode
Pričnemo z vključitvijo rutin za serijsko komunikacijo in inicializacijo registrov
mikrokrmilnika PIC16F876A (slika 4.6.2).
V začetnih nastavitvah nastavimo priključke vrat A kot izhodne. Služijo za krmiljenje
osvetlitve in kamere, zato jim na začetku definiramo nizko logično stanje. Koračni motor
in oba releja krmilimo s priključki na vratih B, zato naj bodo tudi ti izhodni in na začetku v
nizkem logičnem stanju. Edini vhodni priključek tega mikrokrmilnika je priključek sedem
na vratih C, ki služi kot vhod za prejete podatke sprejemnega modul, zato sedmi bit
registra TRISC nastavimo kot vhod (1), ostale pa definiramo kot izhodne. Priključka RC1
in RC2 bomo uporabili za izhod obeh pulzno-širinsko moduliranih signalov. Na začetku
naj bodo vsi priključki teh vrat, z registrom PORTC, nastavljeni na nizko logično stanje.
Nato najavimo spremenljivke za funkcije programa, kot prikazuje slika 4.6.3.
include "modedefs.bas" ;Vkljuci rutine za serijsko komunikacijo
TRISA = %000000 ;V/I: vsi Izhodi (za IR, LED, kamera)
PortA = %000000 ;V/N: vsi Nizko
TRISB = %00000000 ;V/I: vsi Izhodi (za koracni motor in releja)
PortB = %00000000 ;V/N : vsi Nizko
TRISC = %10000000 ;V/I: 7-Vhod (Rx-sprejemnik), ostali Izhod
PortC = %00000000 ;V/N: vsi Nizko
Slika 4.6.2: Inicializacija registrov 1. mikrokrmilnika v sprejemnem vezju
Slika 4.6.3: Najava spremenljivk v kodi 1. mikrokrmilnika v sprejemniku
uC_ID var byte ;Spremenljivka za naslov mikrokrmilnika
Data1 var byte ;Spremenljivka za kategorijo ukaza
Xos var byte ;Spremenljivka za X os
Yos var byte ;Spremenljivka za Y os
Counter var byte ;Pomozna spremenljivka za stevec obratov koracnega motorja
freq con 2000 ;Frekvenca za PWM
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 94
Spremenljivki uC_ID in Data1 imata enaki vlogi kot v oddajni kodi in hranita prejeti
vrednosti za naslov mikrokrmilnika in kategorijo ukaza. V Xos in Yos se vpišeta prejeti
vrednosti obeh koordinat premika igralne palice. Pomožno spremenljivko Counter
uporabljamo za števec obratov koračnega motorja. Definiramo še frekvenco freq, ki pa jo
lahko najavimo kot konstanto, saj se njena vrednost med programom ne bo spreminjala.
Vrednost nastavimo na 2 kHz.
Nato začnemo s pisanjem kode glavnega dela programa s funkcijami za vrednotenje tipa
prejetih podatkov v spremenljivki Data1 (slika 4.6.4).
Najprej vklopimo signalno diodo LED, ki označuje, da mikrokrmilnik deluje in da se
program izvaja. Nato program z ukazom serin sprejme prispele podatke. V primeru, da
oddajnik ne pošilja nobenih ukazov, se program na tej vrstici ustavi in čaka na prispele
podatke. To je dobra lastnost, saj se tako prepreči izvajanje neželenih funkcij. Ko podatki
prispejo, program najprej preveri ali prvi paket podatkov Data1 ustreza vrednosti ena, torej
naslovu tega krmilnika. Če prispela vrednost ni enaka 1, program veji na oznako NoData,
kjer preko utripa druge diode LED označi, da je neke podatke sicer sprejel, vendar niso
Slika 4.6.4: Vrednotenje tipa prejetih podatkov 1. mikrokrmilnika v sprejemniku
main: ;Zacetek glavnega programa
high portc.3 ;indikator da se program izvaja
serin portc.7,t9600, uC_ID, Data1, Xos, Yos ;Sprejmi serijske podatke
if uC_ID <>1 then NoData ;Ce ni podatkov za prvi krmilnik, pojdi na NoData
if Data1=1 then DC ;Ce so podatki za pogonska motorja pojdi na DC
if Data1=2 then Stepper ;Ce so podatki za koracni motor, skok na stepper
if Data1=3 then LED_ON ;Ce so podatki za vklop LED, skok na LED_ON
if Data1=6 then LED_OFF ;Ce so podatki za izklop LED, skok na LED_OFF
if Data1=5 then IR_ON ;Ce so podatki za vklop IR, pojdi na IR_ON
if Data1=4 then IR_OFF ;Ce so podatki za izklop IR, pojdi na IR_OFF
if Data1=7 then CAM_ON ;Ce so podatki za vklop kamere, pojdi na CAM_ON
if Data1=8 then CAM_OFF ;Ce so podatki za izklop kamere, pojdi na CAM_OFF
goto main ;Ce ni nič od tega potem skoci na main
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 95
namenjeni njemu. S tem zagotovimo kontrolo nad delovanjem in hkrati preverjamo, da
program ni neželeno obstal. Nato pričnemo s preverjanjem vrednosti spremenljivke za
kategorijo ukaza. Podatki so poslani in prejeti v obliki številčne vrednosti med ena in
osem, tako da ob sprejetju ene od števil program lahko veji na ustrezno oznako
podprogramov za izvedbo funkcij. V primeru, da ne sprejme nobene od teh števil, program
skoči nazaj na začetek kjer je zopet pripravljen na sprejemanje novih ukazov. Nato
pričnemo s pisanjem funkcij za prejete ukaze na sliki 4.6.5. Vsaka funkcija vklopi ali
izklopi določen priključek na vratih B in s tem krmili oba načina osvetlitve modela in
kamero. Tako dobimo možnost upravljanja s porabo.
LED_ON: ;Funkcija za vklop LED osvetlitve
high PortA.3 ;Vklopi LED osvetlitev
goto main ;Skok na začetek programa in ponovno branje ukazov
LED_OFF: ;Funkcija za izklop LED osvetlitve
low PortA.3 ;Izklopi LED osvetlitev
goto main ;Skok na začetek programa in ponovno branje ukazov
IR_ON: ;Funkcija za vklop IR osvetlitve
high PortA.2 ;Vklopi IR osvetlitev
goto main ;Skok na začetek programa in ponovno branje ukazov
IR_OFF: ;Funkcija za izklop IR osvetlitve
low PortA.2 ;izklopi IR osvetlitev
goto main ;Skok na začetek programa in ponovno branje ukazov
CAM_ON: ;Funkcija za vklop kamere
high PortA.1 ;Vklopi kamero
goto main ;Skok na začetek programa in ponovno branje ukazov
CAM_OFF: ;Funkcija za izklop kamere
low PortA.1 ;Izklopi kamero
goto main ;Skok na začetek programa in ponovno branje ukazov
Slika 4.6.5: Funkcije za implementacijo prejetih ukazov za 1. mikrokrmilnik (1)
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 96
Nadaljujemo s pisanjem funkcij za krmiljenje pogonskih motorjev (slika 4.6.6).
DC: ;Funkcije za krmiljenje pogonskih motorjev
if Yos >= 120 & Yos <= 140 and Xos >= 120 & Xos <= 140 then ;Stop podrocje
HPWM 1,0,FREQ ;PWM = 0 na prvem kanalu (Levi motor)
HPWM 2,0,FREQ ;PWM = 0 na drugem kanalu (Desni motor)
endif ;Ce VSAJ eden od njiju ni v stop podrocjupotem pojdi dalje
if Xos > 120 & Xos < 140 & Yos > 140 then ;Ce je X os v stop, Y os pa NAPREJ:
gosub RelayFWD ;Preklopi kretnico (releja) za oba motorja v urino smer
HPWM 1,Yos,FREQ ;LEVI motor vrti s hitrostjo yos
hPWM 2,Yos,FREQ ;DESNI motor vrti s hitrostjo Yos
endif ;Ce ni izpolnjen pogoj za voznjo naprej, pojdi dalje
if Xos > 120 & Xos < 140 & Yos < 120 then ;Ce je X os v stop, Y os pa NAZAJ:
gosub RelayBCK ;Preklopi kretnico (releja) za oba motorja v protiurno smer
HPWM 1,255-Yos,FREQ ;LEVI motor vrti s hitrostjo yos
hPWM 2,255-Yos,FREQ ;DESNI motor vrti s hitrostjo Yos
endif ;Ce ni izpolnjen pogoj za voznjo nazaj, pojdi dalje
if yos > 120 & yos < 140 & xos > 140 then ;Ce je Y os v stop, X os pa LEVO:
gosub RelayFWD ;Preklopi kretnico (releja) za oba motorja v urino smer
HPWM 1,0,FREQ ;LEVI motor STOP
hPWM 2,xos,FREQ ;DESNI motor vrti
endif ;Ce ni izpolnjen pogoj za voznjo LEVO, pojdi dalje
if yos > 120 & yos < 140 & xos < 120 then ;Ce je Y os v stop, X os pa DESNO:
gosub RelayFWD ;Preklopi kretnico (releja) za oba motorja v urino smer
HPWM 1,255-xos,FREQ ;LEVI motor vrti
hPWM 2,0,FREQ ;DESNI motor STOP
endif ;Ce ni izpolnjen pogoj za voznjo DESNO, pojdi dalje
goto main ;Ce ni izpolnjen nobeden od pogojev polozaja osi rocice, pojdi nazaj
Slika 4.6.6: Funkcije za implementacijo prejetih ukazov za 1. mikrokrmilnik (2)
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 97
Pričnemo s preverjanjem prejetih vrednosti koordinat krmilne ročice igralne palice. Najprej
preverimo ali je položaj ročice v nevtralnem položaju. Za X in Y os izberemo področje
vrednosti med 120 in 140. Če sta vrednosti spremenljivk Xos in Yos v teh mejah, z
ukazoma HPWM nastavimo vrednosti za delovni cikel obeh pulzno-širinskih kanalov na
0 %. Motorja pri takšnih nastavitvah mirujeta.
Ukaz HPWM upravlja s strojno podprto funkcijo generiranja pulznega signala na izbranem
kanalu, ki je prvi argument te funkcije. Vrednost drugega argumenta je delovni cikel, ki je
številčna vrednost med 0 in 255. Nič pomeni signal brez visokih nivojev, 255 pa
konstanten visok nivo signala, brez pavze. Vmesne vrednosti definirajo ustrezna razmerja
med visokimi in nizkimi stanji signala in na ta način določajo povprečno vrednost
napetosti. Zadnji argument tega ukaza je frekvenca pulzov, katero smo na začetku
programa nastavili na 2 kHz.
Če vrednosti spremenljivk Xos in Yos nista v mejah za mirovanje motorjev (t.i stop
področje), v naslednjih preverjanjih ugotovimo kakšni so položaji ročice in izvedemo
različne smeri vrtenja in hitrosti. Če je vrednost koordinate Y v matematično pozitivnem
področju ima spremenljivka Yos vrednost večjo od 140. Pri pogoju, da je koordinata X v
središčnem položaju to pomeni, da je zahtevana smer vožnje naprej. Oba motorja se
morata takrat vrteti v urino smer s hitrostjo, ki jo določi vrednost spremenljivke Yos. Pred
zagonom motorja program skoči v podprogram, kjer s preklopi obeh relejev usmeri pulzni
signal na ustrezni vhod krmilnega vezja H-most. Če je vrednost spremenljivke Yos manjša
od 120, Xos pa je v stop področju, to pomeni vzvratno vožnjo. V tem primeru pomeni
manjšanje vrednosti spremenljivke Yos, večjo hitrost, zato moramo v argumentu ukaza
HPWM pri obeh motorjih to popraviti tako, da od največje vrednosti za to spremenljivko
odštejemo dejansko vrednost. Hitrost motorjev je sedaj obratno sorazmerna z vrednostjo
spremenljivke Yos. Pred zagonom motorjev sledi še skok v podprogram, ki preklopi releja
v ustrezna položaja za protiurno smer vrtenja obeh motorjev. Za smer položaja ročice levo
in desno postopamo podobno, le da sedaj preverjamo ali je koordinata Y v t.i stop področju
in kakšna je vrednost spremenljivke Xos.
V obeh primerih krmilimo hitrost le enemu motorju, drugi pa miruje. Izvedba funkcij
podprogramov za krmiljenje obeh relejev pri spremembah smeri vrtenja motorjev je
prikazana na sliki 4.6.7. Oba podprograma krmilita posebna releja z dvema stanjema.
V prvem podprogramu oba releja preklopita pulzna signala na vhoda H-most vezja za
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 98
vrtenje v urino smer, v drugem pa na vhoda za vrtenje v protiurno smer. Po vklopih sledi
krajša pavza dolžine 20 ms, da se preklopa lahko izvedeta. Nato program izklopi signale,
da vezje po nepotrebnem ne troši energije na tuljavicah. Preklopljeno stanje se namreč v
teh relejih ohrani tudi ko preklopnim tuljavicam prekinemo napajanje. Z ukazom return se
po izvedenih funkcijah podprogram vrne na mesto, kjer je bil klican.
Nato zapišemo funkcije za krmiljenje koračnega motorja za izmet vabe (slika 4.6.8).
Pričnemo z najavo spremenljivke za Speed, ki predstavlja pavzo med vklopi navitja.
Vrednost 10 predstavlja hkrati tudi hitrost vrtenja, saj manjša pavza med vklopi
posameznih navitij koračnega motorja pomeni večjo hitrost vrtenja. Nato program 150 krat
ponovi vklope in izklope navitij in tako zavrti os motorja 150 krat. Z uporabljenimi
zobniškimi prenosi to število obratov osi motorja ustreza enemu ciklu obrata mehanizma
za izmet vabe.
RelayFWD:
high portb.7 ;Usmeri PWM na prvi motor (urina smer) Preklop releja
high portb.6 ;Usmeri PWM na drugi motor (urina smer) Preklop releja
pause 50 ;Pocakaj, da releji preklopijo
PortB = %00000000 ;Izklopi signale relejem
return ;izhod iz podprograma za kretnico "naprej"
RelayBCK:
high portb.5 ;Usmeri PWM na prvi motor (protiurna smer). Preklop releja
high portb.4 ;Usmeri PWM na drugi motor (protiurna smer). Preklop releja
pause 50 ;Pocakaj, da releji preklopijo
PortB = %00000000 ;Izklopi signale relejem
return ;izhod iz podprograma za kretnico "nazaj"
Slika 4.6.7: Podprograma za preklope relejev pri krmiljenju pogonskih motorjev
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 99
Na koncu napišemo še rutine funkcije za utripanje signalne diode LED, ki označuje, da
prejeti podatki niso namenjeni za ta mikrokrmilnik slika 4.6.9.
Program vklopi diodo na petem priključku vrat C in počaka 50 ms preden jo izklopi. V
primeru daljšega obdobja brez podatkov za ta mikrokrmilnik dioda utripa. Program na
Stepper:
speed con 10 ;Pavza med vklopi navitij (hitrost vrtenja)
for Counter = 0 to 150 ;Vrti motor za en cikel izmeta vabe
PortB = %00000001 ;Aktiviraj samo prvo navitje
pause speed ;Pocakaj 10 ms (speed)
PortB = %00000010 ;Aktiviraj samo drugo navitje
pause speed ;Pocakaj 10 ms (speed)
PortB = %00000100 ;Aktiviraj samo tretje navitje
pause speed ;Pocakaj 10 ms (speed)
PortB = %00001000 ;Aktiviraj samo cetrto navitje
pause speed ;Pocakaj 10 ms (speed)
PortB = %00000000 ;Izklopi navitja
next Counter ;Naslednja vrednost stevca
goto main ;Skok na zacetek programa in ponovno branje ukazov
NoData: ;Utrip diode LED, ko komanda ni namenjena prvemu mikrokrmilniku
high portc.4 ;Vklop diode
pause 50 ;Cakaj 50 ms
low portc.4 ;Izklop diode
goto main ;Skok na zacetek programa in ponovno branje ukazov
end ;Konec programa
Slika 4.6.8: Funkcije za krmiljenje koračnega motorja za izmet vabe
Slika 4.6.9: Funkcija za utripanje diode LED v 1. mikrokrmilniku v sprejemnem vezju
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 100
koncu zaključimo z ukazom end, ki sicer ni nujno potreben, vendar s tem programu
omogočimo referenco, če zaide.
4.7 Koda drugega mikrokrmilnika v sprejemnem delu
Drugi mikrokrmilnik v sprejemnem vezju krmili servo motorje za izpust obeh navezov in
premikanje kamere. Hkrati preverja stanje akumulatorskih baterij na krovu in izpisuje
vrednosti kapacitet na prikazovalnik LCD.
4.7.1 Diagram poteka drugega mikrokrmilnika
Na sliki 4.7.1 je prikazan diagram poteka za drugi mikrokrmilnik v sprejemnem vezju.
Slika 4.7.1: Diagram poteka za 2. mikrokrmilnik v sprejemnem vezju
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 101
4.7.2 Opis kode
Pričnemo z vključitvijo rutin za serijsko komunikacijo in inicializacijo registrov
mikrokrmilnika PIC16F876A (slika 4.7.2).
Priključke RA0, RA1 in RA3 nastavimo kot vhodne, ker jih potrebujemo za merjenje
napetosti baterij. Za priklop prikazovalnika LCD uporabimo vrata B, zato definiramo
priključke kot izhodne. Priključek RC7 nastavimo kot vhodni, ker krmilnik preko njega
sprejema serijske podatke. Ostale registre nastavimo kot izhode za krmiljenje servo
motorjev. Vrednost ADCON1 registra naj bo %00000100, da aktiviramo želene kanale za
A/D pretvorbo. Nato definiramo parametre za A/D pretvorbo in parametre za komunikacijo
s prikazovalnikom LCD (slika 4.7.3). Izberemo 8-bitno ločljivost A/D pretvorbe, ki
zadošča za 28 (256) različnih digitalnih vrednosti v območju napetosti za pretvorbo. Čas
vzorčenja merjenih napetosti nastavimo na 50 µs, za vir vzorčevalnega signala pa izberemo
notranji oscilator mikrokrmilnika.
Za komunikacijo s prikazovalnikom LCD izberemo vrata B na mikrokrmilniku
PIC16F876A in določimo kateri priključki naj služijo za pretok podatkov in krmilne linije.
Tudi za prikazovalnik na plovilu izberemo 4-bitno komunikacijo z mikrokrmilnikom.
Nastavitve so enake, kot v kodi oddajnika, z izjemo določitve števila vrstic, ki jih v tem
primeru nastavimo na dva, saj je na krovu plovila prikazovalnik z dvema vrsticama.
Slika 4.7.2: Inicializacija registrov 2. mikrokrmilnika v sprejemnem vezju
include "modedefs.bas" ;Vkljuci rutine za serijsko komunikacijo
TRISA = %001011 ;Prikljucki 0,1,3 so vhodi ( A/D). Za napetost baterij
PortA = %000000 ;V/N: vsi Nizko
TRISB = %00000000 ;V/I: vsi Izhodi (za LCD)
PortB = %00000000 ;V/N: vsi Nizko
TrisC = %10000000 ;RC.7 naj bo I_nput za RX ostali O_utput
PortC = %00000000 ;V/N: vsi Nizko
ADCON1 = %00000100 ;PortA 0,1,3 naj bodo A/D vhodi
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 102
Nadaljujemo z najavo spremenljivk za uporabo v funkcijah (slika 4.7.4).
Vse spremenljivke, razen Logic in Load, lahko pri najavi ustvarimo dolžine byte. Njima je
potrebno zagotoviti večji prostor v pomnilniku, ker hranita vmesne vrednosti izračunov, ki
define ADC_BITS 8 ;Rezultat A/D pretvorbe naj ima 8 bitov
define ADC_CLOCK 3 ;Za A/D uro uporabi notranji RC oscilator
define ADC_SAMPLEUS 50 ;Čas vzorčenja v us
define LCD_DREG PORTB ;Dolocitev porta za podatkovne linije (Data REGister)
define LCD_DBIT 4 ;Dolocitev prve podatkovne linije-RB4 (RB7 je zadnja)
define LCD_RSREG PORTB ;Dolocitev porta za RS linijo - PortB
define LCD_RSBIT 3 ;Dolocitev pina za RS linijo – RB3
define LCD_EREG PORTB ;Dolocitev porta za E linijo - PortB
define LCD_EBIT 0 ;Dolocitev pina za E linijo – RB0
define LCD_BITS 4 ;Dolocitev nacina komunikacije – 4 bitna
define LCD_LINES 2 ;Dolocitev stevila vrstic prikazovalnika – 2 vrstici
define LCD_COMMANDUS 2000 ;Dolocitev pavze med kontrolnimi ukazi – 2000 us
define LCD_DATAUS 50 ;Dolocitev pavze med posiljanjem podatkov – 50 us
Slika 4.7.3:Definicije parametrov za A/D pretvorbo in komunikacijo s prikazovalnikom
Slika 4.7.4: Najava spremenljivk v kodi 2. mikrokrmilnika v sprejemnem vezju
b0 var byte ;Pomozna spremenljivka za servo motorje
uC_ID var byte ;Spremenljivka za naslov mikrokrmilnika
Data1 var byte ;Spremenljivka za kategorijo ukaza
Data2 var byte ;Spremenljivka za podatke funkcijam
Bat1 var byte ;Spremenljivka za rezultat A/D pretvorbe 1. baterije
Bat2 var byte ;Spremenljivka za rezultat A/D pretvorbe 2. baterije
Logic var word ;Spremenljivka za izpis kapacitete 1. baterije
Load var word ;Spremenljivka za izpis kapacitete 2. baterije
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 103
presegajo vrednosti 256. Nato začnemo s pisanjem funkcij glavnega dela programa (slika
4.7.5).
Napetosti obeh akumulatorskih baterij na plovilu pretvorimo v digitalno vrednost z
meritvijo preko A/D kanala nič in ena (priključka RA0 in RA1), ter vrednosti shranimo v
spremenljivki Bat1 in Bat2. Nato rezultate pretvorimo, da bodo v mejah med 0 in 100, kar
predstavlja odstotke napolnjenosti baterij.
Vrednost za izpis na prikazovalnik LCD dobimo tako, da od rezultata A/D pretvorbe
odštejemo vrednost pretvorbe, ki ustreza najmanjši želeni napetosti merjene baterije.
Dobljeno vrednost nato množimo s 100 in na koncu še delimo z razliko največje in
najmanjše vrednosti A/D pretvorbe. Vrednosti za računanje razlike določimo
eksperimentalno, z meritvijo rezultatov A/D pretvorbe napetosti polne (12,6 V) baterije in
vrednosti napetosti pri prazni bateriji (10,5 V), pri napetosti 10,5 V. Slednja vrednost
napetosti je tista, pod katero ne želimo izprazniti baterij. Program nadaljujemo s funkcijami
sprejemanja in vrednotenja prejetih podatkov, kot prikazuje slika 4.7.6. Program sprejme
vrednost naslova mikrokrmilnika uC_ID, vrednost za kategorijo ukaza Data1 in podatke
funkcijam Data2.
main: ;Zacetek glavnega programa
high portc.4 ;indikator da se program izvaja
adcin 0, Bat1 ;Beri rezultat A/D pretvorbe napetosti 1. baterije
adcin 1, Bat2 ;Beri rezultat A/D pretvorbe napetosti 2. baterije
Logic = ((Bat1 - 122) * 100 ) / 24 ;MAX=146(12.6V) MIN= 122(10,5V)
Load = ((Bat2 - 117) * 100 ) / 23 ;MAX=140(12.6V) MIN= 117(10,5V)
lcdout $fe,1, "ACCU Logic: ", #Logic,"%" ;Kapaciteta baterije za logiko
lcdout $fe,$c0,"ACCU Load: ", #Load,"%" ;Kapaciteta baterije bremen
Slika 4.7.5: Določanje in izpis stanja akumulatorskih baterij na krovu
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 104
Nato preveri ali je vrednost naslova v spremenljivki uC_ID enaka dva in v nasprotnem
primeru veji na oznako NoData, kjer z utripom diode uporabniku sporoča, da prejeti
podatki niso namenjeni drugemu mikrokrmilniku.
Če je naslov mikrokrmilnika ustrezen, program prične z vrednotenjem podatkov o
kategoriji ukaza in veji na ustrezne oznake.
Nadaljujemo s podprogrami za izvedbo funkcij drugega mikrokrmilnika. Pričnemo s
funkcijo krmiljenja servo motorja za premikanje kamere (slika 4.7.7).
Servo motorji potrebujejo med vrtenjem do želenega kota zasuka stalno prisotnost krmilnih
pulzov, zato pošljemo pulze 60 krat. Vrednost določimo eksperimentalno, saj se hitrosti
vrtenja servo motorjev razlikujejo. Med pošiljanjem so potrebne krajše pavze, ker krmilna
serin portc.7,t9600, uC_ID, Data1, Data2 ;Sprejmi serijske podatke
if uC_ID <> 2 then NoData ;Ce ni podatkov za drugi krmilnik, pojdi na NoData
if Data1=2 then ServoCAM ;Ce so podatki za premik kamere pojdi na ServoCAM
if Data1=3 then ServoRIG1 ;Ce so podatki za izpust naveza 1, skok na ServoRIG1
if Data1=4 then ServoRIG2 ;Ce so podatki za izpust naveza 2, skok na ServoRIG2
IF Data1=5 then ServoRIG12 ;Ce so podatki za izpust obeh navezov
IF Data1=6 then ServoRIGSET ;Ce so podatki za izpust obeh navezov
goto main ;Ce ni nič od tega potem skoci na main
ServoCAM: ;Podprogram za premikanje kamere
For b0 = 1 to 60 ;Poslji signal 60 krat, da se motor lahko prevrti
pulsout Portc.2, Data2 ;Data2 * 10 usec = dolzina pulza
pause 10 ;10 ms je obicajni reakcijski cas za vecino servo motorjev
next ;Ponovi
goto main ;Po koncanju skok nazaj na branje ukazov
Slika 4.7.6: Sprejemanje in vrednotenje prejetih podatkov v kodi 2. mikrokrmilnika
Slika 4.7.7: Podprogram za krmiljenje servo motorja za premikanje kamere
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 105
elektronika potrebuje določen čas za odziv. Običajni reakcijski časi servo motorjev so med
10 in 20 µs. Po zaključku funkcije program veji nazaj na branje prispelih ukazov. Nato
zapišemo funkcije za krmiljenje obeh servo motorjev za izpust (slika 4.7.8) in ponastavitev
navezov (slika 4.7.9).
Krmiljenje servo motorjev za izpust navezov deluje podobno kot premikanje kamere. V teh
primerih so koti zasukov za izpust in ponastavitev ročic motorjev konstantne vrednosti,
zato ne potrebujemo spremenljivk za podatke o zasukih. Vrednosti določimo kar pred
izvedbo pošiljanja pulzov. Upoštevati je potrebno, da sta levi in desni motor z vgradnjo v
trup modela zrcalno premaknjena, zato se morata njuni osi za izpust navezov proti
zadnjemu delu plovila zavrteti v nasprotnih smereh. Tako motorju za izpust levega naveza
pošiljamo pulze za vrtenje v skrajno levo smer, desnemu pa pulze za skrajni desni položaj
osi. Pri ponastavitvah mehanizmov zamenjamo vrednosti.
ServoRIG1: ;Podprogram za izpust naveza 1
For b0 = 1 to 60 ;Poslji signal 60 krat, da se motor lahko prevrti
pulsout Portc.1, 230 ;230 * 10usec = 2,3 msec (ukaz za zasuk 180 st)
pause 10 ;10 ms je obicajni reakcijski cas za vecino servo motorjev
next ;Ponovi
goto main ;Po koncanju skok nazaj na branje ukazov
ServoRIG2: ;Podprogram za izpust naveza 2
For b0 = 1 to 60 ;Poslji signal 60 krat, da se motor lahko prevrti
pulsout Portc.0, 60 ;60 * 10usec = 0,6 msec (ukaz za zasuk 0 st)
pause 10 ;10 ms je obicajni reakcijski cas za vecino servo motorjev
next ;Ponovi
goto main ;Po koncanju skok nazaj na branje ukazov
Slika 4.7.8: Podprograma za krmiljenje servo motorjev pri ločenem izpustu navezov
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 106
Na koncu napišemo še funkcijo za utripanje signalne diode LED (slika 4.7.10), ki
označuje, da prejeti podatki niso namenjeni za ta mikrokrmilnik in program zaključimo z
ukazom end.
ServoRIG12: ;Podprogram za izpust naveza 1 in 2
For b0 = 1 to 60 ;Poslji signal 60 krat, da se motor lahko prevrti
pulsout Portc.1, 230 ;Izpust levega naveza
pulsout Portc.0, 60 ;Izpust desnega naveza
pause 10 ;10 ms je obicajni reakcijski cas za vecino servo motorjev
next ;Ponovi
goto main ;Po koncanju skok nazaj na branje ukazov
ServoRIGSET: ;Podprogram za ponastavitev izpusta naveza 1 in 2
For b0 = 1 to 60 ;Poslji signal 60 krat, da se motor lahko prevrti
pulsout Portc.1, 60 ;Ponastavitev levega naveza
pulsout Portc.0, 230 ;Ponastavitev desnega naveza
pause 10 ;10 ms je obicajni reakcijski cas za vecino servo motorjev
next ;Ponovi
goto main ;Po koncanju skok nazaj na branje ukazov
Slika 4.7.9: Podprograma za skupen izpust navezov in ponastavitev ročice mehanizmov
Slika 4.7.10: Funkcija za utripanje diode LED v 2. mikrokrmilniku v sprejemnem vezju
NoData: ;Utrip diode LED, ko komanda ni namenjena drugemu mikrokrmilniku
high portc.5 ;Vklop diode
pause 50 ;Cakaj 50 ms
low portc.5 ;Izklop diode
goto main ;Skok na zacetek programa in ponovno branje ukazov
end ;Konec programa
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 107
S predstavitvijo programske opreme v mikrokrmilnikih zaključujemo opis izvedbe
brezžično vodenega modela za prevoz vab pri ribolovu. Programska oprema je napisana
tako, da omogoča čim enostavnejše izvedbe zahtevanih funkcij modela, zato programi v
mikrokrmilnikih niso vselej optimizirani za najučinkovitejšo izrabo pomnilnikov.
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 108
5 IMPLEMENTACIJA IN TESTIRANJE
5.1 Meritve
Po zaključku izdelave modela, elektronskih vezij in programske opreme smo opravili še
meritve nekaterih elektronskih sklopov sprejemnega vezja. Pridobljeni podatki se lahko
uporabijo kot pokazatelj pravilnega delovanja vgrajenih komponent in kot informacija o
porabi energije. Meritve smo opravili le za večje tokovne porabnike.
5.1.1 Meritve ključnih elektronskih komponent
Meritve nekaterih napetosti in tokov ter izračune moči predstavljamo v tabeli 5.1.1.
Tabela 5.1.1: Električne meritve ključnih elektronskih komponent
Porabnik Napetost [ V ] Tok [ A ] Moč [ W ] Opombe
Pogonski motor 8 1,1 8,8 Vgrajena sta dva
Koračni motor 12 0,25 3 Za eno navitje
Modul kamere 9 0,12 1,08 /
Oddajnik video signala 9 0,20 1,8 /
Diode LED 12 0,32 3,84 20 diod
Diode IR 9 0,09 0,81 32 diod
5.1.2 Meritve dometa brezžičnih povezav
Brezžično povezavo za upravljanje modela smo testirali do razdalje 100 metrov in
ugotovili, da na tej razdalji komunikacija poteka nemoteno. Med sprejemnikom in
oddajnikom pri testiranju ni bilo fizičnih objektov. Domet brezžične zveze video signala
do te razdalje deluje zadovoljivo, nato prične zveza slabiti.
5.2 Preizkus plovnih in manevrskih sposobnosti
Plovne in manevrske sposobnosti so v pričakovanih okvirih. Plovilo je stabilno tudi pri
srednji jakosti vetra in manjših valovih. Hitrost plovbe je okoli enega vozla. Pri razdalji
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 109
večji od 40 metrov od obrežja, plovilo ni več sposobno premagovati upora dveh ribiških
vrvic v vodi.
5.3 Preizkus sistemov za izmet vabe in izpust navezov
Sistemi za izmet vabe in izpust obeh navezov delujejo dobro. Opazili smo pomanjkljivost
zbiralnika za vabo, saj je potrebno kroglice vanj natančno zložiti po vrsticah. V
nasprotnem primeru lahko zgodi, da se kroglice zagozdijo med okvirjem zbiralnika vabe in
zobmi sistema za izmet.
6 SKLEP
Z izvedbo projekta smo želeli nadgraditi obstoječe izvedbe ribiških krmilnih čolnov. Po
trenutno dostopnih informacijah na tržišču ni modelov z reguliranim načinom izmeta vabe,
prav tako so redki opremljeni z nadzorno kamero. Izdelan model ponuja širok spekter
uporabe in poleg natančne izbire mesta lova omogoča tudi izmet določne količine vabe in
neodvisen izpust dveh navezov. Dodatno je mogoče model uporabljati v izvidniške
namene, uporaba pa je možna tudi v temi. Zaradi izbranega načina upravljanja preko
igralne palice je doseženo zelo enostavno krmiljenje z možnostjo daljinskega nadzora
osvetlitve in premikanja kamere. Energijska poraba modela je relativno nizka in omogoča
zahtevano polurno avtonomijo. Ocenjujemo, da smo pri izdelavi dosegli prav vse
zastavljene cilje. Razvoj je trajal približno mesec dni in je potekal brez večjih težav. Za
najbolj zamudni del izdelave se pokazala izdelava konstrukcije modela, saj smo si zastavili
zelo visoka merila za natančnost izgradnje. Dodamo lahko, da smo imeli pri izdelavi tudi
kanček sreče, saj običajno projekti podobnih kompleksnosti ne potekajo brez težav.
6.1 Možnosti za nadgradnjo
Trenutna izvedba modela omogoča kar nekaj možnosti za nadgradnjo. Kot prvo lahko
navedemo razširitev upravljanja s priklopom oddajnika na prenosni računalnik. Tako bi se
izognili prikazovalniku LCD in monitorju za nadzorno kamero. Namesto oddajnih in
sprejemnih modulov bi lahko uporabili brezžični usmerjevalnik in tako dodali možnost
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 110
upravljanja z mobilnim telefonom. Namesto uporabljenih svinčenih akumulatorskih baterij
bi lahko vgradili baterije lažjega tipa, na primer v tehnologiji litij-polimer. Tako bi občutno
zmanjšali težo in s tem povezano velikost modela. Žal GPS sprejemniki za neprofesionalno
civilno uporabo redko dosegajo natančnosti večje od treh metrov in tako njihova vgradnja
ne omogoča posebne pridobitve.
6.2 Nasveti za vzdrževanje in uporabo
Model ni zahteven za vzdrževanje in uporabo, vendar je za dosego trajne funkcionalnosti
potrebno upoštevati nekatera navodila pri pripravi za uporabo in konzervacijo po njej. Pred
uporabo je potrebno preveriti vse funkcije modela in po potrebi podmazati mehanizem za
izmet vabe. Pred vsako uporabo obvezno dodamo malo mazalnega olja prenosom
pogonskih motorjev. Olje dovajamo preko nastavka na gredi. Priporočamo parafinsko olje.
Baterije vedno napolnimo do maksimalne kapacitete. Napetost polnjenja naj bo med 13,8
in 15 V. Začetni tok polnjenja obeh vzporedno vezanih baterij za bremena naj ne presega
800 mA, pri polnjenju baterije za krmilno logiko pa pazimo, da tok ne preseže 200 mA. Po
uporabi baterije vedno ponovno napolnimo, stanje napolnjenosti pa spremljajmo tudi ko
modela ne uporabljamo. S tem dosežemo daljšo življenjsko dobo baterij. Po uporabi v
vodi, model očistimo in posušimo.
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 111
7 VIRI IN LITERATURA
[1] LPRS, Easy Radio ER400TRS Transceiver Datasheet. [Spletni vir].
http://www.lprs.co.uk/assets/files/ERx00-02SeriesDataSheet(Rev2.5).pdf
[Dostopano 29. 11. 2010]
[2] Microchip, PIC16F87XA Datasheet. [Spletni vir].
http://ww1.microchip.com/downloads/en/DeviceDoc/39582b.pdf
[Dostopano 29. 11. 2010]
[3] ELECTRONIC ASSEMBLY, DotmatrixDisplay 4x20. [Spletni vir].
http://www.lcd-module.com/deu/pdf/doma/4_20.pdf
[Dostopano 29. 11. 2010]
[4] Graupner, Electric motor GRAUPNER SPEED 400. [Spletni vir].
http://www.graupner.de/en/products/80f55fc6-0794/product.aspx
[Dostopano 29. 11. 2010]
[5] STMicroelectronics, L298 Dual Full-Bridge Driver. [Spletni vir].
http://www.st.com/stonline/books/pdf/docs/1773.pdf
[Dostopano 29. 11. 2010]
[6] STMicroelectronics, ULN2803A. [Spletni vir].
www.st.com/stonline/books/pdf/docs/1536.pdf
[Dostopano 29. 11. 2010]
[7] MicroEngineering Labs, PicbacicPro Compiler. [Spletni vir].
melabs.com/resources/pbpmanual/
[Dostopano 29. 11. 2010]
[8] Uradni list, Uredba o načrtu in razporeditvi radiofrekvenčnih pasov. [Spletni vir].
http://www.uradni-list.si/_pdf/2004/Ur/u2004107.pdf
[Dostopano 29. 11. 2010]
Načrtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu 112
8 PRILOGE
8.1 Naslov Študenta
Ime in priimek: Gregor Pihler
Naslov: Cesta v Debro 33a
Pošta: 3270 Laško
Tel.študenta: 031-342-798
e-mail študenta: [email protected]
Načrtovanje in izvedba brezžično vodenega modela
I Z J A V A O A V T
Spodaj podpisani/-a ____
z vpisno številko ____
sem avtor/-ica diplomskega dela z naslovom:
____Načrtovanje in izvedba brezži
_______________________________________________________________________
S svojim podpisom zagotavljam, da:
• sem diplomsko delo izdelal/ Doc. Dr. Boštjan
• so elektronska oblika diplomskega dela, naslov (slov., angl.), povzetek (slov., angl.) ter ključne besede (slov., angl.
• soglašam z javno objavo elektronske oblike diplomskega dela v DKUM.
čno vodenega modela čolna za prevoz vab pri ribolovu
I Z J A V A O A V T O R S T V U
diplomskega dela
____Gregor Pihler_____________________,
____93511620________________________,
ica diplomskega dela z naslovom:
rtovanje in izvedba brezžično vodenega modela čolna za prevoz vab pri ribolovu
_______________________________________________________________________
S svojim podpisom zagotavljam, da:
sem diplomsko delo izdelal/-a samostojno pod mentorstvom (naziv, ime in priimek)
Vlaovič____________________________________________
so elektronska oblika diplomskega dela, naslov (slov., angl.), povzetek (slov., angl.) ne besede (slov., angl.) identični s tiskano obliko diplomskega dela
soglašam z javno objavo elektronske oblike diplomskega dela v DKUM.
113
voz vab pri ribolovu
_______________________________________________________________________
a samostojno pod mentorstvom (naziv, ime in priimek)
___________________________
so elektronska oblika diplomskega dela, naslov (slov., angl.), povzetek (slov., angl.) ni s tiskano obliko diplomskega dela
soglašam z javno objavo elektronske oblike diplomskega dela v DKUM.
Načrtovanje in izvedba brezžično vodenega modela
IZJAVA O USTREZNOSTI DIPLOMSKEGA DELA
Podpisani mentor
študent
(ime in priimek študenta
delo z naslovom: Načrtovanje in izvedba brezživab pri ribolovu _
(naslov diplomskega dela)
v skladu z odobreno temo diplomskega dela, Navodili o pripravi diplomskega dela in
mojimi navodili.
čno vodenega modela čolna za prevoz vab pri ribolovu
IZJAVA O USTREZNOSTI DIPLOMSKEGA DELA
doc. dr. Boštjan Vlaovič izjavljam, da je
(ime in priimek mentorja)
Gregor Pihler izdelal diplomsko
(ime in priimek študenta-tke)
rtovanje in izvedba brezžično vodenega modela čolna za prevozu _
(naslov diplomskega dela)
v skladu z odobreno temo diplomskega dela, Navodili o pripravi diplomskega dela in
114
IZJAVA O USTREZNOSTI DIPLOMSKEGA DELA
izjavljam, da je
izdelal diplomsko
nega modela čolna za prevoz u _
v skladu z odobreno temo diplomskega dela, Navodili o pripravi diplomskega dela in
Načrtovanje in izvedba brezžično vodenega modela
Fakulteta za elektrotehniko
IZJAVA O ISTOVETNOSTI TISKANE IN ELEKTRONSKE VERZIJE ZAKLJUCNEGA DELA
IN OBJAVI OSEBNIH PODATKOV AV
Ime in priimek avtorja (avtorice):
Vpisna številka:
Študijski program:
Naslov zaključnega dela:
VODENEGA MODELA ČOLNA
Mentor:
Podpisani-a Gregor Pihler
elektronsko verzijo zaključnega dela v Digitalno knjižnico Univerze v Mariboru. Zaklj
sem izdelal-a sam-a ob pomoč
sorodnih pravicah (Ur. l. RS, št. 16/2007) dovoljujem, da se zgoraj
na portalu Digitalne knjižnice Univerze v Mariboru.
Tiskana verzija zaključnega dela je istovetna elektronski verziji, ki sem jo oddal
Digitalno knjižnico Univerze v Mariboru. Podpisani
podatkov, vezanih na zaključek študija (ime, priimek, leto in kr
zaključnega dela) na spletnih straneh in v publikacijah UM.
čno vodenega modela čolna za prevoz vab pri ribolovu
UNIVERZA V MARIBORU
Fakulteta za elektrotehniko, računalništvo in informatiko(ime fakultete)
IZJAVA O ISTOVETNOSTI TISKANE IN ELEKTRONSKE VERZIJE ZAKLJUCNEGA DELA
IN OBJAVI OSEBNIH PODATKOV AVTORJA
Ime in priimek avtorja (avtorice): Gregor Pihler
93511620
FERI-E VS ELEKTRONIKA VS
NAČRTOVANJE IN IZVEDBA BREZŽI
ČOLNA ZA PREVOZ VAB PRI RIBOLOVU
Doc. Dr. Boštjan Vlaovič
Gregor Pihler izjavljam, da sem za potrebe arhiviranja oddal
čnega dela v Digitalno knjižnico Univerze v Mariboru. Zaklj
a ob pomoči mentorja. V skladu s 1. odstavkom 21. člena Zakona o avtorskih in
sorodnih pravicah (Ur. l. RS, št. 16/2007) dovoljujem, da se zgoraj navedeno zaklju
na portalu Digitalne knjižnice Univerze v Mariboru.
nega dela je istovetna elektronski verziji, ki sem jo oddal
Digitalno knjižnico Univerze v Mariboru. Podpisani-a izjavljam, da dovoljujem objavo osebnih
podatkov, vezanih na zaključek študija (ime, priimek, leto in kraj rojstva, datum zagovora, naslov
nega dela) na spletnih straneh in v publikacijah UM.
115
unalništvo in informatiko
IZJAVA O ISTOVETNOSTI TISKANE IN ELEKTRONSKE VERZIJE ZAKLJUCNEGA DELA
RTOVANJE IN IZVEDBA BREZŽIČNO
izjavljam, da sem za potrebe arhiviranja oddal-a
nega dela v Digitalno knjižnico Univerze v Mariboru. Zaključno delo
lena Zakona o avtorskih in
navedeno zaključno delo objavi
nega dela je istovetna elektronski verziji, ki sem jo oddal-a za objavo v
a izjavljam, da dovoljujem objavo osebnih
aj rojstva, datum zagovora, naslov