.. 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