dsPIC autopiloot

User avatar
ak
Posts: 552
Joined: Fri Jul 20, 2007 17:16
Location: Tallinn
Contact:

dsPIC autopiloot

Post by ak »

Hei,

ma olen viimased 2 aastat tegelenud vabadel momentidel lennukile autopiloodi ehitusega. Hetkel ma olen jõudnud 4'nda versioonini ja tundub, et võiks hetkeseisu jagada. Üldiselt tundub, et kogu aeg on edasiminek, aga täna see aparaat veel iseseisvalt koju ei tule. Suurim kordaminek on olnud SD-kaardi lisamine logimiseks ja peale seda on areng märgatav. Ühtlasi on 4's versioon ehitatud kivi dspic30F6012A peale ja kõik (peale rõhuanduri tiivas kiiruse mõõtmiseks) on ühel plaadil. Korralik trükkplaat on puudu, kuigi mine tea, äkki tuleb veel skeemi muuta.

Siiamaani kirjeldasin ma tehtut siin threadis: http://forum.pistik.com/viewtopic.php?t=1582

Pildid avanevad peale klikates suuremana.

Niisiis, selline ta on:
pealtvaates:
Image

altvaates:
Image

Lend 18.06.2009:
Eelmine lend murdus mul peale põõsasse maandumist pitot toru. Tegin uue ja see oli esimene lend uuega. Erilist vahet ei ole. Lennu eesmärk oli kontrollida, kui hästi lennuk suudab hoida etteantud kiirust ning suunda. Nüüdseks olen usaldanud elevaatori ülekande seadmise autopiloodi enese hoolde (ehk seal on autotuning) ning täpsustamist vajavad ülemine ja alumine piir, millal tuning käivitub.

Kiiruse ja elevaatori graafik:
Image

elevaatori väljund on kollane, etteantud kiirus punane ja mõõdetud kiirus sinine. Tundub, et ülekanne on liiga tundlikuks timmitud, peab tundlikkuse vähendamise piiri allapoole tooma.

Suuna graafik:
Image

Punane on määratud suund (kui ma käsitsi rudder'it puutun, siis hetke suund seatakse määratud suunaks), sinine on mõõdetud suund (gps) ja kollane on rudderi servo. Siit on näha, et suunda ta ei hoia hetkel absoluutselt. Rudder'i liigutustest on ka näha, et autopiloodi algoritm seda ka eriti ei soosi hetkel. Ülekanne on liiga suur ja diferentsiaalkomponent on puudu. Hetkel on kood juba parandatud ning loodetavasti saab homme uue lennu teha.

AndrusK
User avatar
ak
Posts: 552
Joined: Fri Jul 20, 2007 17:16
Location: Tallinn
Contact:

Post by ak »

Hei,

hetkel on jõutud siis niikaugele, et kiirusehoidmine pole enam teema ja kõrguse hoidmine kah. Täpsus on iseasi, aga niipalju kui lennuks vaja, toimib. Olgu öeldud, et kiiruse hoidmine toimub rõhuanduriga, kasutan PID kontrollerit ja Ziegler-Nichols koeffitsente. Proovisin ka Tyreus-Luyben nii PI kui PID koeffitsente, aga PI ei saanudki võnkumistest lahti, PID oli häiretest kergest mõjutatav. Ziegler-Nichols algsete koeffitsentide määramiseks kasutan autotuuningut - autopiloot suurendab gain'i kuni lennuk võnkuma hakkab ning mõõdab perioodi. Hiljem täpsustab gain'i vastavalt vajadusele - kui lennuk on etteantud kiirusest kaugel, siis suurendab - kui servo liiga vehkima hakkab, siis vähendab. Olgu öeldud, et perioodi määrab autotuuning iga kord täpselt sama, aga gain'i määramises on suuri erinevusi, seega on loogiline kui seda hiljem täpsustatakse.

Viimased lennud olen teinud eesmärgiga panna lennuk gps'i kuulama ja selle abil koju tulema - täna võib öelda et see ka enam-vähem õnnestus. Olgu öeldud, et pööran pöördetüüriga ja kasutan suuna juhtimiseks ainult gps'i (güro on tellitud, aga pole kohal veel). Täna sai siis lastud lennukil lennata ja ta ei läinud algsest asukohast kaugele, alati pööras tagasi. Päris kordaläinuks ei saanud seda eksperimenti siiski lugeda, kuna lastes lennukil kaugemale lennata, ei pööranud ta enam otsa ringi ja vajas sekkumist et tagasi tulla, selle põhjusi tuleb siis logis nüüd taga otsida.
Image
Siin on lennuki teekond gps'i järgi, kogu see aeg lendas ta autopiloodi peal ja üritas koju tulla - v.a. too suurem aas, kus ma lasin tal eemale lennata ja kust ta vajas käsitsi korrigeerimist et tagasi tulla. (praguseks on selge, et tegu oli integer'i ületäituvuses, kui liiga kaugele läks siis suund vahetas märki).


