Cobra MK III
Můj nový počítač
Laser gravírka - jak na to
2020.06.12 22:50:15 Cobra-Mk3 gentoo HowTo Gilhad

1   Stažení potřebných věcí

Podle http://robodoupe.cz/2017/mini-laserova-gravirka-a-rezacka/ budu používat https://www.aliexpress.com/item/32844498227.html

1.1   Inkscape

Program pro vektorovou grafiku - tady si budu kreslit, co chceme vypálit

emerge -avq media-gfx/inkscape

spustím jako user, aby se udělaly potřebné adresáře a rovnou si nainstaluju i http://www.fucik.name/hw/laser/jfu_laser.php http://www.fucik.name/hw/laser/JFU_Laser_Tool_V1_9.zip - obsah patří do ~/.config/inkscape/extensions/

inkscape
wget http://www.fucik.name/hw/laser/JFU_Laser_Tool_V1_9.zip
unzip -x JFU_Laser_Tool_V1_9.zip -d ~/.config/inkscape/extensions/
sed -i "s/M18//" ~/.config/inkscape/extensions/laser.py # fix, M18 se mi hlásí jako chyba
  • Vypaluje se podle vrstev, odshora.
  • Toolsy se rády schovávají, ale Alt+Tab je najde, i když nejsou v seznamu oken.
  • Extensions/Render/Heshey Text má single-stroke písma
  • Texty je potřeba rozbít kliknutím a Shift+Ctr+C (Path/Object to Path) a pak Shift+Ctr+G (Object/Ungroup)
  • Opacity se dělá označením a O vlevo dole na liště, kam se dají procenta
  • Extensions/Generate laser Gcode/JFU laser tool
laser JFU nastavení

1.2   bCNC + grbl

  • bCNC je program pro ovládání CNC zařízení pomocí G-kódů, potřebuje
  • grbl je program pro Arduino, který akceptuje G-kódy, instaluje se 'avrdude -v -patmega328p -Uflash:w:grbl_v1.1f.20170801.hex:i -carduino -b 57600 -P /dev/ttyUSB*', ale do té číny ho cpát nebudu (teda, asi jsem ho tam nenacpal)
Device Drivers  --->
  [*] USB support  --->
    <M>   USB Serial Converter support  --->
      [*]   USB Generic Serial Driver
      <M>   USB Winchiphead CH341 Single Port Serial Driver
      <M>   USB CP210x family of UART Bridge Controllers
      a možná všechny
###############################
# /etc/portage/package.use/bCNC
###############################
dev-lang/python tk
###############################
# /etc/group
###############################
usb:??:gilhad
uucp:??:gilhad
emerge -avq dev-python/pyserial
mkdir -p ~/GitHub
cd ~/GitHub
git clone https://github.com/vlachoudis/bCNC.git
git reset --hard ee56744 # Tohle zaručeně chodí, zcela nové mi padalo
git clone https://github.com/gnea/grbl.git

1.4   Ostření

Když už se mi laser hlásí, je ho potřeba zaostřit. Nakonec jsem to vyřešil ručně, protože původní plán s nakloněnou rovinou moc nefungoval - propaloval jak divý a papír hořel, navíc výrazně víc záleželo na vlastnostech papíru, než na zaosření. Tak jsem zkoušel různá nastavení při pomalé jízdě (kdy se dalo točit čočkou), až jsem došel do stavu, kdy to bylo dost na hraně - při větší změně ostření to nepálilo vůbec, při menší to dělalo stejně tlustou čáru - vlasově tenké linky jsem nedosáhnul, stejně jako se mi nepodařil "jen začerněný" papír, ještě uvidím při vyšších rychlostech pohybu (když jsem omylem hnul papírem, občas zůstala černá čmouha).

Tady je kód pro 19mm čáru na obálce

M05 S0

G90
G21
G1 F3000
G1  X0. Y0.
G4 P0
M03 S26
G4 P0
G1 F100
G1  X0. Y19.
G4 P0
M05 S0

Rychlost 100, výkon (0..255 rpm) 26 - 24 ještě nic, 28 už tvrdě pálil - (šel jsem přibližně půlením intervalu) - rychlost v reálu dám vyšší, pokud nejde o tlusté dřevo (3mm smrk mi to kdysi řezalo a zapalovalo), tak budu zkoušet, jak ještě rychle můžu jet, než ztratím přesnost, a doladím výkon RPM úměrně potřebě reálného výkonu k pálení kartonu.

1.5   Resumé

