Jump to content

Ultimaker 3: Best way to extrude 100mm for e-steps calibration.


jbacon

Recommended Posts

Posted (edited) · Ultimaker 3: Best way to extrude 100mm for e-steps calibration.

Well you can probably just put these gcodes into a text file, save as move.gcode and put it on the sd card and print it:

 

M302 S0G92 E0G0 E100

 

The first command allows cold extrusion (moving extruder without heating up nozzle first).

The second one tells the extruder it is at position 0.  The last one says to move to position 100mm.

This assumes there is no load (the filament is only part way into the bowden). If you plan to actually extrude at the same time then you need to slow it the hell down using "F" or feedrate. You probably want it to take about 1 minute so that would be 100mm per minute or F100 and so change the G0 command to this: G0 E100 F100

I think that should work.  There is an "ultigcode" mode on the UM2 - not sure if UM3 still uses it - I haven't paid attention.  If it is in ultigcode mode then the E100 will move 100 cubic mm.  I'm pretty sure the UM3 doesn't use this volumetric method.  Most printers don't.

Or if it were me I would ssh into the printer.  First put it in "developer" mode on the front display.  Note the IP address while doing that.  Then download PUTTY and ssh to that ip address.  username is root password ultimaker.

Then do:

 

cd /usr/share/griffinpython3 command_util.pysendgcode M302 S0sendgcode G92 E0sendgcode G0 E100

 

