• No results found

Robotkod och sekvensprogrammering

4.7 Sammanställd testning av modul med robot

4.7.3 Robotkod och sekvensprogrammering

All robotprogrammering som utfördes i detta projekt fokuserade på att styra en robot i en öppen miljö på ett säkert sätt. Robotkoden optimerades inte för kortast möjliga sträcka, eller för att kunna

genomföras på kortast möjliga tid. All programmering gjordes i testsyfte för att kunna göra noggranna och upprepade tester på svetsmodulen.

För att programmera roboten användes Yaskawa:s medföljande handdator. Yaskawa använder ett programmeringssystem som består av positionspunkter som användaren sätter ut. Punkterna sätts ut i den ordning det är önskvärt att roboten ska röra sig för att utföra tänkt uppgift. Programmet läser sen punkterna i den ordning de är placerade och roboten rör sig mellan dessa med en hastighet användaren bestämt. Rörelsemönstret mellan punkterna som används går att justera beroende på hur man vill att roboten ska röra sig. I detta projekt användes två olika rörelsemönster mellan punkter:

MOVL – där L står för ”linear”, linjär. Med detta rörelsemönster rör sig roboten till inläst punkt genom linjär interpolation. Rörelsen blir linjär i XYZ led och färdvägen mellan punkterna blir enkla att förutse vilket innebär att få punkter kan placeras ut utan att riskera en osäker förflyttning av roboten. Detta rörelsemönster användes när stor noggrannhet krävdes, t.ex. när svanhalsen skulle föras ned i styraren mot iskruvaren eller urskruvaren.

MOVJ – där J står för ”joint”, led. Med detta rörelsemönster rör sig roboten till inläst punkt genom ledinterpolation. Rörelsen blir mjuk och roboten kan gå mellan punkterna i högre hastighet utan att skapa vibrationer hos roboten eller testriggen. Slitaget på roboten blir också mindre jämfört med MOVL. Nackdelen är att rörelsen mellan punkterna blir svårare att kontrollera vilket kan medföra att flera punkter behöver sättas ut vilket ger fler rader kod och ett tyngre program. Detta rörelsemönster

användes när roboten skulle röra sig mellan mindre kritiska punkter där hög hastighet och en mjuk rörelse prioriterades.

Roboten använder fyra stycken koordinatsystem som går att skifta mellan när punkterna ska läggas ut:

BF: Baskoordinater. Traditionellt XYZ koordinatsystem som roboten följer genom att röra flera leder samtidigt för att uppnå en linjär rörelse. X pekar rakt fram, Y till vänster samt X uppåt i förhållande till kontakpanelen på robotens baksida. Användes i detta projekt när linjära rörelser skulle genomföras.

RF: Robotkoordinater. Styr en av de sex leder roboten kan röra individuellt. Användes i detta projekt när punkterna för ändlägen till iskruvning och urskruvning skulle bestämmas, t.ex. när det krävdes stor noggrannhet då svanhalsen skulle stå helt rakt och centrerat över svetsmodulens verktyg.

TF: Verktygskoordinater. Robotens verktyg, i detta fall en svanhals, kalibreras in i robotens TCP, Tool Center Point. Används när roboten ska utföra en uppgift med sitt verktyg som kräver stor precision och ett mer avancerat rörelsemönster än vad som användes i detta projekt. Användes ej i detta projekt pga.

den avancerade kalibreringen som krävdes.

UF: Användarkoordinat. Ett koordinatsystem som definieras av användaren själv. Eftersom roboten kan monteras i en position där den positiva rörelseriktningen inte är överens med BF-systemet kan det för enkelhetens skull vara nödvändigt att använda ett användarkoordinatsystem. Användes ej i detta projekt.

I kombination med positionspunkterna lades det även in kod som kallade på olika utgångar i robotens styrsystem. För att styra den pneumatiska motorn och cylindern kallade programmet på tidsstyrda pulser som matade 24V likström till 5/2 ventilen vilken satte på eller stängde av luften till tillbehören.

Programmet som styrde testsekvensen delades upp i funktionsblock. Ett block för varje separat funktion som var tänkt skulle utföras. Varje funktion programmerades som ett eget program och lades sedan in i ett masterprogram. Det gjorde det lättare att gå in och justera enskilda punkter i efterhand när alla punkter var tydligt kopplade till en viss funktion. En annan fördel var att det då gick att testa enskilda funktioner i en repetitiv sekvens utan att köra alla robotens och svetsmodulens uppgifter på en gång.

Programmeringen lades upp enligt nedan där varje del är ett funktionsblock och ett eget program.

