Portaalinosturi AS-0.3200 Automaatio- ja systeemitekniikan projektityöt, 9op 18.1 24.6.2012 Oleg Kovalev TIK oleg.kovalev@aalto.fi Ohjaaja: Mika Strömman
Sisällysluettelo Sisällysluettelo... 2 Lyhenteet... 3 1 Johdanto... 4 2 Teoria ja aikaisemman tiedon kuvaus... 5 3 Projektityön rakenne... 6 3.1.1 Suunnittelu ja komponenttien hankinta... 6 3.1.2 Elektroniikka... 7 3.1.3 Piirilevyt... 7 3.1.4 Laitteet, työkalut ja tarvikkeet... 7 3.2 Piirilevyjen valmistus... 9 3.2.1 Johdinkalvot... 9 3.2.2 Valotus... 9 3.2.3 Kehitys... 9 3.2.4 Syövytys... 10 3.2.5 Poraaminen... 10 3.2.6 Testaus... 11 3.2.7 Piirilevyjen kokoonpano... 11 3.3 Nosturin kokoonpano... 11 3.3.1 Piirilevyt... 11 3.3.2 Kaapelit ja liittimet... 12 3.3.3 Ohjauspaneeli... 12 3.3.4 Testaus... 12 3.4 Ohjelmointi... 13 3.4.1 Työkalut... 13 3.4.2 PWM ja keskeytykset... 13 3.5 Ajotesti... 13 4 Tulokset... 14 4.1 Kokoonpano... 14 4.2 Ajankäyttö... 14 5 Yhteenveto... 15 5.1 Johtopäätökset... 15 5.2 Ideoita ja jatkokehitys... 15 Lähdeluettelo... 16 Liiteluettelo... 17 Liitteet
Lyhenteet PLC Programmable Logic Controller Ohjelmoitava logiikka MCU Micro Controller Unit Mikrokontrolleri PWM Pulse-width modulation Pulssinleveysmodulaatio GIMP GNU Image Manipulation Program Kuvankäsittelyohjelman nimi TME Transfer Multisort Electronic Verkkokaupan nimi SMD Surface-mount device Pintaliitoskomponentti I/O Input/Output Sisään-/Ulostulo UV Ultraviolet Ultravioletti valo DPI Dots Per Inch Pikseleitä per tuuma USB Universal Serial Bus Sarjaväylä
1 Johdanto Työn tavoite oli rakentaa GWS palettikuljetuslinjastoon lastaus- / purkauslaite, jota ohjataan linjaston PLC:sta. Nosturin on tehtävä liikkeet vaaka- ja pysty tasoissa ja ottaa tai vapauttaa esine. Liikkeen suoritusaikana nosturin on lähetettävä pulssi PLC:lle tietyn matkavälein. Mikäli nosturi havaitsee virheen, sen on pysähdyttävä välittömästi ja PLC:lle on lähetettävä virhesignaali. Nosturin ohjaussignaali on 24V. Tämä työ oli aloitettu syksyllä vuonna 2003. Silloin rakennettiin nosturin mekaniikka ja ensimmäinen versio MCU-pohjasella ohjausmoduulilla. Projekti ei kuitenkaan saatu vietyä loppuun asti vaativuuden, aikapulan ja riittämättömän elektroniikan ja ohjelmoinnin taustantietojen takia. Vuoden 2012 projektityö on edellisen projektin jatkokehitys. Tavoitteena on suunnitteella ja rakentaa uudestaan nosturin ohjausmoduuli, vaihtaa moottoreiden ohjaimet, poistaa integroitu virtalähde ja suunnitteella uudestaan ohjausmoduulin sisäinen ohjelmisto (firmware eng.).
2 Teoria ja aikaisemman tiedon kuvaus Vuonna 2005 saatiin ruostumattomasta teräksestä valmistettu nosturin runko. Runko oli suunniteltu mahtuvan linjaston palettipöydälle. Mekaniikasta ja rungon rakenteista ei ollut valmisteltu piirustuksia vaan koko rakenne oli valmisteltu de facto periaatteella. Nosturin ensimmäisen version elektroniikka oli peräisin kahdesta kirjoituskoneesta. Lopulliseen kokoonpanoon sisältyi 3 askelmoottoria, 5 valokennoa (valohaarukka, optobreaker eng.) ja 5 mikrokytkintä. Valokennot olivat varsinaista toimintoa varten. Mikäli valokenno ei ollut toiminnassa (esim. johto poikki) ja mikrokytkin on aktivoidu, tällöin ohjauselektroniikka havaitse virhetilanne, pysäyttää toiminnan ja lähettää virhesignaali. Sisään- ja ulostulot oli tarkoitus erottaa valoerottimilla. Tämä epäonnistui puutuvan tiedon ja kokemuksen valoerottimien kytkennöistä. Elektroniikkaan toiminta oli epästabiili logiikkapiirien väärän valinnan takia. Aikaisemmin elektroniikka- ja piirilevysuunnittelu oli toteutuu EAGLE-ohjelmassa, MCU:n ohjelmointi MPLAB-ohjelmassa C-kielillä. Projektiin kulun aika: - Suunnittelu 80h - Runko 200h - Elektroniikka 400h - Ohjelmointi 40h - Yhtensä 720h Demo tilaisuudessa vuonna 2006 nosturia ohjattiin käsin ohjauspaneelista. Jälleen integrointi epäonnistui lukuisesta suunnitteluvirheistä elektroniikassa ja riittämättömästä ohjelmointitaidosta mikrokontrollereille.
3 Projektityön rakenne 3.1.1 Suunnittelu ja komponenttien hankinta Vuoden 2012 projektin pohjana olivat sama runko, askelmoottorit, mikrokytkimet ja valokennot. Elektroniikka ja sisäinen ohjelmisto uusittiin. Tässä projektissa verrattuna edellisen merkittävät erot olivat: - Nostettiin elektroniikan integrointiaste o Valmiit askelmoottoriohjaimet Allegro mikropiirillä (RepPar, 2012) o Valmis Arduino MEGA ohjainkortti (Arduino, 2009) jossa mikrokontrolleri on ATMEGA1280 (Atmel Corporation, 2012) - Ohjauspiirinä monipuolisempi ATMEL ATMEGA1280 (oli Microchip PIC16F677) o 100 pinniä (ATMEGA1) vs. 40 pinniä (Microchip) - Käytettiin paljon pintaliitoskomponentteja o Mahdollisuus saada mahtuvan koko elektroniikkaan nosturiin rungon - Elektroniikan rakenne toteutui modulaarisella periaatteella o Jokaiselle sisään- ja ulostulolle oma piirilevy o Moottoriohjaimet, I/O kortit ja emolevy erikseen - Ohjelmistossa ohjaus toteutui keskeytyksillä ja PWM:lla o Riippumaton toiminta jokaiselle moottorille (päällä, pois päältä, kierrokset, pyörimissuunta) ja ulostuloille o Monien antureiden ja sisääntulojen samanaikainen valvonta Tällä kerta elektroniikka- ja piirilevysuunnittelu toteutettiin edelleen EAGLEohjelmassa ja sisäisen ohjelmiston Atmel Studio 6.0:ssa. Mikropiirin ohjelmointi tapahtuu Arduino:n USB-liitännän kautta. Ilmaisessa EAGLE-versiossa on olemassa rajoite piirilevyn koko enintään 80x100mm. Arduino-levyn koko on noin 60x100mm ja käytössä olevan tilan koosta johtuen päädyin rakentamaan emolevyn 100x160mm piirilevylle. EAGLE:ssa suunnittelu tapahtui kolmessa vaiheessa. Ensimmäisessä vaiheessa elektroniikkaan jaoin kahteen puoliskon Arduino-levyn liittimien nähden. Toisessa määrittelin mitä MCU:n pinnejä ja kummalla puoliskola voidaan käyttää keskeytyksien näkökulmasta. Kolmosessa suunnittelin puoliskot erikseen ja johdinkuvat yhdistettiin GIMP-kuvankäsittely ohjelmassa. Muissa piirilevyissä ei tullut vastaavia ongelmia sillä ne olivat kooltaan paljon pienempiä. Haastealisena tämän vaiheen suunnittelussa oli päättää heti alussa millaisia komponentteja käytetään ja onko niitä saatavana edullisesti yhdestä paikaista säästääkseen kustannuksia. Suurin osa komponenteista olen hankkinut TME:lta (Transfer Multisor Electronic, 2012), loput PARTCO:lta, PROTOSHOP:sta ja RepRap:sta.
3.1.2 Elektroniikka Koko elektroniikkaan jaettiin muutamaan lohkoon: sisääntulokortit, ulostulokortit, moottoriohjaimet ja siihen liittyvät ympäristöt, virtalähteet 24/5VDC ja anturit. Sen jälkeen fyysinen sijainti määritteli mitä lohkoja voidaan sijoittaa samalle piirilevylle. Kuitenkin päätettiin, että sisään- ja ulostulokortit tehdään 1kpl per kanavan. Näin on helppo päivitä kortti tai vaihtaa jos tulee vahinko. Myös korttien testaus, vianetsintä ja korjaus/vaihto suju nopeammin. Suurin osa komponenteista on SMD (pintaliitos) komponentteja. Näin saadaan enemmän tilaa samalla levyllä ja nopeutetaan kokoonpano prosessi. Pienempien korttien osalta suunnittelu oli melko suoraviivainen prosessi. Paljon enemmän aika on kulunut emolevyyn. Se koostuu pohjalevystä, jonne liitetään Arduinokortti, kaksi laajennuskorttia, toistakymmentä I/O korttia ja useita kaapeleita. 3.1.3 Piirilevyt Piirilevyjen suunnittelu on tapahtunut rinnakkaisesti elektroniikkaan suunnittelun kanssa. Prosessi oli iteratiivinen koska olemassa oleva tila rungossa vaikutti piirilevyyn kokoon ja se vastaavasti vaatii muutoksia elektronikassa ja uudelleen muutoksia piirilevyssä. Tästä syystä heti projektin alussa päätin, että piirilevyistä tulee kerrosrakenteinen, I/O kortin liitin on 2x5 tai 2x6 nasta (kaupassa heti saatavilla oli 2x5) ja I/O kortin korkeus enintään kolmas osa vapaan tilan korkeutta. Vastaavasti suunnittelin liikkuvan yksikön pohjalevy kahden moottorin ohjaimille ja antureille tila piirilevylle oli rajoitettu pituus- ja leveyssuunnassa. Suunniteltuja piirilevyjä tuli yhtensä 5kpl. Lisäksi kaksi alkuperäisiä piirilevyjä oli muokattu edellisestä projektista uuden rajapinnan mukaan. 3.1.4 Laitteet, työkalut ja tarvikkeet Piirilevyn valmistusmenetelmä on valotusmenetelmä. Valmis johdinkaavio tulostetaan tai kopioidaan laserkalvolle (positiivinen kuva). Asetetaan positiivisen valoherkän piirilevyn päälle kalvo ja valotetaan UV-valolla. Sitten emäksissä liuoksessa liuotetaan valaistut kohdat ja huudellaan puhtaalla vedellä. Kuparin päällä tulevat johtimet ovat suojattuna lakalla. Syövytyslaiteessa poistetaan ylimääräinen kupari. Päivisin olin töissä joten en voinut valmistaa piirilevyt koulussa. Tästä syystä jouduin suunnittelemaan valotus-, syövytys- ja juotinlaitteet. Kalvot olin tulostanut musta-valkoisessa lasertulostimessa. Valotuslaite muokkasin geelilakan valotuslaitteesta (Kuva 3.2). Poistin reunamaiset lamput ja vaihdoin kesimäisien lamppujen kytkennät.
Kuva 3.1 Valotuslaite Syövytyslaitteen purkki ostin IKEA:lta, ilmakompressorin ja ilmakivet akvaariokaupasta. Pidikkeet rakensin IKEA:n leikkuulaudasta. Lämmitin on peräsin vanhasta akvaariosta. Valmis laite on esitetty Kuva 3.1. Toiminnassa oleva laite on esitelty kkuva 3.3. Kuva 3.2 Syövytyslaite Kuva 3.3 Syövytyslaite toiminnassa Juotinlaitetta varten ostin yksilevyinen keittolevy. Kuumailman juottimen rooli suoritti kuumailmapuhallin suutiminen (Kuva 3.3). Juotostina oli valmis käsiruiskussa. Paketissa oleva muovinen neula oli lian suuri 0603 koteloille joten apteekista ostin pienemmin 0,6mm neulan.
Kuva 3.4 Juotinlaite pintaliitoskomponenteille 3.2 Piirilevyjen valmistus 3.2.1 Johdinkalvot Piirilevyn valmistus aloitetaan piirikalvojen tulostuksessa. Tärkeintä tässä prosessissa on johtimien alueiden saaminen mahdollisimman tummiksi. Monella tulostin ajureista löytyy asetukset kontrastille, mustemäärälle ja kuvanlaadulle. Johdinkuville EAGLE:ssa kannata asettaa resoluutio 600DPI tai 1200DPI ja kuvanformaatiksi PNG, JPG tai TIFF (BMP vie liika tilaa). Itse käytin 600DPI ja PNG. Käytetty tulostin ei välttämättä peittää tasaisesti koko tulostusalue, joten on kokeellisesti etsittävä paras sijainti tulevalle kuvalle A4 kalvolla. Alin kerros tulostetaan sellaisena, ylin kerros on peilittävä. 3.2.2 Valotus Laiteen päälle on asetettu kirkas lasilevy. Poistetaan sopivasta piirilevyn palasta suojakalvo, asetetaan kalvo valoherkän lakan vastaan (tulostusmuste lakan puolella), varmistetaan teippipaloilla ja koko paketti asetetaan lasilevyn päälle. Valotusaika on etsittävä kokeellisesti. Se riippuu lasista, lamppujen tehosta, etäisyydestä, kalvon ja lakan laadusta. Ylensä se on 1-3 minuuttia. 3.2.3 Kehitys Valotettu piirilevy lasketaan kehitysliuokseen. Tulostuksien alla olevat alueet pysyvät piirilevyllä ja valotut alueet tulevat puhtaaksi. Kehitysprosessi vie noin 0,5-1 minuutti. Tämän jälkeen huuhdellaan juoksevan veden alla ja kuivataan levy.
3.2.4 Syövytys Ennen syövytystä tarkistetaan levy ja tarvittaessa korjataan virheet poistamalla lakan tai peittämällä haponkestävällä tussilla. Syövytys tapahtuu lämmin natriumpersulfaatti liuoksessa sekoittamalla liuos paineilmalla. Nopeus ja lopputuloksen laatu riippuu lämpötilasta, liuoksen laadusta, kuparikerroksen paksuudesta ja laadusta. Optimaaliset parametrit saatiin kokeellisesti. Syövytettävä piirilevy on esitelty Kuva 3.3. Syövytetty piirilevy on esitelty Kuva 3.5. Kuva 3.5 Syövytetty piirilevy 3.2.5 Poraaminen Poraaminen käsiin pienehkö pylväsporakoneessa oli melko suoraviivainen prosessi. Se on vaatinut tarkkuutta ja kärsivällisyyttä. Suuri apu oli suurennuslaseista ja luupista (hankin Biltemasta). Vaikka käytin laajasti pintaliitos komponentteja, reikiä tuli toista sata kappaleitta halkaisijaan 0,6-4mm. Esimerkki poratusta piirilevystä löytyy Kuva 3.6. Kuva 3.6 Porattu piirilevy
3.2.6 Testaus Poraamisen jälkeen piirilevyt tarkistin olivatko johtimet ehjät ja erotetut toisistaan. Tarvittaessa korjasin tinakolvilla ja Dremel merkkisellä käsijyrsimellä. Tarkastus suoritin ensin silmämääräisesti valoa vastaan ja sitten yleismittarin avulla. 3.2.7 Piirilevyjen kokoonpano Tässä vaiheessa käytin sekä tavallista juotinkolvia, että kehittämäni juotinasemani. Kokoonpanoon jälkeen tarkistin ensiksi liitokohtien laadun silmämääräisesti. Tämän jälkeen varmistin yleismittarin avulla löytyikö kylmäjuotoksia tai oikosulkuja. Tarvittaessa korjasin virheet. Esimerkki valmista piirilevyistä on Kuva 3.7. Kuva 3.7 Valmis emolevy ja yksi laajennuskortti 3.3 Nosturin kokoonpano 3.3.1 Piirilevyt Tässä vaiheissa valmistelin piirilevyille pojan polietyleeni levystä pojan jonne tein muutamaa reikiä M3 kierteellä ja aukko DIP-kytkimelle (Kuva 3.9). Piirilevyt kiinnitettiin suunnitelman mukaan ruuveilla ja tukijaloilla. Keskenään piirilevyt yhdistettiin johdoilla (Kuva 3.8).
Kuva 3.9 Pohjalevy Kuva 3.8 Nosturin ohjausmoduuli 3.3.2 Kaapelit ja liittimet Paljon aikaa on kulunut valmistukseen kaapeleiden varustettuja liittimillä. Tässä vaiheessa vaihdoin kaikkien antureiden, mikrokytkimien ja moottoreiden kaapelit ja liittimet. Takalevylle tuli uudempi D-SUB 25pin liitin jolle juotin johdot ja asetin liittimet. 3.3.3 Ohjauspaneeli Ohjauspaneeli rakensin kirkasta muovilevystä nosturin päädyissä. Painikkeet ja vipukytkin tulivat edellisen projektin ohjausboksista. Kuva 3.10 Nosturin ohjauspaneeli 3.3.4 Testaus Alussa poistin kaikki irtokortit ja kaapelit ja aloitin emolevyn yhdellä puoliskolla. Syötin jännite 12VDC ja varmistin että irtokorttien pinneillä jännite on suunniteltua pienempi tai vastaava. Sitten nostin tulojännite 24VDC asti ja tarkistin uudelleen. Sen jälkeen lisäsin kortti tai kaapeli kerallaan ja tein sama rutiini uudestaan.
Osa komponenteista emolevyllä meni valitettavasti sekaisin (vastukset ja diodit) joten sen selvittäminen vei muutaman tunnin töitä. Korjauksen jälkeen kortti on toiminut halutulla tavalla. 3.4 Ohjelmointi 3.4.1 Työkalut Vaikka alussa Arduino ympäristö näytti olevan helpolta ohjelmointikielen näkökulmasta, nopeasti tuli ongelma käyttää PWM. Tällöin päädyin kirjoittaa ohjelman C-kielillä Atmel Studio 6.0:ssa. Käännetyin koodiin lataaminen onnistui AVRDUDE avulla suoran Atmel Studio:sta (Thomsen). Komento tässä tapauksessa oli muotoa: -C"C:\arduino-0022\hardware\tools\avr\etc\avrdude.conf" -F -v - patmega1280 -cstk500v1 -P\\.\COM11 -b57600 -D - Uflash:w:"$(ProjectDir)Debug\$(ItemFileName).hex":i, missä COM11 on sarjaportin numero jossa on tunnistettu Arduino-korti. Sain toimia ohjelmointi ainoistaan AVRDUDE (ARDUINO:lle) versiolla 0.22. Uudempi versio jostain syystä ei toiminut. 3.4.2 PWM ja keskeytykset Elektroniikkaan suunnitteluvaiheessa oli välttämätöntä testata onko mahdollistaa ohjata askelmoottorin ohjain PWM yksiköllä. Ajatuksena oli saada PWM pinnistä pulssi 50% modulaatiolla mutta erilaisella taajuudella. Tällöin tarvittaessa olisi mahdollisuus toteuttaa moottorille pehmeät käynnistykset ja jarrutukset. Se onnistui ongelmitta. Kuitenkin käytin moottorin ohjaimessa oleva mikroaskelmoodi mikä yksinkertaisti sisäisen ohjelmiston koodia Toiseksi oli varmistettava miten saadaan laskea lähetetyt askelpulssit jokaiselle ohjaimelle. Se toteutin keskeytyksien avulla. PWM pinnistä signaali tuotiin keskeytyspinnille vastuksen kautta. Kun signaalin arvo muutu tulee keskeytys ja lasketaan lähetettyjen askelpulssien yhteismäärän. Vastaavasti keskeytyksien kautta on valvottu kaikki mikrokytkimet (looginen TAI kytkentä yhdelle pinnille) ja valohaarukat (jokaiselle oma pinni). Ottimen pystysuuntainen liike on rajoitettu sähköisesti vain ylhäältä. Rajoittaminen alahalla tuli vaikeaksi sillä valokennon ja mikrokytkimen kiinnittäminen olisi vaatinut paljon aikaa. Päädyin toteuttaa ohjelmistopohjainen rajoitin. Se perustuu askelpulssien määrän laskennan ylimmästä asennosta. Heti kun otin saavuttaa yläasentoon, lasketun pulssimäärä asetetaan nollaksi. Maksimäärä (eli minikorkeus) on ohjelmoitava muistiin sisäisessä ohjelmistossa ja se määritetään kokeellisesti nosturin integroinnin jälkeen. 3.5 Ajotesti Tässä vaiheessa tarkistin nosturin perus- ja turvallisuustoiminnot autonomisesti. Ohjauspaneelin painikkeet tuovat sisääntulokorteille ohjaussignaali +24VDC samoihin pisteisiin jonne tulee ohjaussignaali PLC:sta. Tällöin voidaan rinnastaa käsiohjaus PLCohjaukselle.
Ajotestit sisältyivät: - vaste ohjuspainikkeisiin, liikeratojen suorittaminen - laskupulssien lähettäminen liikeaikana - vaste valohaarukoihin ja liikkeen pysäyttäminen - vaste rajakytkimiin, kaikkien toimintojen pysäyttäminen ja ERROR signaalin lähettäminen - ERROR tilassa ohjauspaneelin lukitseminen (lukuun ottamatta RESET painikkeen) 4 Tulokset 4.1 Kokoonpano Projektin tuloksena on tullut toimiva kokonaisuus jotta voidaan käyttää sekä itsenäisenä tuotteena käsiohjauksella, että liitettynä muun järjestelmään automaattiohjauksella. Runko tuli jämäkkä ja tarkasti mahtui suunnitellulle paikolle. Nosturin ohjaussignaali on +24VDC mikä on tänä päivänä standartti monille automaatiojärjestelmille. Implementoin kaikki toiminnot vaatimusten mukaan. Lisäksi tein laajennusmahdollisuus (mahdollistaa käyttää enemmän I/O kortteja kuin oli spesifioitu) ja ohjaskortille vapaille GPIO-pineille 2x5 piikirimäliitin. Nosturi toimi niin kuin oli suunniteltu lukuun ottamatta kahta asiaa. Ajotestien aikana ilmeni että kotiasemassa moottori/t voi jäädä värähtelemän liikkumatta minnekään. Tämä ongelma ei ole tutkittu. Mahdollisesti vika on ohjelmistossa ja sen kotiaseman käsittelyproseduurissa. Nosturin toiminnot ja liitännät ovat enemmän kuvattu käyttöohjeessa (). 4.2 Ajankäyttö Työaika oli epäsäännöllinen. Alussa tunteja oli vähän, piirikorttien suunnittelu oli hidas kunnes tilasin suurin osan komponenteista ja sain tietää niiden fyysiset mitat. Projektin loppuvaiheessa painostin paljon enemmän tällöin tuli piirikorttien valmistus, kokoonpano, testaukset. Ohjelmointi onnistui kolmessa vuorokaudessa. Kuitenkin ajanbudjetti meni yli. Työtuntien jakaantuminen vaiheittain on esitetty taulukossa (Taulukko 1). Taulukko 1 Ajankäyttö Vaihe Luennot + projektisuunnitelma 11 Itseopiskelu 14 Työkalut, menetelmät ja ympäristö 39 Suunnittelu 105 Komponenttien etsintä ja tilaus 27 Elektroniikkaan toteuttaminen 28 Ohjelmointi 54 Piirilevyjen testaus ja korjaus 10 Integrointitestaus 12 Dokumentointi 11 311 Tunteja
5 Yhteenveto 5.1 Johtopäätökset Projektin työmäärä oli lähellä suunniteltua, mutta edelleen aliarvioitu. Suurin haaste oli visioida alussa lopputuloksen koska monessa asioissa olivat entuudestaan ja uudeksi tullut rajoitteet. Katsomatta kaikesta vaikeudesta työ oli laaja ja erittäin mielenkiintoinen. Projekti oli hyvin opettavainen. Se on kattanut tuotteen koko valmistuskaari suunnittelusta valmiin tuotteen luovutukseen asti. Työnteko on tuonut käytännön kokemusta mekaniikasta, elektroniikasta ja ohjelmoinnista. Jatkossa kannattaa enemmän ottaa huomioon tarvittavan työajanmäärän sekä komponenttien hinta/toimitusaika suhde. Myös työnteko parissa on suositeltava toinen silmäpari voi huomaa virheet jo suunnittelu vaiheessa. 5.2 Ideoita ja jatkokehitys Moottorin ohjauksen tarkkuutta on mahdollista toteuttamalla kiihdytys- ja jarrutusramppia. Tällöin moottori pehmeästi nosta kierrokset ja vastaavasti jarruttaa. Mutta sellainen ohjaus vaati käyttöä jonkinlaista säädintä, esimerkiksi PID-säädintä. Tällöin mahdollisuus menettää askelpulssit moottorin riittämättömän väännön ja suuren liikkumassaan takia on paljon pienempi. Ajotestien mukaan mikroaskel moodissa moottorin vääntöä on ollut riittävä joten päätin jättää ohjausrampit tekemättä. Toinen ehdotus on vaihtaa molemmat NEMA42 moottorit. Pito-ominaisuus oli pakko ottaa pois moottoreiden lämpenemisen takia. Käytännössä se tarkoittaa että moottoreiden teho on alimitoitettu (käytettiin moottorit kirjoituskoneista). Tässä kokoonpanossa pito-ominaisuus ei ole pakollinen (ruuvivaiheessa on tiheä kierre) mutta on suositeltava. Haluisin myös toteuttaa yksinkertaisen käyttöjärjestelmän painikkeineen ja LCDnäyttöineen. Tällöin olisi mahdollisuus määrittää ohjauspaneelista ajoparametrit kuten nopeudet, kiihtyvyydet tai ohjelmoida, esimerkiksi, pysäytys paikat ja toimintosekvenssit.
Lähdeluettelo Arduino. (ei pvm). ArduinoMega. Haettu 24. 6 2012 osoitteesta http://arduino.cc/en/main/arduinoboardmega Atmel Corporation. (2012). ATMega640/1280/1281/2560/2561 Complete. Haettu 24. 6 2012 osoitteesta http://www.atmel.com/images/doc2549.pdf RepPar. (ei pvm). Pololu/Stepstick. Haettu 24. 6 2012 osoitteesta http://reprap.me/pololu/stepstick/en Thomsen, B. (ei pvm). Uploading code. Haettu 24. 6 2012 osoitteesta http://bennthomsen.wordpress.com/embedded-design/getting-started/uploadingcode/ Transfer Multisor Electronic. (ei pvm). Verkkokauppa. Haettu 24. 6 2012 osoitteesta http://www.tme.eu
Liiteluettelo Liite 1. Portaalinosturin käyttöohje. 3 sivua.
Liite 1 (1/3) Liite 1. Portaalinosturin käyttöohje Portaalinosturi oli suunniteltu integroitavaksi GWS linjastoon. Nosturin ohjaus tapahtuu joko manuaalisesti ohjauspaneelin avulla tai automaattisesti PLC tai muu laitteen avulla. Ohjaussignaali on 24VDC, paluusignaali ohjataan valoerottimen transistorilla. Nosturi vastaanottaa 7 käskyä: kelkka eteen (ohjauspaneelista poispäin, nuoli vasemmalle) kelkka taakse (ohjauspaneelinpäin, nuoli oikealle) otin ylös (nuoli ylös) otin alas (nuoli alas) otin auki (ulospäin suunnatut nuolit) otin kiinni (sisäänpäin suunnatut nuolit) ajaa kotiasemaan Ohjauspaneelilla lisäksi löytyy vipukytkin. Asento alas on pelkästään automaattinen ajo (ohjausnapit eivät ole käytössä). Asento ylös mahdollistaa sekä automaattisen, että käsiohjauksen. Ohjaussignaalin syöttäminen yksisuuntaisesti on varmistettu diodeilla. Kytkimen ala oleva painonappi on mikrokontrollerin uudelleenkäynnistysnappi. Kuusi ensimmäistä ovat jatkuvat signaalit: toiminto käynnisty kun signaali alkaa ja loppuu kun signaali on poissa ja liikeaskel on suoritettu. Kotiasemaan ajo käynnisty kun annetaan kahta (kelkan ajo eteen ja taakse) signaalia yhtä aika vähintään 100ms ajalla. Kotiasemaan ajoaikana nosturi ei vastaanota käskyä kunnes operaatio on suoritettu loppuun asti. Mikäli kelkka on kotiasemalla (kelkka on edessä, otin on ylhäällä ja auki), punainen ERROR LED vilkku noin 0,5Hz taajuudella ja sama signaali viedään ulos DB25 liittimelle ERROR pinnille. Poistumisen jälkeen kotiasemalta ERROR LED sammu. Syöttövirran havaitsemisen jälkeen laite automaattisesti käynnistää ajo kotiasemalle. Ajoaikana nosturi antaa ohjauslaitteelle (esim. PLC) jokaisesta moottorista signaali. Esimerkiksi, yksi ajoaskel on 200 pulssia. LED on päällä pulssien 0..100 aikana ja 101..199 on pois päältä. Jos ajoaskel on 500 pulssia, niin 0..100 pulssia LED on päällä 101..499 pois päältä. Emolevyn alapuolella on mikro DIP-kytkin. Sen avulla voidaan määrittää ajoaskeleiden pituudet jokaiselle moottorille erikseen. Nykyisessä versiossa per moottori on 4 vaihtoehtoja. Ainostaan kelkan ajolle vaakasuunnassa on määritelty melko tarkasti ajoaskelet 5mm, 10mm, 25mm ja 50mm. Ottimen ajoaskelet ovat määritelty 100, 1000, 2000 ja 4000 pulssia. Uudet parametrin otetaan käyttöön uudelleenkäynnistyksen jälkeen (joko RESET -painikkeella tai syöttövirran pois ja päälle). Nosturissa on asennettu ajoratojen rajatunnistimet kahdessa luokassa. Valokatkaisimet ovat käytössä ensisijaisesti. Mikäli laite vikaantuu ja valokatkaisin on pois käytöstä, tällöin rajakytkimen aktivointi siirtää laite HALT -tilaan. Tässä tilassa nosturi ei noteeraa ohjaussignaalia, moottorit ovat pysäytetty ja vapautettu (pitovirta on poissa), ERROR LED palaa koko ajan ja vastaava ulostulo signaali PLC:lle on jatkuva. Ottimen ajamisen alas tarkkaillan ohjelmallisesti ja tällä hetkellä se on rajoitettu noin 80mm asennustason yläpuolelle. Tulevaisuudessa on mahdollista lisätä rajakytkin ja valokatkaisin (piirilevyillä tätä varten ovat valmiiksi omat paikat ja liittimet).
Liite 1 (2/3) Laitteessa varalla on 4 sisääntuloa (24VDC yhteinen 0V) ja 4 ulostuloa (valoerottimen transistori). DB25 liittimessä on 2 signaaleille paikat. Muiden vapaiden I/O-tulojen käyttöönotto vaati lisäliittimen. Laitteen syöttövirta on 24VDC. Sulake 2A löytyy virtaliittimen laidalla mustassa putkilossa. Virtakaapelin ruskealle johtimelle tulee +24V, siniselle 0V. Sisääntulojen 0V ja syöttövirran 0V ovat yhdistetty. Ulostulot ovat täysin eristetty. DB25 signaaliliitin. Pinnit 1..12 ovat +24V varten, 14..25 0V vastaavasti. Järjestys: 1 ja 14: ulostulo moottori 1 - otin 2 ja 15: ulostulo moottori 2 - pystysuuntainen liike 3 ja 16: ulostulo moottori 3 - vaakasuuntainen liike 4 ja 17: ulostulo ERROR - kotiasema (vilkku) ja vikatilanne (jatkuva) 5 ja 18: ei ole käytössä 6 ja 19: ei ole käytössä 7 ja 20: sisääntulo YLÖS 8 ja 21: sisääntulo ALAS 9 ja 22: sisääntulo TAAKSE 10 ja 23: sisääntulo ETEEN 11 ja 24: sisääntulo KIINNI 12 ja 25: sisääntulo AUKI Kuva 0.1 Sisään- ja ulostulo rajapinta Kuvassa on yksinkertaistettu sisääntulo (vasemmalla) ja ulostulo (oikealla).
Liite 1 (3/3) Ulostulon suurin sallittu virta on 50mA ja suora jännite 35VDC. Sisääntulon suurin sallittu jännite on 50V. Vääränapaisuudesta sisääntulot ovat suojattu diodilla. Ulostuloissa on huomioitava polaarisuus! Laitteen sydämellä toimi Arduino MEGA ATMEL ATMega1280. Sisäisen ohjelmiston päivitys tapahtuu USB-liittimen kautta. Tällöin syöttövirran on otettava pois. Helpoin tapa on laatia Atmel Studio 6:ssa ohjelmointitoiminto komennolla: -C"C:\arduino-0022\hardware\tools\avr\etc\avrdude.conf" -F -v - patmega1280 -cstk500v1 -P\\.\COM6 -b57600 -D - Uflash:w:"$(ProjectDir)Debug\$(ItemFileName).hex":i missä COM6 on sarjaportinnumero jossa on tunnistettu Arduino-korti. Arduino MEGA tue STK500 protokollan. Ohjelmointi tapahtuu räätälöidyn version AVRDUDE avulla. Tällä hetkellä toimiva on vanhempi versio 0022 Arduino ohjelmistopakettista. Ohjelmistopaketti on saatavissa verkosta osoitteesta http://arduino.cc/en/main/software.