Generic selectors
Exact matches only
Search in title
Search in content

Introduction to CNC for a Total Novice Tuning GRBL Settings

Laser GRBL logo

Part of a series by Graham Bland

Contents

What this covers (supposedly)

At the end of the GRBL configuration page it says the following:

Finally, tune your settings to get close to your desired or max performance. Start by ensuring your $100,$101, and $102 axes step/mm settings are correct for your setup. This is dependent on your stepper increments, micro steps on your driver, and mechanical parameters. There are multiple resources online to show you how to compute this for your particular machine, if your machine manufacturer has not supplied this for you.

Tweak your $12x acceleration and $11x max rate settings to improve performance. Set to no greater than 80% of absolute max to account for inertia, cutting forces, and motor torque reductions with speed. Set your $13x max travel settings if you plan on using homing or soft limits. It’s recommended to enter something approximately close to actual travel now to avoid problems in the future.

$100-2 have already been covered in ‘Introduction to CNC for a Total Novice – Getting Started’ along with some other settings. That leaves the acceleration and max rate settings. I am also including Spindle speeds here as well as some others.

NOTE: the acceleration settings section is duplicated in ‘Introduction to CNC for a Total Novice – Setting up a Laser’ as it makes such a difference when using a Laser.

Introduction

Why bother, just use the defaults, they work!

Yes they do, mostly, but I first noticed when using a Laser to engrave that the ends of any line were burnt more than the middle, after a lot of investigation I decided that most if not all of this effect was caused by Grbl slowing down the feed rate at the start and end of the lines.

Or in other words accelerating the laser as it travelled across the line as controlled by the $12x acceleration parameters. On playing around with these I also discovered that apart from much cleaner lines the time taken to run a job was greatly reduced, by around 30%, but this is very dependent on the actual job.

The router motherboard was probably not made for your specific router, it was designed for and is normally set up for a generic router. Your supplier may configure some of the settings for the specific router, but it seems that a lot do not. If you are buying just the board as a replacement or an upgrade then the supplier is not normally going to provide it pre configured for your router.

Endurance means high-quality laser and ultimate tech support

Getting them right makes things work much faster without any unwanted side effects. (As far as I can see)

Settings covered

  • $120-2 Acceleration settings. These are also covered in ‘Introduction to CNC for a Total Novice – Setting up a laser’. I will duplicate those here as they apply to using a spindle as well.
  • $110-2 Maximum feed rate.
  • $30 and $31 Spindle RPM.
  • $130-2 Maximum travel settings along with homing and soft limits are covered a bit superficially. I have a standard 3018-PRO without limit switches so they do not apply to my router.

WARNING: All my observations are based on Grbl 1.1.f. There are many possible configuration options which your board manufacturer or distributor could have changed. All observations are taken using a Woodpecker CamxTool 3.4 router motherboard from SainSmart on m unmodified SainSmart Genimitsu 3018-PRO. Using either LaserGRBL (with a SainSmart 5.5W Laser Module) or Candle as appropriate on my PC. Although the methods I used to determine what setting changes mean are probably applicable to all Grbl routers and Laser Cutters. This gives a very low sample size, in fact a sample size of ONE, so please do not accept any figures or other results blindly.

I am producing this as a document, mainly because It is an edited series of notes I made, partly because I am tired of watching instructional videos on YouTube which play at Mach 2 and so I am constantly stopping, rewinding and re-watching. Also I have been told I have a body made for Radio, a voice most suited to the Deaf and I still haven’t worked out how to use the video camera on my phone properly.

Disclaimer

Yeah nowadays it has to be included, and it makes sense as I accept NO liability for anything I may say, write or think.

  1. I am a total novice (or was when I started out). I MAKE NO CLAIM THAT ANYTHING I SAY IS CORRECT! All this is based on searching the Internet, forum comments and my own experiences.
  2. This is based solely on the one I have, if there are variations or different versions out there I have not seen them.
  3. If you have and are using a Laser module, even the lowest powered is powerful enough to destroy your vision completely, and that of any pets, children, spectators etc. SO EXCLUDE THEM AND USE THE GOGGLES!
  4. These are power tools, sharp pieces of metal designed to cut things while rotating at high speed and throwing small bits away also at high speed. Keep everybody’s fingers out! A wood chip flying up your nose is nothing to be sneezed at, never mind in one of your eyes.
  5. Take account of the materials you are using and take adequate precautions, dust and ashes can be harmful.
  6. I work in mm. Why anyone still uses inches for design work is a mystery. But then I still think of temperatures in Fahrenheit, anything beyond 100m in miles and property plot sizes in acres!
  7. I have been told by lots of people that my sense of humour is at the least a bit strange. I do not apologise for it.

