1

Lasergraveringsmodul til cnc-fræseren

2015-03-01 17.09.31I 2013 hægtede jeg mig på et Kickstarterprojekt – Microslice (link). Microslice er en laser graveringsmaskine. Jeg købte “PowerUp” versionen med en 600 mW rød laser. Den har et lille fint x-y-bord på ca. 10×15 cm. Den er helt super til at gravere læder og træ. Den kan skære papir og 2 mm skum – men så er grænsen også nået…

Men 600 mW optisk effekt og skære i papir er jo ligesom kun lige nok til at gøre mig nysgerrig :-). Samtidig er de 10×15 cm lidt småt – når jeg nu alligevel har cnc-fræserens x-y-bord tilgængelig. Såeeee… Mer’ vil have mer’…

Laserdiode

En lasers effekt opgives som “optisk” effekt. Grunden til at det har betydning er at at der går en hel del effekt tabt i varmetab i diode og linse.

Der findes forskellige typer af lasere. De kraftige lasere i professionelle laserskæremaskiner er af typen CO2-lasere. De er ret dyre og kræver selvsagt store strømforsyninger. Og ikke mindst store sikkerhedsforanstaltninger.

De mindste professionelle laserskæremaskiner har en 20W laser. Det er nok til at skære omkring 3mm krydsfiner og 8mm akryl.

En mere moderat og tilgængelig klasse af lasere er LED-lasere. Altså kraftige lysdioder som er fokuserede og yderligere fokuseres med en linse. Med en blå LED-laser på et par Watt bør det være muligt at skære 1-2mm krydsfiner og 1-2mm akryl.

Der findes lasere med alverdens forskellige bølgelængder. Bølgelængden kan konverteres til en farve (for de synlige bølgelængder) som det ses her:

Lys ved forskellige bølgelængder har forstellige evner til gravering og skæring. Det siges at en tommelfingerregel er at højere bølgelængder er bedre til at skære… Blå skulle være den dårligste da den har en firkantet stråle mens grøn skulle være bedre da den har en fokuseret rund stråle. Desværre er det svært at skaffe kraftige røde dioder. Grønne har jeg slet ikke set – så hvis man skal op i effekt er det de blå man ender på… Og så er jeg lige nødt til at fyre en disclaimer af… Min viden er baseret på yderst tvivlsomme kilder i de skumleste afkroge af nettet 🙂

Hvis man skal skære skal emnet være i stand til at opsuge energien – og ikke reflektere den. Matsort overflade er optimalt. For at sikre at temperaturen kommer højt nok op til at smelte / brænde emnet skal emnets varmeledningsevne være lav. Og så skal strålen selvsagt være meget fokuseret.

laserJeg fandt en 1.8W 445 nm (blå) laser på ebay. Den kan vist ikke fås længere – linket er dødt (dette link er til en der ligner…). Til gengæld har en kollega netop købt en 3W blå laser… Jeg er en lille bitte ubetydelig smule misundelig 🙂

Linsen har ret meget at sige for den optiske effekt – altså hvor meget af den optiske energi der når ned i emnet. Linserne klasificeres G1, G2 eller G3. G1 er det bedste – og dyreste. Jeg valgte en model med G2-linse.

Desuden har det ret stor betydning om laseren er en A-sortering eller en uspecificeret. De usorterede yder ofte markant under den specificerede optiske effekt (skriver mange på nettet).

Jeg købte et komplet modul med laser, linse og hus for at være sikker på at delene passer sammen, er aligned og fokuseret korrekt.

Laseren kan levere 1.8W optisk energi – og får man fat i et datablad vil det fremgå hvordan man omsætter diodestrømmen til optisk energi. Det er desværre ikke tilgængeligt på den jeg har købt. I stedet er der en række skærmbilleder hvor man kan se den målte optiske energi og den tilsvarende strøm… Ikke særligt professionelt… ved 1.8W optisk ser det således ud som på billedet her – altså 1.6A og 4.7V spændingsfald.

Beskyttelsesbriller

Beskyttelsesbriller er vigtige… meget vigtige…