Masterprogrammet kallar på funktionerna och avslutas med en räknare. Denna räknare ställdes under cykeltesterna in på samma antal kontaktrör som laddades i laddröret för att inte riskera att roboten och svetsmodulen gick tomt.

- Svanhalsen stannar nära styrplattan

- Svanhalsen förs sakta upp genom styrplattan - Svanhalsen förspänner urskruvaren

- Puls som aktiverar luftmotorn i X sekunder

- Svanhalsen förs sakta bort från urskruvaren och styrplattan - Går mot hemposition

Iskruvning

- Hemposition

- Svanhalsen stannar ovanför styraren - Svanhalsen förs sakta ner genom styraren - Svanhalsen förspänner iskruvaren

- Gammalt kontaktrör faller ur urskruvaren - Puls aktiverar luftmotor i X sekunder

- Kopplingen slirar, rätt åtdragningsmoment uppnås

- Svanhalsen förs långsamt bort från iskruvaren och styrplattan - Svanhalsen går mot hempunkten

Master

För att testa den kompletta svetsmodulens pålitlighet och för att rätta till eventuella felaktigheter genomfördes ett antal cykeltester där roboten och svetsmodulen fick genomföra upprepade kontaktrörsbyten. Ett speciellt laddrör tillverkades för testerna som erbjöd förvaring av 30 stycken kontaktrör, jämfört med de sex stycken kontaktrör som tidigare fått plats i laddröret. Räknaren som beskrevs i kap. 4.7.4 ställdes in på 30 så att robot och svetsmodul automatiskt skulle stängas av vid testets slut.

Under tidigare tester har roboten varit inställd i ett läge som kallas ”teach”. Det innebär att roboten max kan röra sig i 250 mm/s oavsett vad som ställts in i koden. Det ger användaren en mer säker arbetsmiljö när positionspunkterna ska bestämmas och rörelsemönstret än inte riktigt är fastställt.

Inför cykeltesterna var koden tillräckligt stabil och testad för att höghastighetsläget skulle kunna användas. Detta kallar Yaskawa för ”play”. Det ska dock igen påpekas att eftersom detta projekt inte handlade om att kunna köra en robot så effektivt som möjligt så hölls hastigheten fortfarande på en moderat nivå för att inte riskera att en olycka skulle ske eller att roboten utsätts för onödigt slitage.

Testet gick till så att 30 stycken kontaktrör laddades i laddröret. Räknaren nollades och en behållare för de kontaktrör som skruvats ur placerades under svetsmodulen, så uppsamling av dessa kunde ske på ett smidigt sätt. Under alla tester användes nya och oanvända kontaktrör för att minska eventuella felkällor. Totalt genomfördes fyra stycken cykeltester vilket innebär att 120 stycken kontaktrör laddades, skruvades ur och skruvades i svanhalsen med hjälp av svetsmodulen.

5 Resultat

5.1 Svetsmodul

Nedan (Figur 47) syns den färdiga konstruktionen av svetsmodulen i en CAD-sammanställning som är exploderad. Figur 48 visar samma konstruktion med men med alla delar monterade på plats.

Figur 47. Exploderad vy över svetsmodulen

Figur 48. CAD-konstruktion av svetsmodul

Figur 49 visar den färdigtillverkade och ihopmonterade svetsmodulen.

Figur 49. Färdig svetsmodul

Figur 50 visar svetsmodulens alla ingående och tillverkade komponenter. Luftmotorn och

luftcylindern styrs via 24V ventiler som är kopplade till robotens PLC. Denna kan utan problem styras via ett överordnat PLC-system. Lufttryck på ca 6 bar ansluts externt.

Figur 50. Demonterad svetsmodul

5.2 Testresultat

Diagram 1 nedan visar resultatet av totalt 120 stycken fulla sekvenser med kontaktrörsbyte.

Diagrammet visar att laddaren fungerade 100% av gångerna. Urskruvningen fungerade också 100% av gångerna. Kvarhållningen av urskruvat kontaktrör fungerade 75% av gångerna. I-skruvningen

fungerade felfritt 100% av gångerna.

Diagram 1. Resultat över cykeltester

Den slutgiltiga cykeltiden för ett kontaktrörsbyte från start till stop tog 22.4 s.

6 Slutsats och rekommendationer

Det här projektet hade fyra mål. Det första var att tillverka en svetsmodulprototyp. Det målet

uppfylldes efter drygt halva projektperioden. Då var alla ingående delar tillverkade och monterade till en sammansatt enhet. Även fast det fanns ett färdigt grundkoncept och en påbörjad

