Projekti Autopilotti

 

Historia

Veneeseen (vanhaan tai uuteen) piti saataman autopilotti heti keväästä.

Niinpä se tilattiin Netistä hyvissä ajoin talvella 2002. Koska sitä ei toukokuuhun mennessä kuulunut, eikä vermeen hinnallakaan Visa-tiliä rasitettu, tilaus sitten peruutettiin.

Tarve ei toki vähentynyt.

Siinä sitten kesän mittaan ruoria kammetessa kypsyi ajatus rakentaa laite itse. Eihän se niin vaikeaa voi olla...
Ja onpahan pitkinä talvi-iltoinakin jotain veneilyaiheista puuhaa.

Käytössä on jo vuosia hyvin palvellut Magellan 320 GPS ja Läppäri MeriCD ohjelmistolla. Tuntui loogiselta rakentaa autopilotti näiden jatkeeksi.

Ideointi

1600:n veneilymailin aikana sitten kypsyteltiin speksejä, mitä kaikkea laitteelta halutaan:

bulletHalutun suunnan pitäminen
bulletMeriCD-reitin ajaminen automaattisesti
bulletGPS-reitin ajaminen automaattisesti
bulletKohteen merkitseminen MeriCD:ltä
bulletOhjausmahdollisuus veneen keulaan

Kesän ajan aiheesta käytiin keskusteluja ( esim.  sfnet.harrastus.veneet) ja ideoita kypsyteltiin, kunnes...

Toteutus

Lokakuun lopulla käytiin toimeen.

Logiikkaohjauksen harjoitteluun ja kehittelyyn tilattiin Tietomyrsky Oy:ltä

PB8515 AVR AT90S8515 Project Board

jolla aiheeseen on tarkoitus perehtyä.
Verme toimitetaan rakennussarjana, joten ensimmäinen vaihe on tietysti kokoaminen.

...jossa oli tottumattomalle odottamattoman paljon työtä.
Onneksi ohjeet ovat varsin selkeät.

2.11.2002 kaikki komponentit ovat kuitenkin paikallaan.
Jos "miljoonaboxista" löytyy sopiva virtalähde, päästään huomenissa tuikkaamaan virtaa tuuttiin...

3.11.2002 Loput komponentit kiinni: LCD, katkaisijat, kytkentärimat jne.
Provisoorinen virtalähde kiinni ja katso: LCD:hen syttyi valo. eli

TOIMII!

Sitten vielä liitäntäkaapeli tietokoneen persauksiin,
esimerkkiohjelma hätäsesti kääntäjään,
ohjelmointi,
ohjelman ajo flashille...

...toimii!!

Voi ilon päivää.

...kunnes käy ilmi, ettei itse ohjelma toimi.
hmm...
Vaatinee hieman lisätarkistuksia...

toimii suurimmaksi osaksi


(huomaa professionaalit liitännät)

5.11.2002 ollaan sitten niin pitkällä, että vermeestä saadaan erilaisia ohjelmoituja piipityksiä.
Myönnettäköön tämän olevan laitteena vielä melko hyödytön, mutta:

bullet

C-Kääntäjä toimii

bullet

Ohjelmien siirto laitteen flash-muistiin toimii

bullet

Neljä asennettua katkaisijaa ja niiden softisohjaus toimii

bullet

Piezokide toimii

bullet

On tullut opittua koko joukko firmwareohjelmointia

Mietoja pettymyksiäkin on matkalla tullut: LCD-näyttö taitaa olla perusteellisesti kuollut.
...vaan eihän sitä projektissa oikeesti tarvitakaan.
Tieto voidaan toki ajaa sarjaportin kautta tietokoneen näytettäväksi. Pannaan LCD-ongelma jäihin hetkeksi...
Sarjaportin kokeilu lienee lähitulevaisuuden tärkeimpiä osaprojekteja.

7.11.2002 ollaan sitten taas pitemmällä perustutkimuksessa:
Kontrolleri osaa kommunikoida tietokoneen kanssa sarjaliitännän kautta. Ja tietysti ohjelmallisesti.
Sarjaamme "Täysin hyödyttömiä ohjelmia" arvokas lisäys: Ohjain lähettää napin painalluksella aakkosia a:sta y:hyn tietokoneelle. Haluttaessa tämä voidaan tehdä jopa piippauksen säestämänä! (sarjamme edellinen osa).
NIIN, ja piippauksia on parannettu: Laite osaa piipata sos-merkkiä ...---... ...---... ...---...
Valtaisa harppaus eteenpäin firmwarekehityksessä...