Any corrections, clarifications or discussion welcome. You can find me on the Facebook SainSmart Genmitsu CNC Routers Group as Graham Bland. https://www.facebook.com/groups/SainSmart.GenmitsuCNC/

Accompanying files

NOTE: Facebook has a problem, it will not allow compressed (.zip, .gz, ) to be uploaded to the

Files section of any group, but it bases this decision solely on the file extension, not the contents.

It is easy to bypass this by changing the file extension before uploading, I use .zip files, and rename them to .zipp This means that after downloading you will have to reverse this by renaming any xx.zipp file to xx.zip, windows will issue warnings that you are probably going to make the file unusable, just ignore it and rename anyway. Then you can open and extract the files as you wish.

So you there may be 2 versions in the files section. One an xx.pdf which is just this document, and if there are any accompanying files with it an xx.zipp with the .pdf and everything else.

Accompanying files for this section are:

TracingTest GCode-V2.xlsxExcel spreadsheet which generates simple GCode used for testing the

settings, mainly the acceleration test is relevant here.

AccelTest.ncSample GCode file for the acceleration tests
1sainsmart.ncSample GCode file to engrave ‘sainsmart’ used with a max spindle

speed of 1000

1sainsmart8000.ncSample GCode file to engrave ‘sainsmart’ modified for a max spindle

speed of 8000

dragon.ncSample GCode file of a dragon engraving with a max spindle speed of

1000. (NOTE: pretty but takes 3+ hours to complete)

Dragon8000.ncSample GCode file of a dragon engraving with a max spindle speed of

8000

Viewing and changing your settings

Load Candle (other software is available, I mainly use Candle) on your PC and connect to your router.

Locate the Console Command box and send $$ to the router, this will return a series of $x=y lines where x is the parameter number and y is the current value.

To change a setting send a command of $x=y to the router, this will change the setting and store it until you specifically change it again. For example to turn Laser Mode off send $32=0.

Saving your settings

In the words of a man who some would call wise

(Only on a dark foggy night never having met him before and without the benefit of hindsight) Before you start a journey first put a cross on the map marking where you set out from. That way returning home will be much easier!

Me -Just now!

Seriously though before you start to make changes, save your settings! Send a $$ command and it will return them all. Copy and paste them into a text editor and save the file as ‘BeforeIScrewedEverythingUp.txt’ or something similar so that you can easily go back to the starting position if needed.

$120-2 Acceleration settings

From the Grbl Configuration guide:

$120, $121, $122 – [X,Y,Z] Acceleration, mm/sec^2

This sets the axes acceleration parameters in mm/second/second. Simplistically, a lower value makes Grbl ease slower into motion, while a higher value yields tighter moves and reaches the desired feed rates much quicker. Much like the max rate

setting, each axis has its own acceleration value and are independent of each other. This means that a multi-axis motion will only accelerate as quickly as the lowest contributing axis can.

Again, like the max rate setting, the simplest way to determine the values for this setting is to individually test each axis with slowly increasing values until the motor stalls. Then finalize your acceleration setting with a value 10-20% below this absolute max value. This should account for wear, friction, and mass inertia. We highly recommend that you dry test some G-code programs with your new settings before committing to them. Sometimes the loading on your machine is different when moving in all axes together.

My default Value was 30 mm/sec/sec often expressed as mm/sec2, they both mean the same.

If you imagine cutting a straight line starting from rest Grbl uses the acceleration values to control the increase in speed of the spindle up to the desired feed rate and to slow down towards the end of the line.

So:

