Results 371 to 380 of 757
-
09-20-2014, 10:58 PM #371
- Join Date
- Jul 2014
- Location
- Eastern Colorado
- Posts
- 536
The problem of 4mm being somehow added to the Z axis position after a G28. It has nothing to do with Safe Homing, nor with Pronterface sending bad commands. I can't see anything in the G28 code that might do it either.
-
09-20-2014, 11:53 PM #372
-
09-21-2014, 12:12 AM #373
- Join Date
- Jul 2014
- Location
- Eastern Colorado
- Posts
- 536
No, Safe Homing is still on, though I can change it if need be.
-
09-21-2014, 08:47 AM #374
OK... I was looking at your Configuration.h (I thought it was current) that had it turned off. I was going to ask you to post your current Configuration.h and Marlin_main.cpp. I was going to add some debug stuff so we can figure out why it is coming up with a bad number at the end of G28. But there is no reason to do that now.
I was seeing how my printer behaved:
>>>m114 [After reset and connect. Nozzle about 15mm above bed]
SENDING:M114
X:0.00 Y:0.00 Z:0.00 E:0.00 Count X: 0.00 Y:0.00 Z:0.00
>>>G28 [After reset and connect. Nozzle about 12mm above bed I have a 9mm raise after home specified]
SENDING:G28
>>>M114
SENDING:M114 [Nozzle about 12mm above bed but it claims we are at 8.85mm ??? ]
X:76.00 Y:73.00 Z:8.85 E:0.00 Count X: 76.00 Y:73.00 Z:8.85
>>>G1 Z 0 [Nozzle about 4mm above bed at end of command ]
SENDING:G1 Z 0
>>>M114
SENDING:M114 [Nozzle about 4mm above bed but Marlin claims it is at 0.0mm]
X:76.00 Y:73.00 Z:1.00 E:0.00 Count X: 76.00 Y:73.00 Z:0.00
>>>M114 [Using Pronterface to move the nozzle so it touches the bed]
SENDING:M114
X:76.00 Y:73.00 Z:-4.20 E:0.00 Count X: 76.00 Y:73.00 Z:-4.20
Clearly... This is wrong. I guess most people are not seeing it because G28 isn't used by itself once you have G29 available. But here is how to fix the G28: Go to the end of the G28 code. You will see:
#ifdef ENABLE_AUTO_BED_LEVELING
if((home_all_axis) || (code_seen(axis_codes[Z_AXIS]))) {
current_position[Z_AXIS] += zprobe_zoffset; //Add Z_Probe offset (the distance is negative)
}
#endif
Turn that code fragment into:
#ifdef ENABLE_AUTO_BED_LEVELING
if((home_all_axis) || (code_seen(axis_codes[Z_AXIS]))) {
current_position[Z_AXIS] += zprobe_zoffset+Z_RAISE_BETWEEN_PROBINGS; //Add Z_Probe offset (the distance is negative)
}
#endifLast edited by Roxy; 09-21-2014 at 09:48 AM.
-
09-21-2014, 11:39 AM #375
- Join Date
- Jul 2014
- Location
- Eastern Colorado
- Posts
- 536
Well, that helps. With my Z_RAISE_BETWEEN_PROBINGS set at 5, it put the nozzle 1mm too far into the glass, so I changed it to 4, and now it works. It feels, due to the 5mm putting it 1mm too low, to be working around some bad computation being done somewhere else, though. As it is, it works, and doesn't affect G29, so I'll call it done. Thanks for all the help.
-
09-21-2014, 11:47 AM #376
I noticed what you are talking about... I think the answer is back to the fact the G28 and the G29 do their Z Probing differently... The switch actually has to go down into the bed to switch. Who knows how much. Maybe 1mm ??? So it is that location that get locked in as the zero point. I think you have to measure your Z-PROBE-OFFSET-FROM-EXTRUDER with the switch pressed just enough to trigger the end stop logic. When you adjust your numbers to make it work right... I suspect that is what it will turn out to be.
But please report back if you keep playing with it and learn anything more! If you can get this understood, it will be helpful for everybody!Last edited by Roxy; 09-21-2014 at 01:05 PM.
-
09-21-2014, 02:15 PM #377
- Join Date
- Jul 2014
- Location
- Eastern Colorado
- Posts
- 536
That is how I do it. I adjust Z down 0.1mm until I hear the switch click, raise it again until it clicks open, then lower it again one step at a time, checking the endstops with M119 each time until it shows as TRIGGERED, then take that position as the offset. My offset isn't 1mm deep into the plate.
As for the other issue, I've also modified my start gcode:
G28 ; home all axes
M190 S[first_layer_bed_temperature] ; set bed temperature, wait for it to reach target before proceeding
M117 Homing
G28
M104 S[first_layer_temperature] ; set hotend temperature. Use M109 to set and wait
M117 Auto Bed Leveling
G29 n 4 ; auto level
Now even if I forget to rehome after a tall print, and if the 150 is still somehow too short and the steppers time out, each new print will home before heating the bed, then home again before doing a G29.Last edited by AbuMaia; 09-21-2014 at 02:32 PM.
-
09-21-2014, 10:02 PM #378
- Join Date
- Aug 2014
- Posts
- 8
-
09-22-2014, 03:29 PM #379
- Join Date
- Sep 2014
- Posts
- 13
Hi Roxy
Many thanks for the enhancements and the time spent here.
Just 2 questions :
1-the n parameter allows to have a n*n matrix of probes. But at the end, the bed level correction matrix is only 3*3. Is there an average ?
2-have you pull a request to EricZakm github, like a poster said it before ?
-
09-22-2014, 04:20 PM #380
Hi!
The meaning of that #define changed. Rather than obsolete and/or eliminate the existing one, its use changed. Now, that
#define AUTO_BED_LEVELING_GRID_POINTS 5
sets the max number of points in a n x n grid to be probed. But the default is 3 x 3. If you want more, you can do a G29 n 4 or
G29 n 5
You get to pick at print time. Not when you build the firmware.
I have tried several times and failed. I was going to try again when I get a little time to make a copy that has the G29 changes. But GitHub is so hard to use.
Ender 3v2 poor printing quality
10-28-2024, 09:08 AM in Tips, Tricks and Tech Help