Øjne kan ikke holde til ret meget lys. På Wikipedia er der en artikel om netop det (link). Øjnenes evne til at modstå lys varierer med bølgelængden og hvor længe øjet er udsat for påvirkning. Det måles i MPE (maxiumum permissable exposure) som eksempelvis kan udtrykkes i W/cm2 i forhold til tiden i sekunder som det ses i grafen. Lad os tage en 0.6W laser der er defokuseret så den dækker 1 cm2 (diameter på ca. 1,1cm). det betyder at der er 0,6W/cm2. Med en 440 nm laser kan øjet holde til det i rundt regnet 1us (microsekund) – altså i et milliontedel af et sekund! Hvis vi vender det om og spørger hvad øjet kan holde til hvis man er udsat for det i et halvt sekund – så er det ~5mW/cm2.

Så – med en 1.8 W laser der er fokuseret på måske 0.1 cm2 så skal man kort og godt sørge for at den aldrig kommer i nærheden af øjnene! I parantes bemærket så skal den sådan set heller ikke i nærheden af andre dele af kroppen…. Den kan give nogle fæle forbrændinger.

Reelt er det heller ikke direkte lys jeg er nervøs for. Det der er mere reflektioner. Der er meget metal i fræseren og rammer laseren et stykke nogenlunde blankt metal så kunne man godt frygte at det ikke var helt ufarligt at få det i øjnene. Der er dog flere formildende faktorer. Dels afsættes en del af energien i det den rammer – der er ingen optimale spejle så en stor del af energien går tabt der. Dels er overfladerne ikke polerede hvilket betyder at strålen vil spredes hvilket reducerer effekten per areal. Endelig er jeg normalt mindst 50 cm væk – ofte mere. På den afstand er spredningen ret stor – så der er ikke meget energi tilbage i lyset. Det ændrer dog ikke noget ved at man under uheldige omstændigheder kan risikere en koncentration der er højere end det øjet kan holde til.

Og det er her sikkerhedsbriller kommer ind i billedet.

Det bedste er at finde nogle briller er godkendt efter EN207 eller ANSI Z 136. Forudsætningen er dog at man finder en leverandør man kan stole på. Faktoren OD – optical density – fortæller hvor kraftig en laser brillerne kan blokere for (link). OD beskrives også som “Ln” hvis der specificeres efter den europæiske standard. I den europæiske standard skelnes desuden mellem continuous (markeret med “D”), pulsed (markeret med “I,R”) og ultra short pulses (markeret med “M”). OD kan omsættes til den maksimale effekt brillen kan beskytte mod. Denne beregning afhænger af hvilken båndbredde og lysmønster brillen skal beskytte mod. For continuous blå lasere omkring 450 nm gælder:

P = 1×10OD+1 W/m².

Så en brille med OD6 kan beskytte mod et direct hit fra en 10 W laser der er fokuseret på 1 mm2. OD5 kan til gengæld klare det samme for en 1W laser.

Der mange der skriver at de kinesiske briller reelt ikke lever op til de sikkerhedskrav standarderne stilles. Hvilket uden tvivl er rigtigt. Hvis man køber billige briller bør man måle laserens optiske effekt – og så sætte brillerne ind foran. Målet må være at ingenting slipper igennem – så vil man kunne klare et “direct hit” hvis uheldet skulle være ude… Desværre er det ret dyrt med grej til at måle optisk energi.

Man kan også vælge at købe briller som andre har testet. At stole på en test på nettet kan dog være problematisk da resultatet reelt kun kan bruges for det samme produktionsbatch som den testede brille…

Jeg købte briller på ebay inden jeg var opmærksom på detaljerne i specifikationerne (de er desværre ikke tilgængelige længere). De hører til i Kina-kategorien og er rated til OD5. Selv hvis de reelt lever op til OD5 er det ikke nok da laseren er på 1.8W. Så direkte skud ikke nogen god ide!

Jeg har forsøgt at skyde på min finger gennem glasset – og jeg brændte mig ikke men glasset blev efter kort tid ødelagt i den prik jeg sigtede på. Meeen – det er jo reelt en ubrugelig test for fingrene kan tåle meget mere end øjnene.

Da godkendte briller fra en anerkendt europæisk leverandør koster over 1000 kr har jeg valgt at leve med dem jeg har købt ind til videre. jeg vil dog begynde at kigge efter et par briller af anerkendt fabrikat – og se om ikke jeg kan finde et par til en lidt mere spiselig pris.