Kaikki nämä menestykset ovat lisänneet uskoa ja itseluottamusta siinä määrin, että alkaa olla aika pohdiskella seuraavien rakennuspalikoiden hankintaa.
Näistä tärkeimpiä on Fluxgate, eli magneettisensori. Tämän tarkoituksena on kertoa meille veneen asento magneettiseen pohjoiseen nähden. Näin varustettuna ohjaimen pitäisi pystyä omin päin pitämään valittu suunta. Siis hyvin pitkälle sähkökompassi. Ehkä sillä erotuksella, että välttämättä ei haluta tietää tarkkaa suuntaa asteina, vaan pikemminkin poikkeama valitusta suunnasta jonkinlaisena mitattavana sähköisenä arvona. Jenkkilästä löytyi käypä laite hintaan $ 63,-- ja tietty kulut päälle.
Ehkä kuitenkin vielä hetki harkintaa...

Toinen elintärkeä komponentti on ruorinväännin. Siis sähkömoottori, joka ohjaimen komennuksessa kääntää ruoria. Tähänkin (ja voimansiirtoon) löytyy elegantti ratkaisu:

Intellisteer http://usparts.locomail.com/category.php?a=1&cat=3&group=38

Siisti paketti, varmasti helppo asentaa.
Kaikki valmiina, oikein mitotetut välitykset, moottori, liitännät autopilotille, jopa keulan kauko-ohjaus.
Tässä vaiheessa vain hirvittää yli kiloeuron kustannuserä.
Eli eiköhän kokeilla ensin vanhasta ruuvinvääntimestä irroitetulla sähkömoottorilla ja hihnavälityksellä...

8.11.2002 alettiin urheilullista ulkonäköä pilaamaan aivan oikeilla pistokkeilla.

Taustalla häämöttää seuraava osaprojekti: Peräsimen liikerajoittimeksi tarkoitettu microkytkin.
Ohjelmoinnissa on tarkoitus käyttää korkean prioriteetin keskeytystä, jotta tappiin ajettu peräsin käsitellään nopeasti.

26.11.2002 pienen luovan tauon jälkeen näki yönvalon nerokas kommunikaatiokaapeli, joka:
-Lukee GPS:n lähettäämää dataa,
-tallettaa tiedosta tarvitsemansa osan ja
-lähettää GPS datan muuttamattomana PC:lle sekä
-vastaanottaa PC:ltä komennot

Tiedonkulku: GPS -> Pilotti <--> PC

Tämähän on kaikki enemmän tai vähemmän teoriaa, kunnes tietoliikenteen hoitava softis on valmis...

27.11.2002 sarjaportin ohjelmoinnin kimppuun:

...ja melkoinen takaisku. Jätetäänpä homma lepäämään ja pannaan kiertotien keksiminen mietintämyssyyn.  Yli $100 täysversion ostoon on hiukka liikaa  näin harrastusprojektissa.
Jos ei muu auta, on kai väännettävä nämä osaset assemblerilla. Se kun ei maksa mitään...

3.12.2002 tutkittuani mahdollisuuksia tehdä tarvittavat rutiinit assemblerilla ja loput freewareversiolla revin lopulta pelihousuni ja tilasin rekisteröidyn version CodeVisionAVR kääntäjästä.
DONTRONICS.COMin kautta tilattuna en sentään joutunut pulittamaan Light-versiosta kuin $90.
Tietomyrskyn kautta hintaa olisi kertynyt 140 juuroa. En väitä Tietomyrskyä kiskuriksi, mutta netin kautta säästää alvit, tullit jne maksut. Ja täytyyhän myyjänkin saada korvaus vaivoistaan...
4.12.2002 Viimeisetkin rekisteröinnin vaatimat palaset tulivat (homma luisti todella kivuttomasti, suosittelen) ja täysikasvuinen kääntäjä on asennettu.
...ja omatuntokin rauhoitettu.

6.12.2002 itsenäisyyspäivän kunniaksi suuri läpimurto:

GPS:n lähettämät koordinaatit tulevat ensin autopilotille, joka lähettää ne (vielä)
sellaisenaan eteenpäin PC:lle. Valmiissa järjestelmässähän PC:llä on MeriCD ohjelmisto,
joka näyttää meille veneen sijainnin kartalla.
Mehän emme sokeasti usko autopilotin kuljettavanmeidät juuri sinne, minne haluamme...
Ainakaan vielä.

