Fishtacos MP3DP.

I’ll double check it all tomorrow. But I made sure it was all good. I did notice that my left lead screw leans towards the middle of the printer ( about .030 inch) but I don’t think it’s going to hurt anything, as the mount moves up it should pull it inline with the smooth rod.

I don’t have auto bed leveling on my machine.

When I finally got it into my head that I needed to check that X was parallel to the bed I found almost a 5mm difference between the two sides, measuring from the top surface of the Z stepper mounts. Boy, adjusting that sure made it easier to level the bed. I’d had the two springs nearly loose and the single almost jammed. :slight_smile:

I did swap out screws, springs and nuts for 3mm instead of #6. The springs I got are taller and thinner, which helps with both a larger adjustment range and less interference with the wires coming off the aluminum heater.

@vicious1, do you add grease to your leadscrews? I added some to mine, and it’s been much quieter. My other prusa has a bunch of grease on the leadscrews, so I assumed it was important. It was making a very crunchy noise before I added grease.

Yup, White lithium usually.

So mesh bed leveling. What sensor should i buy? And is ut set up in the new firmware? I need to update that today. I keep forgetting.

Me personally, I do not like software leveling of any kind.

Why is that?

In an ideal world it is not needed. All axis should be perpendicular to each other, yada,yada,yada. In the real world with careful assembly all our axis should be relatively perpendicular. When using the printer for the very first time care should be taken to assure the ZX axis are also perpendicular to the z rails, easy enough measure for the top of the z motor mounts to the XZ brackets. On any printer.

That just leaves the bed. The bed is very easy to level as well. Using a cold extruder level the bed front to back on the 2 screw side by getting the nozzle very close to the bed sliding the bed back and forth and making careful adjustments. Then move the nozzle over to the single screw side and make any necessary adjustments. Repeat this one more time to make sure it is as close as you can get it. (this is where some people use a piece of paper or a business card to check for level by feeling the tension (feeler guage) in between the nozzle and bed on all three points).

From this point it is just a matter of z home calibration with the one screw. To do this start a print, see where it is and then stop it. Nozzle to far from the bed turn the screw in, too close to the bed turn the screw out. once it is set this adjustment should rarely be touched. I have 5 printers running this way and one of them has only been adjusted once in the last 2 years after replacing all the bearings.

So now on to the auto level. As far as I know auto level was created to help new comers to get started printing. The early days the first layer was by far the biggest hurdle for some as the early printers were built very different and could easily be not perpendicular and very hard to adjust. The Robo 3d printers had a hard mounted bed with no way to easily adjust (we used paper shims in beywean the second gen magnets), the mendle 90 had triangular frame which most found difficult to get perpendicular. Some current printers still offer no way to adjust the bed and rely on auto level…poor engineering. Software should never be used to fix a hardware issue (non-perpendicular bed), unless the poorly engineered product has shipped to the masses and it is the last resort.

Con’s
-This works by always running the z axis up and down to compensate for a non perpendicular bed (not a non planer), the more axis moving at once the less accurate you prints will be.
-The settings only work for one printer every offset will be different, not a big deal for most, but for me no good.
-This only controls a flat plane, a warped or bowed bed can not be compensated for, as far as I know, if it did you would translate that warp all the way through your part…pointless for anything useful.
-If you don’t set up your printer well initially this will not work as your axis can be far enough off to not permit printing, axis binding, poor nozzle angle, ect. If you set your printer well auto level is not even needed, and won’t do anything.
-You still have to set an initial z offset, why not just do it with the screw.
-If your offset changes in any way do to repairs or unclogging a nozzle or something your previously sliced gcode is worthless as the offset is hard coded in.
-if you set your printer up correctly auto level will only control z offset and the z axis will not move.
-extra hardware, more software settings.

Pro’s
-Some people understand a software setting (a number) for initial layer height easier than setting a screw. This also works for a non auto level printer but should not be used for the reasons above.
-It is an amazing use of hardware and software, it almost seems like magic to those who first see it.
-ups the cool factor for sure.