Driver

Laser-diode-driver-0-5A-100kHz-ANALOG-TTL-405nm-445nm-635nm-650nm-808nm-3-3-12VDriveren købte jeg på ebay (link). Det er en 0-5A justerbar driver og detaljer findes her: link. Den forsynes med 3-12 V DC. Maksimal-strømmen justeres på et potentiometer og man kan på en indgang justere mellem 0 og 100% enten ved at pulsbreddemodulere indgangen eller ved at sætte et 0-5V signal på.

Imax justeres på det lille multiturn potentiometer. Man skal være meget opmærksom på ikke at skrue for højt op da det går meget hårdt ud over laserens levetid. Det anbefales at bruge en række dioder i serie (så spændingsfaldet matcher diodens) mens man justerer. Derved kan man justere i ro og mag før man sætter den følsomme diode på. Husk at måle strømmen på diode-siden.

Forsyningen til driveren beregnes som:

Vin-min = 0,2* I + Vd


Med 4.7V over dioden ved en strøm på 1.6A fås Vin-min til 5.02V. Meeeen – en test med 5V på driveren viste at den kun kunne levere 1.2A… Så jeg skiftede til 12V og vupti virkede den som den skulle… Jeg satte et potentiometer på justeringsindgangen (0-5V) så jeg kan justere strømmen til laseren. Det har vist sig ret praktisk – især til gravering af eks. læder hvor fuld power kræver at x-y-bordet skal bevæge sig i urealistisk høje hastigheder.

Capture

Effektafsættelsen i lysdioden samt ditto i driveren skal jo bortskaffes – og ved 1.8W optisk afsættes der P=4.7V*1.6A-1.8W=5,7W i laserdioden. Bemærk at den optiske energi leveres via lyset til destinationen – så det bliver ikke til varme i laseren. Resten af spændingen (op til 12V) ligger over driveren så der afsættes P=(12-4.7)*1.6A=11,7W.

Samling…

20150627_172202Med stumperne og sikkerheden på plads er næste skridt at få det hele sat sammen. Jeg ønskede mig noget der kunne monteres i cnc-fræserens spindel og styres fra MACH3.

Jeg fandt et køleprofil fra en gammel CPU-blæser og borede et hul til laseren. Driveren monterede jeg på en lille vinkel med driverens fet transistor ned på kølepladen.

20150627_17245120150627_172213Jeg lavede et kabel ned til styreboksen hvor strømforsyningen også er placeret så det hele er fleksibelt.

Styring og software

CaptureNår man har et stykke vectorgrafik som man gerne vil gravere, så kan man bruge Inkscape med en lasergraveringsplugin. Der er lavet en særlig plugin til microslice – Det virker ret fint når man først har lært det at kende. Der er en del guides på microslice forum’et (link). Der er dog tre vigtige punkter… Størrelsen er 1:1 – så mål alting op i mm og ikke pixel eller andet. Desuden så er referencen (0,0) placeres fast i nederste venstre hjørne af arbejdsarket. Endelig så skal alle former laves om til stier – brug “Object to path” funktionen i “path” menuen.

Microslice graveringsmaskinen er baseret på Arduino board med GRBL-software (link). Der er dog lavet en speciel version til Microslice hvor z-aksen er sat ud af drift. Den kan også findes på LittleBox’s forum: link.

GRBL er et stykke embedded software der oversætter G-koder til x-y-z-koordinater. Den supporterer end-switches og er alt i alt ret gennemarbejdet. 2015-03-01 17.09.53Man sender g-koden ned til controlleren via en seriel forbindelse med et stykke software der kaldes en G-code sender. Der er forskellige muligheder og som en del af mine forsøg på at få gjort systemet stabilt købte jeg “picsender” (link) – men reelt tror jeg GRBL controller (gratis) som blev anbefalet er helt fin. Problemet viste sig nemlig at være en semi-defekt USB-port. Det tog lidt tid at finde den fejl… Desværre er GRBL controller vist stoppet fra leverandørens side – alle links er døde. Men Universal G-code sender skulle være et alternativ – som jeg dog ikke har testet (link).

