Welcome! Log In Create A New Profile

Advanced

Bed Auto Leveling.. check this out

Posted by AlexBorro 
Re: Bed Auto Leveling.. check this out
September 16, 2014 03:43PM
This was my idea too.
Might be stupid question but is three a way to add this on a firmware level, so that once a software executes a manual G28 an M402 is executed right after?
Re: Bed Auto Leveling.. check this out
September 16, 2014 04:14PM
It looks like it is happening for others too.
This is a video explaining how to set up the bed auto leveling. His servo is retracting after G28 but at the and of the 3rd part around 14min clearly can be heard that during G28 and G29 he has the servo jerk. If you look carefully it can even be seen that the servo is not steady. He may has the servo disable option commented out.

Video link: [youtu.be]
Re: Bed Auto Leveling.. check this out
September 16, 2014 05:38PM
There's actually a section in Marlin_main.cpp that I'm curious if it's causing the probe not to retract. It looks to check if auto bed level is defined as well as servo deactivation delay, but the action it's to perform if true is commented. I'm no coder though so I may be way off. Plus I'm not at home to mess with it.

#if defined (ENABLE_AUTO_BED_LEVELING) && (PROBE_SERVO_DEACTIVATION_DELAY > 0)
//    if (axis==Z_AXIS) retract_z_probe();
#endif
Re: Bed Auto Leveling.. check this out
September 16, 2014 06:42PM
I removed the // and z now retracts on a G28.
Re: Bed Auto Leveling.. check this out
September 17, 2014 12:08PM
Yep, I uncommented that line and my probe retracts after homing.
Re: Bed Auto Leveling.. check this out
September 17, 2014 01:03PM
It works for me too.
Thanks FA-MAS!

I know it is off topic but I have another issue regardless of bed leveling.
Let's suppose I'm homing all my axes, in that case after homing Z will touch the heated bed. If I hit Print then Z will go up and X, Y will move to printing position which is the normal process. But, if instead of print I accidentally hit home again, or move any of X or Y axes the Z will not lift nether at least 0.1mm, and it will scratch the plate.

There is a "#define Z_RAISE_BEFORE_HOMING 5 " but this seems to not work.
Re: Bed Auto Leveling.. check this out
September 18, 2014 06:28AM
Servo is OK now, but I still have problems with my probe offsets.
My Z offset is about 3mm below the nozzle hence my setting is #define Z_PROBE_OFFSET_FROM_EXTRUDER -3.20

My cura start code is:
;Sliced at: {day} {date} {time}
;Basic settings: Layer height: {layer_height} Walls: {wall_thickness} Fill: {fill_density}
;Print time: {print_time}
;Filament used: {filament_amount}m {filament_weight}g
;Filament cost: {filament_cost}
;M190 S{print_bed_temperature} ;Uncomment to add your own bed temperature line
;M109 S{print_temperature} ;Uncomment to add your own temperature line
G21 ;metric values
G90 ;absolute positioning
M82 ;set extruder to absolute mode
M107 ;start with the fan off
;G28 X0 Y0 ;move X/Y to min endstops
;G28 Z0 ;move Z to min endstops
G28
G29 ;level
G1 Z5.0 F{travel_speed} ;move the platform down 15mm
G92 E0 ;zero the extruded length
G1 F200 E15 ;extrude 3mm of feed stock
G92 E0 ;zero the extruded length again
G1 F{travel_speed}
;Put printing message on LCD screen
M117 Printing...



Something is really wrong because my nozzle is crashing into the bed, it is trying to move a lot lower.

Any idea?
Re: Bed Auto Leveling.. check this out
September 18, 2014 11:29AM
Why do you have 3 G28 commands? You should really only need one if using the safe z homing and two if not. Also have you updated your EEPROM after changing the z probe offset? Each time you update the offset you need to issue M502 to restore factory settings then save them with M500/501 sorry can't remember off the top of my head which one saves it. That seems to be the problem most people are having.
Re: Bed Auto Leveling.. check this out
September 18, 2014 02:21PM
I only have one G28, two of them are commented out.

I will give it a try with the EEPROM thing but I'm a bit confused. You are saying I should restore factory settings with M502 then I should store settings with M500.
Why should I restore factory defaults?