CAD-sammanställning av svetsmodulen, krävdes en hel del arbete för att kontrollera och justera alla ingående komponenter. Konstruktionsarbetet fokuserade genomgående på att minska antalet

komponenter, samt att styra över mot standardkomponenter i möjligaste mån. Detta för att underlätta och minska tiden för tillverkning. I och med att en stor del av konstruktionsarbetet redan var påbörjat av företagets chefskonstruktör och tillika handledare, sattes stor vikt vid att utveckla, förbättra och noga testa huvudkonceptet, snarare än att undersöka olika alternativa koncept. I och med detta har värdefulla lärdomar dragits som kan användas vid utvärdering av helt andra lösningsidéer som framkommit under resans gång. Praktiska erfarenheter så som hur noggrant robot kan styras i förhållande till ur- och iskruvaren, vilka metoder som fungerar för att greppa och låsa ett kontaktrör i kopparmaterial, tiden det tar att utföra en testcykel. Sådant är svårt att enbart behandla teoretiskt när flera olika system samverkar som i detta fall.

Själva tillverkningen av svetsmodulen på utsatt tid möjliggjordes av att företaget hade tillgång till en verkstad. Några enstaka enklare delar skickades iväg till underleverantörer medan de mer

komplicerade delarna som krävde mer testning gjordes på företaget. Företaget lagerhöll även många standardkomponenter såsom fästelement, låsbrickor, fjädrar etc. Det tillsammans med ett stort materiallagar av aluminium-, stål- och plast-ämnen gjorde att det gick snabbt att testa ett koncept eller en teknisk lösning. All detta samverkade för att svetsmodulen hann tillverkas på utsatt tid.

Det andra målet berör testning av svetsmodulen. Eftersom tillverkningen av svetsmodulen blev klar efter drygt halva projektettiden fanns tillräckligt med tid för testning. Industriroboten som företaget förfogade över var mycket användarvänlig och det gick fort att sätta sig in i programmeringsspråket.

Testningen var mycket framgångsrik i att den genererade otvetydiga resultat av huruvida svetsmodulens ingående komponenter fungerade som tänkt. Till följd av resultat från testerna omkonstruerades både iskruvnings- och urskruvningsdelen. Den del som mer eller mindre fungerade felfritt under testerna och inte omkonstruerades var laddningsmekanismen. Det är också den del som är helt nyframtagen i detta projekt. Det är en så pass okomplicerad och robust konstruktion att den säkerligen är överförbar för användning i andra applikationer som kräver laddning på liknande sätt.

Det tredje målet gällde tiden för ett kontaktrörsbyte som inte fick ta mer än 30 sekunder. Efter

optimering av robotens rörelsemönsteruppfylldes även detta mål med 8 sekunders marginal. Det visar att ett automatiskt kontaktrörsbyte inte bara är tekniskt genomförbart utan även ekonomiskt

försvarbart.

Räknar man konservativt tar ett manuellt kontaktrörsbyte från start till stopp 2 minuter. Med

svetsmodulens 22 sekunder blir det en tidsbesparing på 98 sekunder. Man kan också utrycka det som att svetsmodulen utför kontaktrörsbytet på knappt 1/5 av den nuvarande tiden. I den

produktionsanläggning som beskrivs i kap. 2 byts 1200 st. kontaktrör per dygn. Det innebär teoretiskt att drygt 32 produktionstimmar frigörs varje dag om alla kontaktrörsbyten sker automatiskt med svetsmodulen.

Det sista målet gäller 2D-ritningar. Dessa skapades i samband med CAD-konstruktionen och användes för tillverkningen av svetsmodulens alla delar. Ritningarna överlämnades till företaget i samband med projektets avslut.

En aspekt som dök upp under projektets gång var huruvida svetsmodulen löser rätt problem. Ett helt annat tillvägagångssätt skulle ha varit att fokusera på själva kontaktröret. Kanske kunde det enbart pressas fast, eller på annat sätt fästas på ett sätt som gör det lättare att ta loss än med gängor. Detta skulle självklart betyda att man behöver en motsvarande infästning i själva svetsmunstycket.

Ytterligare en annan lösnings skulle kunna vara någon slags adapter som fästs i svetsmunstycket och tillåter ett annat i- och urskruvningsförfarande. För denna rapports omfattning var det inte aktuellt att byta grundkoncept enligt skäl som presenterats i kap. 4. Det är dock nyttigt att ständigt ifrågasätta problemställningen så att man hela tiden fokuserar sin lösning på rätt problem.

