LaserWeb / CNCWeb 4.0 is an application for:
- generating GCODE from DXF/SVG/BITMAP/JPG/PNG files for Lasers and CNC Mills (= CAM Operations)
- controlling a connected CNC / Laser machine (running one of the supported firmwares)
This Application is built for Windows, OSX and Linux (on x86/x64 CPU) and comes with an easy installer. The server part can also be run on a Raspberry Pi.
LaserWeb / CNCWeb 4.0 can be tested on https://laserweb.github.io/LaserWeb4 (w/o machine communication).
https://github.com/LaserWeb/LaserWeb4-Binaries/releases
More info can be found on https://laserweb.yurl.ch/
Credits:
- Peter van der Walt (Project Founder, User Interface)
- Todd Fleming (CNC CAM Modules, WebGL and CAM UI)
- Sebastien Mischler (Dev Backend, Raster Module, SVG Parser)
- Jorge Robles (Settings Module, User Interface, Optimizations)
- Claudio Prezzi (Communications Modules, Server Part)
- Monte Krol (User Interface, Electron Installer)
- Anthony Tamrin (Electron Installer)
- Ariel Yahni (Testing & Documentation)
LaserWeb Basics
Inkscape and LaserWeb Workflow
GRBL 1.1
Please check https://github.com/gnea/grbl/wiki/Flashing-Grbl-to-an-Arduino for instructions on how to update your firmware.
For help on cabling your GRBL board, please visit https://github.com/gnea/grbl/wiki/Connecting-Grbl.
Adjust stepper current
If you didn’t adjust the current of your stepper drivers yet, do it now.
It doesn’t make sense to configure acceleration and max feed when the stepper current is not correct! Set the current to a value where you have good torque but don’t overheat the driver and motor.
See the documentation of your machine or stepper drivers on how to adjust the current. Details can be found on http://reprap.org/wiki/Pololu_stepper_driver_board.
Calculate steps/mm
You need to know how many stepps each axis has to go for 1mm distance. This is depending on pully sizes or spindle pitch and microstepping.
There is a nice calculator on http://www.prusaprinters.org/calculator/#steppermotors.
To find the right acceleration settings, do the following:
- Load our acceleration_test.jpg (right click for download) into LaserWeb.
- Then create a raster operation and change pass to 1 and cut rate to 6000 mm/min
- Generate the gcode.
- Click on COM tab, select the machine port and connect.
- Click on JOG tab. On the lower right of the screen you see the console line.
- Type
$120=1500
into the console line and press shift-enter. This sets your X acceleration to 1500mm/s2. - Run the job.
- If the acceleration is too height, you will hear/see lost stepps on the sides (when changing direction). Then lower the acceleration value by 10% and test again.
- If there was no lost stepps, increase to value by 10% and test again.
- If you found the limit where loosing stepps begins, reduce the value by 15-20% and set it to
$120
and$121
(X and Y axis).
To find the maximum feed settings, do the following:
- Load our feed_test.jpg (right click for download) into LaserWeb.
- Create a raster operation and change pass to 1 and cut rate to 6000 mm/min (= 100mm/s).
- Generate the gcode.
- Click on COM tab, select the machine port and connect.
- Click on JOG tab. On the lower right of the screen you see the console line.
- Type
$110=30000
into the console line and press shift-enter. This sets the max X feed of GRBL to 30000mm/min. - Type
$111=30000
into the console line and press shift-enter. This sets the max Y feed of GRBL to 30000mm/min. - Run the job.
- If the feed is too height, you will hear/see lost stepps during X moves. Then lower the feed vale (in step 2.) by 10% and test again.
- If there was no lost stepps, increase to value by 10% and test again.
- If you found the limit where loosing stepps begins, reduce the value by 15-20% and set it to
$110
and$111
(X and Y axis).
To configure your GRBL based board, you need to be connected with LaserWeb or a terminal program.
In LaserWeb, you can send commands manually with the command line on the bottom right of the screen. After typing in the command, you have to press SHIFT-ENTER
to send it to GRBL.
Send $$
to get a list of the actual configuration. To set a param you have to send $num=val
(ex. $10=0).
Make sure the following values are set:
$10=0 ;send work coordinates in statusReport
$30=1000 ;max. S-value for Laser-PWM
$31=0 ;min. S-value
$32=1 ;Laser Mode on
$100=160 ;steps/mm in X, depending on your pulleys and microsteps
$101=160 ;steps/mm in Y, depending on your pulleys and microsteps
$102=160 ;steps/mm in Z, depending on your pulleys and microsteps
$110=10000 ;max. rate mm/min in X, depending on your system
$111=10000 ;max. rate mm/min in Y, depending on your system
$112=10000 ;max. rate mm/min in Z, depending on your system
$120=1000 ;acceleration mm/s^2 in X, depending on your system
$121=1000 ;acceleration mm/s^2 in Y, depending on your system
$122=300 ;acceleration mm/s^2 in Z, depending on your system
$130=400 ;max. travel mm in X, depending on your system
$131=300 ;max. travel mm in Y, depending on your system
$132=100 ;max. travel mm in Z, depending on your system
$$ ;to check the actual settings
(see https://github.com/gnea/grbl/blob/master/doc/markdown/settings.md for more details).
We use this software in house on our Laser Diode Engraver and it works really well. We use GRBL 1.1 on an Arduino UNO and CNC shield.