.. vim: set noexpandtab fileencoding=utf-8 nomodified wrap textwidth=200 foldmethod=marker foldcolumn=4 ruler showcmd lcs=tab\:|- list:
:date: 2020.06.12 22:50:15
:tags: Cobra-Mk3,gentoo,HowTo
:authors: Gilhad
:summary: Jak gravírovat/řezat laserem
:title: Laser gravírka - jak na to
%HEADER%
Stažení potřebných věcí
================================================================================
Podle ``_ budu používat ``_
Inkscape
--------------------------------------------------------------------------------
Program pro vektorovou grafiku - tady si budu kreslit, co chceme vypálit
.. code::
emerge -avq media-gfx/inkscape
spustím jako user, aby se udělaly potřebné adresáře a rovnou si nainstaluju i ``_ ``_ - obsah patří do ~/.config/inkscape/extensions/
.. code::
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
.. image:: images/laser-JFU.png
:alt: laser JFU nastavení
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)
.. code::
Device Drivers --->
[*] USB support --->
USB Serial Converter support --->
[*] USB Generic Serial Driver
USB Winchiphead CH341 Single Port Serial Driver
USB CP210x family of UART Bridge Controllers
a možná všechny
.. code::
###############################
# /etc/portage/package.use/bCNC
###############################
dev-lang/python tk
.. code::
###############################
# /etc/group
###############################
usb:??:gilhad
uucp:??:gilhad
.. code::
emerge -avq dev-python/pyserial
.. code::
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
Konfigurace
--------------------------------------------------------------------------------
.. image:: images/laser-config.png
:alt: config
.. image:: images/laser-controller.png
:alt: controller
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
.. code::
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.
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í.
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)
.. code::
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
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
.. code::
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
.. code::
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