Nedan följder en sammanställning av rekommendationer rörande konstruktion, tillverkning och testning för respektive ingående komponenter.

6.1 Laddning kontaktrör

Laddningen av kontaktrören fungerade mer eller mindre felfritt under alla tester. Luftcylindern som används kan minskas, men slaglängden behållas, då den befintliga cylindern är flera gånger kraftfullare än vad som behövs. Man kan också undersöka om det räcker med en fjäderretur på luftcylindern för att endast behöva använda en 3/2-ventil.

Laddröret kan också utvecklas beroende på hur man vill att flödet av kontaktrör ska se ut. Tänker man sig magasin som byts ut behöver någon slags stoppsprint läggas till för att hindra att kontaktrören faller igenom vid laddning. Här skulle man också kunna tänka sig ett arrangemang med flera rör likt en revolver som roterar mellan varje laddcykel. På så sätt skulle man kunna få plats med flera magasin på en liten yta. De laddade rörmagasinen skulle kunna komma färdiga från kontaktrörstillverkaren redo att användas i svetsmodulen. Om den övre änden på laddröret försluts och det nedre är spärrat med en sprint skulle laddning kunna ske genom en profilutskuren slits i sidan på röret. Det skulle hindra kontaktrören från att vändas åt fel håll.

Ett annat alternativ är att man flyttar ut laddning av nya kontaktrör utanför robotcellen. Det skulle kunna ske genom att en slang ansluts till ett kort laddrör. Kontaktrören skulle kunna matas genom slangen med hjälp av till exempel tryckluft. Påfyllning av nya kontaktrör skulle kunna ske genom en sorteringsmaskin i vilken nya kontaktrör hälls i, riktas rätt och matas in i slangen. På sätt får man ett kontinuerligt flöde av kontaktrör utan att värdefull tid behöver gå åt till att besvära en operatör med att hantera laddning av nya kontaktrör.

6.2 Urskruvning kontaktrör

Testerna med att svetsa ihop urskruvningshylsans båda delar visade att funktionen behölls oförändrad.

I och med detta behöver alltså inte urskruvningshylsan göras delbar, vilket därmed också gör den koniska hållaren överflödig. Hela urskruvningsdelen kan med detta göras betydligt smalare och kortare, med färre delar och enklare maskinoperationer.

För att minska risken för att kontaktröret släpper från urskruvningshylsan bör tester göras med grövre motgängor. Urskruvningshylsan bör också härdas för att minska slitage när den används skarpt i produktion. För att minska smutsansamling och kopparspån skulle man också kunna undersöka möjligheten att rikta en luftstråle mot urskruvningshylsan.

6.3 Iskruvning kontaktrör

Iskruvningen av kontaktröret fungerade vid cykeltesterna utan att några fel påträffades. Eftersom endast nya kontaktrör används vid iskruvningen är felkällorna relativt små och testerna som utfördes bedöms som tillräckligt säkra för att kunna skicka konstruktionen vidare för testning i riktigt

svetsmiljö.

Eftersom iskruvningen förenklats med en kona och endast ett slitsat spår i hållaren bör hela

åtdragningsenheten gå att göra både smalare och kortare samtidigt som funktionaliteten behålls. Då ingen fräsoperation längre krävs för åtdragningshylsan kan denna del göras i ett stycke tillsammans med dess hållare för att spara tid vid tillverkning. När endast ett slitsat spår används innebär det också att bara ett gängat hål behöver göras i hållaren. I dagsläget sitter utstötarens pinne fast med samma skruv som hindrar hållaren från att rotera inuti ytterdelen. Även fast inga problem har uppstått med

denna lösning skulle en mer robust och servicevänlig lösning vara att svetsa fast utstötspinnen direkt i hållaren.

Konan som används som åtdragningshylsa fungerar som tänkt utan några tecken på onödigt slitage eller osäker användning. Däremot kräver denna typ av lösning att kontaktrören är koniska. Hos en produktion där inte koniska kontaktrör används vid svetsning skulle det möjligen vara en idé att fortsätta testa lösningar med en gängad åtdragningshylsa som fungerar på andra former av kontaktrör.

6.4 Styrning gashylsa

Styrningen för gashylsan som är placerad vid ingången till i- och urskruvaren fungerade vid

cykeltesterna som tänkt. Men eftersom svanhalsen vid testerna inte genomförde några svetsoperatoner fick styraren aldrig jobba mot de förhållanden som uppstår i en riktig svetsmiljö. Testerna kan snarare ses som ett ”proof of concept” där vi visar att det är fullt möjligt att ha en olagrad styrplatta istället för den första idén från IFTL som bestod av en kullagrad styrare. I dagsläget användes PET plast men för att den undre styraren ska fungera mot en varm gashylsa krävs en mer värmetålig plast om denna typ av styrare ska användas i en riktig svetsmiljö.