Nerokas kolmen laitteen yhdistävä RS-232 kaapeli osoittautui siinä mielessä epäonnistuneeksi,
että GPS:n lähettäessä kamaa vastaanotto PC:ltä ei toimi. Eli vain jompaa kumpaa kuunnellaan,
ei molempia yhtä aikaa. Tämä osa on tungettava takaisin mietintämyssyyn.

Ohjelma toimii täysiverisesti interrupteilla.
Eli tiedonsiirron aikana ovat myös muut toiminnat käytössä.
Tietysti jonkin verran hitaampina.

 

 6.12.2002 paljon myöhemmin:
Ohjaimeen on liitetty transmit ja receive ledit, jotka antavat vilkkuessaan joulun tunnelmaa...

 

Ohjain nappaa kaikki gepsulta tulevan datan lähettäen MeriCD:lle ainoastaan paikannukseen, suuntaan ja nopeuteen tarvittavan tiedon. Eli $GPGGA ja $GPRMC rivit. Muu sälä suodatetaan pois.

Tarkkaavaisimmat huomaavat veneen olleen matkalla Olarista Matinkylään.
Tämä johtuu enemmän gepsun simulaattoritoiminnasta kun
veneen ominaisuuksista.

10.12.2002 Perustutkimuksissa kävi ilmi, että autopiloteille on omat NMEA-koodinsa. hmmm...
Panee ehkä design-lähtökohtia uusiksi.
Jos käytän näitä virallisia koodeja, voin luultavasti ajaa pilotilla pelkän gepsun avulla, vaikka läppäri olisi saanut merivettä sisäänsä. Ehdoton etu.

 

