Servo2005

Servotekniikan salaisuudet

Pintaliitosasennysp%C3%A4%C3%A4.jpg

Kuva1 pintaliitosasennusrobotin tarttuja

Esittely

Automatiikan vaikein asia on mekaanisten liikkeiden tarkka ja yhtäaikainen ohjaus. Työstökoneet, asennusrobotit ja kuljettimet vaativat tarkkoja liikkeitä. Tässä esityksessä keskitytään NC-koneiden ja servojen periaatteisiin ja erityisesti digitaalisten servojen toimintaan. Liikeohjauksen pienin elementti on paikoitus. Paikoitus tehdään servolla. Servon tekeminen on vaikea asia. Se vaatii ohjelmoinnin, matematiikan, elektroniikan ja mekaniikan hyvää tuntemista. Aikaisemmin servot ovat olleet analogiaservoja, joiden ongelma on keskitetty ohjaus. Digitaaliservot vaativat servo-ohjaukselta paljon rinnakkaista lasketatehoa. NC-ohjaukset ovat siksi olleet kalliita ja harvinaisia. Takaisinkytketyn servon PID-säätö on ollut vaikea toteuttaa normaaleilla prosessoreilla, siksi näiden rakennusohjeita ei ole näkynyt lehdissä. Toisaalta askelmoottoriohjaukset ovat olleet helppoja tehdä. Niissä ei ole tarvinnut välittää paikoitusongelmasta. Askelmoottori on hoitanut paikoitusongelman mekaanisesti moottorin avulla. Askelmoottorit eivät kuitenkaan ole taloudellisia isoimilla tehoilla.
Tässä esityksessä kerrotaan uudesta diskreetistä differentiaaliohjausmenetelmästä, joka yhdistää askelmoottoriohjauksen ja takaisinkytetyn digitaalisen servon hyvät ominaisuudet. Servo on toteutettu yhdellä tavallisella mikroprosessorilla ja digitaalisella pääteasteella. Esityksessä on tarkoituksella vältetty monimutkaisia matematikkaa, joiden käyttöä lukijat voivat harjoitella useimmissa muissa servokirjoituksissa.

NC, CNC ja DNC nimitykset

AbbRobotti.jpg
Kuva 2 Kuva pakkauskoneen kahdesta robotista. Yhden ohjelman takan on 7 robottia ja neljä kameraa. Toimitus pohjanmaalle lihanjalostuslaitokselle 2004. Käsikäyttöisiin työstökoneisiin tuli aluksi digitaaliset numeeriset paikkanäytöt, jolloin näitä koneita alettiin kutsua NC-koneiksi (Numerical Control), vaikka ne eivät vielä mitään säätäneetkään. Kun mukaan tuli tietokoneohjaus nimitys muuttui CNC:ksi. Koska tietokoneet olivat siihen aikaan kalliita keksittiin DNC eli Direct Numerical Control. DNC:llä yksi tietokone ohjasi montaa työstökonetta. Nykyään DNC tarkoittaa työstökoneiden On-Line liitäntää ohjelmien siirossa reikänäuhojen asemasta. NC-nimitys on nykyään yleisnimitys ohjauksille, jotka käyttävät NC-ohjelmointitiedostoa (RS-274D) liikkeiden ohjaukseen. Kuvassa 2 näkyy NC-ohjauksen periaate. Liikeohjelmat ovat tiedoston muodossa, jota NC-ohjaus lukee. Ohjaus komentaa rinnakkaisia servoja yhtäaikaisiin liikkeisiin. Liikkeiden paikoitustakaisinkytkentä on hoidettu NC-ohjauksen avulla.
neliakselinenServo.jpg

Kuva 2A. Neliakselisen servon periaatekuva

Mikä on servo?

servonperiaate.jpg
Kuva 3 Servon periaate

Servo on yleisnimitys takaisinkytkennällä varustettulle ohjausjärjestelmälle.
Liikeohjausservoon kuuluu ohjearvotieto, säätölaite, tehovahvistin, moottori, liikuteltava laite ja sen paikka-anturi.
Servo hoitaa yhtä liikesuuntaa, mutta useimmiten servoja on monta rinnakkain, jolloin nillä voidaan suorittaa liikkeitä useamman akselin suunnassa yhtä aikaa. Tätä sanotaan yleisnimityksellä 3D-ohjauskseksi. Servo korjaa automaattisesti säädössä syntyneet paikkavirheet.

Esimerkkejä liikeohjausservoista on robotin käsivarsien ohjaus, työstökoneiden liikeakselit, hitsausrobotit, kuvioleikkurit ja kuljettimet.
Servotekniikkaa voidaan soveltaa myös lämpötila-, paine- ja pinnankorkeussäätöihin. Niissä ei kuitenkaan ole mekaanisia liikkeitä, joten niiden ongelmat ovat toisenlaisia.
Yksinkertaisin tapa testata servoa on vääntää laitteen akselia väkisin. Jos akseli vastustaa vääntöä ja palaa alkuperäiseen asentoonsa laitteissa on servo-ohjaus. Jos akseli liikkuu ja jää uuteen paikkaan, kyseessä ohjaus ilman takaisinkytkentää. Servon vastakohtana on suora ohjaus. Ohjauksessa annetaan tehovahvistimelle ohjausarvo ja toivotaan moottorin toimivan oikealla tavalla. Joissakin tapauksessa tämäkin riittää. Esimerkiksi tuulettimen ohjaus tarkasti ei ole kovin tärkeää. Jos ohjaus on tehty taajuusmuuttajalla, ohjaus toimiikin suhteellisen hyvin.

Askelmoottoriohjaus

askelmoottoriohjaus.jpg
Kuva 4 Askelmoottoriohjauksen periaate

