1. Got a question or need help troubleshooting? Post to the troubleshooting forum or Search the forums!

Solved R1+ z offset into EEPROM?

Discussion in 'General Questions' started by 3d_dan, Jun 24, 2016.

  1. 3d_dan

    3d_dan New Member

    Joined:
    Jun 24, 2016
    Messages:
    16
    Likes Received:
    9
    Hi, just got the R1+ and auto bed level seems to work great. However, after auto bed level, the nozzle is a bit too high and having issue with first layer coming off. I have a bunch of STL already sliced to gcode with 0 z offset. How do I set the z offset in EEPROM? Will this work?

    M206 X0 Y0 Z-0.03
    M500
     
  2. Geof

    Geof Volunteer Moderator
    Staff Member

    Joined:
    Nov 9, 2015
    Messages:
    6,757
    Likes Received:
    2,339
    I dont use eeprom. There should be someone in the slicer to define the z offser. Youll want to define that as a smaller number
     
  3. mark tomlinson

    mark tomlinson ༼ つ ◕_ ◕ ༽つ
    Staff Member

    Joined:
    Feb 21, 2013
    Messages:
    23,914
    Likes Received:
    7,338
    I don't think you can set that in the EEPROM.
    You just need to add it to the startup GCOde.The default is -1.0

    M565 Z-1.0 ; set the offset for auto-leveling mechanism

    More negative is further from the bed:

    M565 Z-1.2 ; set the offset for auto-leveling mechanism

    more positive is closer to the bed:

    M565 Z-0.6 ; set the offset for auto-leveling mechanism
     
  4. Chuck Erwin

    Chuck Erwin Active Member

    Joined:
    Aug 27, 2015
    Messages:
    202
    Likes Received:
    136
    Please go back and re-read Mark's post a couple of times. You really don't want to do that even if you could it's a bad idea.
    In Matter Control under printer settings extruder you can set the off set also. I think-- it's been 8 months since I used MC.

    Your z off set could change due to different materials, bed adhesion you may add etc..
    If you ask everyone what their z off set is you will get slightly different answers. Mine is set at -.2
     
    #4 Chuck Erwin, Jun 24, 2016
    Last edited: Jun 24, 2016
    mark tomlinson likes this.
  5. 3d_dan

    3d_dan New Member

    Joined:
    Jun 24, 2016
    Messages:
    16
    Likes Received:
    9
    Yes, because Z off will change I don't want to re-slice for every time it changes.

    I figured it out.. well, not from EEPROM but from firmware flash.

    M206 z offset only works for Homing but not for G29 bed auto level. With M206, it will only affect G28 X0 Y0 Z0 homing. I don't know of M command to offset after G29 probing. If anyone knows, please let me know.

    To change z offset after G28 homing and G29 probing, change to following in the firmware:
    //#define Z_PROBE_OFFSET_FROM_EXTRUDER .9
    #define Z_PROBE_OFFSET_FROM_EXTRUDER .8

    Smaller the number is closer to bed. After flashing, you'll need to issue these gcode commands:
    M502
    M500

    This will load flash default, then M500 will save it.
     
  6. 3d_dan

    3d_dan New Member

    Joined:
    Jun 24, 2016
    Messages:
    16
    Likes Received:
    9
    Now i can just keep z offset 0 in slic3r.
     
  7. Geof

    Geof Volunteer Moderator
    Staff Member

    Joined:
    Nov 9, 2015
    Messages:
    6,757
    Likes Received:
    2,339
    I wouldn't want to do that as the offset will need played with and changing firmware is a hassle when a start up script can be changed but if your happy I'm happy :)
     
  8. Chuck Erwin

    Chuck Erwin Active Member

    Joined:
    Aug 27, 2015
    Messages:
    202
    Likes Received:
    136
    I am glad you figured it out for you then.
     
  9. 3d_dan

    3d_dan New Member

    Joined:
    Jun 24, 2016
    Messages:
    16
    Likes Received:
    9
    This might be what I'm looking for:

    M851 - Custom M code in Marlin to set/fine tune the z probe offset. (i.e. probe offset = 6.90 mm: use M851 Z-6.90, and store with M500 in EEPROM (if enabled))

    I'll have to test it to see if that does the same thing as Z_PROBE_OFFSET_FROM_EXTRUDER in firmware. If so, then I can quickly change the z offset without having to flash firmware. Yay!

    Here's a list of Marlin g-codes I found:
    https://github.com/MarlinFirmware/Marlin/wiki/DNE-G-Code-in-Marlin
     
  10. mark tomlinson

    mark tomlinson ༼ つ ◕_ ◕ ༽つ
    Staff Member

    Joined:
    Feb 21, 2013
    Messages:
    23,914
    Likes Received:
    7,338
    For the Robo Z_PROBE_OFFSET_FROM_EXTRUDER
    would always be zero (because the extruder IS the probe).
    Some printers have an external probe that you need to tell the firmware where it is located.
     
    Geof likes this.
  11. mark tomlinson

    mark tomlinson ༼ つ ◕_ ◕ ༽つ
    Staff Member

    Joined:
    Feb 21, 2013
    Messages:
    23,914
    Likes Received:
    7,338
    M565 will let you change the offset by editing the GCode file...
    Unless you are moving between different printers you are not going to need to do this much.

    I have three and I just have different profiles in SImplify3D so each gets the correct offset.
     
    Geof likes this.
  12. Geof

    Geof Volunteer Moderator
    Staff Member

    Joined:
    Nov 9, 2015
    Messages:
    6,757
    Likes Received:
    2,339
    I set it in the slicer as well as i mentioned. Granted my way is not gospel but it works well. Once set i adjust only for layer height(occasionally) but really only when i swap nozzle sizes. I would strongly urge you to rethink eeprom or firmware flash for a z offset :)
     
  13. 3d_dan

    3d_dan New Member

    Joined:
    Jun 24, 2016
    Messages:
    16
    Likes Received:
    9
    Yes, M565 works great! Actually that's what MatterControl macro does. I figure that out after watching their video that came with the SDCARD. Guess, I should have watch that first.

    I don't understand why anyone would suggest adjusting z offset only with slicer. What if you have multiple printers that need different z offset? Won't it be easier to set the z offset on the printer itself and use the same gcode for all printers? Even if you only have 1 printer, if that breaks or later buy another printer, then you'll have to regenerate all the gcode again. That may not be a big deal but Slic3r is very very slow with objects with many rounded columns. I played with Cura but it doesn't have honeycomb infills, boo! Plus I like how with Slic3r you can load objects in parts with load modifier. This is great to set different perimeter counts, infill density, etc. Slic3r is slow but it's most versatile slicer I know.

    Anyway, thanks for you guys help.
     
  14. mark tomlinson

    mark tomlinson ༼ つ ◕_ ◕ ༽つ
    Staff Member

    Joined:
    Feb 21, 2013
    Messages:
    23,914
    Likes Received:
    7,338
    Loading stuff in the EEPROM means you can't change anything easily.
    If you are steady-state and not changing anything that works.

    I have different GCode for different printers anyway, they have completely different profiles (they don't even have the same size nozzles, layer sizes or speeds) so naturally I am slicing for each one differently anyway.
     
  15. Chuck Erwin

    Chuck Erwin Active Member

    Joined:
    Aug 27, 2015
    Messages:
    202
    Likes Received:
    136
    I don't think anyone is going to change his mind about this. He seems pretty intent on this.
     
    mark tomlinson and Geof like this.
  16. 3d_dan

    3d_dan New Member

    Joined:
    Jun 24, 2016
    Messages:
    16
    Likes Received:
    9
    A simple 2 line commands to update eeprom hardy account for "can't change anything easily".

    M565 Z0.73;
    M500
     
  17. mark tomlinson

    mark tomlinson ༼ つ ◕_ ◕ ༽つ
    Staff Member

    Joined:
    Feb 21, 2013
    Messages:
    23,914
    Likes Received:
    7,338
    Having to remember to do that for multiple printers is not 'easy'.
    Easy is having a copy of the configuration.h saved off for each printer so I can edit/reupload if needed.
    Easy is having it in the startup GCode so I can just look and see :)

    Even my DLP is using Marlin and I don't want to need to guess at what is different.

    Everyone has a different way of managing their printer(s) and on a forum you are going to find them all.
    There is no best way. The best way is whatever works for you.
     
    David Lockwood, Geof and 3d_dan like this.
  18. 3d_dan

    3d_dan New Member

    Joined:
    Jun 24, 2016
    Messages:
    16
    Likes Received:
    9
    I wasn't asking what other's z offset is. I know what I want to set it and was only asking how to set it in eeprom. Mark's post was almost there... just need to issue a M500 to save to eeprom.
     
  19. WZ9V

    WZ9V Active Member

    Joined:
    Apr 9, 2016
    Messages:
    218
    Likes Received:
    64
    BTW in Marlin 1.1 M565 goes away and is replaced with another code (M851?) so be prepared for that change. I do believe that M565 is stored in EEPROM as part of the M565 and not M500 from my testing. The new command follows the usual convention and requires M500 to be saved to EEPROM. So in 1.1 it is easier to have a default value and only override it on a case by case basis by changing it and not issuing M500. From what I found with the stock firmware, every M565 call updates the saved value in EEPROM but M501 does not display it (oops).
     
  20. mark tomlinson

    mark tomlinson ༼ つ ◕_ ◕ ༽つ
    Staff Member

    Joined:
    Feb 21, 2013
    Messages:
    23,914
    Likes Received:
    7,338
    I like Marlin andI also use it on the DLP mainly because it already had most of the extra 'bits'needed for the DLPto work right already enabled. It has a lot of nice touches and flourishes compared to some of the others*. However I wish their release process was a little more mature.


    *some of the alternatives have gone the way of the DoDo, but BB3 and the SmoothieBoard are good alternatives to the RAMPS/Arduino with unique firmware even though you can now run Marlin on a Smoothie so...
     

Share This Page