Auto bed probing and compensation with G29 Development

The model is designed to 9.9mm, and it is printing to 9.1mm. I will give it an extra 0.8mm in the hex. (to 10.7)

attached is the updated STL file…please print it and make sure the nut fits snuggly. If so, I will update it on thingiverse.
Z_NutSpring_1013_M6_loosened_nut.stl (1.76 MB)

Awesome, will start getting it printed shortly!

Any luck?

I don’t know the full status as I’m not doing it, but I know the parts are printed and it is all assembled. Perhaps just doing the firmware now or something.

I was more curious if the oversized hex model I posted was oversized the correct amount for the hex nut, or if I should modify it a little more?


But I do need to post the firmware config file and G-code too.

Just added the custom G-code and cofiguration.h file to make this mod work to the first post of this thread.

I am trying out this gcode after updating the firmware and fabbing the parts. Am I missing something? It appears that the gocde posted would only go to one place on the bed? I thought the whole point was to probe 3 places to determine the plane. also, does anyone else think the bed is probably a hypar and not flat plane? hypars would need 5 points to determine.

look at the config.h file. the co-ordinates for the 3 probing points are in there.
G29 goes to those 3 points and probes. the extra Z home call out in the G-code is there in case you are way high up in the z before probing, since the G-29 expects you to be fairly close to the bed.


yes more than 3 points would be better, but 3 is all we get, short of re-coding the firmware.

BTW, I printed the first version and no way was a M6 nut going to fit in there… I may experiment with a little heat, but I’ll print this one too and let you know.

I ordered M6 brass nuts from mcmaster and just got them along with inserts.

Alan

So I printed this loosened version, it was much better than the original, but it’s just ever so slightly too large (nut sloppy in the hex size).

I measured about 10 different nuts from a bag of 50 from mcmaster, they at average were 9.8mm. Taking that extra .1mm and looking at it on the calipers, that would be .05mm on each side… and that’s probably going to be about right.

I also tried an experiment and as soon as I got about 40 layers up (higher than the thickness of a single nut, I dropped the nut in there while the printed part was still hot. After taking if off the glass, that nut is much better than the one next to the window.

If you could mod this part for 2 things… first that .1mm smaller diameter, and second, not so much of a taper on the nut at the window. I found that with the 1/8" rods in that there was too much play with that nut as it wasn’t quite down into the hex… Either that or move the 2 spacing rods slightly closer together.

I’m happy to try this again, if you can make some changes to help… printed on a printer that taper on the one nut probably is lots different than the high quality part that you printed on the production printer… between round extrusion and the taper, there just isn’t enough to get a good bite, even if the size of the hex were perfect.

Alan

thanks for the info… but you might be able to simply adjust the tightness by upping the flowrate to 110% or more during the print. 0.1mm is very little difference. Changes in room temperature, may affect the part more.

Only one nut (the top one) really needs to be tight. The bottom one can be looser in the hex…it just needs to be able to take the spring force and take-up the backlash, so if it is tighter than the spring force can overcome, that would not be good.

Maybe I could just add some small bumps near the top nut area, so it can be pressed in place.


You can also use slightly smaller pins in the alignment holes if you want the nuts closer together…but remember, the nut in the window should be the only thing touching the spring. You do not want that nut up too high, and then the spring is pushing on the plastic. The top of the spring should only push on the nut.

BTW,

This may not be clear, but the 1/8" pins in the 4 holes are ONLY used during assembly. Once the threaded rod is in place, and holding the nuts, you should remove the 1/8" pins so that the threaded rod and nuts take up the spring force.

good feedback and I’ll give that a try… the most enclosed nut I can get completely movement free and snug and with just a slightly smaller alignment rod on the other nut I think I can make do… Yes I knew about those pins for assembly only.

Thanks!
Alan

What about putting a sheet of aluminum foil on the bed, putting a small voltage on the nozzle, and checking for electrical continuity between the nozzle and the bed? That would alleviate any uncertainty in the switch position and would not require additional parts. My only concern would be that the aluminum be dead flat. Maybe a sheet of known thickness the size of the glass bed would do it. It would be even better to have an aluminum sheet the thickness of the first layer. Those values could be used for correction and one could do a multipoint sweep quickly.

If any plastic ooze or residue is on the nozzle, the contact will not be made and the machine will continue down, and likely break the glass. Plus it is not automatic, since you have to manually remove the aluminum.

Micro-switches are very reliable and cheap.

Just got my printer up and running, gotta try this auto leveling out :smiley:

@gannon, wow that’s a nice looking system there, congrats. :slight_smile:

-Jeff

Had to reprint the bearing holder on one of my other printers due to the lash still in my TAZ (guess it does need a bit of work still :stuck_out_tongue:)
After mounting the bearing holder I noticed that it is near impossible to access the belt screws with it installed. Two zip ties fixed that and gave me an easier way to tension the X belt.

Thinking I will need a longer push rod also, but that shouldn’t be too hard.

@1013, I tried this out last night with stock X ends / etc and the Z correction was extremely exaggerated. Thinking I might need stiffer parts or that I messed up the code somewhere.
BTW, I merged the auto leveling code into the latest marlin release for my tests. The one thing that I want to add is a way to have a separate Z endstop and probe. I’m thinking I can plug the probe into the Z max endstop port and code it to work from there. The other method is more a hardware fix and would be to just wire the switches in parallel. Once I get it working I can release the code for those that would like.

I wired the switches in parallel, that way the “stock” switch is a lest resort…in case the other switch gets knocked off, or stuck or something. That way it will never crush the glass.

It did take a while to get the Z offset just right, and it may be very different on your machine. (especially with those solid bushings). Not sure what the latest release of marlin does differently…but what files from the bed-level firmware did you use? I am still not sure where all of the actual bed leveling code is in that mess of files.

I suggest you add the M206 to your start G-code…that way you can easily fine tune the Z offset without having to re-flash the firmware each time

M206 X0.0 Y0.0 Z0.0; offset home position for fine tuning

BTW, I just ground down the end of the allen wrench, so I could get to those screws…but a zip tie is not a bad idea.