Nyt on CNC-foorumin tukeminen helppoa!
Maksu onnistuu PayPalin kautta myös kortilla
Konemies kiittää

cnc työstökeskusten/jyrsimien tarkkuus?

Aloittaja ttontsa, 23.06.16 - klo:10:41

« edellinen - seuraava »

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

ttontsa

Moro

Minkäsnäköisiin tarkkuuksiin/geometriavirheisiin pääsette "mid price" kaupallisilla työstö keskuksilla/cnc koneilla? Onko tapilla pyöräytetty reikä pyöreä, ovaali tahi salminakki ja kuinka paljon?

Minkälainen mahtanee olla esim 26H7  (26....26,021mm) Reiän muoto mitattuna x ja y suunnassa. +/-45asteen kulmassa xy tasossa? Muotovirhettä 0,005, 0,01 vai 0,025mm? Eli onnistuuko esim 26H7 laakeripesän kairaaminen moitteetta Esim 14mm Hss varsijyrsimellä?

Entäpä 5 vuotta yks vuorossa 5pv/vk keskiraskasta ajettu kone?

Bridgeportissa sain suitsittu backlash säädöillä suurinpiiretein x ja y suunan kuosiin mutta jostain hemmetin syystä reikä haluaa venyä 45asteen kulmassa satskun pari ovaaliksi/ellipsisksi.

Syyttäskö ohjausta,mekaniikkaa vai kattosko peiliin. D'andrean hienosäätö avarruspäällä toki saa reijistä jotakunkin ympyröitä mutta vähän turhauttavaa hommaa sekin.
Hitsaus&koneistus&Protopaja
www.tulinen.fi

Hiekkaranta_92

Mahdollisesti analogi säätäjällinen servokäyttö bridgessä. Näissä säädetään potikoilla kone kulkemaan sitä tahtia jota kone määrää... Jos Ohjaus käskee mennä 700mm/min ja toinen akseli meneekin 710 mm/min ja toinen 690 mm/min niin syntyy tuonkaltaista virhettä.
Mikäs ohjaus tässä koneessa olikaan?

ttontsa

Delta ASDA-B2 750w purkit joka akselilla.Servoja ajetaan analogisena closed loopilla Mesa 5i25+7i77+uusin versiojako linuxcnc:stä. Viimeistely kierto ajeltu jopa 50mm/min nopeudelalla.

Max seurantavirheellä toki vois vielä kokeilla ruotia. Hitaille nopeuksille tais olla tällä hetkellä 0,05mm ja suurille 0,2mm. Liian tiukallahan se lyö ohjauksen erroriin. Voisko ohjaus toimia niin ettei koita korjata paikkaa jos ollaan virhemarginaalin sisällä?

Koodeihin hakattu G64 P0.001

Kun ei tiedä ruotisko mekaniikkaa vai nypläiskö bittejä.
Hitsaus&koneistus&Protopaja
www.tulinen.fi

Ville Vaho

Tervetuloa uskonsa menettäneiden kerhoon. En puhu omista romuista, tarkoitan asiakkaiden koneita.

0.4mm virhe 5 akselisella muutaman vuoden vanhalla koneella on ihan arkea.

Nykyiset myllyt on samoilla parametreilla kuin ensimmäinen joka lähti linjalta. Mekaniikka on teoriassa hyvää, eli kuularuuvit on tarkkoja, laakeroinnit on ylitarkkoja. Mutta käytännössä on epäonnistuttu pahasti.

Kokonaisuus kusee ja koneet on puolivalmiita.

Säätämällä koneesta saa kohtuullisen, mutta ei pidä uskoa että tehtaalla on joku ajatellut asian loppuun asti.

80-90 luvun kone voi olla tarkka, 90-16 kone on säätämistä vaille valmis. Jotain vahinkoja voi löytyä.

Tarkkuus on yleensä vain tietyllä nopeudella, 800mm/min kohdalle kannattaa säätää kone tekemään ympyrää. Tai siihen millä haluaa tehdä tarkkaa. Terä ei leikkaa tarkasti jos mennään liian hitaasti tai liian lujaa. Pitäis tunnistaa mistä virhe syntyy, koneistus vai kone. Ja koneesta mekaniikka vai sähköt.

Ja koneistettava materiaali voi vedellä!

Kokonaisuuden ja psykologian kun hallitsee, on valmis tekemään isoa tiliä koneen korjaajana. Tosin kun hallitsee ihmisen mielen, ei enää halua rahaa.

