MarlinFirmware / Marlin

Marlin is an optimized firmware for RepRap 3D printers based on the Arduino platform. Many commercial 3D printers come with Marlin installed. Check with your vendor if you need source code for your specific machine.
https://marlinfw.org
GNU General Public License v3.0
16.24k stars 19.22k forks source link

Please keep 3-point leveling #1667

Closed woodsmoke closed 9 years ago

woodsmoke commented 9 years ago

I'm not a coder. I really like 3 point leveling from a mechanical arrangement point of view. Your mechanical setup can be much simpler: A Z probe is always diagonally offset from the nozzle (XY plane). Most people have an engage-able probe that ends up lower than the nozzle. My Z probe is higher than the nozzle and It has no fiddly engage/disengage steps, so it's robust. 3 point leveling allows probing at the 3 bed corners which are compatible with the diagonal offset. During each Z probe the nozzle is outside the bed extents and can drop below the bed plane. The grid would require probing the fourth, incompatible point and crashing the nozzle.

I second the 3 point leveling is the quickest, simplest, most straight forward approach and it's all that's needed. Grid mode looks to me like a confusion of the issue. It's your hardware that needs improving if you can't generate coherent readings from a flat bed with 3 probe points.

woodsmoke commented 9 years ago

How do I make this a feature request?

Roxy-3D commented 9 years ago

I second the 3 point leveling is the quickest, simplest, most straight forward approach and it's all that's needed. Grid mode looks to me like a confusion of the issue. It's your hardware that needs improving if you can't generate coherent readings from a flat bed with 3 probe points.

I suspect both are needed just because the user base is so polarized on the subject. It would probably be best to put them in separate files and only pull in the desired method. With that said, I object strongly to the "Its all that is needed" and the "Its your hardware that needs improving" mentality.

Open Source is all about the ability to take the code in what ever direction is needed. I would rather use the code to work around hardware issues than work on mechanical issues with my printer.

boelle commented 9 years ago

yep, you dont have to worrie.... 3 point is here to stay...

more points dont make it better

boelle commented 9 years ago

people arguing for more points thinks that marlin can compensate for a bent bed... but it does not..

my argument has always been to get a flat bed rather than messing around

its ok if it tilts etc.... that is what the bed leveling are for.

i have just gotten my mendel90 up and running again... and i spend the better of an hour getting it perfect level manual... benefit is that i don't need automatic bed leveling.

Roxy-3D commented 9 years ago

people arguing for more points thinks that marlin can compensate for a bent bed... but it does not..

No. Not everybody arguing for more points thinks that. The fact of the matter is there are measurement errors and repeatability errors when probing the bed. More points spread across the bed area helps compensate for those errors.

And I can tell you first hand that I have supported many many people over at 3DPrintBoard to get Auto Bed Leveling going. I don't push hard but when people have problems with adhesion on parts of bigger prints, switching away from 3 Point Leveling to the Grid Method almost always cures the problem with no further effort.

my argument has always been to get a flat bed rather than messing around

Agreed. But no bed is perfectly flat. That is what the Topology Map is all about in the G29 command. It lets you know where the imperfections are for your bed and what you need to do to level it better before the software takes over.

its ok if it tilts etc.... that is what the bed leveling are for.

Agreed. But the more level it starts off before the software has to take over, the better. If for no other reason than the back lash on the Z-Axis nuts and threaded rods.

i have just gotten my mendel90 up and running again... and i spend the better of an hour getting it perfect level manual... benefit is that i don't need automatic bed leveling.

Even in this case, the Topology Map of the Auto Bed Leveling is still beneficial to you. It really does help a lot when manually leveling the bed! :)

brainscan commented 9 years ago

As one of the people Roxy helped get this working, in my own experience with my printer I can get consistent prints with grid but not with 3 point. I use 5x5 because I've had better results than 3x3. So in my case why would I want to spend money swapping parts just to switch to 3 point probing?

Sent from my iPhone

On 22 Mar 2015, at 15:24, Roxy-3DPrintBoard notifications@github.com wrote:

people arguing for more points thinks that marlin can compensate for a bent bed... but it does not..

No. Not everybody arguing for more points thinks that. The fact of the matter is there are measurement errors and repeatability errors when probing the bed. More points spread across the bed area helps compensate for those errors.