Meeen – nu er der jo det ved det at jeg bruger MACH3 i fræseren. Outputtet fra Inkscape plugin’en er jo G-kode så det burde bare virke… Men G-kode der kommer ud af laserengraving plug-in’en er altså ikke kompatibel med MACH3. Efter nogle forsøg lykkedes det at fikse det:

1. kør laser engraving plugin
2. slet alle linjer med $
3. tilføj G91.1 efter G90 i toppen af filen (relative ijk ved g2/3)

Jeg endte med at ændre i plug-in’en så den ikke udskriver linjerne med $ og tilføjer G91.1 i toppen.

taaadaaah… it works…

Mit første forsøg på microslice:

20151220_173644

Og til enden af min (vores :-)) whisky tønde:

2015-03-17 18.36.59

Og en kasse til en oprykningsbog til spejderne:

20150805_174733

Hva’ ka’ den så?

Nå – men nu er laseren monteret og testet – men hvad kan den så… Altså hvad kan den skære? Jeg har lavet nogle forsøg med 1mm læder,

Materiale status billede
1mm læder 2 passes
ok
 20151225_163401
0.6mm pap (grå) 3 passes
ok
 20151225_171339
2mm pap (grå) 5 passes
ikke ok
 20151225_172305
3.5mm bølgepap 3 passes
ok
 20151225_164334
3mm masonit 5 passes
ikke ok
 20151225_165127
2mm akryl (grå) 
5 passes
50mm/s
ikke ok
 20151225_170639

Så… med andre ord – cutting potential er ret begrænset med 1.8W optisk effekt…




Hjemmebygget CNC-fræser – del 3 (software)

Der er behov for tre stykker software for at komme fra ide til fræst emne…

  1. Machine controller – det software der styrer stepmotorerne og sikrer at fræsebord og spindel bevæger sig derhen hvor det skal…
  2. 3D-CAD – computer aided design – kort fortalt et 3d tegneprogram
  3. CAM – computer aided manufacturing – et program der kan oversætte en 3d-tegning til “g-code” som er “cnc-sprog”…

De to sidste vil jeg kun gå kort ind i da det er meget afhængigt af smag og behag hvilket software man bruger. Machine controlleren er mere relevant at gå i dybden med…

Machine controller

Jeg har valgt at bruge MACH3 (link) – og helt ærligt kan jeg ikke huske om der findes alternativer… I virkeligheden var MACH3 det første designvalg jeg gjorde – og derfra fulgte valg af stepper controller og så videre… MACH3 koster lige nu $175. Min Lasergrveringsmaskine har valgt en anden model hvor en arduino udstyret med GRBL software styrer stepper driverne. Det betyder at man sender g-code ned til det lille print der så oversætter til step til akserne.

mach3

MACH3 er baseret på at styre LPT-porte (printerporte). Dødeligt umoderne – allerede da jeg lavede systemet. Men det har været tradition i mange år at gøre det sådan i hobby-systemer…

Smoothstepper er USB-baseret og virker ved at en plugin i MACH3 simulerer en parallelport og sender output ud på smoothstepper. Det er også derfor at alle porte og outputs nummereres efter port 1 og 2. Begrænsninger i hvilke pins der er inputs og outputs er ligeledes afgjort af hvad en parallelport kunne den gang de var standardudstyr…

Der findes nu alternativer – blandt andet “MACH4” som ikke er parallelport baseret. Smoothstepper kommer med en MACH4 driver på et tidspunkt… Den var ikke klar sidst jeg checkede – men skulle være på vej.

Ports and pins…

Når MACH3 er installeret og driverne oppe at køre så skal den grundlæggende konfiguration laves. Det handler i al sin enkelthed om at afgøre hvilke pins der anvendes til step/direction, endestop  og deres polaritet.

Hvis en motor kører den forkerte vej – ja så markerer man den bare som “active low” – eller bytte to ledninger ud til motoren.

Jeg har følgende tildeling af pins (og bruger kun port 1):