Koneenkorjaajat tuntuu himoitsevan laserilla mittaamisen perään, mutta unohtavat mitä ovat mittaamassa... Ja ennen kaikkea miten! Yksinkertaisuus on kaunista ja tonnikello on aivan liian hieno kapistus.
-vilderi

ttontsa

No se tässä närästää että kiinalaisesta HBM 45 280kg penkkijyrsimestä granite devicen servoilla ja rolcon yksmutterisilla ruuveilla toteutettu hyppyheikki tikkaa kertaluokkaa parempaa reikää kuin 2,8 Tonnin malmikasa.


HTD hammashihnojen jakotarkkuus kanssa askarruttaa. Hihnat on etran tiskiltä gates:n peruskamaa. Mikä lie moisten tarkkuus.

Tiedä sittenkummalla ohjausmetodilla päästään parempaan tarkkuuteen step/dir vai analoginen closed loop. Mahc:n kanssa närästi kun joutu tekeen paniikkijarrutuksen niin aina oli paikka hukassa. Linuxcnc:n kanssa taas ei ole tätä ongelmaa.

14mm hanitan alutapilla kun ajaa 15mm alulattaan 26mm reikään 0,2mm viimeistelylastun niin siinä ei pitäisi työstövoimien merkata miltään kantilta yhtään mitään, ei pitäisi tapin taipuilla eikä 280kg:n pöydän liikkua välyksien takia.

Lähinnä kiinnostas tehdäänkö työstökeskuksilla noin yliottaen H7 reiät pelkästään tapilla vai kalvataanko vai avarretaanko
Hitsaus&koneistus&Protopaja
www.tulinen.fi

Jussik

Terve

Vika voi olla kummassa vain, mutta lähtisin etsimään ensin mekaniikan puolelta.
Jos haluat ajaa laakerisovituksen jyrsintapilla, vaatii se koneen mekaniikan olevan välyksetön.
Mikäli mekaniikassa on välystä, hyvin todennäköisesti terän haukatessa se vetää välyksen toiseen laitaan.

Tätä ei voi korjata ohjauksella (backslash kompensointi), kuularuuvi, päätylaakerointi, johteet, karalaakerointi tai siis niiden kunto vaikuttaa tähän.


Tietysti laakeripesä tulee rouhia auki ja jättää noin 0.05-0.1mm viimeistelyvara.
Viimmeistely tulee ajaa Circular interpolation (G02 tai G03).
Myös overlap tuossa viimeistely radassa tulee huomioda,
ettei työstörata ala ja pääty samaan paikkaan, tähän jää silloin pieni pykälä, ympyräliikkeiden tulee olla päällekkäin jonkin matkaa.

Mulla välyksetön 4.5T painavan vm.84 japsi, THK kuularuuvit tuplamutterein ja thk lineaarit.
Linuxcnc ja mesa 5i20+ 2x analogi kortti ja io kortti, indramat ecodrive servot.
kyllä sillä perus laakerisovituksen ajaa, tonne 0.004mm heiton tienoille.

Silti pyrin käyttämään avarrinta.


Hiekkaranta_92

Kuulostaa kyllä klassiselta nopeusero virheeltä. Voi toki myös olla liike akseleiden kohtisuoruudessa sanomista, mutta harvemmin kai tämän tyyppisissä koneissa tälläistä ongelmaa on.

Tuossa on hyvä linkki aiheesta:
http://www.machinetoolhelp.com/Preventativemaintenance/Ballbaranalysis.html

Säätöpiirin virittämisessä pelkkä takaisinkytkentä ei tee autuaaksi. En linux cnc:hen ole kerinnyt perehtyä (vieläkään), mutta esimerkiksi juuri ympyränkaaria ajellessa paikka takaisinkytkentä lenkki reagoi liian hitaasti jos vahvistus arvo on väärä (yleisesti kv). Tämä johtuu ihan takaisinkytkennän periaatteesta. Mitään ei korjata ennen kuin syntyy eroa, mutta toisaalta myös ohjearvo muuttui koko ajan tietyssä liike suunnassa siten ettei virhettä olekkaan enään niin paljoa.

Kremmen

#7
Syvennetään vähän Hiekkarannan sinänsä oikeaa kommenttia säätösysteemeistä.