Mis edasi - mul pole kahtlust, et koju tulemise loogika lihvimine on paari järgmise nädalaga kombes (kui vähegi ilma on). Siis aga - siis saab hakata tegelema lõpuks ometi sellega, miks ma seda kõike teinud olen - hakata lennukile õpetama automaatset tõusvate õhuvoolude otsimist.

Mis veel olen teada saanud - GPS'i (EM-411) signaali silutakse, asukoha ja suuna info väljastatakse kuskil 3 sek hilistusega. Kui teha lennukiga kiire pööris, siis ei pruugi gps seda üldse märgata. Kõrgusega sama lugu - mul on peal nii staatilise rõhu andur kui ka loen gps'i kõrgusinfot ja gps'i kõrgus hilineb ikka märgatavalt ja on märgatavalt siledam kui rõhuanduri oma. Seega, EM-411 info kasutamiseks peab palju aega võtma, operatiivselt ei tee selle infoga midagi. Järgmise autopiloodiga proovin võib-olla U-bloxi seadmeid, aga üldiselt tundub et güro kasutamine on see tee mida mööda teised lähevad.

AndrusK
Last edited by ak on Wed Jul 08, 2009 9:29, edited 1 time in total.
User avatar
felch
Posts: 1462
Joined: Wed Apr 22, 2009 16:48
Location: Tallinn, Nõmme
Contact:

Post by felch »

Õhtast!
Kuidas sa GPSi valenäitudest lahti said? Või neid ei tekigi? Mul on üks koolitöö kus ka GPS sees (EM406) ja selle järgi on nt. paigal viibides punkte ajuti päris suures raadiuses. Nagu 1 mõnus tindi Kleks...
Arvestad et 1 sekundi jooksul viimase lennukiirusega ei ole loetud koordinaat lihtsalt võimalik ja aproksimeerid?
User avatar
ak
Posts: 552
Joined: Fri Jul 20, 2007 17:16
Location: Tallinn
Contact:

Post by ak »

Hei,

gps ujub jah, aga minu jaoks pole sellel tähtsust, kuna absoluutne koordinaat on "kodu" - see koht kus lennuk sisse lülitatakse ja gps koordinaadi kätte saab. Kas see koht on aga 30 meetrit siia-sinna on seda vähem oluline mida kaugemal lennuk on. Mind huvitab ju suund ainult.

Lühemas perspektiivis on gps'is eneses Kalmani filtrid, mis mõnes mõttes on hea, kuna järske häireid pole, aga mõnes mõttes mitte, kuna signaal valetab ja hilineb. Päris naljakas oli, et kui mul lennuk maandus põõsa alla kõrge rohu sisse, siis oli pärast logist näha, et kuigi satelliitide arv kukkus nulli, jätkas lennuk gps'i järgi siiski endises suunas endise kiirusega liikumist.

Siin on gps kõrguse ja baromeetrilise kõrguse graafikute võrdlus võrdlemisi võnkuval lennul:
Image

AndrusK
User avatar
felch
Posts: 1462
Joined: Wed Apr 22, 2009 16:48
Location: Tallinn, Nõmme
Contact:

Post by felch »

Tähendab, saad juba mingi library poolt teisendatud ja silutud koordinaadid? Äkki annaks asmis kiiremini lugeda? Ma tegin lausa "filtri" PIC12F683 baasil, mis sorteerib GPSi voost välja sobiva protokolli (minul nt. $GPRMC) ja vaatab kas on receiver warning või mitte. Puhverdab ja signaliseerib daata valmidusest. Ülekanne toimub pühiprosele sobival ajal 3 juhtme kaudu 28 uS jooksul. Ülekannet võib suvalisel hetkel katkestada.
User avatar
ak
Posts: 552
Joined: Fri Jul 20, 2007 17:16
Location: Tallinn
Contact:

Post by ak »

Hei,

GPS väljastab ikka NMEA'd, (saab ka SIRF binary protokolli kasutada, aga ma pole viitsinud seda kasutusele võtta), silumine ja hilistumine toimub GPS sees.

Ma saaks ehk kiirust lisada mõnedkümned millisekundid, kui serial pordi baud rate't tõstaks (RMC tuleb viimasena, peale GGA'd jm asju), aga ka 100ms pole eriti oluline 3 sek gps hilistuse puhul.

Üldiselt, gps serial pordi lugemine ja koordinaatide teisendamine ei ole mingi koormus dspic'ile, pole nagu mõtet seda kuhugi eraldi panna.

