After the burnout of the original Eaglemoss Mother and Daughter boards I determined to rebuild the Vector 3 printer using:
Raspberry Pi, Arduino Mega 2560 and Marlin 2.x firmware. But I am stuck with Z Axis issues.....
Many thanks in advance for your helpful responses .
I was always puzzled Z_HOME_DIR 1 and Marlin telling me I needed to set the MAX_SOFTWARE_ENDSTOP_Z when the Vector 3’s Z microswitch is in the MIN position !!!
Then a light bulb moment – IT BECOMES THE MAX END STOP WHEN IT’S 1 DUH!! Don’t forget to change the end stop connection on the RAMPS board from MIN to MAX as well
Now everyhing homes beautifully (i.e. X, Y and Z 0) and
M119 duly returns;
x_min: TRIGGERED
y_min: TRIGGERED
z_max: TRIGGERED
SENDING:M501 shows:
echo:Hardcoded Default Settings Loaded
echo: G21 ; Units in mm (mm)
echo: M149 C ; Units in Celsius
echo:; Filament settings: Disabled
echo: M200 S0 D1.75
echo:; Steps per unit:
echo: M92 X66.67 Y66.67 Z2560.00 E500.00
echo:; Maximum feedrates (units/s):
echo: M203 X300.00 Y300.00 Z5.00 E10000.00
echo:; Maximum Acceleration (units/s2):
echo: M201 X3000.00 Y3000.00 Z100.00 E10000.00
echo:; Acceleration (units/s2): P R T
echo: M204 P3000.00 R3000.00 T3000.00
echo:; Advanced: B S T J
echo: M205 B20000.00 S0.00 T0.00 J0.01
echo:; Home offset:
echo: M206 X0.00 Y0.00 Z0.00
echo:; Mesh Bed Leveling:
echo: M420 S0
echo:; Material heatup parameters:
echo: M145 S0 H180 F0
echo: M145 S1 H240 F0
echo:; PID settings:
echo: M301 P22.20 I1.08 D114.00
BUT WHEN PRINTING build plate raises to just 0.35 above home position (as instructed by slicr3’s code snippet below:
NOT TO A level 0.35 below extruder tip FOR THE FIRST LAYER!!
The gcode works correctly on another Vector 3 printer
MARLIN (ARDUINO)CODE Configuration.h contains the following movement directives
#define INVERT_Z_DIR false
#define Z_HOMING_HEIGHT 4 // (mm) Minimal Z height before homing (G28) for Z clearance above the bed, clamps, …
// Be sure to have this much clearance over your Z_MAX_POS to prevent grinding.
#define Z_AFTER_HOMING 0 // (mm) Height to move to after homing Z
// Direction of endstops when homing; 1=MAX, -1=MIN
// :[-1,1]
#define X_HOME_DIR -1
#define Y_HOME_DIR -1
#define Z_HOME_DIR 1
// @section machine
// The size of the print bed
#define X_BED_SIZE 140
#define Y_BED_SIZE 140
// Travel limits (mm) after homing, corresponding to endstop positions.
#define X_MIN_POS 0
#define Y_MIN_POS 0
#define Z_MIN_POS 0
#define X_MAX_POS X_BED_SIZE
#define Y_MAX_POS Y_BED_SIZE
#define Z_MAX_POS 115 (initial value for test puposes) eventual value around 130 after bed levelling)
/**
* Software Endstops
*
* – Prevent moves outside the set machine bounds.
* – Individual axes can be disabled, if desired.
* – X and Y only apply to Cartesian robots.
* – Use ’M211’ to set software endstops on/off or report current state
*/
// Min software endstops constrain movement within minimum coordinate bounds
#define MIN_SOFTWARE_ENDSTOPS
#if ENABLED(MIN_SOFTWARE_ENDSTOPS)
#define MIN_SOFTWARE_ENDSTOP_X
#define MIN_SOFTWARE_ENDSTOP_Y
//#define MIN_SOFTWARE_ENDSTOP_Z
#endif
// Max software endstops constrain movement within maximum coordinate bounds
#define MAX_SOFTWARE_ENDSTOPS
#if ENABLED(MAX_SOFTWARE_ENDSTOPS)
//#define MAX_SOFTWARE_ENDSTOP_X
//#define MAX_SOFTWARE_ENDSTOP_Y
#define MAX_SOFTWARE_ENDSTOP_Z
#endif
#if EITHER(MIN_SOFTWARE_ENDSTOPS, MAX_SOFTWARE_ENDSTOPS)
#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD
#endif
SLICR3 (first part)
; generated by Slic3r 1.3.0 on 2020-12-23 at 10:59:35
; external perimeters extrusion width = 0.44mm (5.63mm^3/s)
; perimeters extrusion width = 0.48mm (7.54mm^3/s)
; infill extrusion width = 0.48mm (10.05mm^3/s)
; solid infill extrusion width = 0.48mm (2.51mm^3/s)
; top infill extrusion width = 0.48mm (1.88mm^3/s)
M107 ; disable fan
;M190 S65 ; set bed temperature and wait for it to be reached
;104 S160 ; set temperature
G28;
;M109 S190 ; set temperature and wait for it to be reached
G21 ; set units to millimeters
G90 ; use absolute coordinates
M82 ; use absolute distances for extrusion
;G92 E0 ; reset extrusion distance
;G10 ; retract extruder 0
;G92 E0 ; reset extrusion distance
G28;
G1 Z0.350 F350 ; move to next layer (0)
G1 X64.758 Y64.253 F6000.000 ; move to first skirt point
;G11 ; unretract extruder 0
;G92 E0 ; reset extrusion distance
G1 F348
What am I missing here. Your help is much appreciated
Raspberry Pi, Arduino Mega 2560 and Marlin 2.x firmware. But I am stuck with Z Axis issues.....
Many thanks in advance for your helpful responses .
I was always puzzled Z_HOME_DIR 1 and Marlin telling me I needed to set the MAX_SOFTWARE_ENDSTOP_Z when the Vector 3’s Z microswitch is in the MIN position !!!
Then a light bulb moment – IT BECOMES THE MAX END STOP WHEN IT’S 1 DUH!! Don’t forget to change the end stop connection on the RAMPS board from MIN to MAX as well
Now everyhing homes beautifully (i.e. X, Y and Z 0) and
M119 duly returns;
x_min: TRIGGERED
y_min: TRIGGERED
z_max: TRIGGERED
SENDING:M501 shows:
echo:Hardcoded Default Settings Loaded
echo: G21 ; Units in mm (mm)
echo: M149 C ; Units in Celsius
echo:; Filament settings: Disabled
echo: M200 S0 D1.75
echo:; Steps per unit:
echo: M92 X66.67 Y66.67 Z2560.00 E500.00
echo:; Maximum feedrates (units/s):
echo: M203 X300.00 Y300.00 Z5.00 E10000.00
echo:; Maximum Acceleration (units/s2):
echo: M201 X3000.00 Y3000.00 Z100.00 E10000.00
echo:; Acceleration (units/s2): P R T
echo: M204 P3000.00 R3000.00 T3000.00
echo:; Advanced: B S T J
echo: M205 B20000.00 S0.00 T0.00 J0.01
echo:; Home offset:
echo: M206 X0.00 Y0.00 Z0.00
echo:; Mesh Bed Leveling:
echo: M420 S0
echo:; Material heatup parameters:
echo: M145 S0 H180 F0
echo: M145 S1 H240 F0
echo:; PID settings:
echo: M301 P22.20 I1.08 D114.00
BUT WHEN PRINTING build plate raises to just 0.35 above home position (as instructed by slicr3’s code snippet below:
NOT TO A level 0.35 below extruder tip FOR THE FIRST LAYER!!
The gcode works correctly on another Vector 3 printer
MARLIN (ARDUINO)CODE Configuration.h contains the following movement directives
#define INVERT_Z_DIR false
#define Z_HOMING_HEIGHT 4 // (mm) Minimal Z height before homing (G28) for Z clearance above the bed, clamps, …
// Be sure to have this much clearance over your Z_MAX_POS to prevent grinding.
#define Z_AFTER_HOMING 0 // (mm) Height to move to after homing Z
// Direction of endstops when homing; 1=MAX, -1=MIN
// :[-1,1]
#define X_HOME_DIR -1
#define Y_HOME_DIR -1
#define Z_HOME_DIR 1
// @section machine
// The size of the print bed
#define X_BED_SIZE 140
#define Y_BED_SIZE 140
// Travel limits (mm) after homing, corresponding to endstop positions.
#define X_MIN_POS 0
#define Y_MIN_POS 0
#define Z_MIN_POS 0
#define X_MAX_POS X_BED_SIZE
#define Y_MAX_POS Y_BED_SIZE
#define Z_MAX_POS 115 (initial value for test puposes) eventual value around 130 after bed levelling)
/**
* Software Endstops
*
* – Prevent moves outside the set machine bounds.
* – Individual axes can be disabled, if desired.
* – X and Y only apply to Cartesian robots.
* – Use ’M211’ to set software endstops on/off or report current state
*/
// Min software endstops constrain movement within minimum coordinate bounds
#define MIN_SOFTWARE_ENDSTOPS
#if ENABLED(MIN_SOFTWARE_ENDSTOPS)
#define MIN_SOFTWARE_ENDSTOP_X
#define MIN_SOFTWARE_ENDSTOP_Y
//#define MIN_SOFTWARE_ENDSTOP_Z
#endif
// Max software endstops constrain movement within maximum coordinate bounds
#define MAX_SOFTWARE_ENDSTOPS
#if ENABLED(MAX_SOFTWARE_ENDSTOPS)
//#define MAX_SOFTWARE_ENDSTOP_X
//#define MAX_SOFTWARE_ENDSTOP_Y
#define MAX_SOFTWARE_ENDSTOP_Z
#endif
#if EITHER(MIN_SOFTWARE_ENDSTOPS, MAX_SOFTWARE_ENDSTOPS)
#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD
#endif
SLICR3 (first part)
; generated by Slic3r 1.3.0 on 2020-12-23 at 10:59:35
; external perimeters extrusion width = 0.44mm (5.63mm^3/s)
; perimeters extrusion width = 0.48mm (7.54mm^3/s)
; infill extrusion width = 0.48mm (10.05mm^3/s)
; solid infill extrusion width = 0.48mm (2.51mm^3/s)
; top infill extrusion width = 0.48mm (1.88mm^3/s)
M107 ; disable fan
;M190 S65 ; set bed temperature and wait for it to be reached
;104 S160 ; set temperature
G28;
;M109 S190 ; set temperature and wait for it to be reached
G21 ; set units to millimeters
G90 ; use absolute coordinates
M82 ; use absolute distances for extrusion
;G92 E0 ; reset extrusion distance
;G10 ; retract extruder 0
;G92 E0 ; reset extrusion distance
G28;
G1 Z0.350 F350 ; move to next layer (0)
G1 X64.758 Y64.253 F6000.000 ; move to first skirt point
;G11 ; unretract extruder 0
;G92 E0 ; reset extrusion distance
G1 F348
What am I missing here. Your help is much appreciated