Edited by Guest
  • Link to post
    Share on other sites

    Posted · Ultimaker 3: Best way to extrude 100mm for e-steps calibration.

    Well you can probably just put these gcodes into a text file, save as move.gcode and put it on the sd card and print it:

     

    M302 S0G92 E0G0 E100

     

    The first command allows cold extrusion (moving extruder without heating up nozzle first).

    The second one tells the extruder it is at position 0.  The last one says to move to position 100mm.

    This assumes there is no load (the filament is only part way into the bowden). If you plan to actually extrude at the same time then you need to slow it the hell down using "F" or feedrate. You probably want it to take about 1 minute so that would be 100mm per minute or F100 and so change the G0 command to this: G0 E100 F100

    I think that should work.  There is an "ultigcode" mode on the UM2 - not sure if UM3 still uses it - I haven't paid attention.  If it is in ultigcode mode then the E100 will move 100 cubic mm.  I'm pretty sure the UM3 doesn't use this volumetric method.  Most printers don't.

    Or if it were me I would ssh into the printer.  First put it in "developer" mode on the front display.  Note the IP address while doing that.  Then download PUTTY and ssh to that ip address.  username is root password ultimaker.

    Then do:

     

    cd /usr/share/griffinpython3 command_util.pysendgcode M302 S0sendgcode G92 E0sendgcode G0 E100

     

     

    Just remember that gcode without the griffin header shall not pass. 'Lord of the rings style voice'. So get a gcode, remove the header, and wait. Or better just do like gr5 says and bypass all ans talk directly to the board using the python program

  • Link to post
    Share on other sites

    Posted · Ultimaker 3: Best way to extrude 100mm for e-steps calibration.

    Also to change the esteps later you will need to edit usr/share/griffin/griffin/machines/jedi.json (using vi editor for example)

  • Link to post
    Share on other sites

    Posted · Ultimaker 3: Best way to extrude 100mm for e-steps calibration.

    Well you can probably just put these gcodes into a text file, save as move.gcode and put it on the sd card and print it:

     

    M302 S0G92 E0G0 E100

     

    The first command allows cold extrusion (moving extruder without heating up nozzle first).

    The second one tells the extruder it is at position 0.  The last one says to move to position 100mm.

    This assumes there is no load (the filament is only part way into the bowden).  If you plan to actually extrude at the same time then you need to slow it the hell down using "F" or feedrate.  You probably want it to take about 1 minute so that would be 100mm per minute or F100 and so change the G0 command to this:  G0 E100 F100

    I think that should work.  There is an "ultigcode" mode on the UM2 - not sure if UM3 still uses it - I haven't paid attention.  If it is in ultigcode mode then the E100 will move 100 cubic mm.  I'm pretty sure the UM3 doesn't use this volumetric method.  Most printers don't.

    Or if it were me I would ssh into the printer.  First put it in "developer" mode on the front display.  Note the IP address while doing that.  Then download PUTTY and ssh to that ip address.  username is root password ultimaker.

    Then do:

     

    cd /usr/share/griffinpython3 command_util.pysendgcode M302 S0sendgcode G92 E0sendgcode G0 E100

     

     

    Thanks I'll go with the ssh method, since I also prefer it.

    Thanks all for the quick replies.

  • Link to post
    Share on other sites

    Posted · Ultimaker 3: Best way to extrude 100mm for e-steps calibration.

    But why would you want to calibrate esteps/mm?

  • Link to post
    Share on other sites

    Posted · Ultimaker 3: Best way to extrude 100mm for e-steps calibration.

    Well changing e-steps is clear. People might want to change to a bontech. But indeed there's no need to calibrate for that aspecial the step differences are clear.

    Allowing a step change simply by gcode for the um3 would be good.

    • Like 1
    Link to post
    Share on other sites

    Posted · Ultimaker 3: Best way to extrude 100mm for e-steps calibration.

    Well changing e-steps is clear. People might want to change to a bontech. But indeed there's no need to calibrate for that aspecial the step differences are clear.

    Allowing a step change simply by gcode for the um3 would be good.

     

    You actually can, add the estep gcode to the header on s3d and works but since cura doesn't allow to add gcode header for um3 then is a bit a pain. Also I can't agree more with @ultiarjan having a console to edit the machine json of your own printer is a basic feature of any open ayatem printer... Ofc ofc linux knowhow yeah, that's like leaving a door open with a seven digit code vault. Ofc ofc, is open etcetc. But hardly editing the settings of the json machine could be taken as a needed security measure. But also ofc ofc um3 isn't for thinkers.

  • Link to post
    Share on other sites

    Posted · Ultimaker 3: Best way to extrude 100mm for e-steps calibration.

    Reviving an old topic but I need some help here guys. I need to calibrate the steps of my UM3 unfortunately I could not find "jedi.json" but there is "jedi.hex" instead does that mean I need to download the file and edit it using hex editor ( as I am not quite sure will that be the proper way to go ).

  • Link to post
    Share on other sites

    Posted · Ultimaker 3: Best way to extrude 100mm for e-steps calibration.

    jedi.json should be there, unless they changed something on last versions editing the hex, even if you do it right, won't change the esteps value because the a20 olimex rules over the printerboard (white um2-3 board).

  • Link to post
    Share on other sites

    Posted · Ultimaker 3: Best way to extrude 100mm for e-steps calibration.

    What folder did you look in? did you find lots of other json files?

  • Link to post
    Share on other sites

    Posted · Ultimaker 3: Best way to extrude 100mm for e-steps calibration.

    The directory is this one : " /usr/share/griffin/griffin/machines " and the following files are there "1797.json 9066.json 9404.json 9502.json 9507.json 9511.json hotend_eeprom_data jedi.hex um3.json watto.json" I found the extruder default steps in "um3.json" but apparently the extruder steps configuration are global ( for both extruders ).

  • Link to post
    Share on other sites

    Posted · Ultimaker 3: Best way to extrude 100mm for e-steps calibration.

    Jedi was the codename for the UM3. I guess they have switched to the official name by now, so you would need to edit um3.json.

    PS: I don't know what Watto is the codename of...

    latest?cb=20081222024729&ext=.jpg

  • Link to post
    Share on other sites

    Posted · Ultimaker 3: Best way to extrude 100mm for e-steps calibration.

    The directory is this one : " /usr/share/griffin/griffin/machines " and the following files are there "1797.json 9066.json 9404.json 9502.json 9507.json 9511.json hotend_eeprom_data jedi.hex um3.json watto.json" I found the extruder default steps in "um3.json" but apparently the extruder steps configuration are global ( for both extruders ).

    Indeed they are for both extruders. Since they sell a machine that uses both extruders equals, they don’t have a Marlin (on the printerboard) that allows differebt esteps for each extruder.

    A hotfix could be to use the search & replace postprocess to add the esteps gcode after each T0 or T1. But not sure if you can actually save all the settings / plugs on a profile or work job, so it might get quite tedious to do that every day.

    On S3D you could do that, but since last um3 firmware update S3D default profiles fails and probably s3d will have to update their profiles.

  • Link to post
    Share on other sites

    Posted · Ultimaker 3: Best way to extrude 100mm for e-steps calibration.

    The directory is this one : " /usr/share/griffin/griffin/machines " and the following files are there "1797.json  9066.json  9404.json  9502.json  9507.json  9511.json  hotend_eeprom_data  jedi.hex  um3.json  watto.json" I found the extruder default steps in "um3.json" but apparently the extruder steps configuration are global ( for both extruders ).

    Indeed they are for both extruders. Since they sell a machine that uses both extruders equals, they don’t have a Marlin (on the printerboard) that allows differebt esteps for each extruder.

    A hotfix could be to use the search & replace postprocess to add the esteps gcode after each T0 or T1. But not sure if you can actually save all the settings / plugs on a profile or work job, so it might get quite tedious to do that every day.

    On S3D you could do that, but since last um3 firmware update S3D default profiles fails and probably s3d will have to update their profiles.

    Will look into it. What do you mean UM3 fails with S3D with the latest firmware? As I do run the latest firm and S3D and it is all good (besides the quality issues I experience but this is no matter the Slicer even with CURA have issues ).

  • Link to post
    Share on other sites

    Posted · Ultimaker 3: Best way to extrude 100mm for e-steps calibration.

    Will look into it. What do you mean UM3 fails with S3D with the latest firmware? As I do run the latest firm and S3D and it is all good (besides the quality issues I experience but this is no matter the Slicer even with CURA have issues ).

    Basically new cura checks the gcode generated for the material ID. Default S3D profile has a value that cura doesn’t like so you can’t send it to the printer. (Not aure if this happens on the last firmware using sdcard)

    There’s an user on the s3d forum (that I can’t link because it fails to link from here) that losted the values for all materials so it passes the check.

    Isn’t that fails, is that they added an extra layer to check that the gcode.

    Indeed isn’t biggie, but is there.

  • Link to post
    Share on other sites

    Posted · Ultimaker 3: Best way to extrude 100mm for e-steps calibration.

    A small update:

     

    Or if it were me I would ssh into the printer. First put it in "developer" mode on the front display. Note the IP address while doing that. Then download PUTTY and ssh to that ip address. username is root password ultimaker.

    Then do:

     

    cd /usr/share/griffinpython3 command_util.pysendgcode M302 S0sendgcode G92 E0sendgcode G0 E100

     

     

    This procedure has become a little bit easier since earlier this year.

    With the printer in developer mode you use SSH to log in as ultimaker / ultimaker and you are immediately in the command util prompt. No more need to start the python3 command.

    The machine configuration file jedi.json is now split into several files where um3.json is on top and the other files derive from this, overruling settings and/or adding new settings. The numbers are from the Ultimaker model numbers:

    9066= UM3

    9511= UM3 extended

    9502= UM2+

    etc.

    Some names and numbers were used for prototypes.

    • Like 1
    Link to post
    Share on other sites

    Posted · Ultimaker 3: Best way to extrude 100mm for e-steps calibration.

    My ultimaker3 had a default factory extruder step setup of 369 steps/mm.

    When I tested with 100mm cold extrustion, I got 105.9mm..

     

    y * 105.9 = 36900
    y = 36900 / 105.9 = 348.4 (round to 1 decimal)
    ===========================================
    SSH root access to your Ultimaker, login after that with: ultimaker/ultimaker.
     

    => 100mm extrusie:
    sendgcode T0
    sendgcode M302 S0
    sendgcode G92 E0
    sendgcode G0 E100
     

    => Test your new step value first with:

    sendgcode T0
    sendgcode M302 S0
    sendgcode G92 E0
    sendgcode M92 E348.4
    sendgcode G0 E100
     

    By the way, it's better to extrude 200mm or 300mm: smaller error ;-)

     

    => If new value is ok, make it permanent:

     

    Changed 9066.json (= Ultimaker 3 ) file:

     

    {
      "inherit": "um3.json",
      "properties": {
        "machine_type_name": "Ultimaker 3",
        "default_steps_per_mm": {"x": 80.0, "y": 80.0, "z": 400.0, "e": 348.4}
      }
    }
     

    REBOOT printer, login again and check the file: value still ok ?  (sometimes it is not stored).

     

    Do a new test print (200mm extrusion) and look if the length is still 200mm ;-)

     

    The above calibration is not inside the FAQ of the Ultimaker website, I think it's a must ;-)

     

     

     

  • Link to post
    Share on other sites

    Posted · Ultimaker 3: Best way to extrude 100mm for e-steps calibration.

    It's only a guess, but it is possible that a few extra percents are intentional.

    There will be always some slippage on the feeder under real printing conditions (because of back pressure from the nozzle or something like this).

    All Ultimaker printers are using slightly higher steps/mm for the e-axis than the theoretical / mathematical value.

     

    A test with more practical relevance would be to print a simple shape and compare the real weight of the part with the expected value (according to the density of the used material and the printed volume).

    Just to be sure that your printer extrudes not to less now... 🤷‍♂️

     

    Oh - and you should put your changes in an "override" file or everything is lost at the next firmware update..., see:

     

     

  • Link to post
    Share on other sites

    Posted · Ultimaker 3: Best way to extrude 100mm for e-steps calibration.

    Thanks for the bonus info, great !

  • 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
        • 7 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...