Multikopterit.net keskusteluforum

PID Säätöjen perusteita

Aloittaja Samppa, tammikuu 27, 2016, 05:43:32 IP

« edellinen - seuraava »

0 Jäsenet ja 1 Vieras katselee tätä aihetta.

Samppa

Koitin haulla haeskella, mutta en löytänyt oikein sopivaa ketjua PID säädöistä kyselemiseen. Asiaa kyllä oli siellä täällä eri ketjuissa, mutta ajattelin tehdä uuden puhtaasti PID säädöt otsikolla kun akuutti kysymys koskee pariakin eri vehjettä ja eri kontrollereita.

TODO: tähän tarkemmin ohjetta pid- säädöistä, linkkejä yms. Ajan kanssa lisäilen...

Ohje tehty Clean/Betaflight firmikseen pohjaten. KESKENERÄINEN vielä

Säätö tehdään mieluiten Acro moodissa. Air moodi käynee myös

Laitetaan aluksi PID- säätimeen matalemmat lähtöarvot. Esim.

Roll: P4.0 I0.02 D5
Pitch P4.0 I0.02 D5
Yaw: P5.0 I0.02 D0

Ei ihan nollille mitään tai menee lentäminen aika vaikeaksi...

Säätö tapahtuu järjestyksessä
1. Roll
2. Pitch
3. Yaw

ROLL. Ensin lähdetään nostamaan P- arvoa asteittain ja tehdään välissä koelentoa. Kun alkaa näkymään täyskaasunousussa nopeaa oskillointia, niin pienennetään P:n arvo n. 70-80% sen hetkisestä lukemasta. Tämä on hyvä perusohje ilman blackboxia säätäessä. Tarkempaa rajaa voidaan hakea blackboxin logeja seuraamalla. Pudotetaan arvoa siihen asti ettei oskillointia enää näy käyrissä missään tilanteessa. Tämä voi vaatia vielä hienosäätöä D-arvon säädön jälkeen ja myöhemmin kun on lentoja takana ja logidataa kertynyt.

Tässä selkeää oskillointia joka näkyy selkeästi myös silmämääräisesti:


Alla kuva hieman lievemmästä oskilloinnista, joka on jo hankalampi huomata silmämääräisesti. Voi vielä korvin ehkä kuulla moottoreiden ääntä seuraamalla:


Tehdään sama säätö Pitch- akselille.

D-termi säädetään seuraavaksi. Sopivaa arvoa voi hakea esim. tekemällä rolleja (roll akseli) ja flippejä (pitch akseli) ja seuraamalla kuinka terävästi liike loppuu pyöräytyksen jälkeen. Jos D:tä on liian vähän tulee P:n arvosta johtuvia ylikorjauksia, jolloin oskilloi jonkin kerran edestakaisin. Jos nopeasti laskeutuessa, nopeissa suunnanmuutoksissa tms. tilanteissa tulee oskillointia tai huojuntaa, niin nostetaan D:n arvoja asteittain ylöspäin. Nostetaan vain siihen pykälään asti että nämä huojunnat saadaan pois. Liian kovat D- arvot aiheuttavat säätöön ylimääräistä kohinaa ja voivat rasittaa moottoreita erittäin nopeilla tehonmuutoksilla. Samalla häviää liikkeistä terävyyttä. Moottorit lämpenevät ja voivat vaurioitua, mutta tällöin puhutaan jo selkeästi liian kovista arvoista. D:n arvoa voi Blackbox datassa seurata ja verrata P-arvoon. D- arvo ei saisi olla määräävänä tekijänä P:n yläpuolella. Jos näyttää että D- arvo määrittelee esim. rollin PID summaa, niin lasketaan arvoa alaspäin. Alla kuva jossa näkyy Roll- akselilta reiluhko suurennos. Käyrällä on erikseen P-, I- ja D- termit ja niiden summakäyrä. Tästä näkee selkeästi miten summakäyrä seuraa aika tarkkaan D- termiä. Eli D-termin arvo on liian korkea.


Säädetään I:n arvot siten että kopteri säilyttää suuntavakauden nopeissa nousuissa tai nopeasti suoraan lennettäessä. I:n arvoa voi
hienosäätää vielä myöhemmin koska se ei vaikuta aivan radikaalisti P:n tai D:n käytökseen. (KESKEN)

Kun arvot on kohdillaan, niin käyrä näyttää (suht tasaisessa lennossa) kuta kuinkin alla olevan kaltaiselta. I- termi näyttää suuntaa ja PID-summakäyrä seurailee aika tarkkaan sitä.