Mekaanisten liikkeitä voidaan ohjata epämääräisesti ajan ja rajakytkimien avulla kytkemällä moottori päälle ja odottaa rajakytkimen tietoa. Liikkeiden tarkoissa paikkaohjauksissa käytetään kahta päämenetelmää: askelmoottoriohjausta ja servo-ohjausta. Askelmoottoriohjausta käytetään silloin kun tarvitaan halpaa ja pienitehoista liikettä. Askelmoottoriohjaus sopii paikkoihin, jossa ihminen valvoo laitteen toimintaa ja korjaa ongelmat käsin tai kun tarvitaan halpaa on halpa massatuotetta.
Esimerkkejä tällaisistä laitteista ovat kirjoittimet, kuvanlukijat ja vanhemmat kiintolevyasemat ja levykeasemat.
Askelmoottorin ohjausteknikka on äärimmäisen yksinkertaista. Tietokoneella annetaan määrätty määrä pulsseja oikeaan suntaan ja oikealla pulssinopeudella. Jos kaikki menee oikein, moottori liikkuu juuri oikean määrän oikeaan suuntaan.
Askelmoottorien ongelmana on nopeus. Askelmoottori on parhaimmillaan kun liike on pysähdyksissä tai moottori pyörii erittäin hiljaa. Kun moottori alkaa pyöriä nopemmin kuin kierros sekunnissa, pitää moottoria kiihdyttää hitaalla rampilla täyteen nopeuteen. Moottorin momentti pienenee kääntäen verrannollisesti nopeuteen. Jos käynnistys- tai hidastusramppeja ei oteta huomioon, moottori ei lähde liikkeelle lainkaan tai jättää pulsseja väliin. Siis ohjausperiaate on hieno, mutta moottorin toiminta ei ole täydellistä.
Toinen asia askelmoottoreissa on huono hyötysuhde. Askelmoottori ottaa täyden tehon kun se on paikoillaan ja tehon kulutus pienenee nopeuden kasvaessa. Tämä tarkoittaa sitä, että kun tehoa ei tarvita, laite kuluttaa maksimi määrän tulotehoa. Silloin kun tehoa tarvitaan liikeeseen, loppuu moottorista momentti. Huono hyötysuhde tarkoittaa kaikkien laitteiden ylimitoitusta eli huonoa taloudellisuutta. Teholähteet, jäähdytys, pääteasteet ja kotelot tulevat tarvittavaan tehoon nähden suhteemman suuriksi ja kalliiksi. Siksi askelmoottoteita ei käytetä varsinaisesti työstökonetekniikassa, muutoin kuin harrasteijoiden laitteissa.

Rataohjaus.jpg

PID säätö

PIDs%C3%A4%C3%A4t%C3%B6.jpg
Kuva 5 PID säätimessä on kolme rinnaista säätöä jotka korjaavat toistensa epätäsydellisen säädön

Servon yksi osa on PID säädin. Se suorittaa säädon virheen korjauksen ja antaa ohjaussignaalin tehovahvistimelle. PID sana tarkoittaa suhteellista, summaavaa ja ennakoivaa säätöä. Englanninkieliset sanat ovat Proportional, Integral, Derivative. PID-säätö on vapauttaa käyttäjän jakuvasti säätämästä ohjattavaa laitetta tai prosessia.
Esimerkiksi PID-säädöllä toteutettu auton vakionopeusäätö vapauttaa kuljettajan kaasupolkimen säädöstä ja PID-säädöllä toteutettu termostaatti hoitaa lämpötilan säätöä monissa kodeissa.
PID-säädön asetuspiste tarkoittaa arvoa, jossa ohjaus pitäisi olla. Virhe on asetuspisteen ja mittauksen erotus eli kaavana

Virhe = asetus –mittaus (1)

Virhe on tulosuure PID-säädölle. Virheen laatu on millimetrejä, voltteja, pulsseja, asteita tms. Virheen on laaduton PID-säätölaskuissa. PID-säädössä erittäin tärkeä asia on normalisointi. Olkoon normalisoitu arvo sittten 1.0, 100 prosenttia tai digitaalitekniikassa 255( 8-bittiä) tai 65535( 16-bittiä). Kaikki laskut pitää normalisoida ja tarkkaan miettiä laskujen ylivuototilanteet.
PID säädin ohjaa laitetta tai prosessia tehovahvistimen avulla. Tehovahvistin voi olla esim. tasavirtavahvistin, tyristoriohjain tai digitaalivahvistin. Täysi säätöalue on 1.0 eli 100 % . Ohjauksella voi olla lineaarisen ohjausalueen lisäksimyös ylivuotoalue, jossa säätö toimii epälineaarisesti.

P-säätö eli suhteellinen säätö

PID-säätö toteutetaan kolmella rinnakkaisella säädöllä.
P-termi määrää kuinka paljon mitattu virhe muuttaa säätöarvoa. P-säädöllä ei ole mitään tekemistä ajan kanssa. P on laaduton suure. P-termi on PID-säädön tärkein termi ja monesti se on aivan riittävä säätöön. P-säätöön kuuluu kuitenkin pieni virhetekijä, muuten säätäjä lähteen värähtelemään. P-temiä voidaan kuvata säätäjän vahvistuksena eli kuinka monta prosenttia 100 %:n virhe ohjaa säädön antoa. Jos P-termi on 1.0, säätö korjaa virheen täysin. Normaalisti virhettä ei korjata näin, vaan P-säätö asetetaan noin 80 %:iin, jolloin virhettä jää 20% . Seuraavalla mittauskieroksella virhettä korjataan taas 80 % ja virhettä jää enää 4% jne. PID-säätimissä on monesti kuollut alue, jolla estetään liikkeen värähtely asetusarvon molemmin puolin, kun säätövirhe on pieni. P-termi on kaikissa PID-säätimissä ja monesti se on yksistään riittävä säätömenetelmä. P-termi antaa ohjauksen tehovahvistimille.

P-ohjaus = virhe * P (2)

I-säätö eli virhesumma säätö

P-säädön virheentekijän takia PID-säädössä on useimmiten lisätermi eli I-säätö.
Integroiva säätö ohjaa antoa virheiden pitkäaikaisen summan perustella. I-termi määrää millä voimakkuudella virhesumma otetaan huomioon ohjausarvoa laskettaessa. Jos I on nolla pitkäaikaisvirheitä ei oteta lainkaan huomioon ja jso se 1.0 niin virhe summa korjaa täysimääräisesti summatut virheet. Yli yhden asetetut korjaukset saavat säädön värähtelemään.

I-ohjaus = summa(virhe *aika) * I (3)

I-termin laatu on 1/s. I-termiä sanotaan joskus myös resetointiajaksi. Jos säädössä tapahtuu askelmuutos, I-säätötermi (restointiaika) määrää kuinka nopeasti anto muuttuu ilman muita termejä (P,D) haluttuun uuteen arvoon. I-termiä pitää rajoittaa kaikissa PID-säädöissä, jotta summava säätö ei aiheuttaisi viiveitä säädön tullessa takaisin normaalille säätöalueelle. I-säätö tuo mukaan -90 asteen vaihesiirron säätöön. Tämä puolestaan tekee säätimestä oskillaattorin, kun säädössä on riittävästi vahvistusta. Kun PID-säädössä on I-termi mukana, näkyy ohjauksessa helposti pientä värähtelyä nollatason ympärillä.

D-säätö eli ennakoiva säätö

Hitaissa säädöissä on usein kuollut aika, jonka kompensoimiksi käytetään virheen muutosnopeuden mukaan toimivaa säätötermiä eli D-säätöä. D-termi määrää kuinka paljon ohjausta korjataan virheen muutosnopeuden mukaan. D-termin laatu on s. Muutosnopeuden mittaus voidaan tehdä puhtaasti ajan mukaan tai jos käytetään aikadiskreettiä säätöä voidaan mittaus tehdä mittausten säätökierrosten perustella.

D-ohjaus = virhemuutos * D (4)