Klassinen yhden muuttujan säätö on tosiaan takaisinkytketty silmukka. Siinä säädettävän suureen oloarvoa verrataan annettuun ohjearvoon, eli vähentämällä oloarvo ohjearvosta saadaan ns eroarvo joka kuvastaa virhettä tavoitteen ja todellisuuden välillä. Jos eroa löytyy niin ns toimisuuretta muutetaan sopivaan suuntaan jotta ero pienenee ja poistuu. Muuttaminen tapahtuu kohdistamalla eroarvoon jokin matemaattinen toimenpide, jonka lopputuloksena saatu toimisuure ohjaa toimilaitetta kohti ohjearvon osoittamaa tilaa.
Tässä keskustelussa ohjearvo olisi radanlaskennan muodostama paikan hetkellinen tavoitearvo, oloarvo olisi servon pulssianturilta mitattu näennäinen sijainti ja eroarvo näiden erotus. Toimisuure olisi säätäjältä servovahvistimelle lähtevä käskysignaali. Se voi olla joko nopeuden tai momentin ohjearvo servovahvistimen sisemmälle säätösilmukalle, joka omasta puolestaan ohjaa taas kyseistä suuretta samalla periaatteella. Tämmöinen sisäkkäisten säätösilmukoiden "vyyhti" on hyvin tyypillinen niin, että usein nähty kombinaatio on uloimpana paikkasäätäjä, sitten nopeussäätäjä ja sisimpänä momenttisäätäjä. Pienemmissä systeemeissä kaikkia ei välttämättä ole olemassa.

Paikan ohjearvo saadaan radanlaskennasta hetki hetkeltä muuttuvana tavoitepisteenä. Siinä on vähintään XYZ-koordinatit 3D-avaruudessa, mutta voi koneesta riippuen olla paljon enemmänkin kuten kiertymät edellisten ympäri, ja mikäli liikeavaruus on ns. ylimääritelty, eli koneessa on kaikenlaisia ranteita ja kyynärpäitä työkalun suuntaa ohjaamassa, niin niille on vielä omat koordinaattinsa tarpeen mukaan. Kaikkia näitä hallinnoi radanlaskenta josta lähtee ajan suhteen koordinoidut asemakäskyt jokaiselle säädettävälle liikkeelle.
Klassisessa säätöjärjestelmässä kutakin yksittäistä liikeakselia ohjataan sitten PID-silmukalla jolta akseliservo saa toimiohjeensa. Se toimii pitkälti juuri kuten Hiekkaranta toteaa, eli ensin pitää syntyä virhettä ohjeen ja oloarvon välille, ja vasta sitten se voidaan korjata. Periatteessa PID-säätäjän I-osuus eli integraattori kelaa staattisen virheen pois, mutta servon nopeusohjeen jatkuvasti muuttuessa se ei voi edes periaatteessa poistaa asemavirhettä kokonaan. Sikäli tämä ei ole virityskysymys, että PID-säätäjä on lähtökohtaisesti kykenemätön pitämään eroarvon kaikissa tilanteissa nollana.

Ensimmäinen optimointi, jota itsekin olen monesti joutunut käyttämään kun tilanne menee haastavaksi, on ns myötäkytkentä eli Feed Forward eli FF. Se saattaa muuten olla käytettävissä LinuxCNC:ssäkin, en ole ihan varma. Tämä toimii niin, että säädettävä prosessi mallinnetaan enemmän tai vähemmän tarkasti ja mallin perusteella lasketaan ohjearvosta mahdollisimman tarkka toimisuure etukäteen. Toimisuurehan oli siis se signaali joka menee esim akseliservolle säätäjän laskennan lopputuloksena. Tämä laskenta joka siis on se myötäkytkentä, tuottaa heti kättelyssä lähes oikean tarvittavan toimisuureen ilman säätäjää ja ilman mitään takaisinkytkentää. Myötäkytkentä ei siis tarvitse mitään eroarvoa vaan se syntyy heti suoraan ohjearvosta. Näin ei synny mitään silmukkaviivettäkään.
Ideaalitapauksessa jos prosessi on mallinnettu eksaktisti ja myötäkytkentä on laskettu täsmälleen oikein, ei mitään eroarvoa synny vaan toimilaite seuraa ohjearvoa täsmälleen. Näin ei koskaan tapahdu käytännössä johtuen siitä, että tilanteet aina vaihtelevat. Servon liikuttama kuorma painaa eri määriä eri kerroilla, kuularuuvit takertelee vanhemmiten, johteet kuluu ja laakerit väljistyy ja maailma rappeutuu muutenkin. Niinpä edelleen pidetään normaali PID-silmukka säätämässä jäljelle jäävää virhettä. Sitä vaan jää nyt jäljelle enää murto-osa siitä mitä ilman myötäkytkentää. Myötäkytkennän ja PID-säätäjän laskentatulosten summa on tässä tapauksessa siis toimisuure.
Myötäkytkentä on klassisen säätösysteemin helppo ja tehokas optimointi jolla saa monta kiperää ongelmaa ratkeamaan, kunhan sitä osaa oikein soveltaa. Hommassa on sekin hienous, että prosessia ei tarvitse osata mallintaa täsmälleen vaan voi helposti kokeilla eri myötäkytkennän arvoilla kunnes optimaalinen tulos saavutetaan. Myötäkytkennän heikkous taas on se, ettei se huomioi muuttuvia tilanteita vaan toimii joka kerta samalla tavalla joten ääritilanteiden väliltä on löydettävä sopiva kompromissi.