Samppa

#1
Selailin jo rcgroupsin yms. perus pid säätöketjuja, mutta jäi edelleen hieman auki että mistä voisi johtua woblaaminen tilanteessa kun antaa pienellä kaasulla quadin pudottaa korkeutta aika nopeaan ja sitten kaasulla pysäyttää tippumisen. Pääsin käsitykseen että I- arvo (pitch/roll) voisi olla liian korkea, mutta jäi sen verran epäselväksi etten edes alkanut vielä testailemaan. Mielestäni woblaa jo jonkin verran siinä vaiheessa kun nopeus tippuu, mutta voimistuu siinä vaiheessa kun antaa kaasua. Eli selkeästi tärisee ja moottoreiden äänestäkin kuulee woblaamisen. Itsellä lentely on aika kevyttä harjoittelua vielä ja ei ole tullut oikeastaan muuten tarve pid säätöihin koskea, mutta tämä runsaahko woblaus korkeutta tiputtaessa alkoi hieman häiritsemään. Aiemmin tuli lennettyä lähinnä alle 10m korkeudella jolloin tätä ongelmaa ei edes huomannut. Nyt tulee jo käytyä pikku "hyppyjä" puiden latvojen yläpuolella yms. Kotipihassa vielä aika tarkkaa ottaa nopeus alas sopivaan väliin ettei osu mihinkään.

Ongelma on pahempi Diatone ET160 quadissa, jossa CC3D (Betaflight 2.3.3), RCX H1306 moottorit ja Gemfan 4045 potkurit. Akkuna 3S 1000mAh. EuroRC250 ei tee tuota kovinkaan pahasti ja aiemmin ei mielestäni huomattavasti lainkaan. Nyt vaihdoin siihen juuri Gemfan Bullnose 5046 potkurit ja mielestäni sen jälkeen tuota hieman enemmän esiintyi. Muutoin toimii noilla bullnoseilla mielestäni miellyttävämmin. Aiemmin valittelin kopunetin puolella että yaw ei oikein pidä. Näillä potkureilla muuttui paljon täsmällisemmäksi sen toiminta. Ja hiljaisempiakin ovat. Tosin takana vasta yhden (4S) akullisen lentely. Aiemmin ollut aina Gemfan 5030. Muutoin tuo EuroRC on vakiokamppeilla. Naze32 rev.6 (Betaflight 2.3.3), Dys 1806.

Molemmissa ollut multiwii rewrite säädin käytössä. Vaihdoin molempiin kokeeksi luxfloatin ja mielestäni tuossa 160 quadissa woblaus väheni hieman jo peruspideilläkin.

Eli mitä kannattaisi ensin kokeilla säätää P, I vai D arvoa ja mistä (pitch vai roll)?

Tein silläkin uuden ketjun kun varmaan vastaavia pikkukyssäreitä tulee eteen vastakin. Toki asiasta on tullut lueskeltua ja katseltua juutuubi videoita, mutta jotenkin ei ole vielä täysin auennut tämä säätöprosessi. Tietoa on paljon englanninkielellä tarjolla, mutta jotenkin helpompi kysellä näin suomeksi.

lisäys:
Tulipa kokeiltua pikkuquadilla kuitenkin vähän summissa noita säätöjä. Ensin pudotin pitch ja roll I- arvoa 0.4:stä pikku hiljaa 0.2 asti. Ei juuri eroa, paitsi ehkä woblaus ei ollut niin nopeaa kuin aiemmin. Koitin myös hieman nostaa P- arvoja. No sitten seuraavaksi kokeilin isompia I-arvoja. Nostin 0.5:een, mutta ei sekään tuntunut parempaan suuntaan menevän, paremminkin päinvastoin. Palautin aika liki vakioarvot. Sitten tulikin testilennolla osuttua pihapuun oksaan ja siitä sadevesiämpäriin... Onneksi se oli etupäässä täynnä jäätä ja vettä vain hieman pinnassa  8)

Oikosulkumies

Se woblaus johtuu siitä ku laskeudut potkurien hämmentämään turbulenttiseen ilmavirtaan. Eli ns. likaiseen ilmaan.
Väri väriin ja loput yhteen

hukkis

#3
Tossa on aika hyvin selitetty kansankielellä mitä mikäkin säätö tekee. Ei mitään tarkkaa, mutta sinnepäin. http://blog.oscarliang.net/understanding-pid-for-quadcopter-rc-flight/
Edit: kevyellä koneella voi ollla vähän niin ja näin pystyykö säätämään. Isommalla koneella saa vähän paremmaks. Eipä noita oikein siististi ja nopeesti alas saa, jos hanskassa pysyy niin riittää... mulle ainakin.