Edited 1 time(s). Last edit at 09/19/2014 05:47AM by szabi.
Re: Bed Auto Leveling.. check this out
September 18, 2014 02:37PM
I checked your suggestion, it is not working :-( all the same
Re: Bed Auto Leveling.. check this out
September 18, 2014 04:38PM
Sorry that was my fault, I read it in my email on my phone and didn't notice it was commented out.

M502 is labelled in some places as restore factory settings or original configuration. It basically just means the numbers you've altered in marlin configuration.h are used to update your EEPROM. If you make a change to your probe offset in marlin and upload it without updating EEPROM the printer won't use the new value you've entered. Sorry it wasn't a fix to your problem though. Did you allow for thermal expansion when you calibrated the probe offset?
Re: Bed Auto Leveling.. check this out
September 19, 2014 05:49AM
It is nothing about thermal expansion, there are 5-10mm error much more then a thermal expansion can cause. (I always use to align my heated bed once it is heated up)

Anyhow you should be pretty close to my solution. Just to be on the safest side I disabled the EEPROM in configuration.h, and I did not had anymore the problem, but I'm not sure if with the EEPROM feature disabled is the bed leveling accounted?

I will re-enable the EEPROM tonight and I will give a try again. Now I understand how M502 works.
I'm planning to re-load the marlin code, than will store the factory setting with M502.

After each bed leveling process should I store the settings with M500? Is it only working if it is stored in the EEPROM?
Re: Bed Auto Leveling.. check this out
September 19, 2014 11:04AM
Quote
szabi
After each bed leveling process should I store the settings with M500? Is it only working if it is stored in the EEPROM?

Not necessary. I have the eeprom disabled and the bed leveling works fine. I disabled it because I would never remember to update the settings and I have never changed them with the lcd.
Re: Bed Auto Leveling.. check this out
September 19, 2014 11:57AM
Quote
stephenrc
Quote
szabi
After each bed leveling process should I store the settings with M500? Is it only working if it is stored in the EEPROM?

Not necessary. I have the eeprom disabled and the bed leveling works fine. I disabled it because I would never remember to update the settings and I have never changed them with the lcd.

Thanks, I will then keep it disabled. I do not need it for now.
Re: Bed Auto Leveling.. check this out
September 19, 2014 01:50PM
If you wanted to use the EEPROM, you do the M502 to reload your settings from configuration.h, then you need to do a M500 to save them to EEPROM. You have to do both steps.
Re: Bed Auto Leveling.. check this out
September 22, 2014 01:36PM
I just checked again with EEPROM enabled. It works!
All I did is after enabling the EEPROM feature I flashed the fw. then I did a M502 then M500 to store the fw values into the EEPROM, then I checked with M501 and values were O.K.

So now bed leveling is working even with EEPROM feature enabled. Unfortunately bed leveling X, Y, Z offset is not stored in EEPROM. If someone is frequently swapping extruders for example by using a quick-fit carriage, it would be grate to have an option to quickly adjust the offset values, so it would be nice enhancement thought.
Re: Bed Auto Leveling.. check this out
September 22, 2014 01:52PM
Changing the hotend/extruder wouldn't change the x&y offsets much, just the z offset would be affected the most. I have two hotends, one used for abs and another for pla. They both have different z offsets but the nozzles have the same x&y offsets.
Re: Bed Auto Leveling.. check this out
September 22, 2014 02:25PM
Quote
stephenrc
Changing the hotend/extruder wouldn't change the x&y offsets much, just the z offset would be affected the most. I have two hotends, one used for abs and another for pla. They both have different z offsets but the nozzles have the same x&y offsets.

I agree unless you are not using a past extruder or any special tool, but nether Z offset is an EEPROM option adding Z only or all of them would be the same development.
Re: Bed Auto Leveling.. check this out
September 22, 2014 02:35PM
Via lcd: press knob once, select Control, then Motion, and Z offset is the first line of the settings that can be changed.
Re: Bed Auto Leveling.. check this out
October 07, 2014 01:10PM
Quote
stephenrc
Via lcd: press knob once, select Control, then Motion, and Z offset is the first line of the settings that can be changed.

Does anyone knows how to set the Z offset in G code without an LCD on a marlin with bed leveling enabled?
Re: Bed Auto Leveling.. check this out
October 08, 2014 08:27AM
In Slic3r you can set the Z offset under the Printer Settings tab. You can save different profiles for whichever hotend you're using.


MakerFarm 8" Prusa i3v
RAMPS 1.4
0.4mm E3D v6 for 1.75mm
Re: Bed Auto Leveling.. check this out
October 08, 2014 02:57PM
After the Bed leveling, which works fine, my Hotend stays where it is and the print will start from this point on. So all my prints start in the back right corner of my printer instead of the middle. If it's a big print the axis will just crash.
In Slic3r I set the size and mid point properly and in Marlin the size set is also the correct size of my bed. Is there something I am missing?
Re: Bed Auto Leveling.. check this out
October 08, 2014 05:09PM
While the G29 is running, are either the X or Y endstops hit? If they are, then the home position for that axis is changed. You'll need to adjust the probe bed positions.

For example, if X_PROBE_OFFSET_FROM_EXTRUDER is 52, then LEFT_PROBE_BED_POSITION needs to be greater than 52. If it's less, the x home position will be changed.
Re: Bed Auto Leveling.. check this out
October 09, 2014 04:47AM
Thank you for your reponse.
No, no endstops get hit. The printer moves away from zero while the G92.
After the G92 it stays in the left back corner, where the last point of the G92 was and then really slowly move a little to the right and down towards the bed. From there it starts its printing as if there is 0/0 (the origin of the bed) now.
Re: Bed Auto Leveling.. check this out
October 09, 2014 03:27PM
Quote
derletztename
Thank you for your reponse.
No, no endstops get hit. The printer moves away from zero while the G92.
After the G92 it stays in the left back corner, where the last point of the G92 was and then really slowly move a little to the right and down towards the bed. From there it starts its printing as if there is 0/0 (the origin of the bed) now.


Could you please attach your configuration.h file?
Re: Bed Auto Leveling.. check this out
October 09, 2014 03:43PM
Quote
AbuMaia
In Slic3r you can set the Z offset under the Printer Settings tab. You can save different profiles for whichever hotend you're using.

Well, I'm not always using Slier, I might Use Cura as well which as no Z offset option as far as I know.


M565 is not working.
I used G1 Z0.8 then G92 Z0 to force new Z0 which works fine
I might try M206 Z-0.8 once I have some time to play with :-)

