Closed stevewatts closed 6 years ago
The height is wrong for this explanation... But do you have the MIN_SOFTWARE_ENDSTOPS turned on? That will keep you from going below the bed. And that needs to be turned off for the Mesh Bed Leveling systems because they often times need to dip below the 0.000 point as they track the bed.
// If enabled, axes won't move below MIN_POS in response to movement commands.
//#define MIN_SOFTWARE_ENDSTOPS
// If enabled, axes won't move above MAX_POS in response to movement commands.
#define MAX_SOFTWARE_ENDSTOPS
Thanks for the quick reply Roxy.
Yes I do have that set, but allowing -1.4 to allow for the full depth of a PCB when drilling:
// Travel limits after homing (units are in mm)
So the whole thing works and mills OKish when no probe type is defined.
In addition, I didn't put this earlier to keep the story simple:
when I do select one of the bed levelling modes, the probe drops to the bed and appears to probe correctly (not sure how to determine if its right), but when compete leaves the bit at about z+5 again. milling again takes place up in the air at +5ish.
Gcode:
G90
G00 X0.0000 Y0.0000
M03
G04 P3.000000
G00 Z1.5400
G00 X3.3104 Y7.7779
G01 Z-0.0800 F30.00
G01 X3.3192 Y7.8106 F20.00
G01 X3.3361 Y7.8400
G01 X3.3600 Y7.8639
The first z1.5 is because the bit is expected to be on the board following the Z homing action.
Is there any similarity to what you are seeing and these values (in your Configuration.h file)? These are my values, yours might be at the 'problem' numbers.
#define Z_CLEARANCE_DEPLOY_PROBE 15 // Z Clearance for Deploy/Stow
#define Z_CLEARANCE_BETWEEN_PROBES 6 // Z Clearance between probe points
I did wonder about that, so dropped them both down assuming they were an offset of some kind:
but it didn't make a difference
Sorry i stupidly read the Arduino version... I was using MarlinRC that time, I've since tested on 1.1.0 and today having the same issues wth 1.1.2. So it all works as expected (without auto bed leveling) until the fix_mounted_probe is exposed. tehn it hovers the bit above the workpiece as though that is the new z=0 eventhough it successfully finds z=0 during the homing process.
Is anyone able to help understand this behaviour?
I've found the cause of this unexpected probe raise, but don't understand why it is doing it.
I had allowed the head to travel down below the homing height because I've actually got a drill attached and want to mill. so for this I thought that #define Z_MIN_POS -1.5 would provide enough depth I need.
So #define Z_MIN_POS -1.5 works fine, and allwas the head to pass below z=0, but when a probe is selected (tried both manual probe and fix_mounted_probe) this setting causes the head to actually raise by 1.5mm fter its completed homing.
Is anyone able to explain why it does this pelase?
So #define Z_MIN_POS -1.5 works fine, and allows the head to pass below z=0, but when a probe is selected (tried both manual probe and fix_mounted_probe) this setting causes the head to actually raise by 1.5mm fter its completed homing.
Is anyone able to explain why it does this please?
For starters... setting:
#define MIN_SOFTWARE_ENDSTOPS
// If enabled, axes won't move above MAX_POS in response to movement commands.
#define MAX_SOFTWARE_ENDSTOPS
Means the nozzle can not go below 0.000
Not sure I follow you. I've set min_pos to -1.5 assuming this would allow it to go 1.5mm below home (z=0). Allowing me to drill full depth. What actually happens is after probing, z=0 actually ends up being 1.5mm above the workpiece.
But also. Why would that behaviour change because a probe is selected?
Process: From LCD set auto home using z- control, lower probe (drill bit) back to workpiece so it reads z=0 start GCode (using CNC-GCode-Controller)
Scenario 1:
#define Z_PROBE_OFFSET_RANGE_MIN 0
// If enabled, axes won't move below MIN_POS in response to movement commands.
//#define MIN_SOFTWARE_ENDSTOPS
// If enabled, axes won't move above MAX_POS in response to movement commands.
#define MAX_SOFTWARE_ENDSTOPS
after auto home raises to 2mm above
zmove reports +2
Will not go below z=0, but reports that it is at z=-0.08
Scenario 2:
#define Z_PROBE_OFFSET_RANGE_MIN -2
// If enabled, axes won't move below MIN_POS in response to movement commands.
//#define MIN_SOFTWARE_ENDSTOPS
// If enabled, axes won't move above MAX_POS in response to movement commands.
#define MAX_SOFTWARE_ENDSTOPS
after autohome raises to 3.5mm above workpiece Zmove reports z=0 at 1.5 above
Will not go below z=0, but reports that it is at z=-0.08
Scenario 3:
// If enabled, axes won't move below MIN_POS in response to movement commands.
//#define MIN_SOFTWARE_ENDSTOPS
// If enabled, axes won't move above MAX_POS in response to movement commands.
//#define MAX_SOFTWARE_ENDSTOPS
after auto home raises to 2mm above
zmove reports +2 at stopping point. actually 2mm above
Will not go below z=0, but reports that it is at z=-0.08
Gcode runs, but -0.08 when running shows as .07 on the display, which in reality is about .1 above the workpiece. This is expected to be within the workpiece (below the probed height for home)
G21
(Absolute Coordinates)
G90
G00 X0.0000 Y0.0000
M03
G04 P3.000000
G00 Z1.5400
G00 X3.3104 Y7.7779
G01 Z-0.0800 F30.00
G01 X3.3192 Y7.8106 F20.00
. . .
Differences from default:
Line Line 130: #define MOTHERBOARD 33 //sjw supposedly allows M106/M107 to start and stop fan, this is used for milling drill instead http://www.buildlog.net/blog/2012/08/hacking-your-cnc-toolchain/
Line 443: #define USE_XMAX_PLUG //sjw
Line 444: #define USE_YMAX_PLUG //sjw
Line 445: #define USE_ZMAX_PLUG //sjw
Line 464: #define Z_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. //sjw
Line 467: #define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. //sjw
Line 468: #define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe. //sjw
Line 472: #define ENDSTOP_INTERRUPTS_FEATURE //sjw
Line 499: #define DEFAULT_AXIS_STEPS_PER_UNIT { 800, 800, 800, 500 } //sjw { 80, 80, 4000, 500 }
Line 514: #define DEFAULT_MAX_ACCELERATION { 80, 80, 30, 10000 } //sjw{ 3000, 3000, 100, 10000 }
Line 526: #define DEFAULT_TRAVEL_ACCELERATION 100 //sjw 3000 // X, Y, Z acceleration for travel (non printing) moves
Line 577: //#define Z_MIN_PROBE_ENDSTOP //sjw
Line 578: //#define Z_MIN_PROBE_PIN //Z_MAX_PIN //sjw
Line 598: #define FIX_MOUNTED_PROBE //sjw
Line 684: #define Z_CLEARANCE_DEPLOY_PROBE 0 // Z Clearance for Deploy/Stow //sjw
Line 685: #define Z_CLEARANCE_BETWEEN_PROBES 2 // Z Clearance between probe points //sjw was 5
Line 688: #define Z_PROBE_OFFSET_RANGE_MIN 0 //-20 sjw
Line 689: #define Z_PROBE_OFFSET_RANGE_MAX 0 //20 sjw
Line 719: #define INVERT_Z_DIR true //sjw false
Line 735: #define Z_HOMING_HEIGHT 4 // sjw (in mm) Minimal z height before homing (G28) for Z clearance above the bed, clamps, ...
Line 749: #define Z_MIN_POS 0 //sjw 0 - when 0 allows the final home position to be where probed without moving upwards, but then the drill is not able to plunge into the material ideally needs to be -1.5
Line 750: #define X_MAX_POS 160 //sjw 200
Line 751: #define Y_MAX_POS 80 //sjw 200
Line 752: #define Z_MAX_POS 25 //sjw 200
Line 820: //#define AUTO_BED_LEVELING_BILINEAR //sjw
Line 1184: #define ULTRA_LCD // Character based //sjw
Line 1194: #define SDSUPPORT //sjw
Line 1202: //#define SPI_SPEED SPI_HALF_SPEED //sjw
Line 1219: #define ENCODER_PULSES_PER_STEP 4 //sjw
Line 1257: //#define INDIVIDUAL_AXIS_HOMING_MENU //sjw
Line 1338: #define REPRAP_DISCOUNT_SMART_CONTROLLER //sjw
Sorry this issue got abandoned. Did you ever get it resolved?
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.
Hi I've recently nearly-completed a Marlin 1.6.12 Ramps1.4 which I'm trying to use as a CNC for milling pCBs.
I have a normally open Z Min whih doubles up as a a probe using a crocodile clip on the drill bit.
define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
This homws perfectly on the PCB and I can do some milling with it running G-code through.
My boards are not flat so not getting brilliand results so I've been investigating auto-homing. In order to configure autohoming I need to select a probe. the closest I can think of to what I have is:
define FIX_MOUNTED_PROBE
Now. making only that setting, and not even turning on one of the leveling features causes the probe to happily lower down to the base, make contact, but then raise 5mm up and stay there. The disply shows that the bit is 5mm above home, but then when running G-Code the bit fails to lower back to home before doing its thing.
in addition, although it reports the bit is at +5mm, manually lowering it takes about 5.5mm to get back to touching the surface.
Has anyone got any idea how to set the probe as 'existing zMin'? or the reason why it would hover 5mm above the surface but not return down to the GCode G90 position?
Thanks in advance Steve