Andrus
User avatar
ak
Posts: 552
Joined: Fri Jul 20, 2007 17:16
Location: Tallinn
Contact:

Post by ak »

Hei,

täna on see päev, kus võib öelda, et lennuki ise koju pöördumise funktsioon lõpuks toimib! Sai teda lastud ümber "baasi" lennata ning suunatud eemale ja palutud siis tagasi tulla ning ta iga kord kuuletus, ilma et oleks olnud vaja teda korrigeerida või "päästa". Lennuk hoiab ise kiirust, kõrgust ja nüüd ka suunda. Neid funktsionaalsusi saab veel lihvida ja häälestada, aga minimaalne vajalik on olemas.

Siin on gps teekond: alguses ma lendasin käsitsijuhtimisega, aga enamus on autopiloodi juhtimine. 2..3 korda ma lasin tal otse lennata, siis lülitasin jälle koju tulema .Paistab, et otsesuunas lend on üsnagi laineline - seda tuleb veel timmida - aga kohale ta jõuab.
Image

Mis ma tegin: ma ehitasin keeramise ringi eleronide peale ning lisasin piloodile güroskoobi. Güroskoop on keeramise teljel ja üritab tiibu keeramisele vastu kallutada. Seega, kui ma annan puldist või autopiloot annab kallutamise käsu, siis eleronid liiguvad ja lennuk kaldub - aga niipea kui ta keerama hakkab, üritab gyro elerone teist pidi liigutada ja mingil nurkkiirusel tekib tasakaal. See tähendab enam-vähem, et keeramise nurkkiirus on proportsionaalne kallutamise signaali tugevusega (see kehtib väiksemate, alla 45 kraadi kaldenurkade puhul).

Lennuki suunda GPS järgi ma ei võta enam RMC message'st, vaid arvutan eelmiste ja käesolevate koordinaatide vahe järgi. Ma leidsin, et sellisel viisil saadud suund on täpsem, RMC suund on paar sekundit taga.

Kiirust reguleerin endiselt rõhuanduriga - autotuning paneb paika PID koeffitsendid ja lennuk ise muudab neid vajadusel.

Kõrgus tuleb rõhuandurist, GPS'i oma ma hetkel ainult login. Mootorit juhitakse proportsionaalselt kõrguse järgi - mingil kõrgusel hakatakse teda sisse lülitama kuni mingil madalamal kõrgusel saavutab ta max pöörded. Lisaks on sõltuvus kiirusest - iga m/s, mis lennuk lendab kiiremini või seglasemalt kui etteantud kiirus, võtab maha või lisab 20% pöördeid.

AndrusK
User avatar
felch
Posts: 1462
Joined: Wed Apr 22, 2009 16:48
Location: Tallinn, Nõmme
Contact:

Post by felch »

ak wrote: Lennuki suunda GPS järgi ma ei võta enam RMC message'st, vaid arvutan eelmiste ja käesolevate koordinaatide vahe järgi. Ma leidsin, et sellisel viisil saadud suund on täpsem, RMC suund on paar sekundit taga.
Aga koordinaadid ise? Ikka RMC-st?
User avatar
ak
Posts: 552
Joined: Fri Jul 20, 2007 17:16
Location: Tallinn
Contact:

Post by ak »

Hei,

koordinaadid tulevad GGA'st (võiks ka RMC'st võtta, nad on samal sekundil samad, aga GGA message tuleb esimesena).

AndrusK
User avatar
ak
Posts: 552
Joined: Fri Jul 20, 2007 17:16
Location: Tallinn
Contact:

Post by ak »

Hei,

täna sai jälle lennatud ja muu hulgas proovitud lennuki automaatset tagasi tulemist: lend on märkimisväärselt siledam kui enne.

Image

Ei oskagi selles funktsionaalsuses midagi muuta enam - natuke kahju isegi.

Sai lastud ka lennuk kõrgele (hiljem gps logist sai vaadatud, et 350m kõrgusel käis) minna ja lastud tasapisi alla liuelda - nüüd on vaja termikale pihta saada ja vaadata, kuidas see anduritelt paistab. Üks variant on "müks tiiva pihta", mida kiirendusandur võiks tuvastada, aga võib-olla õnnestub ka kõrgusanduriga midagi teha....

Kahju muidugi, et ümberringi on Tallinna lennujaama lähiala. Kui ma õigesti olen aru saanud, siis madalamale kui 1700 jalga ei tohiks kommertslennundus Tabasalu ümbruses siiski sattuda...

AndrusK
User avatar
felch
Posts: 1462
Joined: Wed Apr 22, 2009 16:48
Location: Tallinn, Nõmme
Contact:

Post by felch »