D-termi lisää säädön herkkyyttä muutostilanteissa, mutta tuo helposti värähtelyä säätöön kuten I-termikin. D-termiä pitää käyttää erittäin harkiten. D-termin käyttö pitää testata aina suurimmilla mahdollisilla virheen muutosnopeudella, muuten voi olla varma järjestelmämän värähtelystä. Useimissa nopeissa säädöissä ei kannata lainkaan käyttää D-termiä. Ainostaan säädöissä, joissa kuollut aika on suuri verratuna säätöaikaan D-termillä saadaan säädöstä nopeampi. D-temiä usein käytetään hitaissa lämpötilaohjauksissa. D-termi aiheuttaa säädössä yliohjausta ja värähtelyä, jos laitteessa on lyhyt kuollut aika verrattuna säädön mittaus- ja säätöaikaan.

PID-säädön viritys

Helpoin tapa tehdä PID-säätö on tehdä 100 % virhe ja tarkastella säädön askelvastetta. Laita I- ja D-säätö nollille. Säädä P-säätöä (vahvistusta) suuremmaksi kunnes säätö lähtee värähtelemään. Pienennä säätöä 20% pienemmäksi. Tarkasta pysyvän virheen (Offset) suuruus. Lisää I–säätöä kunnes säätö lähtee värähtelemään. Pienennä I-säätöä taas 20 %. Tarkasta, että pysyvä virhe on riittävän pieni ja siinä ei näy värähtelyä. Tarkastele säädön ensimmäisiä hetkiä ohjausmuutoksen jälkeen. Lisää D-säätöä kunnes säätö lähtee värähtelemään. Pienennä D-sääätöä taas 20%. Tee hienosäätö uudestaan samalla tavalla. PID-säätö on valmis. Tämä on R&V menetelmä.
Oikein viritetty PID-säätö ei värähtele, mikä on tarkeämpää kuin nopea säätö. Jos pääasia on nopea säätö, jätä D- ja I-termi kokonaan pois.
Ziegler-Nichols-memetelmässä säädetään vahvistus puoleen värähtelyrajasta, jos käytetään vain P-säätöä. PI-säädöllä vahvistus laitetaan 0.45 värähtelyrajasta ja resetointiaika 1.2* värähtelyn taajuudeksi. PID-säädössa vahvistus laitetaan 0.6, resetointiajaksi (I) 2/vähtähtelyaika ja ennakointiajaksi (D) laitetaan resetointiaika/8.

PIDs%C3%A4%C3%A4t%C3%A4j%C3%A4nyksityiskohtia.jpg

Kuva 6. Digitaalisen PID-säätäjän lohkokaavio

DigitaaliservonPIDviritys.jpg

Kuva 7 Digitaalisenservon PID viritys

Analogiaservo-ohjaus

analogiaservo.jpg

Kuva 8 Perinteinen analoginen servosäätö

Servoja käytetään kun liikkeet pitää olla tarkkoja ja hallittuja liikkeitä.
Servot korvaavat askelmoottorit kaikissa suuritehoisissa laitteissa. Servoja ohjataan antamalle moottorille ohjaustehoa siten, että ohjattava laite liikkuu oikealla nopeudella oikeaan suuntaan oikean matkan. Kun mittauksen avulla on todettu virheen olevan tarpeeksi pieni, säätö lopettaa ohjauksen. Analogiaservoissa ohjaussuure saattaa olla esimerkiksi jännite asetusasrvopotentiometristä, joka ohjaa moottorin pyörimisnopeutta.
Analogisen servosäätimen signaali on yleisesti -/+10V. Tämä jännite ohjaa analogista vahvistinta. Tehovahvistin on kytketty teholähteeseen ja tasavirtamoottoriin, joka antaa moottorille tehoa ohjauksen mukaan. Moottori liikuttaa akselia suoraan tai vaihteiston avulla.
Analogiaservot ovat yleensä nopeuservoja, jolla määrätään moottorin liikenopeus.
Tämä vaatii vielä yhden ylimääräisen anturin, moottorin kierrosnopeusanturin. Se on yleensä pienikokoinen DC moottori, joka antaa kierrosluvun mukaan muutuvan jänniteeen.
Analogiaservon periaate muistuttaa matalataajuista audiovahvistinta. Kaiuttimen paikalla on vain tasavirtamoottori. Paikkamittaus tehdään yleensä resolverilla, potentiometrillä tai pulssianturilla. Potentiometrillä ja resolverilla mitataan akselin asentoa eli kulmaa. Resolveri on periaatteessa kolmikääminen muuntaja, jossa on pyörivä kestomagneettiankkuri. Pyörivä roottori antaa kahdelle käämille erisuuruisen jännitteen, joka arvo riippuu roottorin asennosta.
Pulssianturin pulssit muutetaan analogiajänniteeksi tai pulssilaskuri luetaan prossesorin avulla ohjaukselle ja muutetaan paikkatiedoksi. Paikkatiedon perusteella lasketaan uusi paikkavirhe. Osittain anologiatekniikalla toteutuissa servoissa on analogia/digiataalimuunnoksia ja digitaali/anologiamuunnoksia.
Muuntimissa ja servosäädöissä esiintyy luonnostaan erilaisia lämpötilasta ja ikääntymisestä johtuvia virhetekijöitä, jotka pitää aika ajoin tarkistaa ja säätää. Huonosti säädetty analogiaservo saattaa ohjata mooottoria eteen- tai taaksepäin vaikka moottori pitäisi olla lepotilassa. Tätä sanotaan offset-virheksi.
Analoginen PID-säädin on helppo toteuttaa muutamalla analogiavahvistimella, mutta analoginen servo vaatii ohjauksen PC:ltä joka on analoginen. Normaali PC:ssä ei ole digitaalianalogiamuunninta vakiovaristeena. Rataohjauksen pitää pystyä säätämään paikkaohjausta analogisena. Koska DA-muuntimen tarkkuus ei riitä lähellekään NC-koneiden tarkkuuta, pitää rataohjauksen pystyä hallitsemaan myös paikkamittaus. Täma on taas vaikeata, koska PC:ssä ei ole pulssilaskurikortteja valmiina. Lisäksi NC-rataohjaukselle tulee moniakselisen servon säätötehtäviä, jotka taas mutkistavat ohjausta. Yksinkertainen analoginen PID-säätö vaikeuttaa NC-ohjauksen käytännön toteutusta huomattavasti. Analogisen paikkaservon tekeminen on vaativa tehtävä. Näistä ei ole rakennusselostuksia harrastajalehdissä. Useimmiten paikkaservon hankkiminen on paljon rahaa vaativa investointi ja se maksaa noin 10 euroa/W ilman moottoreita ja teholähteitä. Täällä rahalla saa suljetun järjestelmän jonka ohjaus vaati vielä saman valistajan ohjauslaitteet.

DigitaaliservonPIDviritys.jpg

