Notifications
Clear all

Bed leveling not working?  

Stránka 1 / 2
  RSS
Mervious
(@mervious)
Active Member
Bed leveling not working?

I don't know if this has happened before, but now I noticed it. The layer height seems to be good for a section of the part, but for a other section it looks like z is too high (shown up in the photo). Never mind the left corner, just did the full calibration before this print and adjusted the live z after I saw first lines from the first layer. So it looks like either the bed leveling is not working as good as it should, or the bed is bent in a way to fool the firmware to think it is level (so not a linear bend between probe points). Anyone else has this? Any way to fix?

Napsal : 12/03/2017 2:19 pm
supermerill
(@supermerill)
Eminent Member
Re: Bed leveling not working?

Same problem.
I used the calibration -> "adjust something something z" tool in which i "decrease" the z height of the left & the top side of my plate (as it's my top-left corner that seems to be too low).
Maybe adding something thin between the bed and the support/screw guide at this point is better...

Napsal : 13/03/2017 3:10 pm
Wirlybird
(@wirlybird)
Reputable Member
Re: Bed leveling not working?

I am getting the same thing in pretty much the same spot. It would seem there is an issue with the beds at this location.

Napsal : 13/03/2017 7:23 pm
Tamás Hefner
(@tamas-hefner)
New Member
Re: Bed leveling not working?

hm.. same here, issues only in the top left corner.. I'll try to add there a washer... let you know...

Napsal : 21/03/2017 12:14 am
Milhooz
(@milhooz)
Trusted Member
Re: Bed leveling not working?

Already several people noticed that maybe the mesh bed leveling is "fake". Apparently the center of the bed is taken as reference point but the other points are not used. You can force the other areas manually in Calibration / Bed level correction and that should do the trick but maybe one of the screw is less tighten.

I'd like the mesh levelling to work as advertised... but other than that the printer is still good.

Napsal : 21/03/2017 12:50 am
Tamás Hefner
(@tamas-hefner)
New Member
Re: Bed leveling not working?

yep last night, tried the washer.. no luck. so removed. What also noticed, extruder heating cable was really close to the plastic cover part on the top left corner. hope it is not colliding. I'll check the cable management there if it improve anything. I checked the screws but none of them loose.

will keep trying with the bed level correction.
chrs.

Napsal : 21/03/2017 3:05 pm
Knickohr
(@knickohr)
Member Moderator
Re: Bed leveling not working?

Bed level correction :

How to move it ? Is negative value less distance to nozzle or vice versa ?

Thomas

Napsal : 30/03/2017 9:25 am
richard.l
(@richard-l)
Member Moderator
Re: Bed leveling not working?

Bed level correction :

How to move it ? Is negative value less distance to nozzle or vice versa ?

Thomas

Negative brings the nozzle and bed closer together. Positive moves them further apart.

Napsal : 30/03/2017 5:58 pm
Knickohr
(@knickohr)
Member Moderator
Re: Bed leveling not working?

Perfect ! THX

Added -25 to right and rear side, now bed is "flat".

Thomas

Napsal : 30/03/2017 7:31 pm
PJR
 PJR
(@pjr)
Antient Member Moderator
Re: Bed leveling not working?

Already several people noticed that maybe the mesh bed leveling is "fake". Apparently the center of the bed is taken as reference point but the other points are not used.

That's an interesting theory, but not correct.

Unfortunately, Mesh Bed Levelling will only be perfect in a perfect world - and we are a very long way from that!

There are 10 components which determine the "flatness" of MBL. The probe and 9 probing points.

The probing points are large circles of copper created during PCB manufacture. In order to obtain the same probe inductance reading from each probe point, all the probe points have to be precisely identical in both size and composition. This will never be the case.

In addition, the probe induction response varies with temperature, which will rise during probing, with the probe being heated by the bed.

So the MBL is not "fake" and does work, but with errors caused by manufacturing tolerances and heat and those errors are manually adjusted in correction menu. The centre of the bed is the only part which cannot be corrected manually and should therefore be used as the reference point for setting "live Z adjust".

Peter

Please note: I do not have any affiliation with Prusa Research. Any advices given are offered in good faith. It is your responsibility to ensure that by following my advice you do not suffer or cause injury, damage…

Napsal : 31/03/2017 12:03 pm
Knickohr
(@knickohr)
Member Moderator
Re: Bed leveling not working?

In addition, the probe induction response varies with temperature, which will rise during probing, with the probe being heated by the bed.

Correct ! In this case I do my MBL at constant temperature without additional heating. I set hotend to 170°, bed to 50°, do the leveling, and after it finish I will heat up to printing temperatures.

Maybe the power-supply influences the MBL (on the rear right side) ?

Thomas

Napsal : 31/03/2017 1:00 pm
JeffJordan
(@jeffjordan)
Member Moderator
Re: Bed leveling not working?

...Maybe the power-supply influences the MBL (on the rear right side) ?
the influence of the psu and other interference ressources (like steppers, bearings etc.) is less than i thought.
i checked it out at my "spare-parts-2-2nd-printer project", and i must say that the pinda probe is very short-sighted.

dem inscheniör is' nix zu schwör...

Napsal : 31/03/2017 1:34 pm
gabriele.s2
(@gabriele-s2)
Estimable Member
Re: Bed leveling not working?

Re: MBL being fake... anyone can look at the code; in https://github.com/prusa3d/Prusa-Firmware/blob/MK2/Firmware/Marlin_main.cpp


void prepare_move()
{
clamp_to_software_endstops(destination);
previous_millis_cmd = millis();

// Do not use feedmultiply for E or Z only moves
if( (current_position[X_AXIS] == destination [X_AXIS]) && (current_position[Y_AXIS] == destination [Y_AXIS])) {
plan_buffer_line(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS], destination[E_AXIS], feedrate/60, active_extruder);
}
else {
#ifdef MESH_BED_LEVELING
mesh_plan_buffer_line(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS], destination[E_AXIS], feedrate*feedmultiply*(1./(60.f*100.f)), active_extruder);
#else
plan_buffer_line(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS], destination[E_AXIS], feedrate*feedmultiply*(1./(60.f*100.f)), active_extruder);
#endif
}