Suurepärane, 5+!
Aga teha on ikkagi veel üht koma teist. Nt. instrumentaalmaandumine. Ja lend etteantud koordinaattidega paika.
Muide, kui kiiresti su GPS fiksi saab?

/Felch
User avatar
ak
Posts: 552
Joined: Fri Jul 20, 2007 17:16
Location: Tallinn
Contact:

Post by ak »

Hei,

lend etteantud koordinaatidega paika ei erine põhimõtteliselt koju tulekust, lihtsalt koordinaadid on teised. Ma olen mõelnud, et kui lennuk lasta termikat püüdma, siis ta võiks ala kaardistada ja siis ta arvatavasti lendab punktide vahet - aga see funktsionaalsus on samahästi kui olemas. Kiusatus on ka sättida lennukile kaamera ja saata ta midagi filmima, aga see pole hetkel eesmärk.
Instrumentaalmaandumine ei ole samuti teema hetkel - mul pole veel plaanis saatjat koju jätta kui lendama lähen;-) Eks muidugi, kui lennukil aku nii tühjaks saab, et mootor enam ei käivitu, siis eks ta alla tuleb, aga mitte eriti täpselt.

Mida ma tahaks piloodi suunal edasi teha on implementeerida idee, mida kirjeldatakse siin: http://gentlenav.googlecode.com/files/DCMDraft2.pdf

Idee poolest, lennuki asend leitakse kolme güroskoobiga - lisaks kasutatakse gps'i ja kiirendusandureid, aga ainult põhimõtteliselt gyrode triivi kompenseerimiseks. See tekitab olukorra, kus iga hetk on autopiloodil olemas info lennuki asukoha ja dünaamika kohta - kuidas selle info abil lennukit juhtida on endiselt automaatjuhtimise teooria küsimus, aga operatiivse info abil on see palju lihtsam kui kaudse info ja oletustega. Sellise jubinaga võiks juhtida ka vigurlennukit ja helikopterit.

Selle nn"Matrixnav" ideoloogia varjupooleks on raua kõrgem hind - ikkagi gps, 3 güroskoopi ja 3 kiirendusandurit (võib ka lisaks kasutada magnetvälja andureid). Mina saan hetkel hakkama gps'i, 1 güroskoobi ja 1 kiirendusanduriga, aga arengusuunana on ta ahvatlev.

Sparcfun on loonud ka autopiloodi platformi, kus dspic, 3 gürot ja 3 kiirendusandurit juba peal on.
http://www.diydrones.com/page/uav-devboard
Kahju ainult, et nad sinna sd-kaardi slotti ja suuremat dspic'i ei pannud, siis kasutaks isegi seda.