And I can tell you first hand that I have supported many many people over at 3DPrintBoard to get Auto Bed Leveling going. I don't push hard but when people have problems with adhesion on parts of bigger prints, switching away from 3 Point Leveling to the Grid Method almost always cures the problem with no further effort.

my argument has always been to get a flat bed rather than messing around

Agreed. But no bed is perfectly flat. That is what the Topology Map is all about in the G29 command. It lets you know where the imperfections are for your bed and what you need to do to level it better before the software takes over.

its ok if it tilts etc.... that is what the bed leveling are for.

Agreed. But the more level it starts off before the software has to take over, the better. If for no other reason than the back lash on the Z-Axis nuts and threaded rods.

i have just gotten my mendel90 up and running again... and i spend the better of an hour getting it perfect level manual... benefit is that i don't need automatic bed leveling.

Even in this case, the Topology Map of the Auto Bed Leveling is still beneficial to you. It really does help a lot when manually leveling the bed! :)

— Reply to this email directly or view it on GitHub.

woodsmoke commented 9 years ago

By 'all that's needed' I mean you don't need any more than that, rather than we ought to get rid of anything extra, sorry for the confusion. More sample points for a more accurate result seems fine, albeit sampling the same 3 points several times seems most straight forward. It sounds like the minimal 3 point option stays now, so that's great.

nophead commented 9 years ago

So it seems people have beds that are not flat and then probe them with probes that are inaccurate and have poor repeatability. So Marlin gets ever more complex and bug ridden to cope with rubbish hardware and no longer fits in the the majority of electronics platforms out there. Madness!

On 22 March 2015 at 15:38, woodsmoke notifications@github.com wrote:

By 'all that's needed' I mean you don't need any more than that, rather than we ought to get rid of anything extra, sorry for the confusion. More sample points for a more accurate result seems fine, albeit sampling the same 3 points several times seems most straight forward. It sounds like the minimal 3 point option stays now, so that's great.

Reply to this email directly or view it on GitHub https://github.com/MarlinFirmware/Marlin/issues/1667#issuecomment-84634307 .

alexborro commented 9 years ago

I think it is cheaper to source a board with 256Kb instead of a metal bed machined flat to 6 microns, specially if you have a large bed like I do (350mm x 350mm)... Madness may be thinking that precision mechanics is cheaper than software.

nophead commented 9 years ago

Yes but no matter how much software you write you will never print a flat object on a curved bed. And if you probe is inaccurate you won't achieve 6um accuracy either.

ntoff commented 9 years ago

i have just gotten my mendel90 up and running again... and i spend the better of an hour getting it perfect level manual... benefit is that i don't need automatic bed leveling.

Same. I don't ever need to mess with my bed on my Mendel90 Sturdy, not unless I change something.

I sit there for a good long while with automotive feeler gauges checking multiple points on the bed, level it, tighten it down and there it'll stay until next I play with it.

First layer heights of 0.06? Easy.

gregrebholz commented 9 years ago

I have no idea why I'm wading into this, but "you will never print a flat object on a curved bed" is not necessarily true. There's no reason Marlin and the host couldn't use a topology map to print a minimal "raft" on a warped/distorted/bent/cratered bed to provide a level surface on which to begin layer-0 of the model. I'm happy for folks with excellent hardware, but "never" is such a strong word and seems out of place in the maker movement.

I put in quite a bit of time leveling my 13x17" aluminum bed but probably would have been happy if there was a simple way to let software deal with my "rubbish hardware".

thinkyhead commented 9 years ago

Just thinking aloud here, one economical way to compensate for probe "reading errors" is to re-probe at the same point multiple times, then average the readings. In fact, probe down until the switch engages, record that Z, then probe upward until the switch disengages, and record that Z....

Roxy-3D commented 9 years ago

Just thinking aloud here, one economical way to compensate for probe "reading errors" is to re-probe at the same point multiple times, then average the readings. In fact, probe down until the switch engages, record that Z, then probe upward until the switch disengages, and record that Z....

This is a very interesting idea ThinkyHead! I suspect you do cancel some of the error. But I also suspect you introduce new amounts of error because of back lash in both the switch and the Z threaded rods. And, a very natural place to investigate this and get an answer would be to add an option to the M48 command to do 'Dual Measurements' of each point probed. My guess would be it helps some hardware configurations and hurts others. But either way, it is an interesting idea that deserves some investigation!