PID-säätäjän ja sihen liittyvän myötäkytkennän voi hyvin toteuttaa yksinkertaisella operaatiovahvistinkytkennällä analogisesti. Sellaisia näkeekin vanhemmissa työstökoneissa vielä vaikka millä mitalla ja ihan yhtä hyvin ne toimivat tänään kuin eilenkin. Toki uudemmat toteutukset ovat kaikki digitaalisia joko mikrokontolleri- tai FPGA-pohjaisia systeemejä tai yhdistelmiä.

Jos irtaannutaan puhtaasti klassisesta säätöperiaatteesta niin myötäkytkennän ajatusta voi kehittää huomattavasti digitaalisen laskennan avulla, ja niin on tehtykin. Askel eteenpäin myötäkytkennän staattisesta mallista on tehdä mallista jollain tapaa dynaaminen niin, että reagoi systeemissä tapahtuviin muutoksiin.
Ja kas, esiripun takaa näyttämölle astuu Kalman-suodin. Unkarilaissyntyisen Rudolf Kálmánin kehitelmää kutsutaan yleisesti suotimeksi, mutta oikeampi nimitys on prediktori eli ennakoija. Sen keskeinen ajatus on, että häiriöllisestä mittausdatasta voidaan muodostaa ennuste mallinnetun systeemin tulevasta tilasta ja vielä niin, että tuo ennuste paranee iteratiivisesti kun mallin parametreja korjataan kierros kierrokselta. Menemättä syvemmälle yksityiskohtiin niin mikäli kohina (häiriöt) ovat Gaussin käyrälle jakautuneita niin Kalman-suotimen pienimmän neliösumman estimaatti tuottaa tarkasti oikean ennusteen systeemin tulevasta tilasta häiriöllisen mittausdatan perusteella. Käytännön laskennassa sovelletaan käsitettä Kalman-gain eli "vahvistus" jolla  ennuste muodostuu osin mallin ja osin siitä lasketun ennusteen summana. Vahvistuksella määrätään kummankin suhteellinen osuus ja vahvistus puolestaan asetetaan jonkin hyvyyskriteerin perusteella, mahdollisesti sekin dynaamisesti säätyvänä.

Edellä olevassa kappaleessa esiintyy sana "tila" josta päästään seuraavaan vaiheeseen eli monelle nimeltä ja joillekin tarkemminkin tuttuun tilasäätäjän käsitteeseen. Tämmöisessä säädettävä systeemi on mallinnettu ja malli on puettu lineaarialgebran kaapuun siten, että systeemin tilaa (state) kuvataan tilavektorina johon kohdistetaan matriisilaskennan operaatioita. Tilavektorin alkiot heijastelevat säädettävän systeemin arvoja (esim paikka, nopeus, kiihtyvyys jne). Muita vektoreita ovat ohjearvovektori, toimisuurevektori jne. Säätäjän mekaaninen toiminta on laskea uusi toimisuurevektori muiden perusteella käyttäen siis matriisilaskennan operaatioita. Nuo operaatiot vastaavat (jollain hyvin periaatteellisella tasolla) PID-säätäjän P,I ja D-funktioita ja vastaavat matriisit noiden funktioiden viritysarvoja. Paitsi että käytännössä ei kuitenkaan. Riittäköön tässä, että matriisien alkiot ovat kaukaisesti sama juttu kuin ylempänä mainitun myötäkytkentämallin parametrit joiden avulla toimisuuretta laskettiin suoraan. Niin sanottu LQG (linear quadratic Gaussian)-tilasäätäjä soveltaa Kalman-suodinta jolla lasketaan ns kohinaintensiteettimatriisien alkioille ennusteet, ja näiden perusteella muodostetaan tilavektorit joista lopulta lasketaan toimisuurevektori.
Käytetystä laskenta-algoritmista ja sen yksityiskohdista riippuen puhutaan esim. H-infinity, H2 tai vielä jostain muusta säätäjästä, riippuen siitä kuinka kaukana säätäjän "horisontti" H on. Luonteeltaan ne ovat kuitenkin kaikki yhden lineaarialgebran osa-alueen, lineaarioptimoinnin esimerkkejä joissa jokin optimointitavoite joko minimoidaan tai maksimoidaan määrättyjen systeemin asettamien rajoitusten läsnäollessa. Tällaisena tilasäätäjä on täysin erilainen kapistus kuin klassinen säätösilmukka, jotkin tilasäätäjät mm. ovat ilman ehtoja stabiileja kaikissa ajotilanteissa.