GPS saab fixi esimest korda sisse lülitades kuskil minutiga - järgmistel kordadel paari sekundiga. Kuna tal on peal supercap, siis hoiab ta kella käigus ka siis kui ta välja lülitatud on või satelliite ei näe. Seega, kasutan teda ka kellana (logifailid sd-kaardil on organiseeritud kuupäeva nimelistesse folder'itesse ja nende nimi sisaldab kellaaega, failide kuupäev pannakse paika samuti gps aja järgi).

AndrusK
User avatar
felch
Posts: 1462
Joined: Wed Apr 22, 2009 16:48
Location: Tallinn, Nõmme
Contact:

Post by felch »

Kui prooviks ehitada piloodile mingi takistuste vältimise süsteemi? Oletame et tahad saata lennuki punkti A kuid teel on tõkkeid (puud, majad jne). Ta peaks need ära tundma ja kõrgust muutma. Sama võiks olla kasulik automaatmaandumisel.

Lihtsalt mõte....

SD-kaardi draiveri juurdepookimine pole ju raske ja juhtmeid vaid 6 tk vaja (SPI modes muidugi).
User avatar
ak
Posts: 552
Joined: Fri Jul 20, 2007 17:16
Location: Tallinn
Contact:

Post by ak »

Hei,

takistuste vältimine on juba teine ooper, seal on mingit sorti radarit vaja. Siin foorumis on kunagi läbi käinud viide kopterile või quad'ile, kus radarid peal ja mis võis puude vahel lennata ilma kuhugi vastu põrkamata.

Sd-kaardi draiver tahab mälu saada, tollel Sparkfun uav dev board v2 protsessoril (30f4011) on 2k datamälu. Microchipi failisüsteem tahab min 1.5k datamälu (rohkem, kui tahad mitut faili korraga lahti hoida). Sellega _võiks_ napilt hakkama saada muude asjade kõrvalt, aga kitsas on (ma kasutasin enne 4013 kivi ja maadlesin sellega). Lisaks muutujatele kasutatakse vaba datamälu ka stack'i jaoks, see ei ole hea kui seda liiga vähe on. Lisaks on 4011'l 10-bitine ADC.

Ma kasutan hetkel 30f6012 kivi, sel on 12-bit adc, data mälu on 8k ja kasutuses ligi 5k. Arvestades, et 30f6012 maksab 250 EEK ainult, ei ole see eriline kulu, kõik võiks seda kivi oma board'ides kasutada;-) Ma panin eile kokku oma piloodi juppide nimekirja ning nii nagu ta mul hetkel on maksavad ta jupid Eestist ostes 3200 krooni. Enamuse (2500 EEK) sellest annavad 4 komponenti - GPS, güroskoop ja 2 rõhuandurit.

Eile tegin piloodis paar täiustust - asendasin ENC-03R gyro MEV-50A-R'iga. Saab näha kuidas see lennus käitub, nende tundlikkuse vahe on 40-kordne. ENC-03R plaanin katsetada kõrgustüüril.

Lisaks panin juurde voolumõõtja, acs754lcb-050-pff, et kulutatud energia üle arvet pidada. See on täiesti hämmastav kui suur müra sel on, aga loodetavasti midagi saab temaga siiski teha.

AndrusK
User avatar
ak
Posts: 552
Joined: Fri Jul 20, 2007 17:16
Location: Tallinn
Contact:

Post by ak »

Hei,

mõõtsin huvi pärast Arcuse energiatarvet ja lennuomadusi nii nagu nad parasjagu on (s.t. ilma optimeerimata). Raskuskese on mõnevõrra eespool kui soovitatud.

Arcuse andmed: Tiivaulatus - 1.8M, aku 11.1V 2100mAh, mootor Robbe 2834-08, propeller Aeronaut 9.5x5", raskus 0.7..0.8kg

Madalaim mõõdetud kiirus millega lennanud olen on 9m/s, stall speed väga palju madalam ei ole.

vajumiskiirus:
lennukiirus 12m/s - vajumiskiirus 0.6m/s
lennukiirus 15m/s - vajumiskiirus 1.5m/s
lennukiirus 18 m/s - vajumiskiirus 2.5m/s

penoka kohta vist suht ok? Kui sättida raskuskese nii taha kui annab, siis peaks vist natuke paremaks minema.

Tõusukiirus lennukiirusel õhu suhtes 15m/s : 3.7m/s
peaks vist lennukiiruse tõusul madalamaks sättima, tõuseks ehk kiiremini.

Lennuki staatiline voolutarve on 150mA. 2000mAh akust jätkuks seega kuskil 13 ootetunniks.

Lennukiirusega 15m/s lennates mootori täispööretel kulutab ta 1m jagu tõusmiseks umbes 1mAh. Täpsemalt: 203m võrra tõusmiseks kulus 206 mAh. Aku pinge langeb tõusul 9.5 voldini, voolutarve on 13A.

15m/s kruisides kulub voolu 90mAh minutis (ja ta liigub õhus minutiga 900m). Seega, 2000mAh akust peaks jätkuma 22 minutiks ja ta lendab selle ajaga peaaegu 20km (õhus jällegi - distants maal oleks vastutuult vähem ja allatuult rohkem).

Mootori täispööretel suudab lennuk kruisida kiirusega 20m/s, kui tahta kiiremini siis ainult kõrguse kaotuse hinnaga. Voolutarve seejuures on 11A ainult. Niimoodi lennata suudaks ta täis akuga u. 11 minutit ja läbiks ta u. 13km.

Kui lasta lennukil pidevalt mootoriga 200m kõrgusele tõusta ja sealt 12m/s mootorita alla lauelda, siis kuluks tõusuks 200mAh ning 54 sek ja langemiseks 333 sek ja 14mAh. 9 tõusu ja langust võtaks 1926mA ja aega kuluks peaaegu tund. Ma kahjuks ei tea, kui palju kuluks voolu mootoriga 12m/s kruiisides, kuna ta paneb pidevalt mootorit seisma ja paneb uuesti käima, kui ma üritan, ehk siis tundub loomapiinamisena.

Need on reaalselt mõõdetud andmed, kui lennuk on autopiloodi juhtimisel. Optimeerimisruumi on lauglemiskiiruse ja tõusunurga suhtes, käsitsi tõustes olen näinud suuremaid tõusunumbreid. Sellega mingit rekordit püüdma ei lähe, aga vahe rekordlennukitega pole nagu isegi mitte kahekordne, kui vaadata õhuspüsimiseks vajalikku energiakogust tunnis.

AndrusK
User avatar
felch
Posts: 1462
Joined: Wed Apr 22, 2009 16:48
Location: Tallinn, Nõmme
Contact:

Post by felch »

Huvitav kuhu 150 mA läheb ? SD kaart pidevalt aktiivne? Või analoogtehnikat piisavalt palju?
User avatar
ak
Posts: 552
Joined: Fri Jul 20, 2007 17:16
Location: Tallinn
Contact:

Post by ak »

Hei,

150mA suuremad tarbijad paistavad olema 2.4G vastuvõtja ja gps. SD kaart nagu ei mõjuta märgatavalt.

AndrusK
User avatar
felch
Posts: 1462
Joined: Wed Apr 22, 2009 16:48
Location: Tallinn, Nõmme
Contact:

Post by felch »

Jah tõesti, EM-406 suutis vist isegi 70 mA konsumeerida. Siin on veidi tagasihoidlikumalt rüüpav asi: http://www.sparkfun.com/commerce/produc ... ts_id=8936 (ligi 2* !).
Kui huvi, võin laenata katsetusteks. Vastuvõtjaga ei tee ilmselt suurt midagi.
[J]
Posts: 2776
Joined: Sun Aug 28, 2005 22:42
Location: Tallinn

Post by [J] »

Huvitav kuhu 150 mA läheb ?
Pool läheb 12V akuga soojaks. Kasutage switching pingeregu ja läheb poole vähem, sest asjad tarbivad siiski võimsust, mitte üksi voolu.
2,4 GHz vastuvõtja hakkab tarbima 70 mA (5V) asemel 12V allikast, "ime küll", 35 mA !!!
kui vaadata õhuspüsimiseks vajalikku energiakogust tunnis
Ainult kulu ei näita midagi, on suur vahe, kui üks lennuk kaalub 1 kg, teine 2 kg ja kulu tunnis on võrdne.
User avatar
felch
Posts: 1462
Joined: Wed Apr 22, 2009 16:48
Location: Tallinn, Nõmme
Contact:

Post by felch »

Võimsus ja vool on üheselt seotud, kui tarbida voolu, läheb ka võimsust üles. Lineaarsel regul muidugi soojuseks...
Impulssregud on head aga kui üldine tarbimine väike, tuleb mõnikord isegi šunt peale panna. ESCi väljundis on nagunii 5V (lineaarne stabikas a la LM1117 5.0) ja kui tarbimine väike, võib sellega rahul olla. Võimsate servode korral on kindlasti mõistlik impulsregut kasutada. Suure kasuteguriga sellist mõistagi. TPS6300x kivi baasil kasvõi kuid seda tükki tuleb luubi all plaadile tinistada. See-eest töötab hästi!
[J]
Posts: 2776
Joined: Sun Aug 28, 2005 22:42
Location: Tallinn

Post by [J] »

Ma mõtlesin - built-in switched BEC, nagu näiteks sellel:
http://unitedhobbies.com/UNITEDHOBBIES/ ... shless_ESC
User avatar
felch
Posts: 1462
Joined: Wed Apr 22, 2009 16:48
Location: Tallinn, Nõmme
Contact:

Post by felch »

Kus seal kirjas on et impulssregut kasutatakse?
[J]
Posts: 2776
Joined: Sun Aug 28, 2005 22:42
Location: Tallinn

Post by [J] »

Seal all kommentaarides asja kohta on ja ma ka ütlen, sest oman sellist. Lubatud 6 LiPo-t viitab samuti sellele, sest lineaarsega üle 3 LiPo ei kasutata. Enne ostu ma kusagilt lugesin kuid ei mäleta allikat...
Peale on samuti kirjutatud - mõnel poel on ehk parem pilt.
User avatar
ak
Posts: 552
Joined: Fri Jul 20, 2007 17:16
Location: Tallinn
Contact:

Post by ak »

Hei,

mul on impulssBEC, ehk siis tundub, et 5V osa voolutarve on ligi 300mA hoopis. See tegi mind murelikuks ja ma uurisin asja - viskasin kõik küljest ära mis sain ja ampermeeter näitas ikka ligi 100mA. Tundub seega, et maksimum voolutarve on ikkagi protsessorist tingitud siis. Vaatasin tabelist ja paistab, et 16Mips juures ta nii 100..150mA peakski võtma.

Variant on ka, et mõni jalg on lühises, aga minu kogemuste järgi kipub kivi kokku jooksma selle peale. Mul töötab laitmatult.

AndrusK
User avatar
ak
Posts: 552
Joined: Fri Jul 20, 2007 17:16
Location: Tallinn
Contact:

Post by ak »

Hei,

käisin oma Arcusega tõusvaid õhuvoole jahtimas. Ma tegin nii, et ta lendas autopiloodi peal kõige väiksema kiirusega mis suutis (u 12m/s), kui kõrgust maast oli alla 100m, siis ta pani oma mootori käima ja 200m peal lülitas välja. Kui ta leidis, et ta on "kodunt" üle 200m kaugemal, siis seadis suuna kodu poole ja kui ta oli lähemal kui 200m, siis hoidis suunda. Tulemuseks oli siis see, et ta purjetas mul pidevalt üle pea, 200m peal pööras ringi ja tuli tagasi. Kaardi peal joonistus midagi lilleõie sarnast.

Mul on nüüd 3s2500mAh aku lennukis ja propeller on Graupneri 10x6" (üks Aeronaudi labadest otsustas kahjuks ära lennata mingi hetk). Mootor võtab tõusul 20A, mis on vist üsna paras, mootori (pideva koormamise) piir on 24A ja kiirusregulaator kannatab samuti 25A.

Niimoodi lendas ta mul 66 minutit, siis oli aku niivõrd tühi, et kiirusregulaator lülitas mootori välja (logi näitab, et lennu jooksul tarbiti 2360mAh). Mul oli autopiloodi häire seatud 9v peale, mis lülitas ta "tule koju" rezhiimi ja mingi hetk ta hakkakski pea kohal tiirutama ja paari minuti pärast jäi ka mootor vait.

Nüüd on jama see, et mul on 66 minutit logi analüüsida (160000 tekstirida) ja seal kuskil võib olla mingi tiivamüks või paarisekundiline tõus, aga üsna lootusetu tunne on sellega tegeleda. Oleks vist pidanud kõik nähtavad märgid kohe "järgi katsuma".

Jama on ka see, et absoluutse rõhu anduri täpsus on 2m, ning ta graafik on üsna sakiline. Võib-olla tuleks midagi lisaks hankida kõrguse muutuste jälgimiseks..

Igal juhul, küsimusi jätkub, aga ma olen üsna seal kohas, kus ma tahtsin. Lennuk tuleb ise koju, nüüd saab tegeleda tõusvate õhuvoolude jahtimisega.

AndrusK
[J]
Posts: 2776
Joined: Sun Aug 28, 2005 22:42
Location: Tallinn

Post by [J] »

Olen kasutanud paaril aastal:
http://wstech.de/english/datavario_e.htm
Häält võib kuulda seal lehel nupukest klõpsates. Väga tundlik süsteem (pakutakse 5 cm/s). Kui lennukit käes hoian ja veidi tõstan, hakkab kohe tuudutama. Samal kõrgusel pidev toon, vajudes muutub toon madalamaks. Töötab suurepäraselt igal kõrgusel. Rõhuanduri ja paari op-võimendiga saab teha väga tundliku süsteemi. Kusagil netis (ei mäleta) oli skeemilahendusi kah.
Tavalisel lennul on sellest kasu kui lennuk on kõrgel pea kohal, siis on võimatu tõusu-langemist täpselt tunnetada. Eemal oleva lennuki puhul näeb silmagagi väga täpselt.
Kõrgusest meetrites pole sellisel anduril midagi vaja teada! Võtmesõna oleks siin variomeeter ja see pole kõrgusemõõtja. Mehitatud plaaneritel asendamatu riist.
User avatar
ak
Posts: 552
Joined: Fri Jul 20, 2007 17:16
Location: Tallinn
Contact:

Post by ak »

Hei,

otsustasin proovida mullide jahtimisel kasutada kõrgusandurina GPS'i. Enne seda oli vaja lennuk korralikke tihedaid ringe tegema õpetada, mida ma teise gyro kasutuselevõtu abil ka tegin. Nüüd on lennuki ringkiiruse arvutusel kasutusel nii yaw kui pitch gyro, ehk siis suur kaldenurk ei ole enam stabiilse keerlemise tagamisel probleemiks. Ühtlasi ma lasin lennuki arvutada enda energiat, ehk siis arvutada potensiaalse energia ja kineetilise energia summa. Tõusvate õhuvoolude leidmise algoritm sai lihtne - kui lennuk tõuseb ja lennuki energia samuti, siis tuleb hakata ringitama. Esialgu ma tegin nii, et kui ta tõuseb, siis ta ringitab tihedalt, aga kui langeb, siis 10 sek veel ringitab, aga suurema kaarega.

Esimene lend nägi välja selline:
Image

Kohe peale esimest tõusu ta leidis midagi, mis teda natuke aeg kandis. Samas, lennuk pöörles vastupäeva, seega tõin ta alla ja muutsin keerlemise suuna märgi.

Sellele järgnes siis tunnike lennuki omapead tegutsemist. Kui ta liiga kaugele läks (termikas keereledes ta kodu kaugust ei mõõda hetkel), siis panin ta koju tulema, muidu ma ei sekkunud. Tundus, et tal läks päris hästi, aga osade termikatega ta algoritm nagu ei toiminud - lendas termika piirile, keeras otsa ringi ja tegi suure kaare teises suunas. Võtsin ta jälle alla ja muutsin algoritmi nii, et kui ta tõuseb, siis ta keerleb natuke laisemalt, aga kui langeb, siis teravamalt. Ja viimane lend nägi välja nii:

Image

Peale esimest tõusu ei leidnud ta midagi, aga peale teist tekkis päris hea termika, mida tal kasutada õnnestus.

Graafik lõpeb seal, kus ma lennukile andsin käsu koju tulla ja vist kogemata lülitasin logimise välja. Kuna oli tuul, mis nii mulli kui selles keerleva lennuki pidevalt eemale kandis, siis oli lennuk minust selleks hetkeks 600m maad mööda +230m kõrgust eemal ja kadus halli pilve taustal silmist. Aga, käsk koju tulla oli käes ja mingi hetk ta ilmus jälle nähtavale.

Päris lahe. Nüüd tuleks veel ehitada kontrollid, mis teda liiga kõrgele ja liiga kaugele ei lase (mulli otsimisel on endiselt 250m piir, kus ta tagasi peab pöörama, aga kui ta juba tõuseb, siis ta võiks ju ka kaugemale minna).

Ühesõnaga, tore päev oli:-)