for(int8_t i=0; i < NUM_AXIS; i++) {
current_position[i] = destination[i];
}
}

and:


void mesh_plan_buffer_line(const float &x, const float &y, const float &z, const float &e, const float &feed_rate, const uint8_t extruder) {
float dx = x - current_position[X_AXIS];
float dy = y - current_position[Y_AXIS];
float dz = z - current_position[Z_AXIS];
int n_segments = 0;

if (mbl.active) {
float len = abs(dx) + abs(dy);
if (len > 0)
// Split to 3cm segments or shorter.
n_segments = int(ceil(len / 30.f));
}

if (n_segments > 1) {
float de = e - current_position[E_AXIS];
for (int i = 1; i < n_segments; ++ i) {
float t = float(i) / float(n_segments);
plan_buffer_line(
current_position[X_AXIS] + t * dx,
current_position[Y_AXIS] + t * dy,
current_position[Z_AXIS] + t * dz,
current_position[E_AXIS] + t * de,
feed_rate, extruder);
}
}
// The rest of the path.
plan_buffer_line(x, y, z, e, feed_rate, extruder);
current_position[X_AXIS] = x;
current_position[Y_AXIS] = y;
current_position[Z_AXIS] = z;
current_position[E_AXIS] = e;
}

Then in https://github.com/prusa3d/Prusa-Firmware/blob/MK2/Firmware/planner.cpp