Kuva 9 Analoginen moniakselinen ohjaus

Digitaalisen servon periaatteet

PerinteinenKolmiakselinenservo.jpgaikadiskereetinvirhes%C3%A4%C3%A4d%C3%B6nperiaate.jpg

Kuva 10 Aikadiskreetin digitaalisen servon lohkokaavio

Digitaalisessa NC-ohjauksessa kaikki osat ovat digitaalisia. Rataohjaus tulee NC-ohjelmatiedostosta. NC-ohjelma (RS-274D) on lista liike- ja laiteohjauksista,
jolla kuvataan akselien liikeet ja IO-laitteiden toiminnat. NC-ohjelma on tietokoneohjelma, joka laskee tarvittavat paikka-, nopeus- ja suuntatiedot eri akselille. NC-ohjelma ei kuitenkaan hoida servo-ohjusta. Sen ei tarvitse tietää miten liike onnistui. Sen ei myöskään tarvitse korjata asemaan tullutta virhettä. NC-ohjelma ei tarvitse tietää mitään pulssilaskurin nopeista värähtelyistä. NC-ohjelma muutaa kalibrointitietojen avulla millimetrit pulssiksi. NC-ohjausohjelmaa sanotaan rataohjaukseksi eroitukseksi paikkaohjauksesta eli servosta.
NC-ohjaus hoitaa 1-8 akselia kerrallaan ja se synkronoi akselien liikkeet toisiinsa nähden. NC-ohjaus ohjaa liikkeitä tarvittaesa epäsynkronisesti pikaliikkeillä. Pikaliikkeillä kukin akseli kulkee omia nopeuksiaan mahdollisimman nopeasti. Synkronisesti tehdyissä liikkeissä on kaikki ohjaukset tehdään yhden synkroniakselin tahdissa tai siten, että hitain akseli määrä muiden akselien liikenopeuden. Akselien ohjaukset annetaan yhtäaikaa.
Ohjaus annetaan digitaalisina paikkapulsseina ja suuntatietona varsinaselle servo-ohjaimelle. Jokainen pulssi vastaa kalibroitua määrää matkaa tai kulmaa. Pulssien taajuus määrää moottorin nopeuden. Liikkeen suunta määräätään yhdellä bitillä. Digitaalinen servovahvistin muuttaa paikkapulssit PWM-ohjaukseksi, joka ohjaa digitaalista tehovahvistinta. Paikka mitataan pulssianturilla ja nopealla ylös/alaslaskurilla. Ohjaus- ja laskuripulssien paikka pitää servon tasapainossa. Täysin digitaalitekniikalla totetutusssa servossa ei ole analogisia virheitä. Digitaaliteknikaalla toteutuissa NC-ohjauksissa ei ole nopeussäätöä vaan ohjaus laskee tarvittavat pulssinopeudet jokaiselle akselille etukäteen määrätyjen maksinopeuden ja maksikiihtyvyyksinen mukaan.
Digitaalissa moottoririvahvistimissa hyötysihde on huomattavasti parempi kuin lineaarivahvistimella.
Digitaalista pääteasetetta voi verrata hakkuriteholähteeseen ja analogista servovahvistinta lineaariteholähteeseen.

Digitaalisen servon periaate

AikadiskreetinServonYksityiskohta.jpg

Kuva 11 Yksityiskohta digitaalisesta diferentiaalisäädöstä

Digitaaliservossa tarvitaan paikkatieto, ohjearvotieto ja näiden perusteella lasketaan moottorin tehosäätö.
Jokaista akselia varten tarvitaan oma servo-ohjaus. Monesti servo-ohjaus ja pääteasete on integroitu samalle piirilevylle.
Rataohjaus voidaan toteuttaan PC:llä, mutta ei Windows eikä Linux käyttöjärjestelmällä. Niissä käyttöjärjestelmä tekee omia asioitaan omassa aikataulussaan ja häirtsee servon aikakriitisiä mittauksia. Useimmat rataohjaukset on toteutettu DOS-käyttöjärjesrelmän päälle.
Linuxiin ja Windowsiin voi tehdä myös virityksiä (RTX-LINUX, RTX-NT), jotka antavat näille käyttöjärjestelmille sopivia aikapaloja, mutta tämä vaatii taas uuteen käyttöjärjestelmään tutustumisen puhumattakaan 10 kertaisesta käyttöjärjestelmän hinnasta.
NC ohjaus sopii vanhemmille PC:lle, jotka eivät kelpaa muunlaiseen käyttöön. Esim. 66MHz 486 PC pystyy ohjaamaan kolmea akselia 44000 sekunnissa. Liitäntä ohjauksesta tehdään rinnakkaisportin kautta servoille ja IO-laitteille. DNC-liitäntä voidaan toteuttaa vaikka sarjaliikenteen tai TCPIP-verkon avulla. Yksinkertaisinta on kuitenkin tuoda NC-ohjelma muistivälineellä NC-koneseen. CAD ja NC-ohjelmien muokkaus kannattaa tehdä normaalleilla PC:eillä.

Matematiikkaongelma servon ohjauksessa

Fanuctyyppinenohjaus.jpg

Kuva 12 Massiiviseen rinnakkaislaskentaan perustuva servoohjaus

Tekemällä pikaisia tarkistuksia digitaalisessa säädössä tarvittavien matemaattisten tarkkuuksien kanssa, tullaan pian mahdottomiin lukuihin. Jos laitteelle halutaan esim. 1 mikrometrin tarkkuus ja 10 metrin maksimatka, tarvittaan 24 bittiä mittaukseen, asetukseen ja ohjaukseen.
Säätöarvoina käytetään 8-12 bittiä P-, I-. ja D-asetuksissa. Koska säädössä tarvitaan kertolaskua, bitit lisääntyvät taas noin kolmellakymmenellä.
Integroinnissa tarvitaan taas lisää bittejä. Pian huomataan, että tarvitaan 100 -200 bittinen laskentatarkkuus ja vastaavaan tarkuuteen pystyvä tietokone. Eihän sellaisia ole olemassa? On niitä, japanilaissa työstökoneissa. Niissä on 300-500 mikropiiriä jokaisella kortilla. He ovat ratkaiseet matematiikkaongelman tekemällä massiivisia rinnakaislaskentaan kykeneviä lasketayksiköitä.
Näiden ohjauksien hinnat ovat noin 100000 euroa kappele. Hintaongelma on saatu ratkaistua siten, että halvemissa ohjauksissa (esim. Fanuc 1) on vain yksi servoakseli, jota vaihdetaan isojen kontaktorien avulla eri akseleille. Tällainen kolmiakselinen servo ei voi kuitenkaan koskaan tehdä 3D-rata-ajoa.
Miltä kuulostaa? Onko järjestelmäsuunnitelijat ollet oikeassa? Kyllä, koska parempaa ei ole kukaan pystynyt tekemään ja kauppa on käynyt hyvin.
Eikö bittejä voi pyöristää ? Eihän noin paljon tarkkuutta tarvita? Bittejä ei voi pyöristää, sillä pienet pulssit häviävät heti ja laitteen tarkkuus katoaa. Sellaisella servolla ei tee mitään.