AndrusK
User avatar
felch
Posts: 1462
Joined: Wed Apr 22, 2009 16:48
Location: Tallinn, Nõmme
Contact:

Post by felch »

Väga tubli! Plaanid oma autopiloodile veel midagi lisada (peale pisividinate nagu kõrguse ja ehk ka lennupiirkonna piirang - geofencing)?
Ma sain endale mängida Volare ARF kit'i, peaks vist Sinu autopiloodi ka installima....
Kas Su plaaneril on kaamera ka peal?
Palju PICil veel jõudu jätkuks muude ülesannete täitmiseks?
Pole midagi paremat halvast ilmast !
User avatar
ak
Posts: 552
Joined: Fri Jul 20, 2007 17:16
Location: Tallinn
Contact:

Post by ak »

Hei,

Üks suuremaid projekte on autopiloodile "matrixnav" loogika lisamine, ehk siis installida 3 güroskoopi ja saavutada pidev arusaam ona lennuki asendist igal hetkel. Seda ma uurin aeg-ajalt, aga pole veel arusaamist saavutanud.

Sellest sõltumatuna olen ma mõelnud teha automaatse maandumise toe, kus on ette antud nii punkt kuhu tuleb sihtida kui ka suund, kust läheneda (no kui lihtsalt pole midagi muud teha). PIC'il peaks jõudu jätkuma, kuna ta ei tee eriti midagi, aga spetsiaalselt mõõtnud ma pole.