X step Port 1 pin 2 Active high
Y step Port 1 pin 3 Active high
Z step Port 1 pin 4 Active high
X direction Port 1 pin 6 Active low
Y direction Port 1 pin 7 Active high
Z direction Port 1 pin 8 Active high
X ++/–/home Port 1 pin 11 Active high
Y ++/–/home Port 1 pin 12 Active high
Z ++/–/home Port 1 pin 13 Active high
E-stop Port 1 pin 10 Active low
Spindle / output 1 Port 1 pin 16 Active high

Motor profile

motor-pinsNår der først er “hul igennem” til motorerne og de flytter sig når man bruger piletasterne i MACH3 – ja så skal man finde ud af hvor mange step der er per mm fremdrift på aksen og hvor hurtigt de kan køre…

Antal step per mm skal man regne ud ved følgende udregning:

StepPerMm = MotorStepPerRev * DriverMicroSteps / GevindStigning
MotorStepPerRev = 200 (1.8 gr/step)
GevindStigningXY = 3 mm/omdr
GevindStigningZ = 1.5 mm/omdr
DriverMicroSteps = 32 steps per step (sw5-8: off/on/off/on)
StepPerMmXY = 200 * 32 / 3 = 2133.33333
StepPerMmZ = 200 * 32 / 1.5 = 4266.66667

motor-speedFor at finde ud af maksimalhastighed og acceleration så sætter man et måleur op på den pågældende akse og kører så frem og tilbage i stadig højere hastighed – indtil man begynder at “mister steps”Start med lav acceleration. Når max hastighed er fundet så justeres accelerationen gradvist op til man igen mister steps. Når man mister steps er det i øvrigt meget tydeligt at høre… Mit udstyr kan køre med 800 mm/min og 50 mm/s^2 i acceleration.

Når først det virker…

4Det er ret nemt at få MACH3 til at virke – men selvfølgelig er der 1000 mulige settings som man kan bruge mange timer på at undersøge bagefter… Eks. er der en sjov lille feature som jeg skal bruge når jeg laver lasergravering fra Inkscape og den plugin der hedder “Laser Engraving”. Den genererer nemlig kurve bevægelser med absolutte IJ-koordinater hvor mit cad-program følger den G-kode der vælger mode…

Men – når først det virker så virker det kanongodt. På hovedskærmen kan man bruge piletasterne til at bevæge X-Y akserne. Page up-down styrer Z-aksen. Trykker man shift sammen med piletasterne så kører den il-gang.

Jeg bruger piletasterne til at flytte fræsehovedet til det sted jeg har lavet min CAM-programmering til at placere 0-punktet. Når man er på plads så trykker man på “zero” ud for hhv. x, y og z-akserne.

Når man skal placere et nulpunkt på kanten at et emne eller ned mod bordetm så kan man skubbe et stykke avispapir ind mellem fræser og emne. Når man ikke længere kan rykke det frem og tilbage – ja så er du nogle få 1/100 dele fra emnet.

Det er også på hovedfanen man loader en g-code fil. Bevægelserne vises i preview vinduet og det er godt til et hurtigt “sanity check”.

Hvis man går ind i CAM fanen har man mulighed for at skrive g-koder direkte. Eks. bruger jeg meget at sende x-y-z til bestemte positioner med g0 og g1 kommandoer.
eks.
g0 x0 y0 z0
g0 x100
g1 y50 f150

g0 er il-gang. g0 er bearbejdningsmovement. x-y-z komponenterne er i mm i absolutte koordinater i forhold til det programmerede 0-punkt. “f???” er skærehastigheden i mm/minut.

Man kan også selv skrive g-koderne i en tekstfil og så loade den i MACH3. Det er ind i mellem nemmere hvis man bare skal fræse en simpel profil – eks. et spor eller lignende.

3D-cad

Der er mange forskellige cad-programmer – der var ikke nær så mange da jeg startede. De gratis versioner var ikke anvendelige den gang. Så med et blik på økonomien valgte jeg “Alibre CAD”. Det var ikke gratis – men lå langt fra de “professionelle” pakker – Solid works, Autocad etc. I dag er der en del gratis udgaver som jeg tror er helt fine – FreeCAD (link), SketchUp Make (muligvis udgået – linket duer ikke mere) – og ikke mindst OpenSCAD (link). Den sidste vækker virkelig nørd-genet :-). Man skriver nemlig sin 3d-model som hvis man skriver software… Et sprog der nok ikke er helt nemt at lære…