En idé som spånats fram är att använda en standardbussning likt de som lagrar i- och urskruvarens axel som styrare. Det är en billig standardkomponent och det skulle ta bort behovet av att använda två plattformar på övre plan på svetsmodulen. Bussningarna finns som närmaste önskvärda mått i 25 mm, alltså 1 mm större än vad som använts vid testerna. Det anses inte vara några problem för funktionen men bör såklart testas i liknande cykeltester för att upptäcka eventuella problem. Fördelarna med en sådan lösning blir färre och billigare delar och där en anpassning mellan olika gashylsor endast kräver olika storlekar på bussningarna.

Ett problem som kan uppstå med olagrad styrning är att den bygger på att gashylsan som används är konisk. Det är ett krav så att svanhalsen mjukt styrs in i- och urskruvaren. Skulle raka gashylsor användas kan en lösning där kullager används vara mer lämpad.

6.5 Monteringsbas och skyddshölje

Monteringsbasen och dess hyllplan har anpassats efter längderna på motorn och i- och urskruvaren.

Eftersom stora förenklingar har skett på dessa delar i svetsmodulen skulle även monteringsbasen kunna förenklas. T.ex. skulle distanspinnarna som separerar hyllplanen gå att anpassa till samma längd på alla hyllplan för att minska antalet artikelnummer. Distanspinnar med sexkantsform finns i

standardlängder och längderna bör förslagsvis vara anpassade så att sådana går att använda. De ger ett bättre mothåll vid montering än nuvarande runda distanspinnar.

Hyllplanens tjocklek är idag bestämda av bussningarnas höjd som används som lagring till i- och urskruvningsaxeln. En rekommendation skulle vara att använda samma tjocklek på alla hyllplan. Det skulle kräva att axlarna till i- och urskruvaren anpassas efter bussningsstorlekarna som finns att tillgå men då de ändå ska förenklas och omkonstrueras är inte det ett problem. Det skulle även gå att använda kullager som lagring om bussningar av rätt storlek inte går att tillgå.

Höljet är tänkt att användas för att skydda känsliga delar i svetsmodulen men har idag inte tillverkats eller testats. Något som direkt går att säga om nuvarande idé är att en tätning mellan skyddshölje och hyllplanen som innesluter kugghjul och koppling skulle vara att föredra. En tätning där skulle effektivt hindra att damm och smuts samlas vid kugghjul och koppling som eventuellt kan påskynda förslitning av nämnda komponenter.

6.6 Testresultat

Cykeltesterna som genomförts under projektet har fokuserat på att testa svetsmodulens robusthet och tillförlitlighet. Testerna gav bra resultat och en viss tillförsikt över att svetsmodulen funkar som tänkt infann sig. Tiden för ett kontaktrörsbyte minskades avsevärt men eftersom testerna inte handlat om att

programmera en så snabb robotkod som möjligt finns det stora tidsvinster att hämta om en duktig robotoperatör skulle utföra uppgiften.

För framtida tester rekommenderar vi att dessa genomförs med en fullstor robot som är tänkt användas i svetsindustrin. Där kan en högre hastighet kan användas och tiden för ett kontaktrörsbyte bör gå att effektiviseras. Det bör också testas att använda gamla och slitna kontaktrör vid

urskruvningen. Gamla kontaktrör kan vara kontaminerade med svetsloppor som kan slita mer på urskruvarens motgängor. Det kan innebära att en härdbehandling och/eller grövre motgängor kan behöva appliceras på lösningen.

Vid tester där kontaktröret inte stannade kvar i urskruvaren fanns ingen planerad uppsamlare

uppställd för dessa. Det är något som bör tas fram när svetsmodulen ska användas i en riktig svetscell.

Antingen ändras robotkoden och rörelsen på ett sätt så uppsamlingen av kontaktrör sker på samma ställe där standardsläppet sker. Eller så läggs det till en sekundär uppsamling för kontaktrör som inte fastnar i urskruvaren. Eftersom de gamla kontaktrören återvinns efter användning är det i vilket fall

Antingen ändras robotkoden och rörelsen på ett sätt så uppsamlingen av kontaktrör sker på samma ställe där standardsläppet sker. Eller så läggs det till en sekundär uppsamling för kontaktrör som inte fastnar i urskruvaren. Eftersom de gamla kontaktrören återvinns efter användning är det i vilket fall

Related documents