Yhden (esim) servoakselin ohjaaminen itsenäisesti on esimerkki ns SISO-säätäjästä (Single Input - Single Output) jossa kerrallaan säädetään yhtä suuretta. Jos laskentamatriisin alkiot ulotetaan kattamaan useiden toimilaitteiden välisiä ristiriippuvuuksia niin sama optimointiohjelma voi laskea tilavektoreita jotka kattavat kerralla useiden toimilaitteiden säädön, vielä huomioiden näiden keskinäiset ristiinvaikutukset parametrimatriisissa. Tällöin puhutaan ns MIMO-säätäjästä (Multiple Input - Multiple Output).

Kanoninen esimerkki MIMO-säätäjästä on lentokoneen aspekti-attitudisäätäjä jonka löytää kaikista moderneista taistelukoneista ja varmaan jo liikennelentsikoistakin. Sotakoneet joka tapauksessa ovat aerodynaamisesti epästabiileja liikehtimiskyvyn maksimoimiseksi. Koska ihmisen reaktioaika ei riitä näissä hommissa mihinkään, on tällaiset koneet stabiloitu säätöjärjestelmän toimesta.
Säätäjä siis muodostaa tilavektorit mm. koneen liiketilasta (nopeus, pyöriminen, kiihtyvyys, kulmakiihtyvyys eri akselien suuntaan ja ympäri), ilmavirran kohtauskulmista eri ohjainpintojen yli, ohjainpintojen toimisuurevektorista (pyydetyt ohjainkulmat ja niiden kääntymisnopeudet, kiihtyvyydet). Näistä lasketaan kyseisen lentsikan mallista tunnistettujen parametrimatriisien avulla seuraava toimisuurevektori jolla kone pysyy tai menee kohti haluttua lentotilaa.
MIMO-säätäjät ovat haastavinta mitä säätöinssi lähtee koittamaan, ja sen takia niitä harvoin näkee muualla kuin siellä missä niitä oikeasti tarvitaan. Silloinkin kun tarvitaan niin aina ei mene putkeen kuten muistavat ne jotka lukivat uutisia kuinka muutama JAS-hävittäjä vähän kynti länsinaapurin puolella.

Niille jotka ei vielä(kään) saaneet tarpeeksi:
Tuossa on ihan hupaisa teksti MIMO-säädöstä; kuinka oikeasti ohjataan quadcopteria (kuskihan antaa vaan ohjearvoja):  https://support.dce.felk.cvut.cz/mediawiki/images/2/2e/Dp_2011_de_lellis_costa.pdf

Ja tässä "vakavampaa" asiaa joustavasti toisiinsa kytkettyjen avaruusluotainten muodostelmalennon hallinnasta:
http://cdn.intechopen.com/pdfs-wm/13485.pdf
Nothing sings like a kilovolt
Dr W. Bishop

ttontsa

Linuxcnc:n pitäneis osata tuo ns.myötäkytkentä.. Eli säätöparametreista löytyy FF0 FF1 ja FF2.

Päästäänkö tässä ajatuskeikissä siihen että step/dir tyyppinen ohjaus on tarkempi,koska ohjausarvo on aina radasta laskettu absolyt, kun:

a) servo/askelmoottori on niin väkevä että hihnat katkoutuu ennen kuin askelia hukkuu

b) kiihtyvyydet pidetään sellaisissa raameissa ettei synkka häviä

c) häiriönsuodatys on sitä tasoa ettei ulkoisia ohjaus signaaleja tule järjestelmään

d)mekaniikka ei jousta ja on välyksetön

