Welcome! Log In Create A New Profile

Advanced

Auto bed leveling problem

Posted by GhostEnd 
Auto bed leveling problem
November 24, 2016 09:39AM
Hi all,
I have a Prusa i3 and I have just mounted the auto bed leveling with an inductive sensor.

Now I have some problem to set the correct offset to my extruder. I have the Marlin 1.1.0 RC6.
For example, when I do z homing on my printer, the nozzle is stopping about 3 mm above the bed (the z homing was stopping immediatly when the sensor detect the bed) and I can't to make it closer.. I try to change the value of Z_PROBE_OFFSET_FROM_EXTRUDER but never change

Somebody can help me?
You can see my problem in the attached image.

Thanks a lot
Attachments:
open | download - probe.png (5.7 KB)
Re: Auto bed leveling problem
November 24, 2016 08:07PM
You probably are not doing a M502 and M500 pair after uploading the firmware. Marlin uses the setting in the EEPROM if the EEPROM is enabled. You can give it the new settings by doing a M502 and then doing the M500 saves those setting to the EEPROM so they are used the next time you power up.
Re: Auto bed leveling problem
November 25, 2016 07:49AM
Quote
Roxy
You probably are not doing a M502 and M500 pair after uploading the firmware. Marlin uses the setting in the EEPROM if the EEPROM is enabled. You can give it the new settings by doing a M502 and then doing the M500 saves those setting to the EEPROM so they are used the next time you power up.
Can I do this with the full graphic lcd?
Re: Auto bed leveling problem
November 25, 2016 11:49AM
I think you are asking "Can I do this using the LCD Panel to control the action?" The answer is: Yes! The EEPROM stuff is at the end of the 'Control Menu'

/**
   *
   * "Control" submenu
   *
   */

  static void lcd_control_menu() {
    START_MENU();
    MENU_ITEM(back, MSG_MAIN);
    MENU_ITEM(submenu, MSG_TEMPERATURE, lcd_control_temperature_menu);
    MENU_ITEM(submenu, MSG_MOTION, lcd_control_motion_menu);
    MENU_ITEM(submenu, MSG_VOLUMETRIC, lcd_control_volumetric_menu);

    #if HAS_LCD_CONTRAST
      //MENU_ITEM_EDIT(int3, MSG_CONTRAST, &lcd_contrast, 0, 63);
      MENU_ITEM(submenu, MSG_CONTRAST, lcd_set_contrast);
    #endif
    #if ENABLED(FWRETRACT)
      MENU_ITEM(submenu, MSG_RETRACT, lcd_control_retract_menu);
    #endif
    #if ENABLED(EEPROM_SETTINGS)
      MENU_ITEM(function, MSG_STORE_EPROM, Config_StoreSettings);
      MENU_ITEM(function, MSG_LOAD_EPROM, Config_RetrieveSettings);
    #endif
    MENU_ITEM(function, MSG_RESTORE_FAILSAFE, Config_ResetDefault);
    END_MENU();
  }
Re: Auto bed leveling problem
November 26, 2016 08:01AM
Quote
Roxy
I think you are asking "Can I do this using the LCD Panel to control the action?" The answer is: Yes! The EEPROM stuff is at the end of the 'Control Menu'

/**
   *
   * "Control" submenu
   *
   */

  static void lcd_control_menu() {
    START_MENU();
    MENU_ITEM(back, MSG_MAIN);
    MENU_ITEM(submenu, MSG_TEMPERATURE, lcd_control_temperature_menu);
    MENU_ITEM(submenu, MSG_MOTION, lcd_control_motion_menu);
    MENU_ITEM(submenu, MSG_VOLUMETRIC, lcd_control_volumetric_menu);

    #if HAS_LCD_CONTRAST
      //MENU_ITEM_EDIT(int3, MSG_CONTRAST, &lcd_contrast, 0, 63);
      MENU_ITEM(submenu, MSG_CONTRAST, lcd_set_contrast);
    #endif
    #if ENABLED(FWRETRACT)
      MENU_ITEM(submenu, MSG_RETRACT, lcd_control_retract_menu);
    #endif
    #if ENABLED(EEPROM_SETTINGS)
      MENU_ITEM(function, MSG_STORE_EPROM, Config_StoreSettings);
      MENU_ITEM(function, MSG_LOAD_EPROM, Config_RetrieveSettings);
    #endif
    MENU_ITEM(function, MSG_RESTORE_FAILSAFE, Config_ResetDefault);
    END_MENU();
  }
After some test the procedure that seem correct to set the offset with the LCD Panel is this:
Set the offset in Control->Motion to 0;
Launch auto homing; (The nozzle will stop some millimeters over the bed)
Push the nozzle down with the Prepare->Move Axis Z menu until a paper sheet is pressed;
Read the negative value of Z axis position on the LCD;
Set this offset in Control->Motion;
Store all in EEPROM with the option in Control menu;

Now If I launch homing the nozzle will stop at the position 0 (some millimeters above the bed, pratically when the probe will trigger);
Else if I launch (with G-code) the command G1 Z0 the Z axis go to the correct position with the correct offset.

So I had add these lines to my starting G-code script in my slicer:
G28; Homing all axis
G29; Execute auto bed leveling
G1 X0 Y0 Z0; Homing X axis, Y axis and set the Z axis to position 0 - offset_Z

In this way the printer seem to do all right, but it's all correct?
Re: Auto bed leveling problem
November 26, 2016 09:51AM
G1 X0 Y0 Z0; Homing X axis, Y axis and set the Z axis to position 0 - offset_Z

I would not go to Z=0.0 because if there is any movement you will be rubbing the nozzle against the bed.
I pretty much send the nozzle to the center of the bed with Z=10.0 or so. Then the print starts happening, it will lower the nozzle to where it needs to be.
Re: Auto bed leveling problem
November 30, 2016 12:29AM
I found Thomas Sanladerer's videos on youtube VERY helpful setting up auto tramming.
But he shows how to do it through firmware/host software
Sorry, only registered users may post in this forum.

Click here to login