CNC G-code 2024 PDF
Document Details
Uploaded by Deleted User
Tags
Summary
This document provides an overview of Computer Numerical Control (CNC) and CNC programming. It details the fundamental concepts of CNC machines, including their types (e.g., lathes, milling machines, 3D printers), basic operation, and programming languages like G-code. The document also touches upon the various aspects in industrial settings.
Full Transcript
BASIS CNC EN CNC PROGRAMMEREN INHOUD 1. Wat en waarom 2. Basis van numeriek gestuurde machines 3. Nomenclatuur 4. Constructieve opbouw van een numeriek gestuurde machine 5. Programmeermethoden 6. Ontwerpen voor …...
BASIS CNC EN CNC PROGRAMMEREN INHOUD 1. Wat en waarom 2. Basis van numeriek gestuurde machines 3. Nomenclatuur 4. Constructieve opbouw van een numeriek gestuurde machine 5. Programmeermethoden 6. Ontwerpen voor … 7. Programmeermethodes 8. Handmatig programmeren m.b.v. G-code 9. G-code en 3D printing 1. WAT EN WAAROM? 3 WAT? 4 https://youtu.be/54D1IGBMw_E?si=DAq1RAT6fHRHHBXr WAT? CNC = Computer Numerical Control Computer gebruikt om de bewegingen te controleren, te automatiseren en te monitoren. Veel vormen: Freesmachines Draaibanken Lasmachines Slijpmachines laser cutters waterjet cutters Plaatbewerkingsmachines 3D printers Meestal hebben ze geïntegreerde specifieke controllers maar de controller kan ook een externe computer zijn. Desktop machines: meer compact, trager, kleiner, minder nauwkeurig maar ook vooral goedkoper Vaak heel goed voor het verwerken van zachtere materialen zoals veel kunststoffen. 5 WAAROM? Tegenover manuele bediening: Hogere nauwkeurigheid en reproduceerbaarheid De precisie die CNC biedt is ongeëvenaard. Hoge nauwkeurigheid zorgt voor identieke series van producten. Hogere snelheid: Hogere productiviteit, lagere kosten en geoptimaliseerde productielijnen. Heel Veelzijdig: Het is een belangrijk voordeel dat CNC- machines heel veel verschillende vormen en bewerkingen en meerdere tools aankunnen. Sommige machinetypes beschikken over een gereedschapsmagazijn om nog sneller tussen de gereedschappen te kunnen wisselen. 6 BUIGMACHINES (AUTOMATEN) 2. BASIS VAN NUMERIEKE MACHINES 8 BESTURING – INTERFACE - MACHINE CNC controller stuurt: Verschillende motoren en sturingscomponenten om de assen van de machine te sturen en de voorgeprogrammeerde bewegingen uit te voeren. Hulpfuncties Starten en stoppen van de spindel (waar de tool of het te bewerken stuk in vast zit) Gereedschapswissels Spuiten van koelvloeistoffen … De machine gaat ook continue monitoren om de bewegingen en snelheden van de tools bij te sturen in de tijd. Instructies via G-code: beweging (pad) en draaisnelheid van de tool of het werkstuk, welke tool je gebruikt, wanneer je koelvloeistof spuit, een bed verwarmt (vb 3D printing, …) 9 BESTURING – INTERFACE - MACHINE Actuatoren Opbouw en vrijheidsgraden Sensoren Sturingsassen Perifere sturing (wisselaars, koeling) 10 BESTURING Besturing = informatieverwerkende deel (sturing/ computer) ̶ Motion ̶ Numerieke ingangsinformatie wordt omgevormd tot stuursignalen voor de servosystemen ̶ Auxiliary ̶ Signalen voor het aansturen van hulpfuncties – starten en stoppen van hoofdspil – automatische gereedschapswisseling. – Openen en sluiten koelvloeistoffen – Controle gereedschappen ̶ Input ̶ bediening en programmering ̶ Control ̶ Interne coördinator van de besturing 11 INTERFACE Interface tussen informatieverwerkend gedeelte en hardware sensoren en actuatoren ̶ Tegenwoordig vaak aangestuurd door een elektronicabordje (Arduino,...) ̶ Omzetting van elektronische (zwakstroom)signalen in sterkstroomsignalen, of anders geformuleerd : de omzetting van informatiestromen naar energiestromen ̶ Logica: aanpassing tussen de standaard besturingseenheid en een specifieke machineconfiguratie 12 OPBOUW VAN DE NUMERIEKE MACHINE Hardware, sensoren en actuatoren ̶ Machineframe ̶ Sleden ̶ Servomotoren ̶ Positiemeetsystemen ̶ Spilkast ̶ Hoofdspilaandrijving ̶ Gereedschapswisselaar en –magazijn 13 BESTURING – INTERFACE - MACHINE Actuatoren Opbouw en vrijheidsgraden Sensoren Sturingsassen Perifere sturing (wisselaars, koeling) 14 STURING VAN ÉÉN AS Positiemeetsysteem = Regelsysteem! af en toe moet je zo'n machine eens calibreren, goed zetten 15 (er zit wel al een regelsysteem in om te controlen waar dat die zit) TRADITIONEEL De transmissiestructuur van traditionele bewerkingsmachines is complex. 16 DIRECTE AANDRIJVING VAN SERVOMOTOREN De transmissiestructuur met direct aandrijving van servomotoren 17 3. NOMENCLATUUR 18 ISO 841: NOMENCLATUUR VAN DE STURINGSASSEN ̶ Assen: rechtshandig ̶ Z: Hoofdas (hoofdspindel, Indien er verschillende spillen zijn, moet er één worden gekozen als hoofdspil, bij voorkeur loodrecht op het werkoppervlak.) ̶ X: Tweede as (voeding, Waar mogelijk moet de X-as horizontaal zijn) ̶ Y: Derde as ̶ Rotatieassen ̶ A: X A-as: Rotatie rond de X-as ̶ B: Y B-as: Rotatie rond de Y-as ̶ C: Z C-as: Rotatie rond de Z-as ̶ Secundaire assen ̶ U ̶ V ̶ W 19 ISO 841: NOMENCLATUUR VAN DE STURINGSASSEN 20 CARROUSSEL DRAAIBANK ̶ Naast de bekende horizontale draaibanken zijn er ook carrouseldraaibanken genoemd. ̶ De opstelling van de machine is verticaal. ̶ De opspantafel/spindel bevindt zich op/in de grond ̶ de Z-as beweging van de beitel is verticaal. ̶ Hiermee kunnen producten met een grote diameter eenvoudiger worden bewerkt. VERTIKALE FREESMACHINE VERTIKALE FREESMACHINE BEWERKINGSCENTRUM ̶ Bewerkingscentrum ̶ X-Y vlak ̶ Z-X vlak ̶ Y-Z vlak ̶ X,Y,Z-as ̶ 3D sturing ̶ Bewerkingscentrum met rotatieassen ̶ Bewerkingscentrum ̶ + rotatieassen ̶ + bijkomende lineaire assen MEERDERE ASSEN BIJ CNC MACHINES (891) CNC machines - The Types of CNC Machines Explained (3 and 5 axis) - YouTube 25 3 ASSIGE MACHINE 3-assige bewerkingscentra bewegen een ̶ Principe werkstuk in twee richtingen (X en Y), en het gereedschap beweegt op en neer (Z). 3-assige freesbank. Deze heeft drie lineaire bewegingen. De X, de Y en de Z. De frees beweegt zich over deze assen en het product wordt alleen van bovenaf bewerkt. De frees beweegt zich verticaal, loodrecht op het werkstuk. Frezen met een 3- assige freesbank wordt toegepast op producten die van bovenaf moeten worden bewerkt. 26 4-assige freesbank: extra roterende as. Deze extra as kan worden 5 ASSIGE MACHINE gebruikt om het werkstuk te verdraaien. ̶ Principe 5-assige freesbank. 5e as, de B-as. Deze 5de as draait de spindle kop naar links en rechts. 6-assige freesbank. Als men nog een as toevoegt heeft men een 6- assige freesbank. Deze C-as kantelt de spindle kop van voor naar achter. Hoe meer assen hoe beter men het stuk kan bewerken zonder27het werkstuk uit de machine te moeten halen. 5 ASSIG ̶ Principe 5-assige CNC bewerkingscentra kunnen roteren op twee extra roterende assen (A en B) waardoor het snijgereedschap het werkstuk vanuit alle richtingen benadert. 28 KOSTPRIJS ALS FUNCTIE VAN SERIEGROOTTE (DRAAIMACHINES) voor veel bedrijven zijn minder dan drie assen voldoende, dus zijn meerdere assen niet nodig (daarom 60% low grade machine tools) Gebruik in de industrie minder dan drie assen :laagwaardige werktuigmachine drie tot vijf assen: middelmatige tot hoogwaardige werktuigmachines meer dan vijf assen: hoogwaardige werktuigmachines. 30 te bewerken stuk wordt in verschillende richitngen geroteerd 5 ASSIGE MACHINE 31 OEFENING ̶ Wat is de nomenclatuur van een standaard FDM 3D printer ? nomenclatuur= assenstelsel dat erin zit OEFENING ̶ Wat is de nomenclatuur van een standaard FDM 3D printer ? WAT BIJ ROBOTS? 34 verschillende assen bij robots = seriele robot hier (alle assen achter elkaar = serie) WAT BIJ ROBOTS? Wernholt, Erik. (1131). On multivariable and nonlinear 35 identification of industrial robots. scara robots (zie theorie robots) NOMENCLATUUR REFERENTIEPUNTEN R- machinereferentiepunt IJkpunt voor de machine. Dit dient om het nulpunt te zoeken bij een incrementeel meetsysteem M- machinenulpunt Nulpunt van machine- coördinatenstelsel W- werkstuknulpunt Werkstuknulpunt Dit is de oorsprong van waaruit het programma is geschreven G -Gereedschapsopnamepunt Gereedschapsopnamepunt is een vast punt van de gereedschapshouder P - programmanulpunt Tussenpunt in de programmatie Veelal gebruikt als een zelfde cyclus op verschillende punten wordt herhaald 36 STURING EN INTERPOLATIE ̶ Soorten sturing ̶ Punt tot Punt ̶ Lijnbesturing 37 STURING EN INTERPOLATIE Contourbesturing ̶ Interpolatie ̶ Lineair ̶ Circulair ̶ Parabool ̶ Spline 38 AANSTURING VAN MEERDERE ASSEN TEGELIJK SYNCHRONISATIE EN INTERPOLATIE 39 AANSTURING VAN MEERDERE ASSEN TEGELIJK Interpolation Method Description Linear Interpolation The cutting tool moves in a straight line between two points. Circular Interpolation The cutting tool follows a circular path between two points. Arc Interpolation The cutting tool moves along an arc path defined by three points. Spline Interpolation A smooth curve is generated between a series of points. Bij interpolatie: tussenpunten tussen bekende punten van de baan worden toegevoegd. Het gereedschap stuurt men door deze punten op basis van een opgegeven snelheid en pad De tussenliggende punten worden verbonden door lijnsegmenten, bogen of splines kleine segmenten en bogen worden gebruikt om de gewenste krommen en oppervlakken te benaderen Gangbare interpolatiealgoritmen voor complexere banen zijn bijvoorbeeld NURBS-spline- interpolatie SYNCHRONISATIE EN INTERPOLATIE 40 STURING EN INTERPOLATIE ̶ Puntbesturing: geen interpolatie, dus ook niet noodzakelijk een rechte lijn, het gereedschap beschrijft een willekeurige baan. ̶ Enkel geschikt voor positioneerbewegingen (vb: boor, ponsmachines) ̶ Lijnbesturing: geen interpolatie, uitsluitend evenwijdig aan één van de assen maar wel met werkende gereedschappen. (vb: eenvoudige draaibewerkingen en freesbewerkingen) ̶ Contourbesturing: willekeurige bewegingen met bestuurde, werkende gereedschappen. : complexe bewerkingen 41 INTERPOLATIE EN FOUTENMARGE IN PROGRAMMERING ̶ Interpolatie op ̶ Positie: ̶ Positie en snelheid: ̶ Positie, snelheid, versnelling: ̶ Overshoot, undershoot regelkring van één as 42 pad moet zo goed mogelijk gevolgd worden, overshoot=wanneer hij buiten de weg te veel wegfreesd undershoot is wanneer hij te weinig wegfreest OVERSHOOT EN DEMPING 43 4. CONSTRUCTIEVE OPBOUW VAN EEN NUMERIEK GESTUURDE MACHINE 44 INVLOED OP NAUWKEURIGHEID VAN DE SERVOSTURING: SPELING, VERING EN WRIJVING 45 opp ruwheid kan beweging van stuk beïnvloeden (zie filmpje) stick slip tegengaan = continu opp ruwheid creëren anders beweeegt het stuk in schokjes GELEIDINGEN VOOR OPVANGEN VAN WRIJVING EN VERING ̶ Bij toenemende kracht komt een slede schoksgewijs op gang: stick-slip. ̶ Stick slip kan besturing verstoren https://youtu.be/Cyo5XVqpj4U GELEIDINGEN VOOR OPVANGEN VAN WRIJVING EN VERING ̶ Bij toenemende kracht komt een slede schoksgewijs op gang: stick-slip. ̶ Stick slip kan besturing verstoren GELEIDINGEN VOOR OPVANGEN VAN WRIJVING EN VERING ̶ Opvangen van grote krachten ̶ Ontbreken van stick slip GELEIDINGEN VOOR OPVANGEN VAN WRIJVING EN VERING Bron: linearmotiontips.com OPVANGEN VAN DE SPELING OPVANGEN VAN DE SPELING Dit ontwerp staat het lager toe om het even welke afstand te reizen, ongeacht de lengte van het lager. Met andere woorden, waar niet recirculerende lagers een beperkte reis hebben, hebben recirculerende lagers in theorie een onbeperkte reis, slechts beperkt door de lengte van de rail- of asgeleiding. Bron: Schaeffler Group Inc GELEIDINGEN VOOR OPVANGEN VAN WRIJVING EN VERING ̶ Vb kunsstof lagers direct meten: dan meet je meteen op de plaats dat je wil weten (exact de slede) RESOLVER POSITIEMEETSYSTEMEN ̶ Meetplaats :direct of indirect ̶ Meetmethode : analoog of digitaal ̶ Referentie : absoluut of incrementeel OPTISCH MEETSYSTEEM ABSOLUUT OF INCREMENTEEL INDUCTOSYN 53 POSITIEMEETSYSTEMEN ̶ Meetplaats : ̶ Direct meten : meest nauwkeurig, vb. positie van de slede. ‒ Duur en kwetsbaar ̶ Indirect meten: vb. stand van de schroefspil en van hieruit een positie van de slede afleiden: minder nauwkeurig, maar wel goedkoper en minder kwetsbaar ̶ Meetmethode : analoog of digitaal ̶ Referentie: ̶ Absoluut: ten opzichte van vast nulpunt van de machine ̶ Incrementeel: telpulsen waaruit positie berekend is: steeds digitaal 54 resolver = analoge manier om te meten POSITIEMEETSYSTEMEN ̶ Resolver: analoog en absoluut ̶ Stator wikkelingen tegenover elkaar verdraaid ̶ Hoekstand door rotatie leischroef (maat voor de verplaatsing ̶ Veranderende wisselspanningen fungeren als meetsignaal RESOLVER 55 POSITIEMEETSYSTEMEN INDUCTOSYN ̶ Inductosyn: analoog en absoluut ̶ Lineaire versie van resolver ̶ Liniaal kan je vgl. met rotorwikkeling. ̶ Loper: stator wikkeling ̶ Uit de verschuiving kan positie bepaald worden. 56 POSITIEMEETSYSTEMEN ̶ Optisch, digitaal, incrementeel systeem. ̶ Liniaal met tegenraster ‒ Variabele hoeveelheid licht ‒ Gemeten door fotocel ‒ Analoge signaal van de fotocellen zet men om in digitale pulsen. (kan zowel lineair als roterend uitgevoerd worden. OPTISCH MEETSYSTEEM 57 https://youtu.be/nnk0DV5kgMk POSITIEMEETSYSTEMEN 58 LINEAIRE FOUT OP ÉÉN AS ̶ Fout op de spindel / leischroef ̶ Fout op de meting / aflezing Fout op de leischroef Fout op de meting en/of aflezing 59 VORMFOUT OP DE GELEIDING OF SPINDEL 60 FOUTEN BIJ ASSEN ONDERLING ̶ onderlinge uitlijning van de assen (haaksheid, evenwijdigheid) 61 6. ONTWERPEN VOOR … 62 ONTWERPEN VOOR CNC MACHINING https://www.youtube.com/watch?v=6FOfXN9eWgg&t=3s ONTWERPEN VOOR CNC MACHINING Bron: ONTWERPEN VOOR CNC MACHINING Bron: ONTWERPEN VOOR CNC MACHINING Bron: ONTWERPEN VOOR CNC MACHINING Bron: ONTWERPEN VOOR CNC MACHINING Bron: ONTWERPEN VOOR CNC MACHINING Bron: ONTWERPEN VOOR CNC MACHINING Bron: ONTWERPEN VOOR CNC MACHINING Bron: ONTWERPEN VOOR CNC MACHINING Bron: ONTWERPEN VOOR CNC MACHINING Bron: ONTWERPEN VOOR CNC MACHINING Bron: ONTWERPEN VOOR CNC MACHINING Bron: ONTWERPEN VOOR CNC MACHINING Bron: ONTWERPEN VOOR CNC MACHINING Bron: https://youtu.be/gMaYpWUQI9U OPPERVLAKTE AFWERKING Bron: OPPERVLAKTE AFWERKING Machined Bron: OPPERVLAKTE AFWERKING Machined , anodiseren, chromateren, vernikkelen, poederlakken, … OPPERVLAKTE AFWERKING Machined OPPERVLAKTE AFWERKING Smooth Machined OPPERVLAKTE AFWERKING Parel stralen poederlak = beetje materiaal bij anodiseer = beetje materiaal weg OPPERVLAKTE AFWERKING Borstelen INTEGRATIE MET AM TECHNIEKEN De mogelijkheden kunnen enorm toenemen naar een flexibel ecosysteem. - Optimalisatie naar geometrie, gewicht en materiaalgebruik. - AM zorgt voor een te bewerken stuk dat niet veel groter is dan het eindproduct. - Materiaal besparend - Complexere geometrie - Maar dankzij cnc nabewerkingen: hogere nauwkeurigheid Characteristic CNC Machining Additive Manufacturing Integrated Efficient use, layer by layer Combined efficiency, less waste than Material Utilization Higher waste due to subtractive nature construction CNC alone Allows for highly complex Complexity of additive with precision Design Complexity Limited by tooling and access structures finishing of CNC May require post-processing for Smooth finish with additive’s complex Surface Finish Superior surface quality smoothness geometry Slower, dependent on part Optimized time-to-part by leveraging Manufacturing Speed Fast for simple geometries complexity strengths of both Ideal for one-offs and custom Facilitates customization with mass Customization Favors mass production parts production efficiency 85 'stel volgende evolutie is AI in machines' INTEGRATIE MET AI ai zal zorgen voor evolutie op vlak van cnc machines over en undershoot zal minimer worden, nauwkeuriger, - Zichzelf corrigerende machines op ingrijpen op materiaaleigenschappen basis van data - Analyse van operationele data - Self-optimizing mechanisms - Voorspellend gaan werken - Stijging van productiviteit en minder afval - Real time beslissingen nemen op basis van data - Vb. Toolwissel bij slijtage, ingrijpen op materiaal eigenschappen: hogere kwaliteit en minder tijdverslies 86 7. PROGRAMMEERMETHODES 87 computer helpt om g code te genereren Designer PROGRAMMEERMETHODES je doet alles zelf CLDATA (cutter location data) biedt een algemene taal om fabricage-informatie door te geven van een processor voor numerieke besturing aan een postprocessor, waar de algemene taal wordt omgezet in het specifieke formaat dat de specifieke apparatuur voor numerieke besturing vereist. MCD: machine control data 88 HANDPROGRAMMEREN AAN MACHINE TERMINAL ̶ Gegevens worden ingegeven aan de machine HAND PROGRAMMEREN IN EEN MACHINECODE ̶ G-code is een off-line programmeertaal die eigen is aan een bepaalde machine ̶ Sommige commando’s zijn gestandaardiseerd, maar sommige zijn specifiek voor 1 machine manueel zelf programma definieren en doorsturen naar machine (je doet dat op je pc, je staat niet aan de machine te tokkelen) CAM PROGRAMMERING ̶ Met behulp van een CAD/CAM omgeving kan je offline de programmering genereren ̶ Via een postprocessor wordt dit vertaald naar een G-code file future = dat je post processor niet meer nodig hebt, dat machine meteen cad fil kan lezen en geen g code nodig heeft je kan simuleren waar er moeilijkheden zitten in je stuk o mte frezen CAM PROGRAMMERING VB VANUIT SIEMENS NX 8. HANDMATIG PROGRAMMEREN MBV G-CODE 93 elk lijntje g code is een programmablok PROGRAMMA ̶ Is opgebouwd uit opeenvolgende programmablokken ̶ Ieder blok heeft hetzelfde aantal codenummers ̶ Historisch: ponsbandlezer EXAMEN : wetne uit welke delen een programmablok bestaat PROGRAMMABLOK N30 G01 X12.45 Y17 Z5.2 F200 S800 M03 1 2 3 4 ̶ 1. programmatechnische gegevens ̶ N: adresletter voor regelnummer ̶ 2. Geometrische gegevens ̶ G: adresletter voor weginstructie ̶ 3. Technologische gegevens ̶ X: adresletter voor X verplaatsing ̶ 4. Schakeltechnische gegevens ̶ Y: adresletter voor Y versplaatsing ̶ Z: adresletter voor Z verplaatsing ̶ F: aanzetsnelheid (feedrate) ̶ S: toerental (speed) ̶ M: adresletter voor schakelfunctie (bvb. motor, koeling, …) Een programmablok heeft een vaste adreslengte om dit te kunnen plaatsen op een vast geheugenstack (ponsband, aantal bits, …) modale g codes: zolang je bv werkt in xy vlak, blijft het commando werkzaam als het vlak verandert dan niet meer SOORTEN G-CODES ̶ Modale G-codes: blijven werkzaam tot deze worden overschreden. ̶ Vb: vlakselectie (G17, …) ̶ toolcompensatie (G40, …) ̶ absoluut of relatief (G90, …) ̶ Locale G codes: deze van toepassing in de programmaregel, vb G01, G04 ,… ̶ Vrije G-codes ̶ Ingevuld door leverancier van machinebesturingen https://howtomechatronics.com/tutorials/g-code-explained-list-of-most-important-g-code-commands/ 96 ELEMENTAIRE G-CODES ̶ Vlakselectie (G17 - G19) ̶ Verplaatingscodes (G00 - G09) ̶ Programmeringsmode (G90 – G91) ̶ Gereedschapscompensatie (G40 - G44) ̶ Draadsnijden (G33 - G35) ̶ Nulpunten (G53 – G59) ̶ Cyclussen (G80 – G89) https://howtomechatronics.com/tutorials/g-code-explained-list-of-most-important-g-code-commands/ 97 VLAKSELECTIE ̶ Door activeren van de betreffende G- code werkt men in het respectievelijke vlak ̶ G17: XY ̶ G18: ZX ̶ G19: YZ ̶ Opgelet: De kijkrichting naar het vlak is volgens de negatieve asrichting ̶ Bvb. ̶ XY bekijken volgens –Z ̶ ZX bekijken volgens –Y ̶ YZ bekijken volgens -X 98 VERPLAATSINGSCODES -LINEAIR ̶ G00: IJlgang ̶ Volgens 1,2 of 3 assen tegelijk G00 X20 Y10 ̶ Iedere as wordt gestuurd op maximale snelheid ̶ Beweging niet noodzakelijk één rechte lijn (20;10) ̶ G01: Lineaire interpolatie (0;0) ̶ Volgens 1,2 of 3 assen tegelijk ̶ Iedere as heeft een aangepaste snelheid G01 X20 Y10 ̶ Volledig lineaire interpolatie: beweging volgens (20;10) een rechte lijn (0;0) 99 VERPLAATSINGSCODES - CIRCULAIR ̶ G02: circulaire interpolatie in wijzerzin ̶ G03 circulaire interpolatie in tegenwijzerzin P1 ̶ De wijzer en tegenwijzerzin moet worden P0 P X Y geïnterpreteerd volgens kijkrichting (-Z voor P0 15 55 XY vlak, -Y voor ZX vlak en –X voor YZ vlak) P1 85 65 Pc Pc 55 25 ̶ Programmering gebeurt door het eindpunt aan te geven (X,Y of Z) en het middelpunt in relatieve coördinaten tov beginpunt I=Xc-X0 G02 X 85 Y 65 I 40 J -30 J=Yc-Y0 100 ANDERE VERPLAATSINGSCODE ̶ G04: pauzeren ̶ Bvb “G04 P3” = pause van 3 seconden ̶ Opmerking: veel controllers geven dit in msec ̶ Andere: speciale interpolaties ̶ G20: set units to inches ̶ G21: set units to mm ̶ G28: home all axes (or G28 X Y: home X en Y axis) 101 TECHNOLOGISCHE PARAMETERS ̶ S: spindle speed (toerental) (omw/min) ̶ F: Feedrate (voeding) (mm/s) ̶ T: Tool nr. 102 STURINGSPARAMETERS ̶ M00: geprogrammeerde stop ̶ M03: motor aan in wijzerzin ̶ M04: motor in tegenwijzerzin ̶ M06: gereedschapswissel ̶ M30: stop programma en stop motor/koeling, … G (geometrische) codes zijn de instructies die betrekking hebben op de beweging of positionering van het gereedschap ten opzichte van het werkstuk. G-code is gebaseerd op het CNC-onderdeel of productontwerp, G-code activeert de numeriek bestuurde machine, M (diverse) codes zijn commando's voor machinefuncties zoals snelheid, koelvloeistof, enz. M-code heeft vooral betrekking op het uit- en inschakelen van de machine. M-code activeert de PLC van de machine. 103 VOORBEELD G CODES ̶ ̶ G40 – Cutter compensation cancel G41- Cutter compensation left ̶ G42 – Cutter compensation right ̶ G00 – Rapid positioning ̶ G43 – Tool length compensation + direction ̶ G01 – Linear interpolation ̶ G44 – Tool length compensation – direction ̶ G02 – Circular interpolation clockwise ̶ G45 – Axis offset single increase ̶ G03 – Circular interpolation counterclockwise ̶ G46 – Axis offset single decrease ̶ G04 – Dwell ̶ G47 – Axis offset double increase ̶ G05 – High-precision contour control ̶ G06 – Parabolic interpolation ̶ G54 – Workpiece coordinate system 1 selection ̶ G08 – Feed acceleration ̶ G55 – Workpiece coordinate system 2 selection ̶ G09 – Feed deceleration ̶ G56 – Workpiece coordinate system 3 selection ̶ G10 – Programmable data input ̶ G57 – Workpiece coordinate system 4 selection ̶ G17 – XY plane selection ̶ G58 – Workpiece coordinate system 5 selection ̶ G18 – ZX plane selection ̶ G19 – YZ plane selection ̶ G59 – Workpiece coordinate system 6 selection ̶ G20 – Programming in inches ̶ G74- Back to reference point ̶ G21 – Programming in millimeters ̶ G75 – Return to the zero point of programming ̶ G22 – Radius dimension programming method coordinates ̶ G220 – Use on the system operation interface ̶ G76 – Threading compound cycle ̶ G23 – Diameter size programming method ̶ G28 – Return home ̶ G80 – Canned cycle cancel ̶ G30 – Magnification cancellation ̶ G81- External canned cycle ̶ G31- Definition of magnification ̶ G331 – Thread canned cycle ̶ G34 – Increased pitch thread cutting ̶ G90 – Absolute command ̶ G35 – Reduced pitch thread cutting ̶ G91 – Absolute command ̶ G96 – Constant line speed control ̶ G97 – Cancel constant line speed control Bron: CNC Machine G-Code Tutorial - List Of G-Codes For CNC Programming | CNCLATHING 104 PROGRAMMERINGSMODE ̶ G90: absolute coördinaten tov ingestelde nulpunt ̶ G91: incrementele maten tov vorige punt Voorbeeld P X Y P4 P3 P1 0 0 P2 50 0 P3 50 50 P4 0 50 P1 P2 PROGRAMMERINGSMODE ̶ G90: absolute coördinaten tov ingestelde nulpunt ̶ G91: incrementele maten tov vorige punt P X Y ΔX ΔY =Xi-Xi-1 =Yi-Yi-1 Voorbeeld P X Y P1 0 0 0 0 P4 P3 P1 0 0 P2 50 0 50 0 P2 50 0 P3 50 50 0 50 P3 50 50 P4 0 50 -50 0 P4 0 50 P1 0 0 0 -50 P1 P2 G90 G91 G01 X50 Y0 G01 X50 Y0 G01 X50 Y50 G01 X0 Y50 G01 X0 Y50 G01 X-50 Y0 G01 X0 Y0 G01 X0 Y-50 OEFENING Bepaal de numerieke code voor volgend parcours in G90 en G91. P X Y Z P0 0 0 2 P1 20 10 2 P4 P1’ 20 10 -5 P2 60 10 -5 P3 80 30 -5 M1 P3 P4 80 60 -5 P4’ 80 60 2 P0 P1 P2 P0 0 0 2 SIMULATIESOFTWARE ̶ https://robodk.com/blog/g-code-simulators-machining/ ̶ https://ncviewer.com 108 OEFENING NC VIEWER OEFENING OPLOSSING MET G90 N10 G90 T01 N20 G17 S10000 M03 N30 G00 X0 Y0 Z2 N40 X20 Y10 N50 G01 Z-5 F3 N60 X60 N70 G03 X80 Y30 I0 J20 N80 G01 Y60 N90 Z2 N100 G00 X0 Y0 N110 M30 OPLOSSING MET G91 N10 G91 T01 N20 G17 S10000 M03 N30 G00 X0 Y0 Z2 N40 X20 Y10 N50 G01 Z-7 F3 N60 X40 N70 G03 X20 Y20 I0 J20 N80 G01 Y30 N90 Z7 N100 G00 X-80 Y-60 N110 M30 GEREEDSCHAPSCORRECTIE ̶ Maakt gebruik van een TOOL TABLE ̶ Per gereedschap wordt opgeslagen ‒ Gereedschapslengte ‒ Gereedschapsradius of diameter ‒ Gereedschapshouder ‒ Identificatie ‒ Positie ̶ G40: wissen van gereedschapscorrectie ̶ G41: Gereedschapsbaan links ̶ G42: gereedschapsbaan rechts ̶ G43: Positieve gereedschapscorrectie ̶ G44: Negatieve gereedschapscorrectie ̶ Opmerking: Niet elke NC machine ondersteunt dit. 113 OEFENING: CONTOUR FREZEN, G90 EN G91 114 OEFENING: CONTOUR FREZEN, 115 OEFENING FREES POCKET MET GEREEDSCHAPSCOMPENSATIE IN NC VIEWER ̶ Start vanuit hoekpunt links onder R10 ̶ Tool T1: kopmantelfrees: ̶ Freesparameters: ̶ Veiligheidshoogte ; Diepte 70 50 100 ̶ Freesstappen ̶ Ruwen: verwijderen binnenkant pocket ‒ Overlap tussen banen: 50 ‒ Afstand tot de rand: ‒ Te programmeren zonder gereedschapscompensatie ‒ Gebruik één van de strategieën – Zigzag (meelopend/tegenlopend frezen) – Spiraal van binnen naar buiten (meelopend of tegenlopend frezen) ̶ Afwerken: Frees de rand van de pocket (meelopend frezen) ‒ Te programmeren met gereedschapscompensatie 116 WAT ALS IK EEN PATROON VAN UITFREZINGEN WIL ̶ Strategie? 117 SPECIFIEKE G-CODE VOOR 3D PRINTING ̶ E: extrusie in mm (E10 = extrude 10 mm) ̶ M106: set Fan on ̶ M107: set Fan off ̶ F: Feed rate in mm/min ̶ M109: wacht tot extruder is heated ̶ G28: auto home ̶ M140 heat build plate (M140 S60) ̶ G29: Bed levelling ̶ M190: heat bed and wait until it is heated ̶ M82: set extruder in absolute coordinaten ̶ Voorbeelden : ‒ M140 S50 (start met de build plate te ̶ M83: set extruder in relatieve coordinaten verwarmen tot 50°C) ̶ M104: start heating extruder ‒ M190 S50 (wacht tot het bed 50 graden is ̶ S: setting: vb (M104 S210 verwarmt voor verder te doen) ‒ M106 S255 (zet de ventilator op volle extruder tot 210°C) snelheid) ‒ M106 S0 (zet de ventilator uit) 118 SPECIFIEKE G-CODE VOOR 3D PRINTING 119 9. G-CODE & 3D PRINTING 120 De gebruiker definieert elk segment van het printpad samen met alle printparameters Machinebesturingscode (GCode) wordt direct gegenereerd door de software zonder gebruik te maken van een CAD model of slicing software. "Een van de grote uitdagingen [voor het ontwerpen van additieve productie] is dat software nodig is door het hele proces van ontwerp tot productie. Aan de ontwerpkant hebben we tools nodig die ons helpen de ontwerpruimte te verkennen, zonder beperkingen“ (S. Baku, 2017). S. Babu, The future of additive manufacturing is all about design, Eng. (2017). https://www.theengineer.co.uk/the-future-of-additive-manufacturing-is-all-about-design/ (accessed July 17, 2020). Stroomdiagram waarin de traditionele aanpak met 3D-print slicing software wordt vergeleken met de FullControl-benadering, waarbij het geometrische printpad en alle niet-geometrische printinstructies expliciet worden ontworpen. Voorbeeldregel van GCode voor één printpadsegment. C) Voorbeeld van een aanpassing aan het printpad (verplaatsen van de spuitmond buiten de structuur). D) Voorbeeld van een printpad met meerdere materialen die op verschillende hoogtes boven het printplatform worden geprint op een niet-sequentiële manier vrijheid die verder gaat dan geometrisch printpadontwerp Extrusiesnelheid en -snelheid parametrisch variëren van: Temperatuur versnelling elke andere parameter die met GCode kan worden geregeld. Onbeperkte vrijheid om elk aspect van de printprocedure te ontwerpen. Structuren op een compleet nieuwe manier ontwerpen maakt een breed scala aan technische additieve productiebewerkingen mogelijk die een uitdaging vormen voor slicing software of zelfs onmogelijk zijn Voordelen van de nieuwe workflow en software GCode kan parametrisch aangepast worden zonder een CAD model, STL bestand of slicing procedure. Productieplan volledig ontworpen en direct vertaald tussen printers zonder het risico van inconsistenties door verschillende slicer instellingen. Geen fouten in de gegevensoverdracht door het elimineren van conventionele conversieprocessen van CAD naar STL naar “sliced layers” naar printpaden. Beperkingen van de nieuwe workflow en software Een beperking is dat een redelijk hoog niveau van proceskennis vereist is om een printpad te ontwerpen en alle printparameters in te stellen. Gecompliceerde niet-systematische printpaden zijn een technische uitdaging voor de mens Een belangrijke kracht van slicingsoftware is de mogelijkheid om miljoenen berekeningen uit te voeren (printpadcoördinaten identificeren) die voor een mens onhaalbaar zouden zijn. A. Moetazedian, A.S. Budisuharto, V. V. Silberschmidt, A. Gleadall, CONVEX (CONtinuously Varied EXtrusion): a new scale of design for additive manufacturing, Addit. Manuf. 37 (2021) 101576. https://doi.org/10.1016/j.addma.2020.101576. Streamlined extruded-filaments with continuously varying extrusion width to fit the overall part geometry A. Moetazedian, A.S. Budisuharto, V. V. Silberschmidt, A. Gleadall, CONVEX (CONtinuously Varied EXtrusion): a new scale of design for additive manufacturing, Addit. Manuf. 37 (2021) 101576. https://doi.org/10.1016/j.addma.2020.101576. A. Moetazedian, A.S. Budisuharto, V. V. Silberschmidt, A. Gleadall, CONVEX (CONtinuously Varied EXtrusion): a new scale of design for additive manufacturing, Addit. Manuf. 37 (2021) 101576. https://doi.org/10.1016/j.addma.2020.101576. A. Moetazedian, A.S. Budisuharto, V. V. Silberschmidt, A. Gleadall, CONVEX (CONtinuously Varied EXtrusion): a new scale of design for additive manufacturing, Addit. Manuf. 37 (2021) 101576. https://doi.org/10.1016/j. addma.2020.101576. https://doi.org/10.1016/j.addma.2020.101576 https://doi.org/10.1016/j.addma.2020.101576 https://doi.org/10.1016/j.addma.2020.101715 James Allum, Jeremy Kitzinger, Yimeng Li, Vadim V. Silberschmidt, Andy Gleadall, ZigZagZ: Improving mechanical James Allum, Jeremy Kitzinger, Yimeng Li, Vadim V. Silberschmidt, Andy Gleadall, ZigZagZ: Improving mechanical performance in extrusion additive manufacturing by nonplanar toolpaths, Additive Manufacturing, Volume 38, 2021, 101715, ISSN 2214-8604, https://doi.org/10.1016/j.addma.2020.101715. https://doi.org/10.1016/j.addma.2020.101715 A. Gleadall, Data for article: FullControl GCode Designer - open-source software for unconstrained design in additive manufacturing, (2021). https://doi.org/doi:10.17028/rd.lboro.12933320. A. Gleadall, Data for article: FullControl GCode Designer - open-source software for unconstrained design in additive manufacturing, (2021). https://doi.org/doi:10.17028/rd.lboro.12933320. Figure 4 Structures designed at the scale of individual filaments using FullControl GCode Designer. A) Micro- tensiletesting specimen with individually designed filament-widths. B) Tissue engineering scaffolds with different spacing between extruded filaments. C) A parametric lattice structure, where each individual extruded filament was explicitly designed for a relatively large part (8 cm wide). D) Mesh structures produced with an identical print-path but variable extrusion-width, achieved by sinusoidal variation of print speed and extrusion rate. E) Nonplanar printing using a zigzag print-path with up-down nozzle movement in the Z direction, normal to the print platform, to improve mechanical performance. F) Streamlined extruded-filaments with continuously varying extrusion width to fit the overall part geometry. Videos S1 and S3 in supporting data show the printing process for (E) and (D), respectively. A) Reproduced under the terms and conditions of the Creative Commons CC BY-NC-ND 4.0 License. All other parts of the figure, even when linked to publications, were created from original media. Scale bars = 5 mm. FULL CONTROL G-CODE VOOR 3D PRINTING https://fullcontrol.xyz/#/models FullControl - Unconstrained Design 144 FULL CONTROL G-CODE VOOR 3D PRINTING FullControl - Unconstrained Design 145 FULL CONTROL G-CODE VOOR 3D PRINTING: PRUSASLICER G-CODE VIEWER FullControl - Unconstrained Design 146 G-CODE VOOR 3D PRINTING 147 PRUSASLICER G-CODE VIEWER 148 EXPERT MODE IN PRUSA SLICER: CUSTOM G-CODE Prusa-specific G-codes | Prusa Knowledge Base (prusa3d.com) 149 VERVOLG OEFENING: 3D PRINT DE STEMPEL MET JOUW INITIALEN ̶ Insert pause or custom G-code at layer | Prusa Knowledge Base (prusa3d.com) 150 OPGAVE: WERK EEN GEFREESDE STEMPEL UIT MET JOUW INITIALEN ̶ Laat de letters uitsteken en frees de contour errond weg ̶ Hoogte van de opstaande rand: 4mm ̶ Veiligheidsafstand boven stuk 2mm ̶ Neem een frees met grote diameter (bvb d=8mm) voor het ruwen ̶ Kies een frees met kleine diameter voor randafwerking (bvb d=2mm) ̶ Je mag de grootte zelf kiezen ̶ Werk deze uit in NC viewer, dien in op Ufora opdrachten 151 VERVOLG OPGAVE: ̶ Modeleer de vorige stempel in een CAD pakket ̶ Gebruik Prusa slicer om een CAM programma te maken ̶ Analyseer de G-code voor de gekozen 3D printer (je kan dit doen in NC viewer of in Prusa G-code viewer) ̶ Zoek 5 specifieke G codes op en bespreek ze. ̶ Maak een printscreen van de nc viewer waarbij deze G-code zichtbaar is. ̶ Bespreek wat deze code doet: dien een pdf document in met deze verschillende print-screens en de bijhorende uitleg ernaast: dien in op ufora opdrachten. 152 www.ugent.be Ghent University @ugent Ghent University