Don’t take this the wrong way, this isn’t actually directed at you I just needed to get this out there and I will link to in in the FAQ’s. I hope it was informative and clear. If not let me know so I can edit it to keep it clear.

I ordered some proximity sensors and will do some testing with them. I’m thinking less about auto-leveling and more about fine tuning the physical leveling. If I run the auto level routine I should have hard numbers to translate into turns of a thumbwheel. Note that this type of sensor needs metal (preferably ferrous) under it. It’ll work on the aluminum bed but with a shorter range than with steel.

Look at all my prints today, lol. I still don’t like my first layer. but it’s even. 0.01 inch all the way around the square. It’s having a bubbling issue the first layer infill. I’ve tried a million things to fix it, changing first layer height, adjusting temps, tightening extruder, lowering my extruder multiplayer. I’m out of options here.

Bill did you check to make sure that was a 5v sensor? I was reading/watching and they say if not you have to make a relay or something to keep it from frying.

I agree with your sentiment Ryan, but I have a few comments on some things:

The way auto levelling works is:

  1. The gcode for the part only has to add in a G29 command, when you want to do the auto levelling
  2. The G29 will measure at different points in the bed.
  3. The firmware (not the slicer/gcode) will adjust the x,y,z for each position in the gcode.

There are different methods, such as 3-pt, which will just adjust for a slope, or mesh leveling, which will compensate for a bend in the build plate. The X/Y are adjusted as well, so a building will be printed “tipping” if there is a slope to the bed. These settings are all adjusted in the marlin firmware, the slicer has no idea that it’s happening.

“Software should never be used to fix a hardware issue”. This is a fine opinion, but there are many reasons why solutions on software are prefered. The best counter example is a quadcopter, where all the complicated mechanics of a helicopter were replaced with a $1 microcontroller and it’s software. Software can be copied billions of times for cheap. Some issues should not be solved in software, but some things definitely should be.

“This works by always running the z axis up and down to compensate for a non perpendicular bed (not a non planer), the more axis moving at once the less accurate you prints will be.” The slope of these movements is about 1/1000, so there are really no significant dynamics in play here. The z axis moves so slowly, that I think this is more fear than fact.

“The settings only work for one printer every offset will be different, not a big deal for most, but for me no good”. I agree that you will not benefit from auto leveling. But the gcode does not change from printer to printer.

“This only controls a flat plane, a warped or bowed bed can not be compensated for, as far as I know, if it did you would translate that warp all the way through your part…pointless for anything useful.” It can be compensated for. Also, a difference of 0.05mm in the height at one corner of a part is no big deal for a great many prints that are useful. Also, there is a setting to adjust only the first few layers, so that the rest of the part is as uniform as it would have been.

“If you don’t set up your printer well initially this will not work as your axis can be far enough off to not permit printing, axis binding, poor nozzle angle, ect.” Agreed. It would be one thing if you bought a printer with auto leveling, but I don’t think you should expect auto leveling to fix any problems if you are having trouble with your first layer. I’ll get to my motivation in a minute.

“If your offset changes in any way do to repairs or unclogging a nozzle or something your previously sliced gcode is worthless as the offset is hard coded in.” The gcode doesn’t change with the z offset, it’s a setting in the marlin configuration. It’s accessible from gcode, or from the LCD. It’s a pain, but so is leveling a bed. Adjusting only the offset is better than adjusting the corners screws too.

Personally, I tried it because I thought it was cool, and I am not making money with this printer, it’s my toy. I will say that there is a big advantage for me. The first layer thickness is the most critical part of any print, and getting it as right as possible is more important than the overall thickness of the part. The tolerances are way different, a small change in the first layer height can really screw it up. That same small change in the total part is no big deal. Also, if you’re like me and you have a slightly bowed plate, then you can’t do anything to make the part perfect, but at least you can print it when first layer is layed down well.