Rataohjaus

PC:n rataohjaus pitää huolen absoluuttisesta paikasta ja muuttaa millimetrit servon mittauspulsseiksi kalibrointiasetusten mukaan.
Rataohjaus huolehtii siitä, että pulsseja ei tule nopeammin kuin ko. servo pystyy liikkumaan. Rataohjaus hoitaa vielä moottorien kiihdyksen asetettujen kiihdytysarvojen mukaan. Samoin rataohjaus hoitaa eri akselinen välisen
synkronoinin NC-ohjelman käskyissä joissa akselien pitää likkua yhtäaikaa (esim. G1 koodi).

RS274LuominenAutomaattisesti.jpg

Kuva 13 RS-274 koodin luominen automaattisesti grafiikkaohjelmasta

Aikadiskreetti servo-ohjaus

Aikadiskreetindigigitaalisenseervon.jpg

Kuva 14 Aikadiskreetin differentiaaliservon ohjelmakuvaus

Ratkaisu säädön matematiikkaongelmaan on aikadiskreetti differentiaaliohjaus.
Analogisen lineaarisen säädön vastakohta on digitaalinen säätö. Tässä säädössä ei ohjauksia eikä mittausarvojoja muuteta lainkaan analogiseksi vaan kaikki arvot ovat puhtaasti digiaalisia. Mittauksia ei tehdä jatkuvasti kuten analogiasäädösä vaan paloittain. Ne tehdään kuitenkin riittävän nopeasti ja riittävän pienin askelin.
Säädettävän suureen kannalta tulos on aina täsmälleen sama kerrasta toiseen. Digitaalisessa säädössä kaikki tapahtuu aina yhden mittauspussin takkuudeella. Jos jokainen säätöväli on samanlainen puhutaan aikakdiskreetistä säädostä. Säädön maksimi -ja miniminopeus on aina sama: yksi säätöaika-askel esim. 1 ms. Varsinaisen moottorin liike nollasta sataan prosentiin on tietysti eri asia, mutta säätö ei rajoita liikenopeutta. Digitaaliselle servo-ohjaukselle jää vain yksi tehtävä: liikkua virhepulssien verran nopeudella oikeaan suuntaan. Ohjausarvon suuruuden laskee servon PID-säädin. Valittu 1 ms säätöväli riittää erinomaisesti käytönnön servoille. Monilla kaupallisilla sorveilla säätöväli 10ms. Yhdessä millisekunnissa ei nopeinkaan moottori ehdi kulkea matkaa, joka on suurempi kuin paikkalaskurin mittausalue (16 bitiä). Säätökierroksen aikana tehdään seuraavat toimenpiteet
• luetaan akselin paikkamuutos
• luetaan ohjausarvomuutos
• lasketaan paikkavirhe
• luetaan PID-säätimen asetukset
• lasketaan PID-säätö
• lasketaan moottoriohjauksen PWM-arvot
• ohjataan PWM teho ja suunta
• tulosteaan tilatiedot sarjaliikneteelle
• pidetään yllä aikalaskuria
• luetaan PID-parametrit potentimeteiltä tai sarjalikenteeltä.

Koska jokainen mittaus ja säätö tehdään juuri tarkalleen samassa ajassa, on nopeuksien, integrointien ja differantiaalimatkojen laskenta helppoa ja hallittua.

Paikkamittaus

AikadiskreetinServonYksityiskohta.jpg

Kuva 16 Paikkamittaus pulssilaskurin avulla

Vielä on ratkaistavana paikkamittaus. Internetissä näkyy yksinkertaisia ylös- alaslaskureita, joiden sanotaan toimivan hyvin.
Itsekin luulin ymmärtäväni pulssipaikkalaskennan kun tein ensimmäistä pellinleikkauskonettani vuonna 1981. Laitteella leikattiin pelti
neljään ennalta laskettuun kuvioon. Peltejä käytettiin pyöreiden säiliöiden päätykappaleina ns. zeppeliinpäätyinä. Leikkaus toimi tarkasti pellin alussa, mutta useimmiten leikkuri lähti harhailemaan oikelle tai vasemmalle. Miettimällä ylös/alaslaskurin toimintaa paperilla huomasin, että jos pulssianturin sama reuna värähtelee paikallaan, laskuri liikkuu eteenpäin, mutta akseli ei liiku minnekään. Tämä virhe voidaan korjata tekemällä pulssi-tilakone A- ja B-pulssille. Tilakoneen tuloksen perusteella lasketaan laskuria ylös- ja alaspäin. Kiellyissä tiloissa ei tehdä mitään. Tuloja tilakoneeseen saadaan neljä;A, B, A' ja B' eli nykyiset ja aikaisemmat pulssianturin arvot. Tiloja 4 bitistä syntyy 16 kpl. Tilakoneen tulot luetaan yhtäaikaa kellosignaalilla, jotta aikavirheitä ei syntyisi. Tilakoneen toteutin silloin D-flip-flopilla 74LS74 ja EPROM-muistilla 2716, josta tarvitsin 16 muistipaikka. Kaksi antoa (D0 ja D1) ohjasi 16-bitin laskuria,74LS192, ylös tai alaspäin.
Tähän tarkoitukseen on kehitettyä laskureita HCTL2000, HCTL2016. Aika-tilakoneen voi myös toteuttaa PLD-piirillä esim. AMD Mach4-64. PLD-piirissä on riittävästi nopeutta, logikkaporttien määrä on niin suuri, että pitää valita 64 IO-piirilä varustettu malli, vaikka 32 nastainen olisi ihan riittävä.
Paikkamittauksesta saadaan luku, joka ilmoittaa kuinka monta pulssia säädettävä liike on muuttunut edellisen ohjauskierroken jälkeen.
Jos mitataan akselin paikkaa, jossa on 1000 pulssia kierroksella, 16-bitin laskuri voi olla 64 kierrosta jäljessä säätöä, menemättä sekaisin.
Säätö, joka jää jälkeen 64 kierrosta yhdellä pulssila on varmaankin väärin suunniteltu. Näillä perusteilla 16-bitin laskurin arvo riittää mainoisti vaikka kuinka pitkään ja tarkkaan säätöön.

Pulssilaskurinv%C3%A4r%C3%A4htelyohgelma.jpg

Kuva 17 Pulssilaskurin värähtelyongelman ratkaisu kolmella eri menetelmällä

Differentiaalinen asemasäätö

aikadiskereetinvirhes%C3%A4%C3%A4d%C3%B6nperiaate.jpg
Kuva 18 Differentiaalinen aikadiskreetti servo toimii virheperiaatteella yhden säätöjakson aikana.