Time taken, in seconds, to achieve full feed rate starting from zero
Feed RateAcceleration (mm/sec/sec)
(mm/min)(mm/sec)30501005001,0005,00010,000100,000
100016.670.5560.3330.1670.0330.0170.0030.0020.000
75012.500.4170.2500.1250.0250.0130.0030.0010.000
5008.330.2780.1670.0830.0170.0080.0020.0010.000
2504.170.1390.0830.0420.0080.0040.0010.0000.000
751.250.0420.0250.0130.0030.0010.0000.0000.000

This table shows the effect of acceleration values on the time for the router to get up to speed depending on the feed rate assuming the spindle or laser is at rest to start with. So if you start a line from rest at a feed rate of 1000 with an acceleration of 30mm/sec2 it will take over ½ a second before it is at full speed. No wonder the burn when using a laser is heavier!

I do apologise that most of the examples used are with a Laser. That is just because if you are using a bit in a spindle the only benefit you will see is decreased times to perform a job. With a laser the effects are just more obvious. Grbl does include compensation for the laser over burning as it accelerates when Laser mode is set, but IMHO it doesn’t work very well.

These settings ONLY determine the acceleration of the spindle along the axes, letting the spindle reach its specified rotational speed is totally separate. Consider making an ‘air cut’ for a few mm

before encountering the stock, the spindle would already be rotating at full speed and moving at the specified speed before encountering the stock – no problem there.

Remember the board could be trying to move a big spindle motor, for bigger machines maybe 5Hp rather than the little one we have and 5 horses weigh a lot, also a much bigger and heavier bed, larger stock. ! I must admit that if I was responsible for the default values I would be very conservative as well.

Unless you are only moving the spindle along in a single axis at a time the acceleration values on all the axes it is moving in will affect each other. Imagine a 45˚ movement on X and Y, the spindle can only be accelerated as the lower of the X and Y accelerations to keep the line straight. So I need to find hopefully a common value which works for all of them.

I started by setting the X axis acceleration from the default of 30 mm/Sec2 to 50. The instructions say to listen for the stepper motor stalling when it is being asked to do too much work. Well apart from possibly an initial click, which I surmised came from the anti backlash nut moving slightly, no problem.

Well to cut a long story short I rapidly reached an acceleration value of 100,000mm/Sec2 on the X axis without any visible or audible evidence of stalling the stepper motor (with the SainSmart 5.5W laser fitted). TOO EASY! All things that are too easy are wrong 99.99% of the time! Perhaps the stepper motors stalling under acceleration is not easily determined by eye or ear? And why a default value of 30 should be set if a possible correct value could be 100,000! (But then I remembered this is a small machine and default settings should always be conservative)

So back to the TracingTest Gcode generator spreadsheet. I thought I would engrave a series of shapes like this:

20mm square by default, it mixes horizontal, vertical, diagonal and circle movements, G0 (rapid non cutting movements) and G1 (cutting movements) so it should be fairly easy to see if the stepper motors are stalling and missing steps by the lines becoming misaligned.

NOTE: The circle is only approximately aligned with the lines, nowadays even thinking about trigonometry tends to drive me to drink! So let the intersection of the diagonals AC and BD define the midpoint of the circle…….

A series of these cannot be cut in a single .nc file as Grbl objects (quite rightly) to changing parameters such as $120 in the middle of a GCode file. So the file ‘LaserAccelerationTest-xxx.nc’ produced from the spreadsheet just sets the acceleration ($120-122) values to xxx and draws a single shape, then positions the laser ready to start another one to its right.

.nc files are also provided for testing with a spindle motor and an engraving or V bit, these are SpindleAccelerationTest-xxx.nc

Get the best laser from Endurance lasers

If you want your own values in the .nc file for your own tests either edit one of the .nc files to change the $120-122 lines between each box or delete these lines completely and change the settings before each run manually using console commands. Using the spreadsheet is easier but you have to have MS Excel.

So:

  • Set the WCS origin position.
  • Run the program.
  • Load the next .nc file with higher acceleration values.
  • Repeat.

The WCS origin for this is the bottom left. Any missed steps will be cumulative and should be easily visible (well not 1 or 2 steps but you know what I mean).

