Skip to content

Configuring the driver

Shai Seger edited this page May 8, 2020 · 17 revisions

Setup for configuration

Before running the CNC, the the CNC driver must be configured. If it is still connected, disconnect the ST-Link programmer from the board. It will not be needed until a new firmware is available.
As said, the driver is based on grblHal firmware, as the original grbl is rather limited.
Connect the driver to the PC using a standard USB to USB micro cable. The driver need not be connected to the CNC machine at this stage. Let Windows recognize the device, if all is good, it will appear at the device driver as a new COM port device.

Running the software

It time to lunch the software. Make sure you downloaded and extracted the latest release of grblCNC. From the release folder run GrblCNC.exe. After the program is lunched, it will search for the grbl Driver, once found, the icon will become green, denoting a successful connection is made.
This is what should be seen:
Main Screen

Configuring grbl

To begin configuration press the button. This will pop the following window. The settings shown are the default settings on the driver.
config general
For correct operation of the software with the driver, it is best to start with the following initial configuration:

  • Download the InitialConfig (right click on the link -> save as...)
  • In the configuration dialog click on Load button.
  • Select the grblconf_initial.txt configuration file and open it.
  • Changes from the default configuration will be marked yellow.
  • Click Program! button to upload the new configuration to the driver.

Fine tuning the configuration

Now you need to adapt the settings to your specific CNC machine. The settings dialog is divided to categories that can be selected from the left. Following is an explanation of the important settings:

General settings

(See the image above)

  • Status report options: This defines the realtime data sent from the driver. Leave all checked, aside from Absolute position and Alarm sub-state - this important for correct interface of the software and the driver.
  • Arc tolerance: Defines the accuracy of curved motions.
  • Report in inches: Not supported yet.
  • Soft/Hard limits enable: Checking these options will halt operation if any motion exceeds the soft/hard limits. (Soft limits are based on boundary settings, Hard limits are based on limit switches)
  • Machine mode: Only Normal supported now. Leave other settings as default.

Hardware timings

Timings

  • Fill all fields based on your CNC capabilities (longer interval imposes slower max stepper speed), If unknown, leave these settings as default, and change them only of your CNC misperforms.

Polarity / Direction inverts

Polarity settings These are important and very specific to different CNC machines. For each signal, one system might react when the signal is high, others when signal is low. Same for directions, one system might go right when signal is high, others might go left.

  • Fill all values based on the CNC manual or your best knowledge. If any of the settings are unknown, you might need to use trial and error
  • For polarity/inverts of axis related signals, click on the appropriate axis to toggle. Black background means Inverted state.
  • Step direction inverts: Sets the interpretation of the direction signals. If a certain axis goes the wrong way from expected, invert it here.
  • Control inverts: All control input pins such as door switch feed hold button etc. When idle they all should be off as viewed by the alarm indicator in the main screen: . If not, invert the appropriate input here.
  • Coolant/spindle inverts - determine if the coolant/spindle are on using high or low signal.

Homing

Homing
Determine how homing will work on this machine.

  • Homing cycle:
    • Initial lock: If set, will set the system to alarm mode of not homed.
    • Dual limit switches: Set if there are limit switches on both directions of each axis.
    • All other options leave set (default) for maximum homing capabilities.
  • Seek/Locate feed rates: determine the speed of initial Seeking of the home switches and the fine tuning speed (second stage)
  • Homing switch pull-off distance: After the limit switch is detected, the axis will pull back until the switch is off. Set the minimum distance it takes for the switch to turn back off.
  • Homing locate cycles and Homing cycle 1,2... : These determine how the automatic homing will be performed. Automatic homing can be done on all axes together, one after one, or any combination. For example if you want to first home X and Y axes, and only after they finish, home the Z axis, tick X and Y in Homing cycle 1, Tick Z in Homing cycle 2, and set Homing locate cycles to 2. Any axis not used in these settings, are considered an axis without limit switches and can be homed manually.
  • Parking: Not implemented yet.

Spindle settings

spindle settings

  • Fill settings based on spindle specification.

Jog Settings

Jog settings

  • Jog soft limited: If checked, axis jogging will be limited to the set boundaries of this axis.

Axis settings

Axis settings

Configure for each individual axis:

  • Steps/mm: How many pulses moves the axis exactly 1mm. (number of pulses per stepper revolution - usually 200) * (number of micro steps defined) / (Leadscrew pitch in mm)
  • Max rate / acceleration: Machine specific
  • Max travel: defines the soft limits of this axis. If the CNC is homed correctly, this number can be used to avoid moving the axis out of limit

Congratulations!

Setup is complete, Load your GCode and start CNC-ing...