Samppa

#4
Lainaus käyttäjältä: Oikosulkumies - tammikuu 27, 2016, 07:42:30 IP
Se woblaus johtuu siitä ku laskeudut potkurien hämmentämään turbulenttiseen ilmavirtaan. Eli ns. likaiseen ilmaan.

Tämä vois olla aika hyvä selitys asiaan. Huomasin nyt testaillessa vielä että tuota esiintyy enemmän jos laskeutuu hitaalla vauhdilla liki "pystysuoraan". Kun on enemmän vauhtia eteenpäin, niin ei tunnu niin pahalta tuo. Voisi ehkä tukea ko. teoriaakin. Oon tainnut joskus tuon hukkiksen linkittämän artikkelin lukeakin, mutta silloin ei asia ollut niin ajankohtaista vielä niin ei jäänyt mieleen. Pitääpä tavata nyt ajatuksella läpi.

Vaihdoin tuon säätimen multiwiistä luxfloatiin ja jotenkin varsinkin tuolla pienemmällä quadilla että liikkeet olisi tulleet jotenkin terävämmiksi ja ehkä nopeammaksikin. Piti aavistus ratejakin varulta pudottaa. Onko tämä vain mutu tuntumaa ja kuvitelmaa vai onko tuolle jokin selitys?

MikeK

Kun vaihdat controlleria, vaihtuu myös pidit. Ja nuo controllerit toimivat eri tavalla.

Woblauksen saa kyllä nyky nopeilla nopareilla ja fc softilla pois. Vaatii vaan säätämistä.
"Eikö kukaan tosiaan lennä multia enää muuten ku rilleillä?"

Samppa

juu tuo pidien vaihtuminen on tiedossa, menevät aika eri hehtaareille muutenkin. Mutta jotenkin terävämmältä tuntuu liikkeet muutenkin tällä luxilla. Ihan kuin olisi ratejakin enemmän kuin multiwiissä vaikka niihin ei tule muutoksia.

Molemmissa vehkeissä on nopareissa oneshot125 käytössä. Isommassa Halko(DYS) SN20A, pienemmässä xRotor 10A. Mitä pitäisi FC:llä säätää että saa woblauksen pois/vähemmäksi?

lazyeyes

Suosittelisin käyttämään blackboxia. Sillä näkee mitä siellä gyrolla tapahtuu ja miten pid arvot käyttäytyy. Laitetaas muutama linkki niin ei tartte ite selitellä.
Perus esittely video
Joshua Bardwell

Tässä ois yks mun tune run video log sync -10.7 log 4/4
Itsekin vielä kovin noobi asiassa ja jos joku tietää paljon niin oishan se suomeksi helppo lukea. Joitakin asioita kuitenkin voisin nostaa esille betaflightista.
Aina kun uusi versio tulee siellä on olemassa bugeja/virheitä jotka selviää test groupin välityksellä joten betan foorumin käyttö on suositeltavaa. On tullut versioita ulos jotka hajottaa nopareita jne. ota selvää ennenkö siirryt uusimpaan betaan siis.
Jos et käytä sbussia kannattaa ottaa rcsmoothing käyttöön. Defaulttina pois päältä.

Samppa

#8
Blackboxia on tullut tuossa isommassa quadissa kokeiltuakin. Se Nazen sisäinen muisti on vain niin pieni ettei kovin pitkää lentoa sille mahdu. En oikein päässyt niistä käyristä täyteen ymmärrykseen tuolloin. Pitäisikin nyt kokeeksi kyllä lentää yksi lento blackbox päällä kun on tullut tuohon betaan useampi päivitys ja muutakin pientä päivitystä kopuun. Voisi koittaa uudelleen tulkkailla käyrää tai postittaa tänne yhdessä pällisteltäväksi  8)

Tässä 2.3.3 versiossa näyttää olevan rc_smoothing oletuksena päällä. Otin 250 quadista pois kun siinä on sbus. Pitänee odotella tovi ennen kuin uusimpia laittaa sisään. Aika tiuhaan noita versioita näyttää tulevan. Nyt oli tullut 2.3.4, jossa mm. tuo rcsmoothing olikin taas otettu oletuksena pois. Mikäs tuo betan foorumi on? Google ei heti löytänyt muuta kuin rcgroupin säikeen.