I ran a set of samples using a 5.5W Laser at varying accelerations, this will only test the X and Y axes but that should be a good start. To stress things further I ran the tests with a 3.15kg weight (OK it was a wine box but it was not harmed during this experiment) on the bed. As far as acceleration goes this should put a greater strain on the Y axis.

These are the results: From top left the acceleration values are 30,60,120,200,500 then on the second row 750, 1,000 5,000 10,000 and 100,000.

The tests were run using a piece of 3mm card (I didn’t want it to burn through). I expected this to show up deviations first on the Y axis by trying to accelerate the mass.

Examining this (and please excuse the photography), at my default of 30 mm/sec2 all of the vertices are over-burnt, including the circle (which starts cutting on its middle left). At an acceleration of 500 mm/sec2 (top right) all of this has largely disappeared and the cut is much cleaner. 5,000 mm/sec2

sees the last vestiges of a thicker line on the left of the circle disappear, From then on no real discernible difference for this test, and I am looking at the original, not the photo!

But no misalignment of the lines which means no missed steps!

A very pleasant side effect is that the job time went from 32 seconds with the acceleration set at 30 mm/sec2 to 21 seconds at 5000 mm/sec2.

Not at first really believing these results I decided to run my boxes test, at 3 acceleration settings- 30(default) 500 and 100,000 mm/sec/sec. (File is LaserDrawBoxes.nc The acceleration values have to be set manually before each run)

At 500 mm/sec2 there are still some faint dots at the marginal corners, at 100,000 mm/sec2 these have all disappeared. No missed steps!

I have now set my $120-122 values to 5,000 mm/sec2.

$110-2 Maximum feed rate

From the Grbl Configuration guide:

$110, $111 and $112 – [X,Y,Z] Max rate, mm/min

This sets the maximum rate each axis can move. Whenever Grbl plans a move, it checks whether or not the move causes any one of these individual axes to exceed their max rate. If so, it’ll slow down the motion to ensure none of the axes exceed their max rate limits. This means that each axis has its own independent speed, which is extremely useful for limiting the typically slower Z-axis.

The simplest way to determine these values is to test each axis one at a time by slowly increasing max rate settings and moving it. For example, to test the X-axis, send Grbl something like G0 X50 with enough travel distance so that the axis accelerates to its max speed. You’ll know you’ve hit the max rate threshold when your steppers stall. It’ll make a bit of noise, but shouldn’t hurt your motors. Enter a setting a 10-20% below this value, so you can account for wear, friction, and the mass of your workpiece/tool. Then, repeat for your other axes.

NOTE: This max rate setting also sets the G0 seek rates.

My default Values were $110=1000, $111=1000, $112=800 mm/min.

Why does the Z axis have a lower default value?

Well the documentation says it is ‘typically slower’ But on a 3018-PRO it has the same pitch on the

threaded rod and the same stepper motor and motor driver so I don’t think this applies to the 3018- PRO.

The Z axis movement speed would typically match up to the Plunge rate, the rate the bit heads straight down into the stock. Too fast would be – well Bad!

But remember these are Maximum rates; they won’t make the slightest bit of difference unless your GCode specifies a feed rate greater than the maximum, in that case the maximum feed rate will be used instead.

    • Max feed rate is 1000, GCode feed rate is 600, 600 is used.
    • Max feed rate is 1000, GCode feed rate is 2000, 1000 is used.

Well there is a bit of a difference, they also act as the default G0 (non cutting move) movement rate!

But that shouldn’t make a difference!

A very simple Feed rate test

The Maximum Feed rate is how fast the router can be told to move one or more axes without the motor missing steps. So here is a method to find out what this is.

    • Open Candle and connect to the router.
    • Set the $110-2 values to something high, 3000 should be plenty, by sending $110=3000

$111=. as separate commands to the router. If you don’t do this the existing max

federate settings will override any higher values rendering this test useless!

    • Position the spindle somewhere towards the middle on all axes.
    • Set the Jog Step to 10mm, other values are fine and work but 10mm is enough.
    • Set the Jog feed rate to the value to test, I suggest starting at 1500 and going up in 100’s to start with.
    • Now Jog left then right (or right then left, it doesn’t matter) and see what happens.
    • If everything works fine, no funny noises and more importantly the spindle moves as expected, increase the feed rate and try again.
    • Eventually as the feed rate gets larger you will hear the stepper motor make a squeaky noise and the axis will not move properly. You have now exceeded the feed rate on the axis!
    • Make a note of the number or try different feed rates between the last value that worked and the one that failed. Then make a note of the highest number that worked with the axis you were testing.
    • NOTE: Often going back to the previously good value may fail the first time, I think this is down to Grbl or Candle though so try it a few times and make a judgement.
    • We are not trying to be exact here as when this process is finished we are going to apply a margin for safety so it’s not really important if it’s 2249 or 2251.
    • Repeat for the Y and Z axes.

You should now have 3 values, one for each axis, which is the highest number it worked at reliably.

These values should be pretty much the same, if they are significantly out you may have a problem with an axis binding somewhere.

These are the values I ended up with; I used final steps of 50:

X2100
Y2200
Z2150

To determine the maximum Feed rate to use:

    • Take the Lowest value
    • Multiply it by 0.8 to reduce it by 20% for safety.
    • Round it to a convenient number, I don’t really want to set the values to 2014.95, 2000 will do.

This is your new maximum federate value, set this by sending $110=yyyy then $111=yyyy then

$112=yyyy to your router.

Now as a final test jog the spindle around to the (near) limits of travel on all the axes, there should be no problems at all.

I have now set my $110-112 values to 1600 mm/min.

$30 and $31 Spindle RPM

From the Grbl Configuration guide:

$30 – Max spindle speed, RPM

This sets the spindle speed for the maximum 5V PWM pin output. For example, if you want to set 10000rpm at 5V, program $30=10000. For 255rpm at 5V, program $30=255. If a program tries to set a higher spindle RPM greater than the

$30 max spindle speed, Grbl will just output the max 5V, since it can’t go any faster. By default, Grbl linearly relates the max-min RPMs to 5V-0.02V PWM pin output in 255 equally spaced increments. When the PWM pin reads 0V, this indicates spindle disabled. Note that there are additional configuration options are available in config.h to tweak how this operates.

$31 – Min spindle speed, RPM

This sets the spindle speed for the minimum 0.02V PWM pin output (0V is disabled). Lower RPM values are accepted by Grbl but the PWM output will not go below 0.02V, except when RPM is zero. If zero, the spindle is disabled and PWM output is 0V.

NOTE: The 0.02V and 5V referred to here is the output of the Arduino processor which works at 0-5V, on the router motherboard this is then fed into an ‘amplifier’ which converts into the 0-24V fed to the spindle motor. Just mentioning it.

My default Values are $30=1000, $31=0 RPM.

Maximum spindle Speed – $30

Unfortunately changing the maximum spindle speed will not make your spindle rotate any faster!

First a simplistic PWM refresher: Pulse Width Modulation is turning the output on and off very rapidly, in this case to simulate an output power or voltage, this is what drives the Spindle motor or Laser. When it’s totally on the power is 100% equivalent to 24V, when it’s all off the power is zero, equivalent to 0V. If in the middle then it’s on half the time and off the other half so that would be 50% power, equivalent to 12V.

The Grbl motherboard can alter this in a total of 255 steps from 0 which is always off to fully on. So if the maximum spindle speed is 1000 then the ‘speed’ will rise in steps of approximately 4 RPM.

Why is the maximum Spindle speed normally set to 1000?

Most of this is based on speculation on my part but it sounds logical to me (Also it is only marginally relevant).

Grbl was designed as a small and cheap CNC controller, it still is. It is not specific to any manufacturer, make or model. As such it has a set of values for parameters like this which by default are set on the conservative side so 1000 was selected as the default value for the Spindle speed.

Most people don’t change these values, they are more concerned with the results and for nearly all measuring the actual spindle speeds achieved by their machine is not an option.

I suppose it’s like if your Car has a speedometer calibrated in kph or mph. The speed you are travelling at is the same, it’s just the number that is different!

Speed and feed rates and examples for these machines are also shared and reused.

So 1000 has taken root as the standard value. It also works better across a range of machines, if your max spindle speed is 10,000 and mine is 5,000 then using a common value of 1,000 makes it easier to share the experience rather than me trying spindle speeds of above 5,000 which my machine cannot achieve.

