Configuration - jasonwebb/grbl-mega-wall-plotter GitHub Wiki

Update the DEFAULTS_WALL_PLOTTER group in defaults.h to match your specific setup.

  • DEFAULT_X_STEPS_PER_MM - number of steps on A motor required to feed out/in 1mm of string. See note below.
  • DEFAULT_Y_STEPS_PER_MM - number of steps per mm for B motor. Should be the same as previous line. See note below.
  • DEFAULT_Z_STEPS_PER_MM - number of steps on Z axis motor required to move gondola away from the drawing surface 1mm. TBD
  • DEFAULT_X_MAX_RATE - maximum speed of A motor in mm/min. See note below.
  • DEFAULT_Y_MAX_RATE - maximum speed of B motor in mm/min. See note below.
  • DEFAULT_Z_MAX_RATE - maximum speed of Z axis in mm/min. TBD
  • DEFAULT_X_ACCELERATION - maximum acceleration of A motor in mm/sec^2. See note below.
  • DEFAULT_Y_ACCELERATION - maximum acceleration of B motor in mm/sec^2. See note below.
  • DEFAULT_Z_ACCELERATION - maximum acceleration of Z axis motor in mm/sec^2. TBD
  • DEFAULT_X_MAX_TRAVEL - machine width in mm. See note below.
  • DEFAULT_Y_MAX_TRAVEL - machine height in mm. See note below.
  • DEFAULT_Z_MAX_TRAVEL - maximum Z axis travel. TBD
  • DEFAULT_STEPPER_IDLE_LOCK_TIME - what should this value be?
  • DEFAULT_JUNCTION_DEVIATION - what would changing this do?

All of the other defaults should be left alone. If you think any should be listed here please let me know.

Calculating steps per mm for A and B motors

This page in the original Grbl wiki describes how to calculate steps per mm in general using the following formula:

Steps per mm = (Steps per revolution * Microstepping factor) / Millimeters per revolution

The most appropriate method to find the number of millimeters per revolution depends on what type of pulley your system uses. Compared to CNC mills/routers there are many more types of pulleys used in wall plotters, including standard toothed pulleys for timing belts, large and smooth reels for strings, toothed sprockets for chains, and scalloped wheels for beaded cord.

In each case what you are looking to find is the effective circumference of your pulley. There are specific equations for each different kind of pulley that can help you determine this, but if you are making your own (e.g. with 3D printing) then you will need to determine this yourself.

Choosing a maximum speed for A and B motors

At first its best to choose a relatively low number such as 2000-3000 mm/s. From there it should be easy to determine optimal speeds through real-time experimentation of feedrate using a quality host controller package such as Candle or GRBLWeb.

Makelangelo claims speeds in the range of 6000-9000 mm/s.

Choosing acceleration rate for A and B motors

Acceleration rate = Desired change in speed in mm/min * 60s * 60s

Example Acceleration rate = 250 * 60 * 60 // 900000

Finding the maximum machine width and height

Refer to the Kinematic model overview page to find out what is expected for these values.

An accurate value for DEFAULT_X_MAX_TRAVEL (machine width) is critical for the conversion calculations between X,Y coordinates and line lengths.

Currently the DEFAULT_Y_MAX_TRAVEL (machine height) is not used, though you may find it help to use an accurate value here for your own reference. In the future this could conceivably be used in the calculation of soft limits, but that is not currently planned.