Lepotilassa säädin on samanlainen kuin tavallinen säädin kotipesässään. Ohjaus on nolla pulssia, mittaus on myös nolla pulssia ja säätimen ohjearvo moottorille on nolla. Kun rataohjaus antaa yhden pulssin eteenpäin, syntyy paikkavirhe, jonka mukaan ohjataan moottoria eteenpäin.
Kun ohjearvon muutos on luettu, se siirretään virhelaskuriin. Kun moottori on liikahtanut yhden pulssin, tämä paikavirhe siirretään virhelaskuriin, jossa se toisenmerkkisenä kompensoi aikaisemman paikkavirheen.
Servo on taas uudessa kotipesässään ja kaikki rekisterit ovat nollia. Jos moottori ei ole ehtinyt liikkua yhden säätökierroksen aikana virheen verran, niin virhe pysyy muistissa ja I-säätö alkaa kerätä virhe-aikaintegraalia, joka ohjaa yhä voimakkaammin moottoria oikeaan suuntaan.
Jos ohjaus pystyy antamaan 44000 pulssia sekunissa, niin tämä tarkoittaa sitä, että ohjaus pystyy antamaan 44 pulssia maksimissaan yhdellä säätökierroksella. Jos moottori pystyy 10000 kierrokseen minuutissa, tämä tarkoittaa 166 kierrosta sekunnissa. 1000 pulssia/kierros pulssianturilla saadaan yhden kierroksen aikana maksiminopeudella 166 pulssia.
Vaikka nämä luvut ovat esimerkin maksimiarvoja, ne ovat huomattavan pieniä (alle 8 bitin) laskentatarkuuteen ( 16 bittiä) verrattuna. Differentiaaliservon paikkavirheen laskennassa rittää siis 16 bitin laskentatarkkuus. Koska rataohjaus ei koskaan anna nopeammin ohjauspulsseja kuin moottori pystyy niitä käsittelemään, käytännössä ohjaukset ja mittaukset eivät koskaan ole näiden teoreettisiten arvojen lähelläkään. Digitaalisella servolla ei yhtään pulssia ei häviä muuntimien laskentatarkuuteen
ja säädöllä ei ole teoreettista maksimipituutta kuten absoluuttisella säädöllä. Vakioaikasella säätövälillä saadaan huomattavan helposti hallittu ja toistettava säätö.

Tehoaste ja PWM ohjaus

%2B12ohjausj%C3%A4nnitteenboosteri.jpg
Kuva 17 Digitaalinen tehovahvistin toimii hyvällä hyötysuhteella

Digitaaliservosta saadaan ohjaussignaali (PWM), joka ei vielä pysty liikuttamaan moottoria. Tehoasteen tehtävänä on vahvistaa servon signaali moottorin vaatimalle virta- ja jännitetasolle. Tehoaste voi olla aivan erillinen laite tai se voi olla integroituna servoon. Ohjaustapa on yleensä pulssinlevysohjaus (PWM), jossa on erillinen suuntatieto. Suuntatieto valitsee oikeat transistorit H-sillan pääteastella ja PWM:n kasvaessa nollasta 100 % mooottori liikkuu maksiminopeudella.
Joku on myös keksinyt yhdistää PWM säädön ja suuntatiedon siten, että kun pulssinleveys on 50% moottori on pysähdyksissä ja liikkuu PWM-suhteen muuttuessa. Tämä tarkoitaa kuitenkin sitä, että pääteasteen molemmat H-sillat toimivat jatkuvasti, vaikkakin moottori ei liiku kumpaankaan suuntaan. Moottorin induktanssi tasoittaa keskimääräisen virran tarpeeksi pieneksi. Yhden invetterimikropiirin säästäminen vaatii kuitenkin erikoisen ohjauksen ja käynnistyksen oikein ajoitettuna. Mielestäni tämä ei ole riitäävä peruste uudelle periaatteelle!
Tehoasteessa on neljä transistoria tai FETiä, joista vain kaksi saa toimia yhtäaikaa. Käyttöjännite on yleensä 12-100 VDC ja tehot noin 10W-2kW. Koska ylimmäiset ohjaintransistorit kelluvat ohjaussignaaliin nähden, ohaussignaalin siirtämien on pieni ongelma. Signaalit voidaan siirtää oikeaan potentiaaliin muuntajalla, kapasitiivisesti tai optoeristemellä.

DigitalinenServovahvistin.jpg
DigitalservoHardware.jpg
Kuva 18 FET-ohjausjännitteen sieppaaminen 12V:sta Q3 johtaessa

FET-transistoreiden ongelma on se, että hilan ohjausignaali pitää olla suurempi kuin käyttöjännite. Ohjausjännitettä ei voida silloin ottaa servon käyttöjännitteestä. Hilajännitelähde tehdään erillisellä jännitelähteellä tai sieppaamalla apukondensaattoriin jännitettä 12 voltista silloin kun alimmainen FET Q3johtaa. Apukondesaattori C latautuu diodin D1 avulla 12 volttin. Kun alimmainen transistori avautuu, niin kondensaatorin jännite nousee 12 volttia suuremmaksi kuin ylimmäisen FETin Q1 sourcejännite. Siepattu jännite riittää koko PWM jakson ajan ohjamaan FETin hilaa. Tämä menetelmä vaatii, että alimmainen transistori Q3 on joka jaksolla kiinni sellaisen ajan, että apukondensaattori ehtii lataantua. Kuulostaa monimutkaiselta, mutta käytännössä on helppoa käyttää valmista FET-ohjainta esim. IR2110 tai tehdä tehdään ohjaus tähän tarkoitukseen kehitetyillä optoeristimillä HPCL-314J ja apujännitelähdettä. Jännitelähde voi olla erillinen pienitehoinen muuntaja, valmis DC/DC muunnin tai yksinkertainen oskillattori, joka antaa kahdella eristetyllä käämillä 12 volttia FETin hilan ohjausjänniteeksi.

Virranrajoitus ja choppertoiminta