UPDATE: This idea does not work! The problem is the micro-switches are deliberately designed with a lot of hysteresis in the lever movement of the switch. Where it triggers in one direction is drastically different than where it triggers when moving the other direction. Oh well....

thinkyhead commented 9 years ago

@Roxy-3DPrintBoard Well actually I totally expected them to trigger differently in each direction. The question is, does that produce any useful data, or is the disengage position completely unrelated to the bed height … or is it just erratic? Is one measurement (down) more erratic than the other (up)?

ntoff commented 9 years ago

UPDATE: This idea does not work! The problem is the micro-switches are deliberately designed with a lot of hysteresis in the lever movement of the switch.

Exactly why I rip that stupid lever off my microswitches. You can get a LOT more accuracy out of them.

nophead commented 9 years ago

Yes the lever amplifies and inaccuracy but without it you need more force. I use low force microswitches to avoid bending the bed / axes. They are quite expensive and only available in the larger size though. I find them repeatable to about 0.01mm.

On 24 March 2015 at 07:53, ntoff notifications@github.com wrote:

UPDATE: This idea does not work! The problem is the micro-switches are deliberately designed with a lot of hysteresis in the lever movement of the switch.

Exactly why I rip that stupid lever off my microswitches. You can get a LOT more accuracy out of them.

Reply to this email directly or view it on GitHub https://github.com/MarlinFirmware/Marlin/issues/1667#issuecomment-85385231 .

ntoff commented 9 years ago

Would optical end stops be better? Since they require no force at all.

nophead commented 9 years ago

I don't think they are as accurate because they are analogue. The tab closes off a 0.1mm slit. As the light level drops the voltage on the collector of the photo transistor rises until it hits a threshold. The exact point it trips will be influenced by ambient IR, supply voltage and temperature.

Capacitive, inductive and magnetic are all the same principal. They are all analogue measurements that can be affected by stray fields and are then converted to a digital signal by electronics that depend on supply voltage and temperature. That is why I prefer a switch, which is truly digital and not affected by fields.

thinkyhead commented 9 years ago

I think we're going to keep 3 point leveling, so I'll close this. But please continue to discuss.

redsqrly commented 9 years ago

Just an idea on microswitches, I'm using one i got from a pc mouse. Its much smaller than the original endstop microswitch and requires less force to close even without the lever. I ran repeatability tests with both and the mouse switch was miles better.

ntoff commented 9 years ago

How about a spring and a paperclip? Zero force. I might actually try that, get a small spring, print a holder that allows me to screw it in and out for the adjustment and a paperclip on the moving axis. Down side is it would require one wire to each, instead of both wires running to the single switch.

alexborro commented 9 years ago

All my probes are made of an optical switch and a pin.. the pin touch the bed and triggers the optical switch.. The force applied on bed is just the pin weight (less than 1g).

2015-03-28 14:07 GMT-03:00 ntoff notifications@github.com:

How about a spring and a paperclip? Zero force. I might actually try that, get a small spring, print a holder that allows me to screw it in and out for the adjustment and a paperclip on the moving axis. Down side is it would require one wire to each, instead of both wires running to the single switch.

— Reply to this email directly or view it on GitHub https://github.com/MarlinFirmware/Marlin/issues/1667#issuecomment-87269701 .

"Não é o mais forte da espécie que sobrevive, nem o mais inteligente. É aquele que se adapta melhor as mudanças" ( Charles Darwin )

Alex Borro

thinkyhead commented 9 years ago

Nice. I assume the switch is enclosed so it's unaffected by ambient light…? That is a nice economical (and 3D-printable) solution which I shall definitely try.

alexborro commented 9 years ago

You don't need to enclose the switch. It uses a Infrared beam much stronger than ambient light. The switch is triggered as soon as you interrupt that beam.

Cheers.

Alex. Em 28/03/2015 22:56, "Scott Lahteine" notifications@github.com escreveu:

Nice. I assume the switch is enclosed so it's unaffected by ambient light…? That is a nice economical (and 3D-printable) solution which I shall definitely try.

— Reply to this email directly or view it on GitHub https://github.com/MarlinFirmware/Marlin/issues/1667#issuecomment-87340996 .

nophead commented 9 years ago

