Jump to content

Recommended Posts

Posted (edited) · Calibrate extruder with Cura 15

How do I calibrate the extruder distance with Cura? I'm using 15.04.2 at the moment with a MP Select Mini. I'd like to simply extrude 100mm of material to determine if the software is properly calibrated to my 3D printer. Next, I'd like to save any results of the calculations to Cura somewhere as an extrusion multiplier (or similar). Again I'm unable to find any related settings in the Cura software for this.

 

These settings seem like a necessity for any slicer software, yet I've been unable to find any instructions to accomplish this basic calibration step.

 

Thanks!

Edited by dryphi
  • Link to post
    Share on other sites

    Posted · Calibrate extruder with Cura 15

    I've used Pronterface to do this in the past. The on screen controls can be used or the command line.  An M92 Exxx code will redefine the extrusion constant which can be delivered via the command line in Pronterface if you want to change it.  I think M500 on the command line would then save the change.

     

    I see testing and resetting the extrusion constant as an essential maintenance and calibration procedure that anyone might need periodically.  This is especially important to off brand or homemade printers or secondary market extruders.

  • Link to post
    Share on other sites

    Posted · Calibrate extruder with Cura 15
    3 hours ago, mastory said:

    I've used Pronterface to do this in the past. The on screen controls can be used or the command line.  An M92 Exxx code will redefine the extrusion constant which can be delivered via the command line in Pronterface if you want to change it.  I think M500 on the command line would then save the change.

     

    Thanks for the insight. Pronterface? Is that a software? I'm trying to do this in Cura and I don't see anywhere to enter the extrusion multiplier (if necessary).

  • Link to post
    Share on other sites

    Posted · Calibrate extruder with Cura 15
    6 hours ago, nallath said:

    Is it? I personally see it more are the manufacturer of the printer providing you the settings in the first place.

    Okay. But where do you enter the settings in Cura?

  • Link to post
    Share on other sites

    Posted · Calibrate extruder with Cura 15

    OK I would suggest a different way. I assume you have levelled your bed using a sheet of paper or card. I will also assume you have a glass plate fitted. I will also assume your Z height is 200, of course you will need to change that probably.

     

    What you need to do is to put a z-offset command into your start gcode in Cura. You can calculate it as    Z height - paper/card thickness- glass plate thickness = NNN.NNN

     

    Place the line of code into your start g code so the line is preceded  somewhere by an absolute positioning command

     

    G90                              ;absolute positioning

    G92 ZNNN.NNN          ;set z-offset

     

    Print a skirt line. No good? Change the G92 command either reducing or increasing the extruder distance. I normally change in steps of 0.1mm until I get close then switch to steps of 0.04 mm until it looks good (or if .1mm either way is worse I will start again using steps of 0.04mm). Then I will go both ways with 0.02mm to see which of the 3 settings is the best

  • Link to post
    Share on other sites

    Posted (edited) · Calibrate extruder with Cura 15

    Okay... To clarify I'm not trying to set the Z-offset (anyway if this was off I would probably just move the bed up and down until the first layer printed correctly).

    What I'm trying to do is see if 100mm of material is actually extruded when Cura tells the printer to extrude that much material. Normally this is accomplished by measuring along the filament and putting marks at 100mm and 110mm, giving the command to extrude 100mm, then measuring how much the filament actually moved and entering the results of the calculation into the printer software as a correction value.

     

    With MatterControl for instance this is very easy and there's an "extrusion multiplier" field to enter the correction value if it's under/over extruding:

    https://www.youtube.com/watch?v=Jboqj0nkNFw

     

    I can't for the life of me figure out how to make Cura just extrude 100mm of material. Then, even if I accomplish that, I wouldn't know where to store an "extrusion multiplier" type value within Cura so that it is corrected forever.

     

    Cura seems to work better with my printer hence I prefer to use it but there are fewer "advanced" options for this type of adjustment, or at least I don't know where to find them.

     

    Thanks

    Edited by dryphi
  • Link to post
    Share on other sites

    Posted (edited) · Calibrate extruder with Cura 15

    Ah sorry for my misunderstanding. For a straight line Cura has an accuracy of at least 100 microns, I normally see 50 microns or better, down to the point when the skill of the measurer comes into play. I do not know what tolerance you are looking for but if we are making a part to fit somebody else's assembly (normally injection moulded) we tend to find that the assembly has a larger tolerance than our target. Of course the printer in use has a large part to play as indeed will the Cura settings you select. Would scaling the model resolve your problem with the printer? I am thinking that if your 100mm always came out as 110mm you scale all models down by 9.09%

     

    Oh surely just print a 100mm * 100mm square and just measure the first line?

    Edited by yellowshark
  • Link to post
    Share on other sites

    Posted (edited) · Calibrate extruder with Cura 15

    @dryphi wants to calibrate his extruder feed constant.

     

    Pronterface (also known as Printrun) is a free and open source program that lets you control (all?) arduino based printers via USB.  It has a very friendly user interface for manually controlling printers, and a command line printer interface.  It also allows sending Gcode files to print.  You could slice a part in Cura (or other slicer) and send the Gcode file to the printer via Printrun.  It also has some great graph widgets for watching your temperatures etc.  IMO it is a very nice, lightweight, powerful and clean program.

     

    Some older versions of Cura had a similar printer control interface.  I don't know which ones.

     

    The GUI in Printrun can do some of what you want, and the command line interface could be used to issue the commands I mentioned above.

     

    Typed at the command line:

     

    G91:  set coordinates to Relative

    G0 E100;  tells your printer to extrude 100mm

     

    M92 Exxx.xx; redefines your extrusion constant where xxx.xx is the new scale factor

     

    You could search M92 and your printer brand and model and get a starting point.

     

    By trial and error you can issue the above commands until you have you extrusion constant precise.

     

    Then  add

     

    M500;  to save the value

     

    Edited by mastory
  • Link to post
    Share on other sites

    Posted (edited) · Calibrate extruder with Cura 15
    3 hours ago, mastory said:

    @dryphi wants to calibrate his extruder feed constant.

    ↑↑ YES :)    I guess I wasn't using the correct terminology.

     

    Great thanks. So I guess there's no setting in Cura for these settings, hence I have to save them to the firmware, correct?

    Will G500 make the new settings permanent? I also heard on the video below to use M500, what's the difference?

    After searching for "M92 MP Select Mini" I did find this page which has a helpful video (applies to many printers):

    https://www.mpselectmini.com/extruder_calibration

     

    Also I understand Pronterface is a Linux-based program? We're using a Windows machine. There is an interface to send G-code though.

    Edited by dryphi
  • Link to post
    Share on other sites

    Posted · Calibrate extruder with Cura 15

    Yes, I was quite tired when I wrote above G500.  Corrected.  Save parameters is indeed M500.  For a whole list of gcode commands look here.

  • Link to post
    Share on other sites

    Posted · Calibrate extruder with Cura 15

    I've  run pronterface on my win7 and winxp.  Go here https://github.com/kliment/Printrun/releases/tag/printrun-1.6.0

  • Link to post
    Share on other sites

    Posted (edited) · Calibrate extruder with Cura 15
    8 hours ago, mastory said:

    I've  run pronterface on my win7 and winxp.  Go here https://github.com/kliment/Printrun/releases/tag/printrun-1.6.0

    I miss Windows 7. They broke everything with Win 8 and Win 10 isn't much better. I am familiar with Linux but this is for a work machine.

    Edited by dryphi
  • Link to post
    Share on other sites

    Posted · Calibrate extruder with Cura 15
    8 hours ago, mastory said:

    Yes, I was quite tired when I wrote above G500.  Corrected.  Save parameters is indeed M500.  For a whole list of gcode commands look here.

    No problemo. How do you know if your 3D printer uses RepRap firmware? Or is that just the standard that everybody uses so it's a safe assumption?

  • Link to post
    Share on other sites

    Posted · Calibrate extruder with Cura 15

    Your firmware version may be noted somewhere in your graphic interface or somewhere in the menu or on boot up.  Search it up.  What does your manufacturers info say?

  • Link to post
    Share on other sites

    Posted (edited) · Calibrate extruder with Cura 15

    It doesn't say specifically but the User's Manual indicates you have to add "Custom RepRap Information" to configure the printer so I'm pretty sure that's the correct firmware.

    https://www.monoprice.com/Product?p_id=15365

    Edited by dryphi
  • Link to post
    Share on other sites

    Posted (edited) · Calibrate extruder with Cura 15

    Wanted to post a quick follow-up for anyone with the same question. What's below was compiled from several sources. These instructions apply to Cura 15.04.6 slicer running a MP Select Mini v1 over USB cable, although I'm sure they would work for others as well and the G-code should be the same.

     

    Enable Pronterface UI:

    File - Preferences 

    Under "Printing window type" make sure "Pronterface UI" is selected.

     

    Open Pronterface:

    Go to File - Print to open the serial port and pronterface UI (don't need to have an STL model opened).

     

    Report current settings:

    M503

    Copy these down, in particular the values under "Steps per unit:" which will give your current extrusion multiplier (Exx) in steps per mm.

     

    Set to relative positioning:

    G91

     

    Reset extruder:

    G92 E0

    Sets the extrusion length to zero and stops any extruding or retraction. Not sure if this resets the heating elements or not...

     

    Set extruder temperature:

    At this point you want to set the extruder to a temperature that will melt your material. I just set the extruder temperature manually on the device although this could be set using G-code instead (e.g. M104 S195 to set it to 195 C).

     

    Mark positions on filament:

    While the extruder is warming up go ahead and mark two lines on your filament at distances from a known position such as the cold end (mine is a Bowden setup so I measured from where the filament enters the extruder). Mark lines at 100mm and 110mm.

     

    Extrude the material:

    G1 E100 F90

    This command literally means "Go to position, Extrude 100mm of material, at 1.5mm/s" (for 1.75mm filament, use around F30 for 2.85mm filament). The filament should extrude slowly and the first line should move right to the known position. If not that means there's a discrepancy between the stored extruder multiplier and the distance the filament actually moves. Measure the distance from the known position (e.g. the cold end). If you've over extruding you'll have to measure to the 110 line. In either case some easy math will tell you how far the filament traveled.

    The new extruder constant will be: 100 * old steps per mm / actual length extruded.

     

    Enter new extruder constant:

    M92 Exxx

    The "xxx" in the above code should be the new number. For me the actual code was "M92 E103"

     

    Store settings:

    M500

     

    It might be a good idea to perform this calibration several times in a row (starting with G92 E0) to hone in on the correct value. Don't need to be super precise just get it within a millimeter or two.

     

    There's lots of other resources on the web but I wanted to compile everything into one easy to reference page. Please respond if anything needs correction or clarification. These instructions worked great for me however.

    The best instructional video I've found is here:

    https://www.mpselectmini.com/extruder_calibration

     

    Edited by dryphi
  • 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.9 stable released!
        Here comes Cura 5.9 and in this stable release we have lots of material and printer profiles for UltiMaker printers, including the newly released Sketch Sprint. Additionally, scarf seams have been introduced alongside even more print settings and improvements.  Check out the rest of this article to find out the details on all of that and more
          • Like
        • 5 replies
      • Introducing the UltiMaker Factor 4
        We are happy to announce the next evolution in the UltiMaker 3D printer lineup: the UltiMaker Factor 4 industrial-grade 3D printer, designed to take manufacturing to new levels of efficiency and reliability. Factor 4 is an end-to-end 3D printing solution for light industrial applications
          • Heart
          • Thanks
          • Like
        • 4 replies
    ×
    ×
    • Create New...