Nå – men jeg holder mig foreløbigt til den jeg har betalt for. Alibre er i mellemtiden blevet købt af Geomagic – så de hedder nu Geomagic design (link).

1)cad2 2)cad1 3)cad8

4)cad3 5)cad4 6)cad5

7)cad6 8)cad7

Alibre / Geomagic var utroligt nemt at lære… Det er baseret på at man vælger en flade (et plan eller en flade på et andet objekt), tegner en 2d-figur (med dimensioner og constraints der binder elementerne sammen) og bruger så den til enten at tilføje eller fjerne materiale fra modellen. Der forskellige smarte måder at tilføje/fjerne materiale på – så det er utroligt fleksibelt trods den nemme betjening.

De fleste moderne cad-systemer er “parametriske”. Det betyder at man kan definere dimensioner (afstande, størelser, vinkler etc) vha. beregninger. Man kan definere variable og basere beregningerne på dem og andre beregninger. Meget fleksibelt og nemt at tilpasse. Hvis én dimension ændres følger de andre automatisk med.

ComputerSalg.dk Jeg købte en 3Dconnexion SpaceNavigator “mus” – det er en speciel mus til at navigere i 3d. Det er vildt rart og meget intuitivt at kunne zoome ind, ud, panorere, skifte viewpoint etc.

Capture

Når man tegner flere elementer eller gerne vil sætte egne dele sammen med andre (downloadede) dele så kan man også det i Geomagic – i “assembly”-delen. Du kan se eksempler i artiklen om mekanikken til CNC-fræseren.

 CAM

Computer Aided Manufacturing er processen der omsætter en CAD-tegning til noget CNC-maskinen kan forstå – som regel “G-code”. G-kode er en måde at beskrive maskinens bevægelser. Der er kommandoer til lineære bevægelser (G00 – ilgang og G01 – lineær bearbejdning) og til cirkulære bevægelse med eller mod uret (G02, G03). Og ca. 98 mere… Der er ret mange kommandoer som vist sjældent bruges. Der er faktisk mange maskiner der kun understøtter ganske få G-koder. Det er også årsagen til at der i CAM-programmer altid defineres en “POST-processor” – altså en efterbearbejdnings engine der tilpasser G-koden til den enkelte maskine.

En CAM-engines opgave er som sagt at oversætte en CAD-tegning til maskinbevægelser. Der er dog lidt mere i historien. Først og fremmest skal man vælge et koordinat-system at arbejde i. Ofte skal et emne bearbejdes fra flere sider og det opnår man ved at definere flere CAM-jobs med forskellige koordinatsystemer. Desuden skal man kunne definere hvordan rå-emnet ser ud så programmet kan beregne hvordan bearbejdningen skal foregå. Jeg ved ikke om der findes automatiske systemer – men dem jeg har arbejdet med fungerer alle ved at man selv vælger hvilken fræser man vil bruge og derefter hvilken “type” fræseoperation man vil gennemføre – eks. grovbearbejdning (roughing) og sletbearbejdning (finishing). Der er i de fleste programmer et antal forskellige “patterns” – radial bearbejdning, horisontal / parallel, radial / spiral…

Capture

Der er et hav af CAM-engines. Desværre var der (dengang) ingen af de gratis der reelt virkede… Så jeg endte med et produkt der hedder Alibre CAM. Det er integreret i Geomagic Design – men er reelt en tilpasset VisualCAM. Det er rigtigt rart at brugerfladen er den man kender – men det er vel bare tilvænning…

Capture

CaptureI Alibre CAM kan man få vist en simulering af hvordan jobbet virker i praksis. Og det er vigtigt – for det er ofte ret svært at gennemskue hvordan algoritmerne vil opføre sig på det konkrete emne… Man skal angive hvilke flader der skal bearbejdes – eller hvilke der skal være ydre grænse som algoritmen – det kan godt give en del frustrationer…

Konklusion

Maskincontrolleren skal man vælge en der passer til det hardware man har købt eller bygget. Men CAD/CAM er en smagssag…. Jeg vil når tiden er til det sætte mig nærmere ind i de gratis alternativer… men lige nu er du på egne ben 🙂