Ma olen mõnikord pannud Arcusele peale Flycamone (version 1), aga see on rohkem selline "fun for several seconds" laadis tegevus.

Piloodi skeem sul on - kui rauaga hakkama saad, siis soft on vabalt saadaval. Paraku iga gyro lisamine tõstab raua maksumust, see on asja negatiivne pool. Mul on siin ka üks katkine Arcus - mõtlesin sinna aretada eleronideta "polyhedral" tiivad, ehk sellisega poleks güroskoope vaja.

AndrusK
User avatar
ak
Posts: 552
Joined: Fri Jul 20, 2007 17:16
Location: Tallinn
Contact:

Post by ak »

Hei,

täna sai jälle käidud lennutamas. Lennukile said peale piirangud, mis keelasid termika otsimine kui kõrgust üle 350m või kaugus "kodust" suurem kui 4xkõrgus. Lasin tal lennata tunnikese ning ta joonistas sellised pildid:

Lennuki teekond kaardil:
Image

Kõrguse graafik:
Image

Kuna ma teadsin, et lendan tunni, siis ma logisin ainult gps'i, seega kõrgus on GPS kõrgus ja mootori info puudub - kuigi see peaks olema arusaadav millal mootor käis.

Graafikult on näha, et kohe alguses on midagi ja üht-teist toimus ka hiljem, aga mõnusaid tõuse on praktiliselt ainult 2 ja nad on lõpupoole. Tundus, et lennuk pöörab ikkagi liiga laialt ja kohati kaotab keereldes märkimisväärselt kõrgust.

Hiljem proovisin veel, aga panin ta väiksema raadiusega keerlema:
Image

Tundub, et seal igal pool midagi oli mis lennukit hoidis ja tõstis, aga millegipärast ei ole veel juhtunud, et termika lennukit üle 250m oleks tõstnud, kuidagi nad lõppevad enne ära või lennuk lihtsalt ei pea sammu. Ära lõppemist samas ei usu, linnud tiirlevad rõõmsalt ja tõusevad minu arust küll 300..400 m kõrgusele... ju siis ikka algoritmi kala...

AndrusK
Post Reply