Digitaaliset vahvistimet varustetaan virranmittauvastuksella ja komparaattoripiirillä, joka kykee pääteasteen pois kun virta on noussut asetettuun raja-arvoon. Virta alkaa samantien taas nousta ja tapahtuma toistuu nopeasti ( 10-100kHz). Tapahtumaa kutsutaan virran leikkaukseksi eli chopperiksi. Kuormana voidaan käyttää vaikka rautanaulaa ja silti päätetransistorit toimivat turvallisella alueella. Virran ilmaisu pitää tietysti olla tarpeeksi nopeaa.
Näin saadaan käytännöllisesti katsoen idoottivarma pääteaste. Käyttöhenkilökunta voi kytkeä moottorin johdot oikusulkuun ja silti oikosulun poistuessa laite toimii taas normaalisti. Voiko lineaaritehovahvistimelle tehdä samoin? Ei voi tai pitää hankkia ainakin savun hälvennin tai varaosia.
Tarvittaessa voi virtarajoituspiirin rinnalle kytkeä myös lämpötilakytkimen, jolla vahvistin suojataan myös huonoa jäähdytystä vastaan. Jos suojaukset toimivat ilman erityistä ilmaisinta, niitä niiden toiminen aiheuttaa ongelmia. Käyttäjä voi alkaa epäillä laitteen sammumista viaksi. Jos esim. lämpötilarajoitus on säädetty liian alas ja laite pysähtyy ilman näkyvää syytä, laite pysähtyy epämääräiseti kesken toiminnan.
Choppertoimintaa käytetään myös askelmoottoripääteasteissa. Chopper sallii suuren jännitteen käyttämisen turvallisesti. Suuri jännite vaikuttaa virran nousunopeuteen ja nostaa moottorin tehoa suuremmilla kierroksilla eli di/dt = V/L.
Virran nousnopeus di/dt riippuu suoraan käyttöjännitteestä (V) ja on kääntäen verrannollinen käämin induktansiin (L). Virran nousnopeus tarkoittaa taas sitä, että moottoria voidaan ajaa nopeammin.

IO-ohjaus

Kaikki laitteet tarvitsevat servoakselien lisäksi joitakin digitaalisia tuloja ja lähtöjä. NC-ohjauskieleen kuuluu ns. M-kodeeja, joilla voidaan ohjata ulkoisia laitteta muutamalla bitillä. Esim M1 koodi voi tarkoittaa jäähdytysnestepumppu päälle ja M2 pumppu pois.
Tavalliseen PC:n voi laittaa kolme rinnakkaisporttia käyttöjärjestelmän ohjaukseen. Pienellä osoiteemuutoksella ei IO-bittien ohjauksella ole muuta rajaa kuin porttien mekaaninen asennus. Jos ohjaukset ovat vähänkin monimutkaisempia, on paras käyttää ulkoista, omalla prosesorillaan varustettua opto/rele yksikköä tai ohjelmoitavaa logiikkaa ja sykronoida tämän laitteen toiminat yhteen PC:n rataohjauksessa. Ohjelmoitavat logiikat ovat tehty käyttäjäystävälliseksi silloin kuin toimitaan yhden bitin ohjauskessa kerrallan. Vähänkin monimutkaisemmat toiminnat vaativat lisäyksiköitä, jolloin ohjelmoitavien logiikoiden hinta nousee ja käyttöönotto vaati monasti erikoisosaamista. Tällöin on yksinkertaisempi käyttää omaa mikroprosessoriyksikköä, jossa ei ole mustaa laatikkoa ja sen tulkintaan ei tarvise tilata logiikan valmistajalta yhä uusia ominaisuuksia.
Esimekkeinä binääriohjauksista voidaan mainita servon pääteasteiden ja plasmapolttimen käynnistykset ja kuljettimien ohjaukset. Servon rajojen valvonta tehdään PC:n IO-biteillä. Ne liittyvät monesti NC-ohjelman kotipesän hakuun. Ohjauksissa PC:n TTL-tasoiset antosignaalit pitää tietysti vahvistaa ja eristää releellä tai optolla. Samoin tulosignaalit eristetään optoeristimellä ennen PC:en kytkemistä.

Teholähde

Servojen pääteaste tarvitsee teholähteen, jotta moottori saadaan liikumaan tarpeeksi suurella nopeudella. Ohjaukset käyttävät 5-12V jänniteitä. Tehoaste tarvitsee 12V apujänniteen ja pääteaste 12, 24, 48, 60, 100 V tai 190V. 190 volttia on tassasuunnatun verkkojännitteen keskiarvo ilman suodatuskondesaattoria. Teholähteet kannattaa rakentaa erilleen pääteasteista, jolloin niitä voi vaihdella ohjattavan moottorin mukaan. Isommat (>2kW) pääteasteet vaativat kolmivaiheverkon käyttämistä. Laitteiden rakentaminen turvalliseksi vaatii huolellista suunnittelua. Jäähdykseen pitää erityisesti kiinnittää huomiota.
Oman, ensimmäisen tyristoriservoni teholähde oli 1000A 10kV ja 30MVA. Tarvittava teho löytyi helposti Imatran terästehtaalta. Vertailun vuoksi Suomen sähköjunat käyttävät alle 1MVA tyristoriohjausta. Tämän Imatran laitteen häviöt oli 100kW sekunnissa. Jäähdytyslämpö johdettin öljylauduttimen väityksellä Imtaran koskeen, joka ei tästä edes lämmennyt.

Testilaitteen rakennus ja ohjelmiston testaus

Prototyyppi.jpg

Kuva 19 Differentiaalisen aikadiskreetin digitaaliservon ensimmäinen prototyyppi

Pelkkä teoria ei ole mitään, jos teoriaa ei voi kokeellisesti vahvistaa toimivaksi. Fysiikka perustuu kokeelliseen tietoon ja matematiikka on taas puhtaasti teoreettista tietoa. Teoriaa testattaessa käytettiin pintaliitoskomponettien ladotapään mekanikkaa (kuva 13). Siinä on yksi pyörivä akseli ja yksi Y-suuntainen liikeakseli. Ladontapää liikkuu x-akselia pitkin komponettien varastopaikalta asennuspaikalle. Moottorit toimivat 12 voltilla 1 A. Paikka-anturina on kaksi pulssianturia, joiden tarkkuus on 1250 pulssia/kierros ja 1250 pulssia 100 mm. Laitteessa on myös nopeus-, paine- ja voima-antureita ja lukituksia liikkeiden aikana.
Ensimmäisissä testauksissa tarvittin vain kaksi ohjauskytkintä. Toisella tehtiin 32 pulssin suuruinen uusi asento ja toisella asetettiin liikeen suunta. Näillä kahdella kytkimellä saatiin servon ohjelman toiminta täydellisesti testattua..
Diskreettiä differentiaalisäätöä varten tehtiin protokortti, jossa oli Microcip RISC prosessori, paikkalaskuripiiri, STEP/DIR liitäntä PC:lle ja PWM-anto tehopääteasteelle. Ohjelman testausta varten laitteessa oli sarjaliikenne ja ON-LINE ohjaus. Tehopääteaste oli valmiina, koska samaa käytetään ravien lähtöautojen autoroboteissa.
Kuva 20 Digitaalisen servon lohkokaavio