Whatever!

Now the ‘standard’ spindle motor on the 3018-PRO at full power (24V) rotates at just over 8,200 RPM under no load.

I say ‘Standard’ but the 775 designation of the spindle motor is generic, it’s a cheap motor and may have variances both in manufacture and by manufacturer. Some will undoubtedly be better than others. Some specs say 12,000 RPM at 12V, others say 8,000 RPM at 24V, some say 4,500 RPM at 12V! It’s like the 1.6 litre engines in cars, the engine in a F1 car can generate around 1,000HP, the one in your car, not quite so much!

SainSmart seems to supply a motor with the 3018-PRO giving 8,250 RPM at 24V (thanks to Steve Harhai for measuring his for me.) Based on a sample size of only ONE.

So as far as I can see there are some Pros and Cons here on changing this value.

  • Makes it easier to understand what is actually going on.
  • If using a speed and feed calculator or guide you should use the actual RPM.
  • It makes portability of GCode across machines easier, if I want the spindle speed to be 4000 then I can set it to that, if another machine has a faster or slower motor then the RPM will stay the same.
  • A lot of Gcode files assume S1000 is the maximum RPM.
  • Others may generate GCode with the same assumption (Guilty as charged)
  • It affects the Laser power as well

Personally I am going to set my $30 value to 8,000 and make sure that the maximum laser power is set the same in any software I may use to generate GCode for a Laser. I chose 8,000 rather than 8,250 as its close enough and any maths to convert from the 1,000 limit to the 8,000 limit is much easier.

Minimum spindle Speed -$31

It sets the speed below which the spindle will turn at its slowest possible RPM. As mentioned before the controller changes the speed in a series of steps, anything below this value (excluding 0) will turn the spindle at its lowest possible speed.

I cannot see why you would change this for a 3018-PRO, just leave it at 0 which means it is disabled. This I think would also affect a Laser if you were to change it.

How is a Laser affected by $30 and $31

I frequently swap the spindle motor and the laser module, so I really want a set of settings which work with both, OK Laser mode ($32) needs changing each time, but I don’t really want to totally reconfigure everything each time I swap them.

Not that it would be a real problem, I could just create a couple of files UseLaser.nc and UseSpindle.nc with the relevant settings to change them. But a part of me says WHY MAKE MY LIFE MORE COMPLICATED?

A laser does not have an RPM, just a power! The GCode ‘standard’ has reused the spindle speed command to also control the Laser power.

My guess is that not many commercial machines expect the operator to take the spindle off and mount a Laser even if it is possible, so not a lot of conflict there, but using both is much more common on hobbyist machines.

So a GCode of S500 with a spindle is supposed to mean 500RPM, if you are using a Laser then the laser power will be set according to the percentage of the $30 setting. If $30=1000 then the laser power setting would be 500/1000 = 50%, if $30=8000 then the laser power setting would be 500/8000 = 6.25%. A big difference!

You need to make sure that any software that you use to generate GCode has the same maximum power setting as the $30 value.

NOTE: Earlier versions of Grbl used to use 255 as the maximum power setting for a laser. This was changed in version 1.1 when Laser Mode was added to be the $30 value. (I think)

I have now set my $30 value to 8000 and left my $31 value as 0.

$130-2 Maximum travel settings

From the Grbl Configuration guide:

$130, $131, $132 – [X,Y,Z] Max travel, mm

This sets the maximum travel from end to end for each axis in mm. This is only useful if you have soft limits (and homing) enabled, as this is only used by Grbl’s soft limit feature to check if you have exceeded your machine limits with a motion command.

BUT The description of the homing cycle also says:

Finally, ensure your $13x max travel settings are somewhat accurate (within 20%), because Grbl uses these values to determine how far it should search for the homing switches.

Only used if you have limit switches fitted (I don’t) and use homing or soft limits (I don’t).

But if you do then set these to the limits of your machine, exactly would be good if you are enabling soft limits.

They seem to be used for 2 purposes.

  1. How far the machine can expect to travel when trying to find the home position during a homing cycle.
  2. Once the home position is set the limits the machine can travel when Soft Limits are enabled.

