51

Re: Automatic bed leveling and z offset howto (Level 2/3)

I need some help guys.
I have done my modifications and created an opto-endstop holder for Lawsy's MK5 extruder holder.

I calculate the distance between the hotend and the endstop by following the same write up found in this main post (i.e, same as Marlin's github page).

When I issue the G29 command, the weird thing is, m bed/Z axis goes down, and increases the distance between the sufrace and the endstop!

it is like each time I try probe, it accumulates from the previous time, and I tried not multiplying the Z value that I got from M114 by -1, for the sake of testing, didn't help.

Any Idea what could be causing this?
I am looking at the github repo here:
https://github.com/ozadr1an/Solidoodle- … in_v1_beta

perhaps this is the wrong one!

Thanks

52

Re: Automatic bed leveling and z offset howto (Level 2/3)

The bed is supposed to go down ~1cm before moving the probe, to be sure that the probe can be extended. Does it stop at some point or does it continue to go down indefinitely?

53

Re: Automatic bed leveling and z offset howto (Level 2/3)

It goes down a lot before stopping.
then it comes back up, not ever getting to the probe, it stops and goes back down to the next probe point.
and so on.

next time around, if I run the job again, the Z offset is greater. just as if it gets accumulated over and over.
after few tries, the bed is ~2 inches above the bottom of the Solidoodle.

I setup another probe, using a mechanical switch rather than an opto swtich, no servo as well.
Will test and see how it goes, any more feedback is also welcome.

54

Re: Automatic bed leveling and z offset howto (Level 2/3)

You can also try my own Marlin version, that is more up-to-date with baseline marlin than adrian's. But you need to check the configuration options (they are tweaked to my printer, with silicone heater and sanguinololu board).

You can find it here:

https://github.com/fsantini/solidoodle2 … fssettings

55

Re: Automatic bed leveling and z offset howto (Level 2/3)

Thanks Rincewind.
I'll take a look at it, seems most of the changes will be SD2 -> SD3 bed size, hotend used and the like, so nothing major I can probably get them done tonight and test.

Will update this thread. (perhaps post a video of what is happening)

56 (edited by mdrVB6 2014-07-23 17:25:36)

Re: Automatic bed leveling and z offset howto (Level 2/3)

Okay, my servo motor is here and I want to attempt this mode after I get the arm printed.  I have a few questions before I begin. 

First, I am running and RUMBA board with the latest version of the firmware from Adrian's github that does not have a pins.h tab.  So, where in the firmware do I go to assign the servo motor to a pin and what pin should I be using?  Z max has 5V, ground and signal wires available and is not used for the end stops, can I plug it into there?  Hopefully I don't have to grab an entirely new version of the firmware, because it is working great as-is.

Also, I have 3 different nozzles and corresponding layer heights that I use with my E3D hot end.  With each nozzle, I have a different first layer height and therefore my Z screw needs to be adjusted between each nozzle change.  If I just configure it with my middle sized (0.4 mm nozzle), then my first layer will be too squished with my 0.25 nozzle and not enough squished with my 0.6 mm nozzle.

How do you suggest handling this with auto bed leveling enabled?  It is obviously unacceptable to modify my firmware every time I change a nozzle but the different nozzles do require different offsets unless I try to use a single first layer height with all prints.  That would mean my first layer height would always be 0.25 mm or smaller because you can't make a layer height bigger than the nozzle diameter (slic3r returns an error if you try).  I don't see anything in the firmware allowing you to use different offsets for different size nozzles.  I'm interested to see how others handled this or if I am totally thinking wrong.

Thanks!

SD4 w/ RUMBA, E3D Volcano, all bearings, glass bed

57

Re: Automatic bed leveling and z offset howto (Level 2/3)

There's a first layer height setting in slic3r - this should do what you're looking for; if you've had no luck with it previously you might need to ensure your zeroing is set to the right spot (i.e. exactly on the bed surface) and your z-axis backlash is eliminated and/or compensated for (look up M99)...

SD3. Mk2b + glass, heated enclosure, GT2 belts, direct drive y shaft, linear bearings, bowden-feed E3D v5 w/ 0.9° stepper
Smoothieboard via Octoprint on RPi

58

Re: Automatic bed leveling and z offset howto (Level 2/3)

mdrVB6 wrote:

Also, I have 3 different nozzles and corresponding layer heights that I use with my E3D hot end.  With each nozzle, I have a different first layer height and therefore my Z screw needs to be adjusted between each nozzle change.  If I just configure it with my middle sized (0.4 mm nozzle), then my first layer will be too squished with my 0.25 nozzle and not enough squished with my 0.6 mm nozzle.

How do you suggest handling this with auto bed leveling enabled?

A newer version of the firmware has the Z offset setting in the EEPROM. If you pull the firmware from my repo you should get it:

https://github.com/fsantini/solidoodle2 … fssettings

59

Re: Automatic bed leveling and z offset howto (Level 2/3)

Hey Guys,

I have a dilemma with my auto bed leveling system. I have a custom Cartesian style 3D printer that is similar to a Taz. It is running RAMPS 1.4 and the latest version of the Marlin Firmware.

I set up the auto bed leveling just like the instructions said to. At this point it should be working but it does not. When I home x and y and then issue the G29 command the endstop is immediately deployed and the z axis descends. There is no lift and it does not move to the first probing position. If I manually press the endstop it retracts, waits a second, deploys, and starts going straight down again. I have examined my configuration.h file and compared it to examples and I have read the instructions and watched tutorials many times and I cannot find anything that I did differently.

One thing that I did notice is that the readout on Repetier Host displays the following once the bed leveling is "Complete:"

23:31:30.673 : Bed x: 50.00 y: 60.00 z: -2.18
23:31:31.841 : Bed x: 140.00 y: 60.00 z: -2.26
23:31:33.852 : Bed x: 140.00 y: 140.00 z: -4.22
23:31:34.934 : Bed x: 50.00 y: 140.00 z: -4.25
23:31:34.942 : Eqn coefficients: a: -0.00 b: -0.03 d: -0.68
23:31:34.946 : planeNormal x: 0.00 y: 0.03 z: 1.00
23:31:34.950 : echo:endstops hit: X:154.50 Y:117.00 Z:-4.25

also the x and y display positive numbers as if they had moved but the head remains stationary and just goes straight down as if it were at a probing point.

I am completely stumped right now but I am hoping that it is something simple that I messed up. I have attached my Config.h file just in case it helps. Any help would be appreciated.

Gordon

Post's attachments

Configuration.h 33.06 kb, 4 downloads since 2014-10-13 

You don't have the permssions to download the attachments of this post.

60

Re: Automatic bed leveling and z offset howto (Level 2/3)

Uhm that is puzzling. Try commenting out the line:

#define Z_PROBE_REPEATABILITY_TEST

61

Re: Automatic bed leveling and z offset howto (Level 2/3)

Thank you for the reply Rincewind.

Since my previous post I have been continuing to modify the code. I never got the original Marlin to work. I could print but not autolevel. I saw that oysteinkrog had a prusa i3 branch of the Marlin firmware so I decided to try it. I changed the feedrates, travel speeds, and and other settings to work with my printer and uploaded it. The Bed leveling feature now works! I have no Idea what made the difference. my config.h file has the same settings. I cannot find any differences. It does not work perfectly because no matter what value I put for grid points, it always does a 3X3 grid.

This brings up some dilemmas. Why did the first version not work? Why does the i3 version work? Why can I not change the firmware settings for the grid but still have it work?

Anyone have any Ideas?

62 (edited by mloebl 2014-11-22 20:30:54)

Re: Automatic bed leveling and z offset howto (Level 2/3)

I'm a bit stumped and could use some help... I'm using a RUMBA with the latest Marlin fw.  When I do a G28, it levels out fine, run G29 and it does the measurements, however when it starts to print, the Z level is too low (seems to be offset incorrectly.)  I notice when I do a G28, the LCD says:
Z is -007.6mm (value I have for Z_PROBE_OFFSET_FROM_EXTRUDER)
After I do a G29, it says: -007.6mm

Send: G29
Recv: Bed x: 40.00 y: 40.00 z: -8.20
Recv: Bed x: 160.00 y: 40.00 z: -7.84
Recv: Bed x: 160.00 y: 160.00 z: -7.74
Recv: Bed x: 40.00 y: 160.00 z: -8.04
Recv: Eqn coefficients: a: 0.00 b: 0.00 d: -8.34
Recv: planeNormal x: -0.00 y: -0.00 z: 1.00
Recv: ok
Recv: echo:endstops hit:  Z:-8.04

Send: M114
Recv: X:55.58 Y:185.69 Z:-7.67 E:0.00 Count X: 55.60 Y:185.70 Z:-7.32
Recv: ok
When the printing starts, it seems to stay around the -7.6mm mark, so the zstop distance is that of the probe and not of the print head.  Could use some ideas?

Thanks!

Post's attachments

Configuration.h 35 kb, 5 downloads since 2014-11-22 

You don't have the permssions to download the attachments of this post.
SD3, Lawsy Carriages with GT2 belts on x axis, BLTouch, Bondtech BMG extruder, E3D v6 via bowden, MIC6 bed with 200W heater w/SSR relay and a RUMBA controller

63

Re: Automatic bed leveling and z offset howto (Level 2/3)

Well not sure if I found a problem or works as it should, I compared the stock Marlin firmware to the branch from ozadr1an and it had a section in configuration.h for:

 #ifndef ENABLE_AUTO_BED_LEVELING
  #define Z_MIN_POS 0
#else
  #define Z_MIN_POS (-1*Z_PROBE_OFFSET_FROM_EXTRUDER)  //With Auto Bed Leveling, the Z_MIN MUST have the same distance as Z_PROBE
 #endif

I added that in and it does indeed now finally offset correctly!

SD3, Lawsy Carriages with GT2 belts on x axis, BLTouch, Bondtech BMG extruder, E3D v6 via bowden, MIC6 bed with 200W heater w/SSR relay and a RUMBA controller