I'm just looking for the best option recommended.
Any thoughts?
Re: Bed Auto Leveling.. check this out
October 09, 2014 04:08PM
A lot of hacking has been done there^^
Attachments:
open | download - Configuration.h (33 KB)
Re: Bed Auto Leveling.. check this out
October 10, 2014 03:56AM
Quote
derletztename
A lot of hacking has been done there^^

Are you using G90 for absolute positioning in your start code?
have you set your machine center in your software

If yes then I suspect you have a problem in the probe relative to the extruder setting. Could you please just do a quick check?
1.- Please home all your axes
2.- Mark a place on your bed (preferred on the middle but it is not crucial)
3.- Manually jog your printer so that the tip of your nozzle will be above the marked point (now we do not care about Z high)
4.- execute G92 X0 Y0 Z0 (this will zero out all your axes)
5.- lift up your Z and make sure you are high enough then lover your Z probe by executing M401 (as you have servo enabled, i assume you are using a servo mounted Z probe, if not please let me know)
6.- jog your printer so that your switch's trigger is now above the marked point (again we do not care about Z high)
7.- Execute M114 (will read the axes position) and post me the output
Re: Bed Auto Leveling.. check this out
October 11, 2014 10:10PM
Hi ,

Can any one help me. I have a Prusa I3 with a ramp 1.4 and Merlin. My startup gcode include a G29 and it probe correctly on the 4 corner of the bed. I don't know why but when i print there is too much compensation on the right half side of the bed.The extruder is too high and the filament is not even touching the bed!!! Any idea what is the problem. The left side is ok. I see this issue specially when i print something big and it's go close to the edge of the bed.

Thanks

Edited 2 time(s). Last edit at 10/11/2014 10:13PM by ti-luc.
Re: Bed Auto Leveling.. check this out
October 12, 2014 03:58AM
Is your G29 placed after G28?
Sorry, only registered users may post in this forum.

Click here to login