RPM jde do 255, rychlost do 3.000 pro dlouhé pohyby, ale nemá to sílu, 600 řeže kartón skrz (asi i podle druhu), opacity 20% a míň v Inkscapu je pro čitelné písmo (rpm 255, pálení 600). Rychlost 1.000 je pořád hezké písmo.

255 RPM + rychlost 100 propaluje 4mm smrkového prkna skrz (s drobným přesahem) - asi si pořídím odsávačku z větráku, toho dýmu je dost a bude se hodit i na pájení.

1.6   Rozbor G-kódu

Tady je plný kód vygenerovaný (a mnou okomentovaný) pro obdélník - štítek na skříňku Mars (rychlost a síla jsou špatně zvolené, papír hoří plamenem)

M05 S0                    # M05 Spindle stop
                          #
G90                       # G90 =  Absolute programming
G21                       # G21 =  Programming in millimeters (mm)
G1 F3000                  # G1 = Linear interpolation(GOTO) Fxxx Defines feed rate (3000 here)
G1  X0. Y0.               # GOTO X=0.0, Y=0.0 (=origin)
G4 P0                     # G04 (Dwell = wait) P0 (=0ms?? Mě vychází, že je to v sekundách...) (WAIT)
M03 S12000                # M03 = Spindle on (clockwise rotation); Sxx = rpm (12000 here)
G4 P0                     # WAIT
G1 F100.000000            # GOTO @ 100 speed
G1  X0. Y19.              # GOTO (0;19)
G4 P0                     # WAIT
M05 S0                    # M05 Spindle stop; Sxx rotation (0 here)
G1 F3000                  # GOTO @ 3000 speed
G1  X0. Y19.              # GOTO (0;19) ?WTF? tam už bych měl být, přece ... možná nějaká legrace s křivkama a pořadím?
G4 P0                     # WAIT
M03 S12000                # Spindle 12000 rpm
G4 P0                     # WAIT
G1 F100.000000            # GOTO @ 100 speed
G1  X38. Y19.             # GOTO (38;19)
G4 P0                     # WAIT
M05 S0                    # Spindle STOP
G1 F3000                  #
G1  X38. Y19.             #
G4 P0                     # WAIT
M03 S12000                #
G4 P0                     # WAIT
G1 F100.000000            #
G1  X38. Y0.              # (38;0)
G4 P0                     # WAIT
M05 S0                    # Spindle STOP
G1 F3000                  #
G1  X38. Y0.              #
G4 P0                     # WAIT
M03 S12000                #
G4 P0                     # WAIT
G1 F100.000000            #
G1  X0. Y0.               # (0;0) uzavřený obvod
G4 P0                     # WAIT
M05 S0                    # Spindle STOP
G1 F3000                  #
G1 X0 Y0                  # Návrat na začátek
M18                       # ??? WTF? na tom mi to vyhazuje chybu

1.7   Vlastní programování

Štítek síla jen asi do 255(rychlost 3000 jen tence kreslí, 1000 propálí tence jednu vrstvu obálky, druhou jen místy, karton taky, ale v X řeže, v Y skoro (90%) a líp zaostřit nejde při 600 řeže plně i Y, )

ŠTÍTEK

M05 S0                # STOP
G90                   # absolute
G21                   # metric
G1 F3000              # JUMP to origin
G1  X0. Y0.           #
M03 S255              # POWER 255 (full)
G1 F1000              # GO fast (100 pro ořez)
G1  X0. Y19.          # obdélník
G1  X38. Y19.         #
G1  X38. Y0.          #
G1  X0. Y0.           #
M05 S0                # STOP

ORIGIN

M05 S0                 # STOP
                       #
G90                    # absolute
G21                    # metric
G1 F3000               # GO extra fast
G1  X0. Y0.            # to origin
G4 P0                  # WAIT
M03 S1                 # POWER 1
G4 P4                  # WAIT 4
G1 F1000               # GO fast
G1  X0. Y10.           # do cross +/-10
G1  X0. Y-10.          # vertical
G1  X0. Y0.            #
G1  X10. Y0.           # and horizontal
G1  X-10. Y0.          #
G1  X0. Y0.            #
G4 P2                  # WAIT 2
G1 F1000               # GO fast
G1  X0. Y10.           # cross again
G1  X0. Y-10.          #
G1  X0. Y0.            #
G1  X10. Y0.           #
G1  X-10. Y0.          #
G1  X0. Y0.            #
G4 P2                  # WAIT 2 (in origin)
M05 S0                 # STOP