Once adjusted, I’ve had very consistent results, and I don’t have to deal with the corner screws anymore. I don’t like that I have to adjust the height whenever I remove it, but with a different mount, that wouldn’t be a problem. Adjusting the z offset is pretty easy, and saves in the configuration. The gcode doesn’t have the z offset or the mesh leveling numbers in it, that’s all done in the firmware. Mostly, I have much more confidence that the problems I see are from something other than the bed leveling, but I do make sure the two z motors are at the same height if I suspect they’ve moved. I printed a bunch of leveling calibration prints, and the sensor is not perfect. The rear left corner is always a bit higher than the others, and I think it might have to do with some inductance interference, or the fact that the sensor can’t get to that back corner, because it’s in front of the print head.

I have a 12V sensor, and it outputs 12V, but a simple resistor dividor is all that’s needed. No relays are required. Tom has a good explaination here:

Here is a neat video that shows how the printer removes the slope from a print:

The last thing I’ll say is that Ryan, your use is very different than mine, and I completely agree that you should not do it. Your printers are working hard for you, and time on them is money in your pocket. You could probably print a whole spool without changing anything on the printer. I change something every 2-3 prints. I find that most of those changes affect the bed leveling, and it’s nice to not have to mess with it so often. I also like the fact that I have some confidence in the sensor, and I know if I’m having adhesion problems, or something, that it’s probably not a loose bed screw.

If you are reading this, Ryan’s advice is sound, and based on a ton of experience, but if you already pretty much know what you’re doing, and you want some adventure, then I think it’s worth the $10 to try it. You can always cut it out and go back to the way it was, a little smarter, and a little poorer.

We have had this back and forth a few times. I do agree with what you are saying, but I also think you are making a huge assumption that the printer is set up well to begin with and the z lead screws are nice and straight and seated well in the couplers, and that people understand all the options available in the software.

I just don’t feel new comers to 3D printing will be able to take advantage of the software features you bring up. Which i feel is a very advanced topic.

I feel as if most are using it to mainly to correct first layer height and a very non level bed.

I have taken it off my robo R1 and the prints are significantly better. I feel this is due to the poor quality leadscrews.

I don’t have a robot r1, and I don’t know what tech they are using.

But I agree completely with your last post.

  1. If you are having bed leveling issues, the sensor is not a good choice (like having a baby to save a bad marriage).
  2. It is an advanced change (on a Marlin printer). The mesh levelling isn’t any harder than the 3pt stuff. You’re not writing code, but you do need to configure it. As a software engineer, I’m pretty blind to that challenge.

Well, here’s my ramps box finished, Now just to wire it up.

I also just down loaded slic3r pursa edition and I like it a lot better. I got some prints running right now, and didn’t mess with anything other besides taking out the gcode for bed leveling and it ran with no issues. I’ll post that photo when it’s done.

I’m impressed…

Nice.

The sensor I ordered is also 12V (actually 6V-36V IIRC) and I expect I’ll do the same voltage adjustment as he recommended, except I’ll ask a much smarter than me friend to give me the correct resistor values to give 5V. ‘3.3V is good enough’ isn’t good enough for me.

I also want to look at that RAMBO board he was using. It looks similar to RAMPS, but with the possibility of using three filament feeds, opening the door to the diamond hothead. I’m building a modified MP3DP for my next project and that gives me a bit of leeway to try a couple of different ideas.

Oops, RUMBA, not RAMBO.

What did you modify?

Vout = Vin * Rout / (Rout + Rin)

So to go from 12 to 5, you’d want a ratio of 7:5. A 15kohm and a 10kohm would be 7.5:5. The only other trick besides the ratio is the total size needs to be big enough to keep from draining the source to much. 25k is pretty good. Smaller and there will be more current going to ground, and the 12V input will drop a bit.

But also, 3.3V is more than just close enough. Since it’s a digital signal, 3.3V looks the same as 5V to the Arduino. It won’t change the range or anything like that.

Be sure to test with a multimeter before connecting your Arduino.