Jump to content
Ultimaker Community of 3D Printing Experts

Recommended Posts

Posted · HOTEND_OFFSET

Question: how to setup an hotend offset between primary and second hotend?

 

I use: upgraded ultimaker original with utlimaker 2 V2.1.1 motherboard. E3d Chimera dual extruder, heatbed, reprap smart controller and Custom firmware from https//github.com/Ultimaker/UM2.1-Firmware

 

Already try: give in the g-code commands "M218 T1 X20 Y0" and reply it with M500 command in simplify3d machine tab. This works for me until i switch the ultimaker off and on.

 

Also try to change the firmware in configuration.h

Change:

#define extruder 2

#define temp_sensor_1 20

 

Add:

#define HOTEND_OFFSET_X { 0.0, 20.00 } // (mm) relative X-offset for each nozzle
//#define HOTEND_OFFSET_Y { 0.0, 5.00 }  // (mm) relative Y-offset for each nozzle
//#define HOTEND_OFFSET_Z { 0.0, 0.00 }  // (mm) relative Z-

 

This doesn't anything do i miss something?

 

  • Link to post
    Share on other sites
    Posted (edited) · HOTEND_OFFSET

    you can also set the nozzle offset in Cura (and presumably simplify3d as well) that is generally what was done for the early dual hotend setups, not very pretty, I know.
    the M218 should also work though. switching back and forth with the stock implementation every layer however  is not recommended.
    it rounds floats every-time you switch AFAIK. We replaced it for the UM3 because we did use that offset for the Z but the buildplate was slowly creeping up or down when we did switches in places to test the switching bay.

    Edited by robinmdh
  • Link to post
    Share on other sites
    Posted · HOTEND_OFFSET
    10 hours ago, roald said:

    Add:

    #define HOTEND_OFFSET_X { 0.0, 20.00 } // (mm) relative X-offset for each nozzle
    //#define HOTEND_OFFSET_Y { 0.0, 5.00 }  // (mm) relative Y-offset for each nozzle
    //#define HOTEND_OFFSET_Z { 0.0, 0.00 }  // (mm) relative Z-

     

    This doesn't anything do i miss something?

     

    HOTEND_OFFSET_Y has to be defined as well, it's used here (mind the #ifdef clause):

    https://github.com/Ultimaker/UM2.1-Firmware/blob/UM2.1_JarJar/Marlin/Marlin_main.cpp#L172

     

    The offset is not stored in EEPROM AFAIK and there's no z-offset in this Marlin version.

    But you have to fine-tune (calibrate) the values in the start-script anyway (with M218), or do you plan to customize the firmware after every nozzle change?

     

  • Link to post
    Share on other sites
    Posted · HOTEND_OFFSET
    6 hours ago, robinmdh said:

    the M218 should also work though. switching back and forth with the stock implementation every layer however  is not recommended.
    it rounds floats every-time you switch AFAIK

     

    oh.. i remember... 🙂

    As a rule of thumb: use only offset values that are a multiple of the step size.

     

  • Link to post
    Share on other sites
    Posted · HOTEND_OFFSET
    On 7/29/2020 at 5:43 PM, tinkergnome said:

     

    HOTEND_OFFSET_Y has to be defined as well, it's used here (mind the #ifdef clause):

    https://github.com/Ultimaker/UM2.1-Firmware/blob/UM2.1_JarJar/Marlin/Marlin_main.cpp#L172

     

    The offset is not stored in EEPROM AFAIK and there's no z-offset in this Marlin version.

    But you have to fine-tune (calibrate) the values in the start-script anyway (with M218), or do you plan to customize the firmware after every nozzle change?

     

    Oke i define the y-axis as well when im back home.

    But i dont get you about the nozzle change, in my mind there be no different in distance from center to center when i change the nozzle size. And cant you explain a little bit more about the ifdef clause? Or do you have a tip/website/book to learn a little but more about this?

  • Link to post
    Share on other sites
    Posted · HOTEND_OFFSET
    2 hours ago, roald said:

    Or do you have a tip/website/book to learn a little but more about this?

     

    The whole Marlin configuration makes extensive use of the C preprocessor

     

    gcc documentation for #ifdef:

    https://gcc.gnu.org/onlinedocs/cpp/Ifdef.html#Ifdef

  • Link to post
    Share on other sites
    Posted · HOTEND_OFFSET

    Its working by enable this both lines Thanks for the help

     

    // Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing).
    // The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder).
    // For the other hotends it is their distance from the extruder 0 hotend.
    #define EXTRUDER_OFFSET_X {0.0, 19.70} // (in mm) for each extruder, offset of the hotend on the X axis
    #define EXTRUDER_OFFSET_Y {0.0, 0.00}  // (in mm) for each extruder, offset of the hotend on the Y axis
     

  • 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

      • Startups, apply for the Forward AM Innovation Award!
        Are you a startup using 3D printing? Perhaps you should continue reading... 
         
        Together with BASF we are launching the Forward AM Innovation Award - the very first global contest for startups developing new applications with 3D printing!
         
        Why apply?
        The winning startup will receive €100,000 in goods and services*, along with coaching and marketing exposure from top-notch leaders in the industry.
         

         
        Who can apply?
        Your startup creates products using Additive Manufacturing, is less than 5 years old, and has less than 50 employees. We are looking for 3D printing applications with a strong focus on innovation, sustainability and scalability.
         
        Dental aligners, shoes, tools, automotive parts, music instruments, industrial tooling and molding, medical implants, sports equipment, toys, architecture, fashion, construction... all are welcome to join!
         
        Do you have an innovative, sustainable and scalable idea that leverages the unique possibilities of 3D printing? Then it is time to apply!
        More information can be found here.
         
        Applications close on March 28th, 2021
        * What does "in goods and services" mean?
        The winner will be able to pick any item from the overall product and service portfolio of the sponsors, e.g. printers, materials, consulting, software... Choose whatever you need to accelerate your startup.
         
          • Like
        • 0 replies
      • New here? Register your Ultimaker for free 3D printer onboarding course
        Hi,
         
        Often getting started is the most difficult part of any process. A good start sets you up for success and saves you time and energy that could be spent elsewhere. That is why we have a onboarding course ready for
        Ultimaker S5 Pro Bundle, Ultimaker S5, Ultimaker S3 Ultimaker 2+ Connect.   
        They're ready for you on the Ultimaker Academy platform. All you need to do to gain access is to register your product to gain free access. 
        Ready? Register your product here in just 60 seconds.
          • Like
        • 0 replies
    ×
    ×
    • Create New...