Alternative Controls (LinuxCNC, Mach, Masso, etc) conversions

Great video! I subscribed

Langmuir posted the MR-1 GRBL firmware source. Thank you! The useful part of this for us doing conversions is that we can get the constants for the machine configuration:

I had to figure out a lot of these values experimentally, but it’s great to have a good starting point for anyone swapping controls.

#ifdef DEFAULTS_LS_MR1
// LS MR-1 CNC Defaults
#define DEFAULT_X_STEPS_PER_MM 320.0
#define DEFAULT_Y_STEPS_PER_MM 320.0
#define DEFAULT_Z_STEPS_PER_MM 533.333
#define DEFAULT_X_MAX_RATE 2540.0 // mm/min
#define DEFAULT_Y_MAX_RATE 2540.0 // mm/min
#define DEFAULT_Z_MAX_RATE 1016.0 // mm/min
#define DEFAULT_X_ACCELERATION (300.06060) // 106060 mm/min^2 = 10 mm/sec^2
#define DEFAULT_Y_ACCELERATION (300.06060) // 106060 mm/min^2 = 10 mm/sec^2
#define DEFAULT_Z_ACCELERATION (50.06060) // 106060 mm/min^2 = 10 mm/sec^2
#define DEFAULT_X_MAX_TRAVEL 580.0 // mm NOTE: Must be a positive value.
#define DEFAULT_Y_MAX_TRAVEL 550.0 // mm NOTE: Must be a positive value.
#define DEFAULT_Z_MAX_TRAVEL 150.0 // mm NOTE: Must be a positive value.
#define DEFAULT_SPINDLE_RPM_MAX 9000.0 // rpm
#define DEFAULT_SPINDLE_RPM_MIN 0.0 // rpm
#define DEFAULT_STEP_PULSE_MICROSECONDS 10
#define DEFAULT_STEPPING_INVERT_MASK 0
#define DEFAULT_DIRECTION_INVERT_MASK 0
#define DEFAULT_STEPPER_IDLE_LOCK_TIME 255 // msec (0-254, 255 keeps steppers enabled)
#define DEFAULT_STATUS_REPORT_MASK 0 // WPos enabled
#define DEFAULT_JUNCTION_DEVIATION 0.01 // mm
#define DEFAULT_ARC_TOLERANCE 0.002 // mm
#define DEFAULT_REPORT_INCHES 1 // true
#define DEFAULT_INVERT_ST_ENABLE 0 // false
#define DEFAULT_INVERT_LIMIT_PINS 0 // false
#define DEFAULT_SOFT_LIMIT_ENABLE 0 // false
#define DEFAULT_HARD_LIMIT_ENABLE 1 // false
#define DEFAULT_INVERT_PROBE_PIN 0 // false
#define DEFAULT_LASER_MODE 0 // false
#define DEFAULT_HOMING_ENABLE 1 // false
#define DEFAULT_HOMING_DIR_MASK 1 // move positive dir
#define DEFAULT_HOMING_FEED_RATE 100.0 // mm/min
#define DEFAULT_HOMING_SEEK_RATE 762.0 // mm/min
#define DEFAULT_HOMING_DEBOUNCE_DELAY 250 // msec (0-65k)
#define DEFAULT_HOMING_PULLOFF 1.5 // mm

#endif

2 Likes

A big difference here in their configuration and mine is the acceleration values. Langmuir uses much more conservative configuration, which makes a lot of sense to make sure that users don’t experience stalling. I run 100ipm^2/s (42mm^2/s) on X/Y and 40ipm^2/s (17mm^2/s) on Z and have found higher values to be really useful with high speed machining. I’ll change my github notes since people follow those for conversions to show Langmuir’s conservative settings as the best starting point, and higher ones as what may be achievable with new drivers and power supply.

2 Likes

Thanks for posting this Alex.

Alex, the tool setter standoff looks pretty spiffy.

Did you add adjustable legs under it for support over the epoxy?

Yes, there are some hex head screws under there that are adjustable feet to support it on the epoxy and to allow for minor leveling adjustments. If you click into the big version of the photo you can see the tops of two of these as little stainless dots.