MikeK

Lainaus käyttäjältä: Samppa - tammikuu 27, 2016, 10:55:13 IP
Google ei heti löytänyt muuta kuin rcgroupin säikeen.

Se on se Rcgroupin säie. Ei ole erillistä foorumia.
"Eikö kukaan tosiaan lennä multia enää muuten ku rilleillä?"

Samppa

#10
Aavistuksen taisin saada 160 quadia paremmaksi. Korjaus lähti sellaisesta kun huomasin että jos menee vauhdikkaammin eteenpäin ja nopeasti kääntyy ympäri yaw:lla, niin tekee äkkinäisiä liikkuja. Yhtäkkiä lisää kaasua itsekseen reilusti, eli jotain alkaa korjaamaan aika raakasti. Samaa on tehnyt pari kertaa sellaisessa tilanteessa kun lennän talon katon harjan yli ja alan räystäältä nopeammin ottamaan korkeutta alas ja samalla kääntämään talon nurkan takaa takaisin etupihalle. Saattaa yhtäkkiä saada kaarron ja nopeuden laskun aikana jonkin korjaussätkyn ja ampuu siinä yhteydessä kierroksia potkuriin sen verran runsaasti että pihan reunan puut on äkkiä kohdilla  >:(

Laskin sitten kokeeksi yaw:n P- arvoa ja lisäsin sille hieman samalla D:tä. Laskin myös pitch ja roll P- arvoja vähän ja nostin D-arvoa. Käsitin että tuon D:n pitäisi tuoda hieman pehmeyttä noihin korjauksiin, mutta voipi olla vielä vääräkin käsitys. Joka tapauksessa nyt testiessä huomasin ettei ihan niin pahasti edes woblaile noissa nopeuden laskuissa. Tosin vieläkin tekee toisinaan nopeissa tilanteissa noita liian äkkinäisiä korjausliikkuja, joten vielä olisi säätämistä. Mielestäni kuitenkin parempi kuin defaulteilla. Pitää viikonloppuna käydä vähän reilummassa tilassa lentämässä. Nyt tullut testittyä lähinnä iltaisin pimeällä kotipihassa, joka ei välttämättä anna aivan oikeaa kuvaa. Paljon ei kyllä kestäne enää P-arvoja laskeakaan. Isompi quadi pelaa ok noilla defaulteillakin. Tämä pienempi on muutenkin äkäisempi liikkeissään siksi vaatinee pienempiä P-arvoja.

Default Luxfloa PID arvot (2.3.3.)


Nyt Diatonessa käytössä olevat arvot:

Certi

Jos lennätät itsesuoristavilla lentotiloilla, pienennä tota sun angle/horizon P:tä kuudesta vaikka neljään. Se aiheuttaa vaapuntaa herkästi. Osa porukasta laittaa acc_hardware=1 (eli ei ole kuin ratetilat käytössä) kun ei noita itsesuoristavia tartte.

Samppa

#12
En käytä normaalisti muita lentotiloja kuin rate/acro. Tosin tällä pienemmällä quadilla käytän satunnaisesti anglea kun jotain testaan sisällä tai satunnaisesti pihallakin. Mutta en se moodi päällä varsinaisesti lennä. Nuo kiihtyvyysanturit ei ilmeisesti rate-moodissa pitäisi vaikuttaa mitään vaikka niitä ei poistaisikaan käytöstä erikseen?

Aimo Kulaus

Mikäli kopterissa on ilmanpaineen avulla toimiva korkeusanturi, niin huono kotelointi saattaa aiheuttaa käännöksissä ali- tai ylipaineen ilmanpaineanturiin, ja siten oudon hyppäyksen alas tai ylös. Kyseessä ei siis välttämättä ole PID-säätimen ongelma.

(Tässä tapauksessa ei ehkä ole tästä kysymys, mutta koska viestin otsikkona on PID-säädin, niin muissa laitteissa tämä voi olla suurin syyllinen outoihin pomppuihin käännöksissä.)

aprepo

Näissä pienissä kikkailukoptereissa ei noita paineantureita tms. yleensä ole, kun lentotilakin on yleensä rate.

Miten pienellä kaasulla teet tuon alastulon? Itselläni tuollaisen sätkyn saa yleensä aikaan jos tekee liikkeitä missä kaasu saattaa mennä (lähes) nollaan ja kaasua lisää antaessa kopteri alkaa sekoilla. Airmode pitäisi auttaa tuohon, en ole vielä kokeillut itse.
"Ei tää kulje kovempaa!"