Aluksi oli vaikeuksia saada sarjaliikenteellä tietoja säädöstä. Jos sarjaliikenne tulosti jotain siihen kului paljon enemmän aikaa kuin itse säätöön. Jos tulostuksen otti pois, ohjelman toiminnasta ei saatu mitään tietoja. Kaikkein toimintojen pitää tapahtua millisekunissa. Yhdessä millisekunnissa 9600 baudilla saa vasta yhden merkin. Tekemällä ohjelmaan keskeytyspohjainen sarjaliikenneohjain ja nostamalla liikennenopeus 56000 bps, tulostus ei enää häirinnyt säädön toimintaa. Suuri liikennenopeus tukki kuitenkin liikennettä vastaanottavan PC:n toiminnan. Se ei pystynyt purkamaan saapuneita merkkejä tarpeeksi nopeasti. Toisaalta ihminenkään ei pystynyt lukemaan mittaustuloksia näin nopeasti. Vasta kun tulostusta tehtiin vain joka 150 säätökierros eli noin 6 kertaa sekunnissa sarjaliikenteen, PC:n, ihmisen ja servon toiminta oli kaikille sopivaa.
Ohjelman toimintaperiaatteet olin jo hionut mielessäni ja suunnitellut toimintojen lohkokaaviot paperille. Kun mekaaninen testausympäristo oli saatu toimivaksi, alkoi ohjelmiston yksityiskohtien testaus. Aluksi tarkastettin mittauksen ja ohjauksen toiminnan oikeellisuus. Säädössä havaittiin tarpeelliseksi tehdä 16 tai 8 bitin rajoitus jokaisen kertolaskun jälkeen, jotta ohjaus ei pääsisi pyörähtämään lukualueen ympäri virhetilanteissakaan. Mittaamalla säätökierroksen tarvitsema aika oskiloskoopilla, voitiin muutamassa paikassa sallia myös jakolasku. Jako ja kertolasku vaativat aikaa paljon ennemmän kuin tavalliset käskyt, jos laitteessa ei ole eritysitä matematiikka yksikköä. Kun jokainen ohjelman osa oli tarkastettu erikseen, laitteen säätökin toimi niin kuin oli ajateltu. P-säätöön lisättiin I- ja D-termit, mutta näiden kanssa ei ollut enään minkäänlaisia ongelmia. Säädön absoluuttinen tarkastus on helppo tehdä: ajetaan ohjausta monia kierrosta ympäri edestakaisin ja katsotaan palaako asetettu merkki aina oikeaan paikkaan. Tässä ei havaittu mikäänlaisia virhetoimintoja. Kun testilaite oli valmis, on helppo tehdä varsinaisia tuotantolaitteita.

Sovelluksia

Piirilevynjyrsinkone.jpg
Kuva 21 NC-ohjattu piirilevyjyrsinkone MitenCadKuvaMuunnetaan.jpg
Kuva 21 NC-ohjaus tulkitsee NC-ohjelmaa servoille

Digitaalista servoa voidaan mm. käytetään roboteissa, polttoleikkauksessa, moottoriohjaimissa, jyrsinnässä, käämikoneissa, koristemaalauksessa, kuljettimissä, porakoneissa, sorveissa, kipinätyöstökoneissa ja lankaleikureissa. Kaikissa tarvitaan ennakolta määrättyjä toistettavia liikkeitä, jotka korvaavat ihmistyövoimaa ja parantavat tarkkuutta ja tuottavutta verttattuna ihmisen tekemään työhön.

TurunSanomat.jpg

Kuva 22 Kuva Turun sanomista missä esitellään Metsämäen raviradan uutta autorobottia ensimmäisen kerran lämminveristen lähtöä.

Autorobotti.jpg
Kuva 23 Autorobotin pääosat

Eräs mielenkiintoinen sovellus on ravikilpailujen autoroboteissa. Näissä ravikilpailujen lähtöauto kiihdytetään haluttua nopeusprofiilia pitkin 362 metrin matkan mahdollisimaan tasaisesti, jotta ohjastajat pystyvät keskittymään omaan ajoonsa tietäen, että lähtöhetkellä ollaan juuri oikeassa nopeudessa. Lämminverisillä tämä on 52 km/h ja suomenhevosilla 42 tai 38 km/h riippuen hevosten tasosta.
Nopeusservo saa mitatun matkan mukaan ohjearvonopeuden ja nopeusanturista auton nopeuden. Säätö pitää nopeuden oikeana riippumatta auton siipien tuulivastuksesta tai kelin aikeuttamasta liukkaudesta. Digitaalinen tehovahvistin ohjaa kaasutinläppää.
Digitaalinen servo ja digitaalinen tehovahvistin on autorobotin tärkein osa. Servo-ohjauksessa on viisi keskeytystä ja tiedonkeruuta varten sarjaliikenne. Laitteiston käyttöliitäntä on toteutettu LCD-näytöllä, näppäimistöllä ja erilisellä 40 MHz RISC mikroprosessorilla. Tämä laite ohjaa myös auton katolla olevaa 300 mm nelinumeroista superled-näyttöä, jossa on vielä 4 prosessoria lisää.

NCSimulaattori.jpg

Kuva 23 NC-simulattori piirtää rataa PC:llä

Digi One on täysdigitaalinen akselikohtainen paikkaservo. Siinä on suora liitäntä PC:n rinnakkakkaisporttiin, pulssianturiin ja moottoriin. Sarjaliikennettä voidaan käyttää digitaalinäyttöön ja valvoa servon toimintaa täydellä nopeudella. Akselin valinta tehdään dip-kytkimellä. Kaksi mittaustuloa ja yksi releohjaus tekee laitteessta erittäin käyttökelpoisen PC servo-ohjaukseen. P, I, D ja maksimivirta-säädöt on tehty potentiometrillä, joiden arvo luetaan prosessorille. Pulssilaskuri on toteutettu omalla mikropiirillään, joka toimii jopa 12MHz pulssinopeuksilla. Toiminta perustu PC:n antamiin DIR ja Step pulsseihin, joiden avulla pidetään akselin paikka oikeassa asennossa. Kompakti kortti on Euro1 kokoa.

Yhteenveto

Kirjoituksessa on esitetty perinteisten menetelmien ongelmat liikeohjauksissa. Askelmoottoreilla ja analogiaservoilla on joitakin hyviä ominaisuuksia, mutta niissä on molemissa vakavia puuttuita käytännössä. Uusi aikadiskreetti differentialiservo yhdistää molempien menetelmien hyvät ominaisuudet. Täysin digitaalisesti totetutettu järjestelmä voidaan toteuttaa edullisesti tavallisella PC:n askelmoottoriohjelmalla. Menetelmä sopii yhtä hyvin suuriin kuin pieniinkin ohjauksiin. Menetelmän teoriat on tarkistettu toimivaksi testilaitteella ja useilla tuotantolaitteilla. Menetelmää voidaan soveltaa yhtä hyvin paikkaohjaukseen ja nopeussäätöön. Vaikka servoa ei koskaan voi sanoa yksinkertaiseksi, niin sen kehittäminen on selväpiirteistä esitettyjen yksityiskohtaisten toimintaperiaatteiden mukaan.

Pekka OH3GDO

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License