Vaikka robotit yleisesti yhdistetäänkin massavalmistuksen tuotantotiloihin, ovat ne tuotantokustannuksissa saatavien säästöjen vuoksi lisäämässä suosiotaan myös muilla sovellusalueilla, missä tarkkuus, toistettavuus ja kustannusten pienuus ovat tärkeässä asemassa. Autonomisten ajoneuvojen ja cobot-sovellusten suosion kasvu edellyttää niiden tuotekehitykseen soveltuvia ratkaisuja ja puolijohteita helpottamaan toteutusta ja prototyyppien tekoa.
Artikkelin kirjoittaja Frank Malik työskentelee Toshiba Electronics Europen insinöörinä Kölnissä. Hän on ollut Toshiban palveluksessa aina vuodesta 1995 lähtien. |
Ihmisen taipumuksesta suunnitella omaa työtä helpottavia koneita löytyy dokumentteja jo muinaisen Kreikan ajoista alkaen. Etsiessään keinoja puolustaa Kreetan saarta kreikkalainen jumala Hephaestus asetti jättiläismäisen ’pronssimiehen’ Taloksen suojelemaan saarta. Kesti kuitenkin 1920-luvulle saakka ennen kuin sana ’robotti’ tuli käyttöön tshekkiläisen Karel Čapekin keksittyä sanan, jota alettiin viljellä etenkin tieteiskirjallisuudessa.
Nykyisin tehokkaat robottivarret liikuttelevat auton osien paneeleja ja kohdistavat pistehitsauslaitteita paikoilleen. Robottiratkaisut, joissa suurten massojen liikuttelu yhdistyy nopeisiin liikkeisiin, ympäröidään turvahäkeillä lähellä olevien työntekijöiden suojaamista varten. Yleistymässä ovat kuitenkin tilanteet, joissa kanssakäyminen ihmisen ja robotin välillä edellyttää yhä läheisempää vuorovaikutusta. Tällöin puhutaan yhteistyöroboteista eli coboteista ja itseohjautuvista ajoneuvoista (AGV). Jälkimmäisiä on ollutkin koekäytössä joissakin kaupungeissa ravintoloiden ja ruokakauppojen tuotteiden asiakasjakelutehtävissä. Lineaarisesti liukuhihnalla eteneviä tuotantoprosesseja on voitu korvata työasemilla, jotka suorittavat valmistusprosessin vaatimat vaiheet. Näissä itseohjautuvat ajoneuvot liikuttelevat työstettäviä kappaleita työasemien välillä saattaen silloin tällöin käydä yksittäisellä työasemalla useammankin kerran, jolloin on mahdollista tuottaa asiakkaalle räätälöityjä tuotteita hyvinkin kustannustehokkaasti.
Tässä artikkelissa esitellyt servo-ohjaimen referenssimallin laaja teknologiavalikoima, kuten moottorinohjaukseen optimoidut mikro-ohjainyksiköt, suorituskykyiset MOSFET:t ja ohjelmistokehitysympäristö, tarjoaa tuotekehitystiimeille kaiken tarvittavan robottisuunnittelun aloittamista varten.
Robotiikan toteutuksen kolminaisuus
Robotiikan järjestelmien ytimen muodostaa kolme perusosaa, joita tarvitaan ohjaamaan akseleita servomoottoreilla: ohjain, tehonsyöttö ja takaisinkytkentäsilmukka. Ohjaimen tehtävänä on varmistaa, että moottori reagoi liikeohjaimen komentoihin ja asemoi servon tarkalleen oikeaan sijaintikohtaan. Moottori voi olla joko harjaton tasavirtamoottori (BLDC) tai askelmoottori, joten moottorinohjausalgoritmin on oltava sen mukainen, että se tarjoaa parhaimman mahdollisen sähköisen suorituskyvyn. Ohjaimeen liittyy läheisesti myös tehovahvistinaste, jonka tulee syöttää tehoa moottorin käämeihin niin tehokkaasti kuin mahdollista muodostaen mahdollisimman vähän hukkalämpöä. Jos tämä on saavutettavissa, sillä on myönteisenä vaikutuksena lopputuotteen koon ja painon pieneneminen, jolloin on mahdollista sisällyttää robottivarsien ja SCARA-robottien vaatimat ohjausjärjestelmät niihin itseensä eikä tarvita erillisiä ulkoisia ohjainkoteloita.
Kolmas perusasia liittyy robottivarsien yksittäisten akselien sijainnin tarkkuuteen tai itseohjautuvan ajoneuvon pyörien rotaatioon. Koko, paino, hinta ja haluttu tarkkuus ovat tällöin tekijöitä, jotka ohjaavat suunnittelijan anturiratkaisujen. Nämä järjestelmän osat saattavat edellyttää signaalin käsittelyä ja jännitetason muunnosta ennen käytettävään ohjaimeen liittämistä.
Joustavasti liikkeelle
Optimaalisen ratkaisun kehittäminen robotiikan servoja varten edellyttää, että suunnittelija voi joustavasti, nopeasti ja helposti vuorotellen testata kutakin mainittua kolmea perusosaa. Tällöin on mahdollista nopeasti arvioida ohjainta, tehoratkaisua ja kooderia optimiratkaisua varten. Tunnistaen tällä alueella olevan lisääntyvää kiinnostusta etenkin start-up-yritysten sovellusten osalta, Toshiba on kehittänyt konfiguroitavan Servo Drive -referenssisuunnittelukortin, jossa tarvittavat osat on koottu yksittäiselle alustalle (kuva 1).
Alusta käsittää peruskortin ja sillä olevat tarvittavat liitännät kolmen toiminnallisen peruselementin välille. Peruskortin päälle sijoitetaan vaihdettavissa olevat mikro-ohjainkortit, jotka tuottavat kooderin tai pyörimiskulman anturin (resolver) tuloon ja liikeohjaimen tulon vasteeseen perustuvan ohjauksen. Enimmillään kolme tehonsyöttökorttia voidaan sijoittaa kortille ohjaamaan moottorin käämien tehonsyöttöä, samalla kun joukko kooderikortteja sovittaa koodereilta tai pyörimiskulman antureilta tulevia signaaleja mikro-ohjainyksikön käyttöön sopiviksi.
Kuva 1: Servo Drive -referenssikortti on modulaarinen ja sillä voidaan testata ja toteuttaa erilaisia servomoottoriratkaisuja.
Mikro-ohjainyksikön liitäntäalueen lisäksi peruskortilla on myös liitäntä Arduino-yhteensopiville lisälaitteille. Sen avulla voidaan integroida CAN-, ethernet- ja muut verkkoprotokollat. Bluetooth-yhteyden peittoalue aikaan saadaan Toshiban teknologiaan perustuvalla PAN1762-moduulilla. Järjestelmäanalyysin helpottamiseksi mikro-ohjainyksiköstä eristetty USB-UART-konvertteri on saatavissa. Samoin tarvittavat tehonsyötöt, napaisuuden suojaukset ja tason siirtimet ovat saatavissa (kuva 2).
Kuva 2: Servo Drive -peruskortin lohkokaavio.
Optimoitu tarkkaan ohjaukseen
Mikro-ohjainyksikkökortilla on MK4-sarjan Arm Cortex M4F -piirejä. Sen 160 MHz:llä toimiva liukulukuyksikkö käsittää 256 kt flash-muistia ja 24 kt SRAM-muistia ja soveltuu erityisesti monimutkaisten moottorinohjauksen algoritmien suorittamiseen. Lisäksi mikro-ohjainyksikköön on pitävästi liitettävissä laaja valikoima moottorinohjausta tukevia oheispiirejä: AV-E+ -vektoriydinmoduuli, 12-bittinen AD-muunnin ja A-PMD-ajastinlohko. Kun A-VE+ -moduulia käytetään yhden moottorin FOC-ohjaukseen, M4K voi tukea kahta muuta moottoria suorittamalla ohjelmallisesti FOC-algoritmit (kuva 3).
Kuva 3: M4K MCU:n mikro-ohjainkortin 100-nastainen versio, jolla voidaan FOC-ohjata enintään kolmea moottoria: yhtä laitteistollisesti A-VE+ -moduulilla ja kahta ohjelmallisesti FOC-algoritmilla.
AV-E+ -lohko helpottaa moottorinohjaussovellusten toteutusta lisäämällä ohjelmistoon kaivattua ennalta määräytyvyyttä ja piilottamalla käytettävien Clark-Park-muunnosten laskennallista monimutkaisuutta. Kooderilta tai pyörimiskulman anturilta saatavaa sijaintitietoa kerätään AD-muuntimella, jossa se muunnetaan kolmivaiheisesta kaksivaiheiseksi esitykseksi laitteistolla prosessointia varten ja prosessoinnin jälkeen muunnetaan takaisin kolmivaiheiseksi A-PMD-ajastinlohkoa varten. Tämän laitteistollisesti suoritettavan lähestymistavan ansiosta vältytään keskeytysten tai käyttöjärjestelmän tehtävävaihdosten aiheuttamilta huojunnasta (jitter) ja kääntimen optimointien vaikutus algoritmien suoritusaikaan jää mahdollisimman vähäiseksi. Kolmen oheislaitteen saumattoman integroinnin ansiosta FOC-moottorinohjaus tapahtuu likipitäen autonomisesti, kun järjestelmä on kerran konfiguroitu.
Muunnosajan 1 µs omaavaa AD-muunninta voidaan myös käyttää valitun pyörimiskulman anturin tai kooderin yhteydessä. Kompleksisemmat anturit, kuten Hiperface-liitännällä varustetut, voidaan yhdistää UART-piiriin sopivan lähetinvastaanottimen kanssa. Pulssiantureita tuetaan A-END32-kooderitulomoduulilla ja siihen integroidulla kohinanvaimentimella, joka on tarpeen erityisesti kohinaisissa sähköisten ympäristöjen roboteissa ja autonomisissa ajoneuvoissa, sekä 32-bittisellä T32A-ajastintapahtumalaskurilla (Timer Event Counter). Differentiaalikooderi- ja pyörimiskulman anturin kooderikortti helpottaa tällaisten anturien prototyyppien tekemistä (kuva 4).
Kuva 4: Differentiaalikooderi (vasemmalla) ja pyörimiskulman anturin kooderi (oikealla) voidaan asentaa tehonsyöttökortille ja ne helpottavat anturien integroimista servo-ohjaimen referenssialustalle.
Tehokasta tehon siirtoa
Pienjännitteinen tehonsyöttökortti muodostaa tehoasteen valittavalle moottorille. Se ottaa vastaan enintään 48 V:n tulojännitteen ja integroi TPW3R70APL 100V MOSFET -pohjaisen kolmivaiheisen invertterin (kuva 5). Se voi käsitellä enimmillään 10 W:n lämpöhävikkiä ja tarvittaessa siihen voidaan sovittaa jäähdytyslevy. MOSFET pohjautuu U-MOS IX-H -sukupolven prosessiteknologiaan, joka tarjoaa hyvän kompromissin pienen päästöresistanssin ja Qg:n välillä sekä QSW:n ja QOSS:n välillä. Piiri on osa laajempaa piirivalikoimaa, jotka tukevat 20-250 V:n jännitteitä sekä SMD- että THD-koteloituna ja joista osa, kuten DSOP, on varustettu yläpuolella olevilla jäähdytyslevyjen asennusanturoilla.
Mainittujen ominaisuuksien vuoksi kortti soveltuu 20-200 W:n luokan harjattomien tasavirtamoottorien yhteydessä käytettäviksi. Virranmittaus on toteutettavissa alapuolelta käsin TC75W58FU-komparaattorilla, jonka tarkoituksena on tuottaa virhetakaisinkytkentäsignaali peruskortille. Lämpötila-anturit ovat myös lisäämässä turvallisuutta. Moottorin vaihevirrat myös linkitetään takaisin peruskortille mikro-ohjainten käyttöä varten.
Kuva 5: Pienjännitteinen tehokortti on toteutettu uusimman sukupolven U-MOSIX-H TPW3R70APL MOSFET-piireillä, jotka tukevat enimmillään 200 W:n moottoreita.
Pakettiin kuuluu myös RTOS-pohjainen demo-ohjelmisto ja yksityiskohtaisesti dokumentoidut ohjelmistorajapinnat. Graafinen käyttöliittymä helpottaa tuotekehitystyötä korostamalla reaaliaikaisesti laiteohjelmiston tilaa ja robottitoteutuksen jokaisen akselin parametreja (kuva 6).
Kuva 6: AR3-robottivarsi on konvertoitu käyttämään Hall-anturikoodereilla varustettuja harjattomia tasavirtamoottoreita. Se voidaan toteuttaa servo-ohjaimen referenssimallin graafisen käyttöliittymän ja laiteohjelmisto- eli firmware-rajapinnat käsittävällä demoalustalla.