Th exact point it switches will be affected by ambient IR from sunlight or halogen lighting. This has been a problem with optos on Reprap in the early days and why it moved to switches.

Also the slit in an Opto is 0.1mm, whereas a good quality microswitch gives a repeatability of about 1/10th of that.

On 29 March 2015 at 17:58, alexborro notifications@github.com wrote:

You don't need to enclose the switch. It uses a Infrared beam much stronger than ambient light. The switch is triggered as soon as you interrupt that beam.

Cheers.

Alex.

Em 28/03/2015 22:56, "Scott Lahteine" notifications@github.com escreveu:

Nice. I assume the switch is enclosed so it's unaffected by ambient light...? That is a nice economical (and 3D-printable) solution which I shall definitely try.

Reply to this email directly or view it on GitHub < https://github.com/MarlinFirmware/Marlin/issues/1667#issuecomment-87340996

.

Reply to this email directly or view it on GitHub https://github.com/MarlinFirmware/Marlin/issues/1667#issuecomment-87443772 .

alexborro commented 9 years ago

Sorry @nophead but this is not the behavior I see on the optical switch I have made.

I did not tested it under direct light because it is inside the machine. But I have achieved the repeatability of 7 microns, which is more than enough to me.

I could say it is far better than microswitchs, mainly because it applies no force at all on the bed. A regular microswitch applies about 50g to 80g of downforce.

Cheers.

Alex Em 29/03/2015 14:05, "Chris" notifications@github.com escreveu:

Th exact point it switches will be affected by ambient IR from sunlight or halogen lighting. This has been a problem with optos on Reprap in the early days and why it moved to switches.

Also the slit in an Opto is 0.1mm, whereas a good quality microswitch gives a repeatability of about 1/10th of that.

On 29 March 2015 at 17:58, alexborro notifications@github.com wrote:

You don't need to enclose the switch. It uses a Infrared beam much stronger than ambient light. The switch is triggered as soon as you interrupt that beam.

Cheers.

Alex.

Em 28/03/2015 22:56, "Scott Lahteine" notifications@github.com escreveu:

Nice. I assume the switch is enclosed so it's unaffected by ambient light...? That is a nice economical (and 3D-printable) solution which I shall definitely try.

Reply to this email directly or view it on GitHub <

https://github.com/MarlinFirmware/Marlin/issues/1667#issuecomment-87340996

.

Reply to this email directly or view it on GitHub < https://github.com/MarlinFirmware/Marlin/issues/1667#issuecomment-87443772

.

— Reply to this email directly or view it on GitHub https://github.com/MarlinFirmware/Marlin/issues/1667#issuecomment-87444197 .

nophead commented 9 years ago

Is that 7 microns from one minute to the next or 7 microns from day to day at different temperatures and sunlight levels?

The microswitches I use are only 15g and I am beginning to think the force required to squash the filament is quite significant, so the bed needs to be reasonably stiff anyway.

However you could be right as it very difficult to find any figures for repeatability of opto ,capacitive, inductive and hall sensors. They are all analogue and subject to influence from stray fields but no info about how much. On the other hand switches are not affected by any fields or supply voltage. Possibly temperature affects them due to expansion, but again no data.

alexborro commented 9 years ago

Although I didn't run a dozen of formal repeatability tests in different conditions, I have those optos running in my bots for months - actually more than one year in one of them - and I could tell you I do not need to adjust the offset at all.. For months. I just need to adjust it when I do some maintenance on hotend or nozzle.

So yes, they are pretty accurate. I suggest you to give it a try.

Cheers.

Alex. Em 29/03/2015 18:13, "Chris" notifications@github.com escreveu:

Is that 7 microns from one minute to the next or 7 microns from day to day at different temperatures and sunlight levels?

The microswitches I use are only 15g and I am beginning to think the force required to squash the filament is quite significant, so the bed needs to be reasonably stiff anyway.

However you could be right as it very difficult to find any figures for repeatability of opto ,capacitive, inductive and hall sensors. They are all analogue and subject to influence from stray fields but no info about how much. On the other hand switches are not affected by any fields or supply voltage. Possibly temperature affects them due to expansion, but again no data.

— Reply to this email directly or view it on GitHub https://github.com/MarlinFirmware/Marlin/issues/1667#issuecomment-87481132 .

github-actions[bot] commented 2 years ago

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.