Ilman valvontaa ts. Takaisin kytkenyää tietenkin askelhukka on aina mahdollista.
Hitsaus&koneistus&Protopaja
www.tulinen.fi

Kremmen

Lainaus käyttäjältä: ttontsa - 27.06.16 - klo:12:29
Linuxcnc:n pitäneis osata tuo ns.myötäkytkentä.. Eli säätöparametreista löytyy FF0 FF1 ja FF2.
Tuommoista juuri muistelinkin.
Lainaa

Päästäänkö tässä ajatuskeikissä siihen että step/dir tyyppinen ohjaus on tarkempi,koska ohjausarvo on aina radasta laskettu absolyt, kun:
Ei.
Takaisinkytkemätön systeemi on tunteeton virheille eikä korjaa mitään. Sen ainoa etu on, että takaisinkytkennän puuttuessa systeemi ei voi olla epästabiili. Itse asiassa stepperiohjaus on jollain tavalla ajateltuna kuin 100% myötäkytkentä ilman korjaavaa säätösilmukkaa.
Lainaa

a) servo/askelmoottori on niin väkevä että hihnat katkoutuu ennen kuin askelia hukkuu
Tarpeetonta ylimitoittamista, puhumattakaan siitä, että ei koneen toiminnallisia osia haluta käyttää mekaanisina sulakkeina.
Lainaa

b) kiihtyvyydet pidetään sellaisissa raameissa ettei synkka häviä
Tarpeetonta hidastamista. Kunnollinen moderni servokone lineaarimoottoreilla pääsee kevyesti yli 1g kiihtyvyyksiin. Avoimella silmukalla ei ikinä.
Lainaa

c) häiriönsuodatys on sitä tasoa ettei ulkoisia ohjaus signaaleja tule järjestelmään
Parasta onnea vaan tähän yritykseen :) Ja sitten kun se häiriö kumminkin pääsee läpi niin peli on kerrasta menetetty. Kuten tälläkin foorumilla on kerta toisensa jälkeen puitu näitä kauniisti sanottuna "nopeasti rakennettuja" kyhäelmiä.
Lainaa

d)mekaniikka ei jousta ja on välyksetön
Jos tuommoisen jostain saisi. Oikeassa elämässä molempia on aina ja takaisinkytkemätön systeemi on näiden edessä kädetön. Toki pitää samalla todeta, että molemmat ovat myrkkyä myös takaisinkytketyille systeemeille koska aiheuttavat haasteita säätödynamiikalle. Hyvä säätösysteemi pystyy nuo kumminkin kompensoimaan.
Lainaa

Ilman valvontaa ts. Takaisin kytkenyää tietenkin askelhukka on aina mahdollista.
Juu, ja myös aikaa voittaen lähes varmaa. Jos se olisi noin helppoa, niin maailma olisi täynnä isoilla askelmoottoreilla liikkuvia työstökoneita. Kun ei ole niin syyn voi arvata helposti.
Nothing sings like a kilovolt
Dr W. Bishop

Hiekkaranta_92

Täytyy kyllä myöntää että koitin kovastikkin kalastella Kremmenin kommenttia aiheeseen, sillä suurin osa säätösysteemien toiminnallisuudesta on puhtaasti koulunpenkiltä sovellettu, ilman pidempää käytännön kokemusta.

Lainaus käyttäjältä: Kremmen - 27.06.16 - klo:10:57
Periatteessa PID-säätäjän I-osuus eli integraattori kelaa staattisen virheen pois, mutta servon nopeusohjeen jatkuvasti muuttuessa se ei voi edes periaatteessa poistaa asemavirhettä kokonaan. Sikäli tämä ei ole virityskysymys, että PID-säätäjä on lähtökohtaisesti kykenemätön pitämään eroarvon kaikissa tilanteissa nollana.

Olen ymmärtänyt että interpoloiduissa liikkeeissä ennenkaikkea vanhemilla cnc-ohjauksilla ei useinmiten koiteta edes pitää eroarvoa nollassa. Tärkeämpää on se että eroarvot ovat yhtäsuuret interpoloitujen liikkeiden suhteen. Tällöin esimerkiksi ympyränkaari interpoloinnissa reiän koko saattaa jäädä hieman pienemmäksi, mutta on melko tarkasti ympyrämäinen.


Lainaus käyttäjältä: ttontsa - 27.06.16 - klo:12:29
Päästäänkö tässä ajatuskeikissä siihen että step/dir tyyppinen ohjaus on tarkempi,koska ohjausarvo on aina radasta laskettu absolyt

Sinällään ohjearvo pystytään laskemaan sen verran tarkasti servolle ettei se tee suurtakaan virhettä. Suurimmat virheet syntyvät juurikin mekaniikasta. Isommissa koneissa lähespoikkeuksetta moottorinanturi on vain säätimen nopeussilmukkaa varten ja paikkasilmukalle on mittasauva.

Kremmen

Lainaus käyttäjältä: Hiekkaranta_92 - 28.06.16 - klo:09:38
Täytyy kyllä myöntää että koitin kovastikkin kalastella Kremmenin kommenttia aiheeseen, sillä suurin osa säätösysteemien toiminnallisuudesta on puhtaasti koulunpenkiltä sovellettu, ilman pidempää käytännön kokemusta.

Olen ymmärtänyt että interpoloiduissa liikkeeissä ennenkaikkea vanhemilla cnc-ohjauksilla ei useinmiten koiteta edes pitää eroarvoa nollassa. Tärkeämpää on se että eroarvot ovat yhtäsuuret interpoloitujen liikkeiden suhteen. Tällöin esimerkiksi ympyränkaari interpoloinnissa reiän koko saattaa jäädä hieman pienemmäksi, mutta on melko tarkasti ympyrämäinen.
Ja esim Fanucin 0-sarjalainen ainakin tunnistaa (vielä) G-koodit yksisuuntaiseen paikannukseen ja nurkkapisteiden tarkkaan kauttakulkuun. Molempien tarkoituksena on liikevirheiden minimointi. Ensimmäinen ehkä enempi torppaa mekaanisia välyksiä, mutta toinen ainakin myös säätösysteemin taipumusta oikaista terävissä nurkissa.
Lainaa

Sinällään ohjearvo pystytään laskemaan sen verran tarkasti servolle ettei se tee suurtakaan virhettä. Suurimmat virheet syntyvät juurikin mekaniikasta. Isommissa koneissa lähespoikkeuksetta moottorinanturi on vain säätimen nopeussilmukkaa varten ja paikkasilmukalle on mittasauva.
Ohjearvo voidaan toki laskea mielivaltaisella tarkkuudella vaikka yhden molekyylin sisään. Toinen asia on saada servo ja mekaniikka seuraamaan ohjearvoa riittävän pienellä ratavirheellä. Kaupallisissa servo-ohjaimissa on välys ym kompensointien lisäksi vielä ruuvin nousuvirheen kompensointeja ja muita mekaanisten epäideaalisuuksien poistoja.

Mekaaniset asemavirheet on yksi syy miksi käytetään mittasauvoja aseman toteamiseen ja pulssiantureita erikseen moottorinakselilla nopeussäätöön. Toinen ja yhtä tärkeä syy on, että voimansiirron välykset ja kone-elimien joustot on mittasauvan takaisinkytkentäsilmukan sisällä, mutta ei moottorinakselin pulssianturin silmukassa. Joustot ruokkii mekaanisia resonansseja ja välys aiheuttaa mekaniikan siirtofunktioon ilkeän vaiheinversion resonanssitaajuudella ja tämä puolestaan tekee pahasti hallaa säätödynamiikalle. Lopputulos on, että suljetun säätösilmukan vahvistus on pudotettava alle 0dB jo ennen resonanssitaajuutta jottei systeemistä tule massiivinen oskillaattori. Moottorinakselilla oleva pulssianturi kumminkin näkee servon liikkeen jouston ja välyksen edessä jolloin nopeussilmukka voidaan virittää huomattavasti kireämmäksi kuin asemasilmukka. Näin lotkallekin koneelle on mahdollista saada kelpo säädettävyys minkä lisäksi asemointikin on tarkka. Voitto.
Nothing sings like a kilovolt
Dr W. Bishop

Hiekkaranta_92

Lainaus käyttäjältä: Hiekkaranta_92 - 28.06.16 - klo:09:38
Olen ymmärtänyt että interpoloiduissa liikkeeissä ennenkaikkea vanhemilla cnc-ohjauksilla ei useinmiten koiteta edes pitää eroarvoa nollassa. Tärkeämpää on se että eroarvot ovat yhtäsuuret interpoloitujen liikkeiden suhteen. Tällöin esimerkiksi ympyränkaari interpoloinnissa reiän koko saattaa jäädä hieman pienemmäksi, mutta on melko tarkasti ympyrämäinen.

Niin piti tähän lisätä se että takaisinkytkentä ei kuitenkaan korjaa pielessä olevaa viritystä, ja se aiheuttaa lähinnä epäympyrämäisiä liikkeitä.