21.12.2002 On ensiversio GPS-lukijasta valmis.
Ohjelma koostuu moduulista, joka kuuntelee sarjaporttia, lähettää tiedot rivi kerrallaan näyttömoduulille, joka koodaa auki gps-rivit, suorittaa tarpeelliset laskutoimitukset ja lopuksi näyttää tulokset.
Ohjelma on koodattu harjoituksen- ja mielenkiinnon vuoksi C sharpilla (C#).
Netin syövereistä löytyi hyviä malliohjelmia, joita muuntamalla ja täydentämällä tehtävä ei ollut liian vaikea.

C# on ihan kiva kieli.

   
27.12.2002
Lisätty mahdollisuus tallettaa gepsulta tuleva kama tiedostoon.
Sekä pari pikanappulaa, jotka antavat gepsulle komennot listata kaikki waypointit tai reitit. Yhdistettynä logitukseen nämä toimivat näppäränä backuppina laitteen kanssa peuhatessa.
Eivät katoa iäksi kallisarvoiset kalpaikkojen koordinaatit.

Tiedot talletetaan sellaisenaan *.txt tiedostoon. (tähän asti) ainoana mukavuutena järjestelmä rakentaa tiedostonimen muotoon "MGLOG_ppkkvvvvttmm.txt" (päivä-kuukausi-vuosi-tunti-minuutti).
Myös jokaisen rivin checksum tallentuu (rivin kaksi viimeistä merkkiä).
Kaman voi sellaisenaan ajaa takaisin gepsulle. Mikäli rivejä muutetaan, on myös checksum muutettava vastaavasti. Käsityönä tämä on hankalaa, joten näitä rutiineja tulee varmasti vielä paranneltua. Saman tien ne voisi kirjoittaa kätevämpään taulukkomuotoon...

WAYPOINT tiedostoesimerkki:
$PMGNWPL,6008.360,N,02444.140,E,0000001,M,KT01,,a*43
$PMGNWPL,6007.820,N,02444.850,E,0000001,M,KT02,,a*48
$PMGNWPL,6007.570,N,02444.820,E,0000001,M,KT03,,a*46
$PMGNWPL,6007.220,N,02445.550,E,0000001,M,KT04,,a*48
$PMGNWPL,6006.340,N,02444.510,E,0000001,M,KT05,,a*4A
$PMGNWPL,6005.790,N,02444.140,E,0000001,M,KT06,,a*42
$PMGNWPL,6004.450,N,02443.290,E,0000001,M,KT07,,a*44
$PMGNWPL,6004.100,N,02443.010,E,0000001,M,KT08,,a*41
...

28.12.2002 Lisätty toiminta  <Restore>, jolla logitetut waypointit ja reitit voidaan lukea takaisin gepsuun.
Tämä osoittautui heti hyödylliseksi, koska netin syövereistä löytämäni Magellanin softispäivityksen lataus tuhosi kaikki vanhat tiedot.

Nyt gepsussa on uusin softis ja vanhat kalapaikat ovat edelleen tallessa.

Nappuloita alkaa kertyä sen verran, että jossain vaiheessa saattaa olla parempi jakaa näyttö kahteen ikkunaan: Päänäytölle navigointitoiminnot ja sivuikkunaan tiedonsiirtotoiminnat ja näytöt.

19.01.2003 Koordinaatit
Reitti- tai muiden pisteiden syöttäminen gepsuun on aina ollut paise persiissä. Käsinsyöttö nappuloilla on täysin mahdotonta, parhaimmillaan gepsulla voi suoraan käyttää "mark" nappulaa.
Niinpä viime ajat on poikettu autopilotin rakentelusta hieman sivuraiteille: Rakensin tietokantapohjaisen sovellutuksen koordinaattien tallennukseen ja tämän rinnalle "GPSMath" luokkakirjaston hoitelemaan laskennan koordinaateilla (etäisyydet, suunnat, poikkeamat jne) ja muunnokset eri koordinaattisysteemien kesken.
Tietokannassa on import-toiminnat pisteiden tuomiseen NMEA/WPL tai Waypoint+ formaattisista tiedostoista. Näin saan luettua esimerkiksi MeriCD:n Exp/imp-ohjelmalla tuotettuja-  ja vetouistelu.com:in tiedostoja.
Näillä pärjäänkin alkuun mainiosti.

Seuraavaksi on rakennettava kantaan export-rutiinit, joilla koordinaatit saa syötettyä gepsulle.

23.01.2003 Vastatuulta
Taustaprosessina on kaiken aikaa rullannut voimansiirto-ongelma: Miten muuntaa reitin ajo-ohjeet (jotka alkavat hahmottua) ruorinväännöksi?
Hyvää tapaa noudattaen olen kysellyt viisaammilta. Yhteinen mielipide on, että ohjaus olisi parasta vaihtaa hydrauliseksi. Olen taipuvainen uskomaan ammattimiesten neuvoja. Näin tulisi voimansiirtokin helpommaksi: Tarvitaan vain sähköinen hydraulipumppu kääntämään peräsintä autopilotin ohjaamana.
Haittapuolena on tietysti hinta. Vaikka asennuksen itse tekisikin, tulee pumpuille, sylinterille, letkuille ja pikkutilpehöörille reilusti hintaa. Ehkä jopa niin, ettei ensi kauden venebudjetti sitten enää paljon muuta kestä. Potkurikin piti vaihtaa nelilapaiseksi, lohisiimakin on vielä tehtävä jne... sniff...

14.2.2003 Hydrauliohjaus
Tänään se tuli hommattua. Pitkällisen tutkimisen, kyselyiden, hakukoneiden kuumaksikäytön jälkeen. ostin Maritimilta reiluun messuhintaan (470,--) HYSY 30 nimisen Hydraflexin satsin, joka pitää sisällään kaiken tarvittavan: Pumpun (ruoriosa meille amatööreille), sylinterin (vempain, joka kääntää peräsintä), letkut ja liittimet.
Projektista puuttuu vielä sähköinen 12V hydraulipumppu, johon pilotti (ja keulan käsiohjaus "Joystick") liitetään. Sekä tietysti liitoksen vaatimat letkunpätkät ja T-liittimet.
Kuitenkin suuri harppaus eteenpäin...


Näistä pitäisi jalostua hydrauliohjaus

 

26.02.2003 Pilotti oppii kommunikoimaan
Display on lopultakin kunnossa ja kertoo miten mennään.

Esim ohessa kuljetaan suuntaan 213,3, kun pitäisi kulkea suuntaan 214.8, jotta päästään optimireitille (0.06 nm meistä oikealla) seuraavalle kääntöpisteelle, joka on 0,3 nm päässä...

26.02.2003 Koordinaatit Escille
Talven aikana hommaamani Benefon Esc on hivuttautumassa ykkösgepsun asemaan. Escissäkin on sama ongelma kuin kaikissa hypistelemissäni laitteissa: Kuinka saada reitit näppärästi syötettyä?
Teen reittejä pitkinä talvi-iltoina MeriCD ohjelmistolla. Sillä on mukava zoomailla ja merkitä tarkkoja reittipisteitä. Pulmana on aina ollut niiden siirto gepsuun.
Niinpä oli tehtävä pieni ohjelmanpala, jolla saa kirjoitettua MeriCD:n export/import-toiminnalla tehdyt NMEA-reittitoedostot BenewinPro tiedostomuotoon. Tästä ne saa sitten ajettua Escille.
Edelleen jonkin verran kulmikasta, mutta voittaa monin kerroin näpyttelyn gps:n avuttomilla näppäimillä...

5.3.2003 Sähköinen hydraulipumppu
Nonni, viimeinen kalliimpi komponentti tuli haettua Marinealta: Vetus EHPB-12R. Euroja paloi taas vajaat 400, joten kauden venebudjetti huutaa jo tuskissaan.
Laidasta laitaan nopeudeksi laskettiin 8.4 sek:

0.7 l/min = 700 cm3/min                (pumpun teho cm3/min)
700 cm3 / 60 s = 11.67 cm3/s          (cm3/sek)
97.5 cm3 / 11.67 cm3/s = 8.4 s        (työsylinterin tilavuus / teho = tarvittava aika)

Nopeus tuntuu tarkoitukseen sopivalta.
Projektin toteutuminen siis vaikuttaa todennäköisemmältä. Asennettavaa on kuitenkin melko paljon. Kohta olisi päästävä rakentamaan, jotta veneen saisi vesillekin kesän mittaan.

13.4.2003 Hydrauliohjauksen asennus aloitettu
Vanha vaijeriohjaus purettiin alta pois ja hydrauliohjauksen asennus saatiin hyvään alkuun. Ohjaussylinteri ja putket saatiin paikoilleen. Sylinterin asennus jäi ensi viikonloppuun, koska kaikki osaset eivät sopineet.

 

9.5.2003 Hydrauliohjaus asennettu ja vene vesillä
Hydrauliohjauksen asennus on menestyksekkäästi päätetty ja vene laskettu vesille. Sähköpumppu tosin ei ole vielä paikallaan. Kävi niin kuin jo ehdin pelätä: Rahat loppuivat. Päälle painoivat tosin muutkin kevättyöt yhdistettynä jokakeväiseen himoon päästä vihdoinkin vesille.
Uusi ohjaus osoittautui erittäin mukavaksi. Se jopa hoitaa osan autopilotin hommista: Vene pitää paremmin kurssinsa.

 

 

Stay tuned!

...to be continued

Rakentava kritiikki, kommentit, ehdotukset
mailto:risto.komppa@saunalahti.fi

Aiempaa keskustelua asian tiimoilta

Linkkejä:

Esikuvatoteutus: http://www.ele.tut.fi/~hkosola/vene/index.htm

Läheltä liippaavaa: http://users.libero.it/riccardo.rocca/roboat.htm

Hydrauliohjaus: http://www.ultraflexgroup.it/ut/hydrafl/inboard.html

Ohjain: Tietomyrsky Oy

Fluxgate:
http://www.wuntronic.de/magnetometer/app_hod.htm
http://www.stefan-mayer.com/Lcsing.htm
http://www.aquamatic.dk/AQCD1.htm
http://www.onlinemarine.com/cgi-local/SoftCart.exe/online_superstore/navigation/kvh_azimuth_1000.htm?E+scstore
http://www.nisongermarine.com/3-gcaf.html
http://www.boote-magazin.de/testtechnik/zubehoer/tec4992.html
http://www.pnicorp.com/

Mielenkiintoisia romppeita:
http://www.pewatron.com/GB/default.htm
ProByte Oy 

NMEA:
http://vancouver-webpages.com/peter/idx_nmeadoc.html
http://home.mira.net/~gnb/gps/nmea.html

Magellan GPS:
Data Transmission Protocol Specification for Magellan Products (PDF)

 

Budjetti

Tähän asti törsätty:

Mikro-ohjain (toimituskuluineen)                                          73,--     
Lahdattu ruuvinväännin (ehkä pelastettavissa)  10,--
Ledejä, vastuksia yms pikkusälää noin  10,--
Miljoonalaatikosta löydetty 12V virtalähde    5,--
CodeVisionAVR C Compiler  90,-
Hydrauliohjaus 470,-
Sähköhydraulipumppu 383,-

...sekä tupakkia, kahvia  ja lukemattomia tunteja.