void plan_buffer_line(float x, float y, float z, const float &e, float feed_rate, const uint8_t &extruder)
{
// ...

#ifdef ENABLE_AUTO_BED_LEVELING
apply_rotation_xyz(plan_bed_level_matrix, x, y, z);
#endif // ENABLE_AUTO_BED_LEVELING

// The target position of the tool in absolute steps
// Calculate target position in absolute steps
//this should be done after the wait, because otherwise a M92 code within the gcode disrupts this calculation somehow
long target[4];
target[X_AXIS] = lround(x*axis_steps_per_unit[X_AXIS]);
target[Y_AXIS] = lround(y*axis_steps_per_unit[Y_AXIS]);
#ifdef MESH_BED_LEVELING
if (mbl.active){
target[Z_AXIS] = lround((z+mbl.get_z(x, y))*axis_steps_per_unit[Z_AXIS]);
}else{
target[Z_AXIS] = lround(z*axis_steps_per_unit[Z_AXIS]);
}
#else
target[Z_AXIS] = lround(z*axis_steps_per_unit[Z_AXIS]);
#endif // ENABLE_MESH_BED_LEVELING
target[E_AXIS] = lround(e*axis_steps_per_unit[E_AXIS]);
// ...

... and so on. Anybody can check, and compile their own firmware.

- Gab

Napsal : 01/04/2017 12:58 am
Nigel
(@nigel)
Honorable Member
Re: Bed leveling not working?

Correct me If I am wrong. The mesh bed levelling works for most people? How many fail with Prusa supplied and built printers, compared to kit built, like mine. My printer works great and gives brilliant prints, consistently.

I am able to program and check firmware, but not the Prusa I3 Mk2 code. Too complicated for me. I am 61 and I'm used to programming in assembler 🙂

Later Fortran, Forth, C , and then ...... Whatever I needed. I can read an understand the code posted in the post above. However, I do not program at that level. I know my limitations.

My C programming is with Arduino's and Python on Raspberry Pi's these days, and IOT and home control. My house is totally controlled over the net by me, and protected by a hardware and software firewall. Including, heating and lighting, security and monitoring and other stuff I am working on. And the automatic response programs I use and wrote.

Some of my Raspberry Pi's have been running 24 hours a day without a crash for many months.

Linux FTW 🙂

Nigel
Life is keeping interested and excited by knowledge and new things.

Napsal : 01/04/2017 4:29 am
gabriele.s2
(@gabriele-s2)
Estimable Member
Re: Bed leveling not working?



I am able to program and check firmware, but not the Prusa I3 Mk2 code. Too complicated for me. I am 61 and I'm used to programming in assembler 🙂

I should probably clarify something:

Of course most people won't be compiling their firmware, or be able to understand the code (it would take me quite a lot of effort to really understand it); but, enough people understand it that we can be reasonably sure mesh bed leveling is not fake. 🙂

- Gab

Napsal : 02/04/2017 12:41 am
StephanK
(@stephank)
Reputable Member
Re: Bed leveling not working?

With warped beds 9 points seems not enough. Combine this with the strange temperature sensitivity of (some?) of the PINDAs and I can see where people might think it's not working properly.

In a way, i was hoping for it to do miracles too - which it doesn't. Dang 😉

PS: Been writing software for a living for the last 22 years but I'd rather poke my eyes out than to look at code in my spare time.

Napsal : 02/04/2017 11:14 am
PJR
 PJR
(@pjr)
Antient Member Moderator
Re: Bed leveling not working?

Been writing software for a living for the last 22 years but I'd rather poke my eyes out than to look at code in my spare time.

For me, it's almost 40 years. I can understand what most of the Marlin code does, but quite honestly, I really don't want to touch it. When the Arduino Due arrives, I will need to dig around somewhat, mainly because the libraries are quite different and there is some ATMega-specific coding in there...

Peter

Please note: I do not have any affiliation with Prusa Research. Any advices given are offered in good faith. It is your responsibility to ensure that by following my advice you do not suffer or cause injury, damage…

Napsal : 02/04/2017 12:51 pm
Nigel
(@nigel)
Honorable Member
Re: Bed leveling not working?

@Peter "When the Arduino Due arrives, I will need to dig around somewhat, mainly because the libraries are quite different and there is some ATMega-specific coding in there..."

What are your intentions with the Arduino Due? Just interested.

(I have an Arduino Due stored away since I bought it, many months ago )

Nigel
Life is keeping interested and excited by knowledge and new things.

Napsal : 03/04/2017 2:28 am
PJR
 PJR
(@pjr)
Antient Member Moderator
Re: Bed leveling not working?

What are your intentions with the Arduino Due? Just interested.

Simply to see if the Due would provide a good upgrade path when combined with a RAMPS-FD board.

There was a discussion elsewhere regarding the Smoothieboard and that got me thinking... If I can get my Mk1 running with a much more powerful controller board, it would be interesting to see what can be achieved.

Peter

Please note: I do not have any affiliation with Prusa Research. Any advices given are offered in good faith. It is your responsibility to ensure that by following my advice you do not suffer or cause injury, damage…

Napsal : 03/04/2017 7:46 am
PCSFAB
(@pcsfab)
Eminent Member
Re: Bed leveling not working?

Have you looked at the duet WiFi ? I am extremely happy with it in my FT-5 printer !

Napsal : 03/04/2017 4:50 pm
Stránka 1 / 2
Share: