M2 Auto-Leveling

The place to discuss your hardware and software/firmware modifications...
Bratag
Posts: 439
Joined: Wed Jan 14, 2015 5:33 am

Re: M2 Auto-Leveling

Post by Bratag » Fri Mar 20, 2015 5:39 am

insta wrote:I'm in, Rick. You guys know well enough that I will find creative ways to tease out requisite idiot proofing in the upgrade ;)
As a programmer I always say "Every time I make something idiot proof - they build a better idiot"

Many is the time I have sent something off for testing thinking it pretty much idiot proof only to have someone come back with "Yeah well when we clicked that button 50 times while holding down the control key and typing random characters , the app crashed" .....

User avatar
rpollack
Posts: 472
Joined: Wed Apr 09, 2014 9:01 pm
Location: Beachwood, OH
Contact:

Re: M2 Auto-Leveling

Post by rpollack » Fri Mar 20, 2015 11:38 pm

Ben - there is a variation where you can put the z end stop on the bottom of the M2 and then set the Z offset (from the bottom). We'll post that info here as well...

Rick

Josh
Site Admin
Posts: 91
Joined: Thu Apr 10, 2014 3:32 pm

Re: M2 Auto-Leveling

Post by Josh » Sat Mar 21, 2015 2:05 am

Good evening folks. I've created a new folder under our M2 repo on our Github (https://github.com/MakerGear/M2/tree/ma ... auto-level ) called "Experimental Parts", which will be the home for any semi-official/testing upgrades, including the auto-level probe and bottom Z endstop setup.

The "Z Probe for auto-level" folder contains all the current experimental parts. There are two different probe mounting systems - a very simple bracket to simply test out the bed leveling features (mount a microswitch at the bottom, mount the bracket to the filament drive mounting hole closest to the idler shoulder bolt), and the more advanced "hex" probe. The hex probe requires a few extra bits of hardware, in addition to the prints - the new extruder motor mount has two M3 nut traps and counterbores that will allow the probe body to mount to the side of the EMM with two M3x12mm bolts; the probe body requires two M2.5x10mm bolts to secure the microswitch to the part, and also needs springs and a guide rod (addressed a bit below); the probe needs two bolts, M3x8mm preferable for the actual probe tip (to avoid melting the PLA tip if probing on a bed heated for ABS printing), and M3x12~20mm for the probe "handle", which activates the microswitch and allows manual control. The probe needs a spring to force it down strongly enough to activate the microswitch (and hold it in place while inactive) - I used a 3mm Allen wrench as a guide rod, and the springs from two pens (an orange and a purple Pilot G2, if you want to be that attentive to detail... this configuration may not have quite enough force/throw, however).

While idle, the probe is lifted up and rotated CCW (when looking down at the printer) so that the "handle" bolt sits in a relief in the probe body; the spring force keeps it in place. In use, the probe is lifted slightly and rotated until the handle bolt is in the main channel, and gently brought down to contact the microswitch. When commanded to probe Z, the printer will raise the bed until the probe bolt head hits the bed, opening the microswitch; the bed will drop a bit and slowly touch the probe again (standard homing "double-tap" behavior). The microswitch is plugged into the Z-Min header on this printer's RAMBo, as I'm using this printer with a Z-Max endstop/homing direction by default (which I think may be preferable when using the Z probe).

The firmware in that folder is currently configured for homing Z towards Max (so down, hitting/activating an endstop at the bottom of the printer).

I'm still wrapping my head around all the offsets that are in play here (M851 sets the Z probe offset, "M206 Zn" sets the Z _home_ offset, and there are compiled probe position/range values), but the firmware as it stands should work. I believe that the process is to set your M206 Z home offset first (if homing to Max); then use M851 to set the vertical distance between the probe activation point and your standard bed:nozzle gap (~-17.9mm on my setup, IIRC).

I don't believe I've missed anything critical here. One note about the optical flag - if printed in our Blue PLA, it may be IR translucent enough to not trigger the optical switch; I haven't tested that thoroughly yet, but adding a piece of standard black electrical tape was sufficient. The flag itself can easily be trimmed down to fit a different endstop setup (you don't want the bottom pressing against the endstop assembly when the Z motor is disabled) - I trimmed mine down to a layer or two below (/above...) the chamfer on the flag tip.

Let me know if I've missed anything here, or if you would like .STEP or other formats for the parts.
Attachments
IMG_9267.JPG
(627.42 KiB) Downloaded 757 times

sprior
Posts: 379
Joined: Thu Apr 10, 2014 8:37 pm

Re: M2 Auto-Leveling

Post by sprior » Sat Mar 21, 2015 2:37 am

Is this specific to the single extruder V4 and not the dual? It seems that you've got a new motor mount and the dual is of course metal.

Josh
Site Admin
Posts: 91
Joined: Thu Apr 10, 2014 3:32 pm

Re: M2 Auto-Leveling

Post by Josh » Sat Mar 21, 2015 3:14 am

