Jump to content

Setting Z=0


Recommended Posts

Posted · Setting Z=0

The UltiController is supposed to have a Set origin feature but it's not in the Prepare menu anymore. How can I position the bed (manually or not) and then tell the printer this is the new Z=0 ?

Bed levelling is a distinct procedure and Z top switch positioning is another distinct procedure.

P.S. this must have been asked many times before but the answer hasn't been made obvious.

 

  • Link to post
    Share on other sites

    Posted · Setting Z=0

    Most of us don't have a distinction between home and a prepared bed.

    You can do this by messing with the gcodes in the start/end gcode tab. Learn about the gcodes first here:

    http://reprap.org/wiki/G-code

    Or if you only want to do this to one print ever then edit the gcode after you "prepare" (slice) your stl.

    But why do you want to do this? I always run the z home command, then move the print head around with my hand and use a piece of paper to check the height at all 4 corners and make sure there is *very* little space. The paper should be just barely slightly tight.

    Then when you hit print, it levels and goes to your layer 0 height (typically .3mm in Cura) and starts printing at that height above your bed.

     

  • Link to post
    Share on other sites

    Posted · Setting Z=0

    Most of us don't have a distinction between home and a prepared bed.

    You can do this by messing with the gcodes in the start/end gcode tab. Learn about the gcodes first here:

    http://reprap.org/wiki/G-code

    Or if you only want to do this to one print ever then edit the gcode after you "prepare" (slice) your stl.

    But why do you want to do this? I always run the z home command, then move the print head around with my hand and use a piece of paper to check the height at all 4 corners and make sure there is *very* little space. The paper should be just barely slightly tight.

    Then when you hit print, it levels and goes to your layer 0 height (typically .3mm in Cura) and starts printing at that height above your bed.

     

    Bear in mind also that any setting of z=0 via gcodes or the ulticontroller will only last until the printer is power-cycled. The activation of the limit switches are how the printer identifies the origin of it's coordinate system. Once you power-cyle the printer, it has no idea where it is in space until you have performed a homing operation and triggered the switches.

     

  • Link to post
    Share on other sites

    Posted · Setting Z=0

    But why do you want to do this? I always run the z home command, then move the print head around with my hand and use a piece of paper to check the height at all 4 corners and make sure there is *very* little space. The paper should be just barely slightly tight.

    Then when you hit print, it levels and goes to your layer 0 height (typically .3mm in Cura) and starts printing at that height above your bed.

     

    Why I want to set Z=0 ? because moving the bed on its axis is the logical and practical way to set the distance between its surface and the nozzle, which is required for printing properly.

    What you describe is bed levelling (making 4 points of the bed equidistant from the vertical print head).

    Limit switches as their names imply are for something else than homing. For XY it doesn't matter but for Z the precision required is too great to be attained by moving the Z top switch.

    I tried homing automatically then moving the bed manually to the proper distance so as to change where Z=0 really is, but it homes again before every print so it's useless.

    I'm not going to bother with gcode, I want a permanent solution.

     

  • Link to post
    Share on other sites

    Posted · Setting Z=0

    The permanent solution is to use the limit switches for homing before each print after having adjusted the bed to be perfect after homing the z-axis. This is the way all of these types of printers work and the precision is more than enough for this purpose.

    You may want to print this: http://www.thingiverse.com/thing:11033 to make it easier to adjust though.

    Also, unless you add homing switches in addition to the limit switches how do you propose the printer is supposed to know where it is before starting a print? I know using the limit switches for both purposes might not be the correct way of doing it in the world of "real" CNC machines but for our use it works just fine.

     

  • Link to post
    Share on other sites

    Posted · Setting Z=0

    I removed it. Because of the reasons mentioned above. A 3D printer is not a CNC mill, so it shouldn't try to act like one.

    And fine-tuning the Z endstop is a bitch. There are a few solutions on thingiverse that help. But what I always do is not fine-tuning the endstop, but fine-tuning the 4 bed screws. This gives much better control then the Z endstop.

     

  • Link to post
    Share on other sites

    Posted · Setting Z=0

    Also, unless you add homing switches in addition to the limit switches how do you propose the printer is supposed to know where it is before starting a print? I know using the limit switches for both purposes might not be the correct way of doing it in the world of "real" CNC machines but for our use it works just fine.

    Those switches (at least their implementation) are not adapted for calibration, so adding extra switches would only repeat the problem. The printer would know where its print head is because we would have used the Set origin and Store memory functions and it could find it again from the limit switches. example= Z=0 corresponds to Z top limit + 0,45mm

    That screw and plastic fine tuner seems like an excellent solution that should be adopted by Ultimaking. Too bad I can't print it.

    I removed it. Because of the reasons mentioned above. A 3D printer is not a CNC mill, so it shouldn't try to act like one.

    So you removed a feature that made something very difficult very easy, that did not pose any issue, for a reason that nobody cared about ? This can only be a bad decision.

    Both are CNC mills and 3D printers are 3D coordinates machines, so they can share solutions, even use any solution. In the end, it's the usability that rules over.

     

  • Link to post
    Share on other sites

    Posted · Setting Z=0

    I'm not going to bother with gcode, I want a permanent solution.

    Playing with gcode would be a permanent solution. I guess you misunderstood. You asked for a way to *not* run home before printing. The answer is in Cura. Go to the start/end-gcode tab, look for the line that says "move Z to min endstops". Comment that out by putting a semicolon as the first character on the line. DONE. Now when you start printing it will use the current Z height as zero. Or you can *add* a move z command up or down and have the G92 reset *that* position as zero. or you can use the g92 command to set the initial position to any value you want - you can make the start position considered "1" and then the printer will treat zero as 1mm below where it starts printing.

     

  • Link to post
    Share on other sites

    Posted · Setting Z=0

    So there are thousands of users of the ultimaker and a few people have built optical endstops which are probably more accurate than the limit switch but the limit switch seems to be consistent much more than .1mm so it works fine for us.

    The bed warps, tilts, changes over time. Especially the first few months. I have to re-level every day as the part of the bed towards the front keeps drooping from day to day. By now I can now usually do it in under a minute with a piece of paper. It's not a big deal or people would have modified the ultimaker by now. The most common leveling changes are things like stronger springs, 3 screws instead of 4, but changing the Z=0 height isn't an issue.

    I'm sorry you are having trouble printing. Maybe if you post a picture or video of the issue someone can help.

     

  • Link to post
    Share on other sites

    Posted · Setting Z=0

    The limit switch is accurate up to 2 micron in repeatability. Yes, that accurate. It the bed that is changing shape on most machines (but not all of them) depending on the printer this can cause up to 0.5mm difference in tilt. But a tilted platform needs re-calibration not just a different Z start height.

    Manually setting an origin on a CNC mill is done to mark the position on the material that you are milling. With a 3D printer you don't have material, so no need for an origin point on it. The normal start code that everyone uses also overrides the origin point, as well as homing resets the origin point.

    Just because you used it doesn't make it a good idea. Nor makes me stupid for removing it. And it's commented out in the firmware, you can always put it back in yourself. So far you're the first to bitch about it, and before that I've seen multiple questions from people asking what the option did (which could only be explained as "it does nothing in a normal setup")

     

  • Link to post
    Share on other sites

    Posted · Setting Z=0

    Corngolem - I can't help but think that your workflow is probably more complicated than it needs to be. But if you just can't live without the ability to set the origin point manually, just use a text editor to create a one line gcode file, and store it on your SD card.

    The line needs to be:

    G92 X0 Y0 Z0

    If you're only interested in setting Z, then leave the x and y parts out of the line.

    Then, when you have the head where you want it, just run that file from the SD card.

  • Link to post
    Share on other sites

    Posted · Setting Z=0

    That won't work as there is already a g92 in there. And he wanted a *permanent* solution. So I gave him one in my previous post.

     

  • Link to post
    Share on other sites

    Posted · Setting Z=0

    I was just responding to the issue that the 'Set Origin' option is now gone. All that did was to execute a G92 X0 Y0 Z0 command. So putting that in a dedicated gcode file that he can run whenever he wants does EXACTLY the same thing. The command only ever lived in the Prepare menu, as far as I can see, so it went away during printing (to be replaced with the 'Tune' menu). Therefore, this was something that Corngolem wanted to be able to do outside of a print, when running a file from the SD card would be an accessible option.

    I agree that it's kinda redundant, and that you'd also need to edit the start gcode to remove any extra homing commands etc. But since I'm not sure I understand the workflow that we're trying to recreate here... I was merely offering it as an alternative for the missing command that was being complained about.

     

  • Link to post
    Share on other sites

    Posted · Setting Z=0

    Why I want to set Z=0 ? because moving the bed on its axis is the logical and practical way to set the distance between its surface and the nozzle, which is required for printing properly.

    What you describe is bed levelling (making 4 points of the bed equidistant from the vertical print head).

    Limit switches as their names imply are for something else than homing. For XY it doesn't matter but for Z the precision required is too great to be attained by moving the Z top switch.

    I tried homing automatically then moving the bed manually to the proper distance so as to change where Z=0 really is, but it homes again before every print so it's useless.

    I'm not going to bother with gcode, I want a permanent solution.

     

    I agree with you. My CubeX separates the bed leveling process from the Z-height adjustment and I've found it to be easier to get a really level bed without having to set perfect print height at the same time. Once it's perfectly level, the Z-height setting is truly the same over the entire bed when you set it. On the other hand, it's a 3 point level system and I prefer the 4 point on my Ultimaker for the leveling aspect. Just because a plane CAN be defined with only 3 points, doesn't mean it SHOULD be defined that way. Because it's 3 points, when you lower the right rear corner, the front left corner moves up. It's definitely trickier to get to "level" than four point. At least the CubeX has lock nuts which prevent the bed level from changing print-to-print. I have to level my bed every 3 or 4 prints on the Ultimaker. I did it once on the CubeX and tightened the lock nuts down to keep it that way. Plus, the plastic build plate isn't perfectly flat on my Ultimaker. It has a slight upward warp on the right side. It makes large prints less accurate and perfect leveling impossible. The build plate on my CubeX is laminated layers of glass with a white ceramic surface. It's really flat with no flex. If it just had 4 point leveling, it would be perfect. As it is, neither is perfect.

     

  • Link to post
    Share on other sites

    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now
    • Our picks

      • UltiMaker Cura 5.7 stable released
        Cura 5.7 is here and it brings a handy new workflow improvement when using Thingiverse and Cura together, as well as additional capabilities for Method series printers, and a powerful way of sharing print settings using new printer-agnostic project files! Read on to find out about all of these improvements and more. 
         
          • Like
        • 20 replies
      • S-Line Firmware 8.3.0 was released Nov. 20th on the "Latest" firmware branch.
        (Sorry, was out of office when this released)

        This update is for...
        All UltiMaker S series  
        New features
         
        Temperature status. During print preparation, the temperatures of the print cores and build plate will be shown on the display. This gives a better indication of the progress and remaining wait time. Save log files in paused state. It is now possible to save the printer's log files to USB if the currently active print job is paused. Previously, the Dump logs to USB option was only enabled if the printer was in idle state. Confirm print removal via Digital Factory. If the printer is connected to the Digital Factory, it is now possible to confirm the removal of a previous print job via the Digital Factory interface. This is useful in situations where the build plate is clear, but the operator forgot to select Confirm removal on the printer’s display. Visit this page for more information about this feature.
          • Like
        • 0 replies
    ×
    ×
    • Create New...