MicroSlice V1 | En liten Arduino laserskärare (10 / 10 steg)
Steg 10: Programvara & Setup
MicroSlice använder Grbl v0.8 för motion control. Grbl omvandlar G-kod till kommandon som EasyDriver stepper motor styrenheter förstå. Vi behöver ett annat program att skicka G-kod till Grbl, för detta kommer jag att använda Zapmaker's Grbl Controller v3.0.
Innan du kan börja måste Arduino IDE, Arduino webbplats.
Kontrollera din Laser-diod inte är ansluten till kraftledningar medan du konfigurerar din MicroSlice. Den Laser viljestyrka på & av under installation & konfiguration processen om den är ansluten. Bara Anslut den laserdiod när du är redo att klippa eller gravera.
Grbl's wiki visar dig hur du flash förkompilerade Grbl hex filen på din Arduino.
För de av er som har en Raspberry Pi, som jag gör, kommer du bli glad att veta att du kan styra MicroSlice med din Pi! Zapmaker har en steg för steg guide att installera Grbl Controller på en Raspberry Pi.
Vi kommer att behöva generera några G-kod. Det bästa sättet att göra detta är att använda Inkscape i kombination med en laser gravör plug-in. En Open Source vektorgrafik redaktör, med med funktioner som liknar Illustrator, CorelDraw, eller Xara X, W3C standard Scalable Vector Graphics (SVG) filformatet. Jag har använt den samma plug-in Ingela för hans gravör, han har gjort en kort video som beskriver dess användning.
Innan vi kan använda våra nya G-kod måste vi du konfigurera Grbl för att använda stegmotorer och slutet-slutar.
Du kan använda antingen Arduino IDE Serial-uttaget (CTRL + SKIFT + M) för att skicka kommandon till Grbl. skicka $$ till Grbl visas de inställningarna (yours kan se annorlunda);
$0 = 755.906 (x, steg/mm)
$1 = 755.906 (y, steg/mm)
$2 = 755.906 (z, steg/mm)
$3 = 30 (steg puls, usec)
$4 = 500.000 (standard foder, mm/min)
$5 = 500.000 (standard seek, mm/min)
$6 = 28 (steg port Invertera masken, int:00011100)
$7 = 25 (steg inaktiv dröjsmål, MSEK)
$8 = 50.000 (acceleration, mm/s ^ 2)
$9 = 0,050 (korsningen avvikelse, mm)
$10 = 0,100 (arc, mm/segment)
$11 = 25 (n-arc korrigering, heltal)
$12 = 3 (n-decimaler, heltal)
$13 = 0 (rapport inches, bool)
$14 = 1 (automatisk start, bool)
$15 = 0 (Invertera steg aktivera, bool)
$16 = 0 (hårda gränser, bool)
$17 = 0 (homing cykel, bool)
$18 = 0 (homing dir Invertera masken, int:00000000)
$19 = 25.000 (homing foder, mm/min)
$20 = 250.000 (homing seek, mm/min)
$21 = 100 (homing debounce, MSEK)
$22 = 1.000 (homing pull-off, mm)
Inställningarna är vi intresserade är 0 $ & $1. Dessa två att konfigurera A & Y-axeln. Vi måste du beräkna antalet steg att flytta spetthylsan 1mm i endera riktningen.
Vi beräknar det således;
Antal steg = antal steg per rotation x Microsteps / tråd tonhöjd
20 steg-en-vänder (18 grader ett steg) x 8 Microsteps (MS1 & MS2 kopplad till + 5v på EasyDrivers) / 3mm tråd tonhöjd (3mm av resor per rotation).
(20 x 8) / 3 = 53.333333333
Så typ $0 = 53.333 och $1 = 53.333 in i terminalen för att konfigurera axel. Du kommer att behöva göra en mjuk återställning för att ändringarna ska börja gälla ($X).
Eller Zapmaker's Grbl Controller kan du justera Grbl. Du kan komma åt de Grbl inställningarna via fliken Avancerat. Du behöver fortfarande en mjuk återställning efter att klicka på tillämpa.
Du bör också ställa;
$4 = 200 Detta anger den standardhastighet spetthylsan flyttar på medan du arbetar.
$5 = 200 Detta anger den standardhastighet spetthylsan rör sig när du flyttar mellan jobb.
$16 = 1 Detta gör gränsbrytare.
$17 = 1 Detta gör homing ($H), gruvan låser sig när jag försöker köra homing cykeln. Om du vill aktivera den här funktionen måste du redigera källkoden för Grbl och kompilera om hex filen. Instruktioner visar hur du gör detta är längst ner i detta steg.
$18 = 69 Detta gör klipparen noll nere till vänster i tabellen skära när $H homing kommandot utförs. För en ingående förklaring av denna funktion finns på Grbl Wiki.
$19 = 200
$20 = 200
$22 = 2.000 Detta anger avståndet axeln flyttar bort form slutet-slutar efter homing cykeln.
Det finns ingående förklaringar för varje Grbls inställningar på Grbl Wiki.
Kontrollera konfigurationen är korrekt genom att skriva $$ i terminalen. Du borde se något sådant;
$0 = 53.333 (x, steg/mm)
$1 = 53.333 (y, steg/mm)
$2 = 53.330 (z, steg/mm)
$3 = 10 (steg puls, usec)
$4 = 200.000 (standard foder, mm/min)
$5 = 200.000 (standard seek, mm/min)
$6 = 28 (steg port Invertera masken, int:00011100)
$7 = 50 (steg inaktiv dröjsmål, MSEK)
$8 = 100.000 (acceleration, mm/s ^ 2)
$9 = 0,050 (korsningen avvikelse, mm)
$10 = 0,100 (arc, mm/segment)
$11 = 25 (n-arc korrigering, heltal)
$12 = 3 (n-decimaler, heltal)
$13 = 0 (rapport inches, bool)
$14 = 1 (automatisk start, bool)
$15 = 0 (Invertera steg aktivera, bool)
$16 = 1 (hårda gränser, bool)
$17 = 1 (homing cykel, bool)
$18 = 69 (homing dir Invertera masken, int:00000000)
$19 = 200.000 (homing foder, mm/min)
$20 = 200.000 (homing seek, mm/min)
$21 = 100 (homing debounce, MSEK)
$22 = 2.000 (homing pull-off, mm)
Det sista steget är att lasern. Jag laddade en lilla provet, i detta fall det var ett X, och lät sekvensen som kör.
Du kan slå Laser Diode på & bort användande tickande låda märkt Spindel på på Zapmaker's Grbl Controller.
Första gången var det inget där, men är ett par varv av linsen jag lyckades få ett märke på några papper. Efter att allt behövde var lite finjustering och laser korrekt fokuserade på tabellen skärning.
Jag gjorde några 3mm distanser att gå under lase modulen för att lyfta den upp för när jag ville att gravera några 3mm plywood. Så menade jag inte behövde fokusera linsen varje gång jag ville byta material.
Redigera källkoden.
Under test hittade jag att Grbl skulle hänga på kommandot $H (homing). Jag misstänkte att detta var ett problem med Z-axeln som MicroSlice inte har en.
För att åtgärda probem måste vi ta bort alternativen Z-axeln från Homing cykeln. Kommandona finns i filen config.h i källkoden.
1 | Ladda ner källkoden från Grbl (länk).
2 | Packa upp arkivet.
3 | Öppna config.h i din favorit texteditor.
4 | Leta upp följande kod
#define HOMING_SEARCH_CYCLE_0 (1 < #define HOMING_SEARCH_CYCLE_1 ((1< 5 | Ersätta koden med #define HOMING_SEARCH_CYCLE_0 (1 < 6 | Leta upp följande kod #define HOMING_LOCATE_CYCLE ((1< 7 | Ersätta koden med #define HOMING_LOCATE_CYCLE ((1< 6 | Spara 7 | Kompilera om filen grbl.hex. Jag använde min Raspberry Pi att kompilera om hex. Om saker går fel har jag inkluderat den ändrade hex filen för dig nedan. Måste du flash din Arduino med nya hex. Om allt har fungerat, och alla inställningar konfigureras korrekt bör du kunna köra homing cykeln ($H) och se MicroSlice noll själv och så ska du vara redo att gå skapa!
#define HOMING_SEARCH_CYCLE_0 ((1<