Wonky first layer ANY IDEAS?
-
Am I wrong to put in what it actually is? What about the discrepancies as seen in the picture? If it were leveling the bed shouldn't it be even everywhere? Or am not understanding what mesh bed leveling is supposed to do?
-
In my experience, the G31 Z parameter is best set through trial and error. It is possible when you're using your feeler gage you're moving the hotend up or the bed down.
Bed leveling works to the extent that you don't have backlash in your system.
https://en.wikipedia.org/wiki/Backlash_(engineering)
A flat bed is the best solution. MBL is just a workaround.
-
As far as feeler gages are concerned I am quite familiar with their correct use, I have been a master mechanic for more than 40 years and I also have a full machine shop in house. So measuring is not the issue. So your saying MBL is just a quirky gimmick and not to be trusted? Yes having a perfectly flat bed is ideal and going to implemented in my next build from scratch. But none of that explains look of the print above. As far as backlash is concerned x and y are GT2 belts and the z is T8x2mm leadscrews, x and y will be T8x8 leadscrews this weekend along with a new 250mmx320mm 600W mains heated bed with 3mm boro glass on top of a precision ground aluminum heat spreader ,if I can get this sorted. I don't want to risk breaking the glass until this works.
-
As for measuring - if there's truly a 1.3mm offset, then you wouldn't see what was shown in the first photo. That photo is demonstrating that the offset is less than 1.3mm. The G-code you posted has the print start at 0.2mm, which would be enough room for a first layer. Perhaps your steps/mm are off, if you're confident in your measurement technique?
Another potential source of error in measuring is that the hotend and bed both expand at temperature. For example the hotend alone:
2010^-6200*25 = 0.1mm of expansion from room temperature to 220C.
Why not try changing the parameter as was suggested?
MBL isn't a gimmick. But if you think about it, it is impacted by backlash in the Z-axis. If there is backlash it will impact the ability of MBL to compensate for lack of flatness. The leadscrew/stepper coupling matters too. The proper solution is to get the bed as flat as possible first.
-
That is exactly what has me stumped. There should be plenty of room but there is not. If you look at the 2 outer rings between the z and x it is so thin that it disappears, that is not camera issue. also surrounding the x it is also thin yet around the y it is thick. there is a bow in the x axis across the middle and where it is the most pronounced (around the y) it is the thickest part of the print! It makes no sense. If I just raise the hotend it will still not be right, only instead of being ultra thin in spots the issue will then be that it is too high where it is now thick. As for Z backlash there is zero that I can detect. the entire weight of the x axis keeps the screws loaded, and I am using 3 piece press fit couplers on the steppers so none there either. IF the MBL was working shouldn't the 1st layer thickness be equal? I picked a few spots on the bed and using the MBL display moved to those coordinates and check what displayed for z values and measured and they were dead on. So why is the first layer crap?
-
Can you confirm a few things:
- you are using the feeler gauges to measure the nozzle height above the bed at the point where it triggers, not the height of the sensor board above the bed?
- that the feeler gauges are not rusty, which would make them thicker than they should be?
- you have not configured a Z offset in either your G10 P0 command or in your slicer?
I suggest you use a text editor to look at the start of the gcode file you are trying to print. Where printing starts, you should see a G1 command with the Z parameter the same as your first layer height, for example G1 Z0.2. Try homing the printer, then send that G1 command, then use the feeler gauges to check whether the nozzle is indeed at the correct height for the first layer.
-
1. yes I am measuring the nozzle
2. feeler gauges and blocks are rung together so they have zero rust
3. z offset in slicer is also set to 0.0Here is what I used to make the print;
; generated by Slic3r 1.34.1-prusa3d-win64 on 2017-05-23 at 20:32:13
; external perimeters extrusion width = 0.30mm
; perimeters extrusion width = 0.31mm
; infill extrusion width = 0.31mm
; solid infill extrusion width = 0.31mm
; top infill extrusion width = 0.31mmM190 S90 ; set bed temperature and wait for it to be reached
M104 S235 ; set temperature
G28 ; home all axes
M401
G29 S2 ;clear bed compensation
G29 ;run auto bed mesh level
M402
G1 Z8 F5000 ; lift nozzleM109 S235 ; set temperature and wait for it to be reached
G21 ; set units to millimeters
G90 ; use absolute coordinates
M82 ; use absolute distances for extrusion
G92 E0
M106 S89.25
G1 Z0.200 F7800.000
G1 E-3.00000 F9000.00000
G92 E0
G1 Z2.200 F7800.000
G1 X50.256 Y53.689 F7800.000
G1 Z0.200 F7800.000
G1 E3.00000 F9000.00000
G1 F1800
G1 X54.079 Y50.259 E3.15787
G1 X57.759 Y47.329 E3.30245
G1 X61.775 Y44.503 E3.45338…......................deleted middle.........
................
G1 X156.688 Y57.798 E60.78228
G1 X159.900 Y60.869 E60.91920
G1 X162.923 Y64.127 E61.05611
G1 X165.745 Y67.560 E61.19303
G1 X168.331 Y71.119 E61.32856
G1 E58.32856 F9000.00000
G92 E0
G1 Z2.200 F7800.000
M107
M104 S0 ; turn off temperature
G28 X0 ; home X axis; filament used = 509.4mm (1.2cm3)
; total filament cost = 0.0; avoid_crossing_perimeters = 0
; bed_shape = 14x6,204x6,204x218,14x218
; bed_temperature = 90
; before_layer_gcode =
; bridge_acceleration = 0
; bridge_fan_speed = 55
; brim_width = 0
; complete_objects = 0
; cooling = 1
; default_acceleration = 0
; disable_fan_first_layers = 0
; duplicate_distance = 6
; end_gcode = M104 S0 ; turn off temperature\nG28 X0 ; home X axis\n\n
; extruder_clearance_height = 20
; extruder_clearance_radius = 20
; extruder_offset = 0x0
; extrusion_axis = E
; extrusion_multiplier = 1
; fan_always_on = 1
; fan_below_layer_time = 60
; filament_colour = #008000
; filament_cost = 0
; filament_density = 0
; filament_diameter = 1.72
; filament_max_volumetric_speed = 0
; filament_notes = ""
; first_layer_acceleration = 0
; first_layer_bed_temperature = 90
; first_layer_extrusion_width = 200%
; first_layer_speed = 30
; first_layer_temperature = 235
; gcode_arcs = 0
; gcode_comments = 0
; gcode_flavor = repetier
; infill_acceleration = 0
; infill_first = 0
; layer_gcode =
; max_fan_speed = 55
; max_layer_height = 0
; max_print_speed = 80
; max_volumetric_extrusion_rate_slope_negative = 0
; max_volumetric_extrusion_rate_slope_positive = 0
; max_volumetric_speed = 0
; min_fan_speed = 35
; min_layer_height = 0.07
; min_print_speed = 10
; min_skirt_length = 0
; notes =
; nozzle_diameter = 0.3
; only_retract_when_crossing_perimeters = 1
; ooze_prevention = 0
; output_filename_format = [input_filename_base].gcode
; perimeter_acceleration = 0
; post_process =
; pressure_advance = 0
; resolution = 0
; retract_before_travel = 2
; retract_layer_change = 0
; retract_length = 3
; retract_length_toolchange = 10
; retract_lift = 2
; retract_lift_above = 0
; retract_lift_below = 0
; retract_restart_extra = 0
; retract_restart_extra_toolchange = 0
; retract_speed = 150
; skirt_distance = 6
; skirt_height = 1
; skirts = 3
; slowdown_below_layer_time = 5
; spiral_vase = 0
; standby_temperature_delta = -5
; start_gcode = G28 ; home all axes\nM401\nG29 S2 ;clear bed compensation\nG29 ;run auto bed mesh level\nM402\nG1 Z8 F5000 ; lift nozzle\n
; temperature = 230
; threads = 12
; toolchange_gcode =
; travel_speed = 130
; use_firmware_retraction = 0
; use_relative_e_distances = 0
; use_volumetric_e = 0
; variable_layer_height = 1
; wipe = 0
; z_offset = 0
; clip_multipart_objects = 0
; dont_support_bridges = 1
; extrusion_width = 0
; first_layer_height = 0.2
; infill_only_where_needed = 1
; interface_shells = 0
; layer_height = 0.3
; raft_layers = 0
; seam_position = aligned
; support_material = 0
; support_material_angle = 0
; support_material_buildplate_only = 0
; support_material_contact_distance = 0.2
; support_material_enforce_layers = 0
; support_material_extruder = 1
; support_material_extrusion_width = 0
; support_material_interface_contact_loops = 0
; support_material_interface_extruder = 1
; support_material_interface_layers = 3
; support_material_interface_spacing = 0
; support_material_interface_speed = 80%
; support_material_pattern = rectilinear
; support_material_spacing = 2
; support_material_speed = 50
; support_material_synchronize_layers = 0
; support_material_threshold = 0
; support_material_with_sheath = 0
; support_material_xy_spacing = 50%
; xy_size_compensation = 0
; bottom_solid_layers = 4
; bridge_flow_ratio = 1
; bridge_speed = 60
; ensure_vertical_shell_thickness = 1
; external_fill_pattern = concentric
; external_perimeter_extrusion_width = 0
; external_perimeter_speed = 50%
; external_perimeters_first = 0
; extra_perimeters = 1
; fill_angle = 45
; fill_density = 30%
; fill_pattern = cubic
; gap_fill_speed = 20
; infill_every_layers = 1
; infill_extruder = 1
; infill_extrusion_width = 0
; infill_overlap = 55%
; infill_speed = 80
; overhangs = 1
; perimeter_extruder = 1
; perimeter_extrusion_width = 0
; perimeter_speed = 60
; perimeters = 2
; small_perimeter_speed = 15
; solid_infill_below_area = 70
; solid_infill_every_layers = 0
; solid_infill_extruder = 1
; solid_infill_extrusion_width = 0
; solid_infill_speed = 20
; thin_walls = 1
; top_infill_extrusion_width = 0
; top_solid_infill_speed = 15
; top_solid_layers = 4 -
I am still a newbie so don't read too much into this but have you tried to print with manual bed leveling? might clarify hardware vs software issue?
-
The bed is as level as it can get using gage blocks and feeler gages.
-
if you dont find a solution, might try a piece of glass to negate the bowed bed plate. cheap dirty hardware solutions are my specialty
-
The solution was supposed to be MBL!
-
I suggest you start by printing small cubes or single layer patterns at the centre of the bed, using a G30 command above bed centre to use the Z probe to set the Z=0 reference. When you have got that working well so that the first layer prints well, try using mesh bed compensation again.
-
PS - did you run the G29 command with the bed hot or cold?
-
I just spent the better part of the afternoon changing out the entire bed assembly from a 200 x 200 to a 320 x 250 Borosilicate glass plate with just the heating unit underneath getting ready to test in a few minutes