Welcome! Log In Create A New Profile

Advanced

SmartRap ignores Z offset stored in EEPROM

Posted by rcjoseb 
SmartRap ignores Z offset stored in EEPROM
April 22, 2015 04:09AM
I re calibrated my Z offset and stored it in the EEPROM using the M500 command in PronterFace. The M501 command confirms the Z offset. However, when I print from the SD card, the offset value is completely ignored because the print quality for the first layer is awful. I do have the EEPROM enabled in the configuration.h file:

#define useEEPROM
#define EEPROM_SETTINGS
#define EEPROM_CHITCHAT

Now what is really weird is that if I set the Z offset via the LCD menus and store it, the printer works great!

Any clues?

Thanks

Jose
Re: SmartRap ignores Z offset stored in EEPROM
April 22, 2015 07:50AM
it is m555 to store value in eeprom
Re: SmartRap ignores Z offset stored in EEPROM
April 22, 2015 11:31AM
Thanks, will try that one. Weird, it was working before my print bed went all whacky.
Re: SmartRap ignores Z offset stored in EEPROM
April 22, 2015 12:34PM
FWIW M555 will return the current setting, M555 Z2.5 will set the Z offest to 2.5mm it will return Z-probe offset now 2.5 Don't forget M500 to store the settings. Hopefully that will fix the problem if not get back to us
Re: SmartRap ignores Z offset stored in EEPROM
September 29, 2015 04:14PM
I apologize for reviving this old thread but it seems a good place to ask. I'm working on tuning my z-axis offset. I haven't been happy with my results so far but I think I'm starting to get a hold on it. I have eeprom enabled and found that the value stored there was over-riding my changes to the configuraton.h file. I decided to go the route of saving the offset in eeprom via m206...then I started seeing references to m555, which is undocumented in the g-code wiki (or rather it is, but isn't at all related to setting the z-axis offset).

Is the M555 command a replacement for M206 in the Reprap firmware? Is it also in the SmartRap core version of Marlin?
Re: SmartRap ignores Z offset stored in EEPROM
September 29, 2015 04:21PM
I answered my own question. I searched the code for the SmartRap Core firmware and did not find any reference to M555 (but did find M206) so, safe to say it is not in the SmartRap Core firmware. I'll use M206 spinning smiley sticking its tongue out
Re: SmartRap ignores Z offset stored in EEPROM
September 30, 2015 01:36AM
sorry for this M555 thing. It was really me hacking marlin for the smartrap and it was absolutely not standard ! ( only the smartrap version ) .

Now, the autolevel and Z offset became standard in marlin and we all use M851 ( M851 Z-valueyoufound) for the head offset. That one is in main version without hack smiling smiley

We don't need anymore our delta values that was here to recover from the mesurement error while pressing the bed with the mechanical switch ( and that was making an error ).


the Smartrap project

[smartfriendz.com]
[www.thingiverse.com]
[reprap.org]
[github.com]
doc assemblage: [reprap.org]
NEW: Forum smartfriendz: [smartraptalk.smartfriendz.com]
Re: SmartRap ignores Z offset stored in EEPROM
October 01, 2015 09:52AM
So wich is the correct sequence to setup a SmartCore ?
I use this one:
  • g28 to zero the axis;
  • send some g0 z-0.1 thru 0.5 to find the nozzle offset (paper sheet method)
  • store the value (eg. 0.3) into config.h file at these lines:
  • 446 #define X_PROBE_OFFSET_FROM_EXTRUDER 40 <- distance beween nozzle and sensor center (approx) for X
  • 447 #define Y_PROBE_OFFSET_FROM_EXTRUDER 0 <- distance beween nozzle and sensor center (approx) for y
  • 448 #define Z_PROBE_OFFSET_FROM_EXTRUDER -0.3 nozzle offset

Compile and send to arduino mega 256.

Is that sequence correct ? If not where I can find the correct one ?

Thanks

PS: Into GCODE, i put :

- G28 to zero axis
- G29 to probe 9 point and enable autolevel

Again is this way correct ?

Edited 1 time(s). Last edit at 10/01/2015 10:50AM by Zlob.
Re: SmartRap ignores Z offset stored in EEPROM
October 01, 2015 12:02PM
I just went through the process of figuring this out myself. There are two ways to store the z-axis offset. One way is the approach you're using, storing the value in configuration.h in the Z_PROBE_OFFSET_FROM_EXTRUDER parameter. The other approach is to store the z-axis offset in the eeprom memory (which is "permanent" and is not changed when you power cycle the arduino or when you update the firmware). This is the approach discussed in this thread. The tricky part is that it is possible to do both at once and marlin will give precedence to the value stored in the eeprom. If it finds a value there it will totally ignore the value in the configuration.h file. You can use M502 to see what values are stored in the eeprom. Of course if the use of the eeprom is disabled in the configuration.h file this won't be an issue.

I ran into a related problem with the slic3r configuration file that smartfriendz has for the smartcore in their github repository. That configuration file has in the start gcode: M851 Z-1. So every time I printed an object the z-offset was being permanently changed from my value in the configuration.h file to 1mm! This caused some considerable frustration until I figured it out. I do however have a better understanding now of how things work.

Quote

- G28 to zero axis
- G29 to probe 9 point and enable autolevel

This is what I use as well. I put this into slic3r configuration start code so it gets run before every print.

Michael
Re: SmartRap ignores Z offset stored in EEPROM
October 01, 2015 05:13PM
I had to be different :-)

I have a 2/16" thick metal (magnetic) plate (available at home depot) under my PE print bed so that the sensor can pick up the bed from quite a distance. Since the sensor is mounted and held in place in it's mount with two nuts it can be adjusted up and down easily and then locked into place.

I configured marlin for auto level grid with 9 points and performed a G28 command in pronterface. Once the head moved to the center and sensed the print bed, I adjusted the sensor up or down until I could get a piece of copy paper between the nozzle and the print bed surface. In between adjusting the sensor, I performed G28 commands. Once I was happy with the height, I then ran the G29 command. I also have a G28/G29 commands in my startup code in Cura.

Since I mechanically adjusted the sensor to the bed, there is no need for a z offset. Works like a charm!

Jose
Sorry, only registered users may post in this forum.

Click here to login