I think the values for the second purpose need to be more precise! These should take account of the home position, how much travel the limit switches themselves take up, this is due to their

positioning and the ‘bounce back’ value the machine uses once a switch has been triggered….

More will be added if and when I fit limit switches.

Final testing – was it worth it?

In order to try and decide if these changes were worth making I ran some tests.

I used the Sample files 1sainsmart.nc and dragon.nc both on the old settings and with the new settings. You have probably got these files if you have a SainSmart router, if not I have included them.

I had to make some minor tweaks to both .nc files for the new settings and that was the Spindle speed. As I have increased the maximum spindle speed on my router from 1000 to 8000 a .nc filewith a setting of S1000 in it is basically trying to say as fast as it can go, run at the maximum! If I were to run this unmodified after changing the $30 value the GCode would now be saying Run at 1000 RPM rather than my new 8000 RPM maximum spindle speed.

Each file needed a simple 1 line change from S1000 to S8000 using a text editor, the new versions I have included as 1sainsmart8000.nc and dragon8000.nc

Each file was run using the default settings for Feed, Acceleration and spindle speed, I then changed the settings to my new values and ran the 8000.nc version.

All these were run on a piece of scrap old pine which had been first been surfaced to level it and clean it up.

NOTE TO SELF: Next time pick a smaller engraving to run tests with, something with less than 180,000 lines of GCode. But I have started so I will finish!

The results: Well as they say a collection of pixels is worth about 975.6 words, so here are the photos.

I can’t tell the difference between them which is what I expected and hoped for; in fact I’m not even going to bother labelling which is which (The darker marks on the left dragon engraving are just knots and grain in the wood).

BUT:

The times taken to complete them were different by a LOT!

FileTime, Default settingsTime, New settings% Faster, New Settings
1sainsmart0:02:070:01:569%
Dragon3:42:282:49:3731%

Big Difference! I think most of the difference came from the acceleration values and a little from the faster feed rate for the G0 moves. But this is going to be very subjective depending on the type of job you are doing and the GCode you are using hence the differences between the two.

However 9%-31% faster without any adverse effects seems like a good idea to me!

NOTE: I think the Candle estimated time does not take account of any acceleration delays, it’s estimated time for dragon was 2:49:38, I’m not going to quibble about that. But when acceleration plays a part it still reports the same estimate. I think it doesn’t know about or calculate the delays acceleration can cause.

Summary

Firstly I must quote my late Father. One of his favourite sayings was:

“Just because you can do something does not mean that you should!”

But I am changing the following values on my SainSmart Genimitsu 3018-PRO

ValueMeaningFromToBenefits/Affects
$120-$122Acceleration305000Reduced job times and cleaner laser

lines. Nothing else is affected.

$110-$112Max Feed Rates10001600I can go faster if I want to. Nothing

else is affected.

$30Max Spindle Speed10008000More accurate, can use speed and federate more easily. BUT this affects imported GCode and CAM software

settings, especially for a Laser.

$32Laser Mode0-10-1Set to 1 when a Laser is being used, set to 0 when a Spindle motor is

being used.

$130-2Max Travel200/200/200290/170/40Not used without Homing set. But the original values were just so

Wrong!

Acknowledgements

I would like to thank:

    • All those involved (too many to list) in creating Grbl, releasing it as a free to use Open source project and supporting and improving it.
    • Denvi for creating, improving and supporting Candle as a free to use Open source project.
    • Arkypita for creating, improving and supporting LaserGRBL as a free to use Open source project.
    • SainSmart Customer support for all their help and standing behind their product.
    • All members of the SainSmart Genmitsu CNC Users Group on Facebook, both for answering my stupid questions, showing inspiring examples and asking questions that made me think.
    • ………..

This is not intended as a definitive manual but it may help with some of the principles and techniques involved. If nothing else writing this down has clarified my understanding.

Any comments, proofreading, other ideas or discussions welcomed. Regards

Graham Bland.

Stay updated with Endurance newsletter.
I have read and agree with the Endurance privacy policy
Live stream

X

    Individual offer for your goals




    X

      Get a free consultation - leave your contacts