Toki esimerkiksi uudemissa heidenhainin ohjauksissa saadaan koneen ohjaus itsenäisesti korjaamaan nopeuserot, sekä ns nolla jännitteet, kun ohjaus laitetaan 'kalibrointi' tilaan. Tälläistä tuskin linux cnc:ssä vielä on?

Hiekkaranta_92

Lainaus käyttäjältä: Jussik - 24.06.16 - klo:10:13

Jos haluat ajaa laakerisovituksen jyrsintapilla, vaatii se koneen mekaniikan olevan välyksetön.
Mikäli mekaniikassa on välystä, hyvin todennäköisesti terän haukatessa se vetää välyksen toiseen laitaan.


Tässä kohtaa kannattaa myös kokeilla vastajyrsintää, sillä vastajyrsinnässä joudutaan pakottamaan terä aineeseen.

Jussik

Terve

Analogisessa servo-järjestelmässä yleensä on kyse cascade PID loopista, suomeksi kahdesta perättäisestä pid loopista.
Servo vahvistimen nopeus pid ja ohjauksen paikka loop.
Molemmat säädetään erikseen, Servo-ohjaimissa on yleensä automaatti säätö nopeus loopille.
Itse tein perus säädön tällä ja hienosäätö käsin, Sen jälkeen paikoitus loopin säätö linuxcncssä.

Proseduuri on aika yksinkertainen, tämä paikoitusloopin säätöön, säädettävän akselin Feed erroria tarkkaillaan.
Ensin P niin paljon kuin kärsii, vakautus D parametrilla, sitten lisää P:tä ja taas vakautus D parametrilla.
Tätä niin kauvan kunnes raja tulee vastaan ja pikkasen takaisin että ollaan turvallisella puollella.
Seuraavaksi FF1 että saadaan feed error liikkeen aikana nollille.
FF2:lla säädetään liikkeen aloitus ja lopetus kohdan feed error piikki mahdollisimman pieneksi.

Sitten säätimien ja servojen virheisiin.
LinuxCNCssä axis feed error näyttää akselin virheen komennettuun asemaan nähden.
Mikäli tässä ei näy heittoa liikeen aikana, ei sitä myöskään ole ohjauksen ja akselin takaisin kytkennän välillä.

Tällöin sitä joutuu etsimään mekaniikasta.

No mitä jos se näyttää virhettä liikeen aikana esim. 0.04mm, tämä voi tulla sitten jo monesta tekijästä.
Ensimmäisenä kuitenkin tulee selvittää takaisin kytkennän tarkkuus liikuttavaa yksikköä kohden, esim pulssia / mm.

PID säädin on aina ero ohjautuva, että pid antaa ohjauksen pihalle täytyy olla virhettä mistä ohjaus lasketaan.
Mikäli takaisinkytkentä on liian karkea ei akselilla saada tarkkuutta, takaisin kytkennän pulssimäärän tulisi olla niin suuri kuin mahdollista enkooderin kierrosta kohden.
Oletetaan että 10000pulssia/kierros enkooderilla päästää 0.01mm seuranta virheeseen hyvin säädetyllä loopilla.
jos pulssilukemaa nostetaan 10 kertaiseksi seuranta virhe laskee 0.001mm.
Näihin toki vaikuttaa myös kuularuuvin nousu suhteessa enkooderin pulssimäärään, josta taas päästään pulssia/mm muuttujaan.


Tämä siis ideaalisessa häiriöttömässä tilassa, toki tähän vaikuttaa nyt jo sitten ohjaimien laatu, mekaniikka, ulkoiset voimat jne...

Eli perustuu siihen että pienemmällä liikkeellä muodostuu suurempi ero todellisen ja komennetun paikan välille, jota PID vaatii toimiakseen.

Mikäli virhe on ylen palttisen suuri tulee miettiä takertaakko kuularuuvi tai koneen akseli?
Onko PID loopit säädetty oikein.
Onko välyksia jne.

Tuolla prosedyyrillä alkaa virheen etsinnän järjestelmästä löytynee se varmasti.
Se että voiko sille mitään on sitten asia erikseen.






Teollisista ohjauksista en osaa sanoa miten toteutettu, tapoja on kuitenkin useita erilaisia.

Linuxcnc:ssä on HAL scope jolla voidaan seurata esim. akselin seuranta virhettä.



Powered by EzPortal
SMF spam blocked by CleanTalk