Bed compensation ("autoleveling") can't work with a dual, at least not one with the nozzles fixed in the same horizontal (thus same Z position) plane - the autolevel works by calculating the tilt of the bed, and moving the hotend (or bed, in the case of the M2) in Z to keep the distance between the nozzle and bed the same. If the bed is level front to back, but tilted so that the right edge is several mm below the left edge, the bed will move up (-Z) as the nozzle moves to the right (+X) to keep the bed:nozzle gap the same; if there are two nozzles that are at the same Z height, though, when trying to move up enough to get the right nozzle close enough to the bed, the left nozzle will be dragging through the bed/print surface.

Edit: so, yes, will only work for a single V3B or V4 (I have it installed on a V4, but I don't see anything that would interfere with its use on a V3B).

sprior
Posts: 379
Joined: Thu Apr 10, 2014 8:37 pm

Re: M2 Auto-Leveling

Post by sprior » Sat Mar 21, 2015 3:56 am

The dual does seem to make things as fussy as they possibly can be.

nelsond6
Posts: 16
Joined: Wed Jan 07, 2015 9:36 pm

Re: M2 Auto-Leveling

Post by nelsond6 » Sun Mar 22, 2015 2:35 am

This is awesome. One of the things I dread most is leveling the bed as I can never remember which screws do what. I would try this out, but would probably need a little more hand holding.

-Dan

rsilvers
Posts: 184
Joined: Wed Apr 09, 2014 11:07 pm

Re: M2 Auto-Leveling

Post by rsilvers » Sun Mar 22, 2015 3:01 pm

My bed has not gone out of level ever, not even when I moved houses. But auto-z-height is useful (hate the screw and jam nut thing as it should be done in software), and it will help sell the machine to people who are buying their first printer.

I feel weird about altering angle on the fly in software though. It seems like it messes with the purity of the layers and data.

chad
Posts: 35
Joined: Thu Jun 26, 2014 9:24 am

Re: M2 Auto-Leveling

Post by chad » Mon Mar 23, 2015 12:10 am

My m2 holds level really well, I rarely have to muck with it when set. I totally agree with ED about the backlash issue, that will just complicate things. Remember also that little 8 bit micro is already pretty well loaded down it doesn't have many resources left over.

Now as far as the Z bottom home is concerned that is something I have been thinking about doing for a long time. That should be standard on all units for two reasons.
1) It will get rid of that damn bed fall (I can't believe that is standard operating procedure). I fixed that my first night of printing with one line of g code in the ending script. Optionally a firmware tweak to lengthen or omit the stepper enable timeout. I haven't looked, maybe someone know off the top of their head is there a g code to disable the steppers?
2) Software Z offset adjust. S3d could make this easier with a base offset adjust (like it has) then a second for a +- .1 fine tune number that gets added or subtracted from the base value.

While I am venting... My friend got a m2 a couple of months back and I think that the extruder fan starts on power up. Really annoying. It also doesn't shut the fans off when a print is done. I also must have fixed this on mine because mine doesn't do that. It uses the firmware shut down extruder fan blow 50c I think. I also added a bed fan shut down in the ending script. Again in my opinion this should be standard stuff and it is so easy to do. My printer finishes a print, shuts off the bed fan, lowers the platform, extruder cools to 50c and turns off the fan then my printer goes dead quiet. My extruder fan doesn't turn on until the extruder is heating up.

Just my 2c worth.

chad

User avatar
insta
Posts: 2018
Joined: Tue Sep 16, 2014 3:59 am

Re: M2 Auto-Leveling

Post by insta » Mon Mar 23, 2015 3:58 pm

chad wrote:My m2 holds level really well, I rarely have to muck with it when set. I totally agree with ED about the backlash issue, that will just complicate things. Remember also that little 8 bit micro is already pretty well loaded down it doesn't have many resources left over.

Now as far as the Z bottom home is concerned that is something I have been thinking about doing for a long time. That should be standard on all units for two reasons.
1) It will get rid of that damn bed fall (I can't believe that is standard operating procedure). I fixed that my first night of printing with one line of g code in the ending script. Optionally a firmware tweak to lengthen or omit the stepper enable timeout. I haven't looked, maybe someone know off the top of their head is there a g code to disable the steppers?
2) Software Z offset adjust. S3d could make this easier with a base offset adjust (like it has) then a second for a +- .1 fine tune number that gets added or subtracted from the base value.

While I am venting... My friend got a m2 a couple of months back and I think that the extruder fan starts on power up. Really annoying. It also doesn't shut the fans off when a print is done. I also must have fixed this on mine because mine doesn't do that. It uses the firmware shut down extruder fan blow 50c I think. I also added a bed fan shut down in the ending script. Again in my opinion this should be standard stuff and it is so easy to do. My printer finishes a print, shuts off the bed fan, lowers the platform, extruder cools to 50c and turns off the fan then my printer goes dead quiet. My extruder fan doesn't turn on until the extruder is heating up.

Just my 2c worth.

chad
I had modified firmware to do that (using the features of a newer branch of Marlin) but it also introduced X-axis skipping for some unknown reason. I liked that feature, too ...
Custom 3D printing for you or your business -- quote [at] pingring.org

Post Reply