Unreliable Z height calibration on V-Core 3 w/BLtouch & Mini 5+
-
@juliann you have too many balls in the air. rule one of diganostics and trouble shooting is simplify.
-
from your your bedmap, i suspect that your rails are not in alignment- i think that your back right (Xmax,Ymax) rail is HIGH. It appears high in the map because the Z is inverted. re-read the v-core docs on rail alignment and see if its right. if we know that its off, we can take that into account.
-
In your start gode, you are settin z-o, then adjusting the nozzle -0.12mm realtive, then mesh the bed?? what is the purpose of that?
M290 R0 S-0.12
in the fragment of what you were printing, you had a standby temp of 265 and print temp of 267. What are you printing with? -
Consider tramming you bed with 4 points, not 3. save your beg.g and make a SIMPLER one. you have to crawl before you can run. once you see this works, then go back and add in the iteration stuff if yo want it. i dont think you do if you have a quality bed that is made well.
bed.g-
M290 R0 S0 ; clear baby stepping M561 ; reset all bed adjustments M400 ; flush move queue if !move.axes[0].homed or !move.axes[1].homed or !move.axes[2].homed echo "not all axes homed, homing axes first" G28 G30 X250 Y250 ; set middle of bed G30 P0 X10 Y10 Z-99999 ; Front Left G30 P1 X10 Y470 Z -9999 ; BL G30 P2 X460 Y470 Z-99999 ; BR G30 P3 X460 Y10 Z-99999 S3 ; FR autolevel 3 screws G30 X250 Y250 ; reprobe middle of bed in case it shifted
-
prove to yourself that it level - move Z to a height you can check you nozzle with a feeler gauge of some kind. paper, cardboard, anything. jog the nozzle till you can just feel it dragging on the feeler and move the head around. you can use a M18 X Y to disable the steppers but keep power to the Z motors.
-
print something WITHOUT the heightmap, only bed tram. this want to be like 4 squares, 1 layer thick, 50x50 x0.3mm high, one at each corner and one in the middle.
-
Aftter you print something w/o heightmap, THEN perform a height map and reprint.
-
if you want to slice a simple cube in superslicer and save the config bundle, you should be able to zip it and attach to this thread. those of us who use super slicer can open it and see exactly what is in there for gcodes and settings.
sinneD
-
-
Hi Frederick & sinneD & @T3P3Tony @fcwilt @sinned6915
Sorry for the delay in my response.
I rechecked everything in my printer included mechanical and the frame assembly as well.
Everything seems to be fine, no issues found.Frederick @fcwilt
I did several tests following your instructions but I am afraid the behaviour is always de same I described before:- The printer is already calibrated and all previous prints were perfectly fine.
- Power off and power on the printer.
- I try to print anything and the first layer is much more closer to the bed that usual.
- Cancel that print (Emergency stop on DWC) and clean the bed
- Then I print again the same file without touching any setting and now the first layer is perfect again.... (and of course I can continue printing without issues).
I am attaching "30 mm cube.gcode " file.
@sinned6915
Thank you very much for taking the time analysing my problem. Please see below my answers-
After rechecking the frame, belts, carriage many times I can confirm you that there is no problem there.
Just to clarify, I think the issue I am experiencing is not precisely what you are suggesting, please see the behaviour I mentioned before.
I mean, I am able to get perfectly fine prints, first layer included but always considering the behaviour/ issue I previously described. -
To be honest, it is probably inexperience from my side :-)... I am still new in 3d printing and many of my settings are there just for someone's advice.
If you know a better way to do that I will appreciate if you share it with me.
I am printing PETG-CF, that temp is working very well to me. -
Done! thanks so much for this, it seems to be better now.
-
I did that but the results are conditioned by the behaviour I described before.
After powering on the printer the nozzle is very close to the bed, so if I do this test I probably scratch the bed.
but...
if I press emergency stop then the test result is perfectly fine (and of course any print I do) -
I did it, same results as response 4.
-
Pressing emergency stop after powering on and then printing w/o heightmap I got the expected results based on the height map showed in DWC.
If I don't press the emergency stop after power on, the nozzle is too close to the bed (with or without heightmap).
If press emergency stop and then I print with the heightmap the print is perfectly fine. -
SuperSlicer_config_bundle.ini & 30 mm cube.gcode
[print:JEN 0.4 PETG Filamentive Carbon F] allow_empty_layers = 0 avoid_crossing_not_first_layer = 1 avoid_crossing_perimeters = 1 avoid_crossing_perimeters_max_detour = 0 bottom_fill_pattern = rectilinear bottom_solid_layers = 6 bottom_solid_min_thickness = 0 bridge_acceleration = 0 bridge_angle = 0 bridge_flow_ratio = 60% bridge_overlap = 145% bridge_speed = 15 bridge_speed_internal = 15 bridged_infill_margin = 200% brim_ears = 0 brim_ears_detection_length = 1 brim_ears_max_angle = 125 brim_ears_pattern = concentric brim_inside_holes = 0 brim_offset = 0 brim_width = 0 brim_width_interior = 0 clip_multipart_objects = 0 compatible_printers = compatible_printers_condition = complete_objects = 1 complete_objects_one_brim = 0 complete_objects_one_skirt = 1 complete_objects_sort = object curve_smoothing_angle_concave = 0 curve_smoothing_angle_convex = 0 curve_smoothing_cutoff_dist = 2 curve_smoothing_precision = 0 default_acceleration = 0 dont_support_bridges = 1 draft_shield = 0 duplicate_distance = 6 enforce_full_fill_volume = 1 ensure_vertical_shell_thickness = 0 exact_last_layer_height = 0 external_infill_margin = 150% external_perimeter_cut_corners = 0% external_perimeter_extrusion_spacing = external_perimeter_extrusion_width = 0.45 external_perimeter_overlap = 100% external_perimeter_speed = 50% external_perimeters_first = 0 external_perimeters_hole = 1 external_perimeters_nothole = 1 external_perimeters_vase = 0 extra_perimeters = 1 extra_perimeters_odd_layers = 0 extra_perimeters_overhangs = 0 extruder_clearance_height = 20 extruder_clearance_radius = 20 extrusion_spacing = extrusion_width = 0.45 fill_angle = 45 fill_angle_increment = 0 fill_density = 0% fill_pattern = gyroid fill_smooth_distribution = 10% fill_smooth_width = 50% fill_top_flow_ratio = 125% first_layer_acceleration = 0 first_layer_extrusion_spacing = first_layer_extrusion_width = 0.42 first_layer_flow_ratio = 100% first_layer_height = 0.25 first_layer_infill_speed = 15 first_layer_min_speed = 0 first_layer_size_compensation = -0.2 first_layer_size_compensation_layers = 1 first_layer_speed = 10 gap_fill = 1 gap_fill_last = 1 gap_fill_min_area = 25% gap_fill_overlap = 100% gap_fill_speed = 20 gcode_comments = 0 gcode_label_objects = 0 hole_size_compensation = 0 hole_size_threshold = 100 hole_to_polyhole = 0 hole_to_polyhole_threshold = 0.01 hole_to_polyhole_twisted = 1 infill_acceleration = 0 infill_anchor = 600% infill_anchor_max = 50 infill_connection = connected infill_connection_bottom = connected infill_connection_solid = connected infill_connection_top = connected infill_dense = 1 infill_dense_algo = enlarged infill_every_layers = 1 infill_extruder = 1 infill_extrusion_spacing = infill_extrusion_width = 0.42 infill_first = 0 infill_only_where_needed = 0 infill_overlap = 35% infill_speed = 20 inherits = interface_shells = 0 ironing = 0 ironing_angle = -1 ironing_flowrate = 15% ironing_spacing = 0.1 ironing_speed = 15 ironing_type = top layer_height = 0.2 max_print_speed = 20 max_volumetric_speed = 0 milling_after_z = 200% milling_extra_size = 150% milling_post_process = 0 milling_speed = 30 min_skirt_length = 20 min_width_top_surface = 100% model_precision = 0.0001 no_perimeter_unsupported_algo = none notes = only_one_perimeter_first_layer = 0 only_one_perimeter_top = 1 only_one_perimeter_top_other_algo = 0 only_retract_when_crossing_perimeters = 1 ooze_prevention = 0 output_filename_format = [input_filename_base].gcode over_bridge_flow_ratio = 125% overhangs_reverse = 0 overhangs_reverse_threshold = 250% overhangs_speed = 10 overhangs_width = 50% overhangs_width_speed = 1% perimeter_acceleration = 0 perimeter_bonding = 0% perimeter_extruder = 1 perimeter_extrusion_spacing = perimeter_extrusion_width = 0.45 perimeter_loop = 0 perimeter_loop_seam = rear perimeter_overlap = 100% perimeter_round_corners = 0 perimeter_speed = 20 perimeters = 3 post_process = print_extrusion_multiplier = 100% print_retract_length = -1 print_retract_lift = -1 print_settings_id = print_temperature = 0 raft_layers = 0 resolution = 0.002 seam_angle_cost = 100% seam_position = aligned seam_travel_cost = 100% single_extruder_multi_material_priming = 1 skirt_brim = 0 skirt_distance = 3 skirt_distance_from_brim = 1 skirt_extrusion_width = 0 skirt_height = 1 skirts = 2 slice_closing_radius = 0.049 small_perimeter_max_length = 20 small_perimeter_min_length = 10 small_perimeter_speed = 15 solid_fill_pattern = rectilineargapfill solid_infill_below_area = 70 solid_infill_every_layers = 0 solid_infill_extruder = 1 solid_infill_extrusion_spacing = solid_infill_extrusion_width = 0.42 solid_infill_speed = 20 solid_over_perimeters = 2 spiral_vase = 0 standby_temperature_delta = -5 support_material = 0 support_material_angle = 0 support_material_auto = 1 support_material_buildplate_only = 1 support_material_contact_distance_bottom = 0.2 support_material_contact_distance_top = 0.2 support_material_contact_distance_type = plane support_material_enforce_layers = 0 support_material_extruder = 1 support_material_extrusion_width = 0.35 support_material_interface_contact_loops = 0 support_material_interface_extruder = 1 support_material_interface_layers = 3 support_material_interface_pattern = rectilinear support_material_interface_spacing = 0 support_material_interface_speed = 100% support_material_pattern = rectilinear support_material_solid_first_layer = 0 support_material_spacing = 2.5 support_material_speed = 15 support_material_synchronize_layers = 0 support_material_threshold = 0 support_material_with_sheath = 1 support_material_xy_spacing = 50% thin_perimeters = 1 thin_perimeters_all = 0 thin_walls = 0 thin_walls_merge = 1 thin_walls_min_width = 33% thin_walls_overlap = 50% thin_walls_speed = 10 threads = 8 top_fill_pattern = monotonic top_infill_extrusion_spacing = top_infill_extrusion_width = 0.4 top_solid_infill_speed = 20 top_solid_layers = 6 top_solid_min_thickness = 0 travel_acceleration = 1500 travel_speed = 300 travel_speed_z = 0 wipe_tower = 0 wipe_tower_bridging = 10 wipe_tower_brim = 150% wipe_tower_no_sparse_layers = 0 wipe_tower_rotation_angle = 0 wipe_tower_width = 60 wipe_tower_x = 180 wipe_tower_y = 140 xy_inner_size_compensation = 0 xy_size_compensation = 0 [filament:V-CORE 3 Carbon F] bed_temperature = 80 bridge_fan_speed = 100 bridge_internal_fan_speed = -1 chamber_temperature = 0 compatible_printers = compatible_printers_condition = compatible_prints = compatible_prints_condition = cooling = 1 disable_fan_first_layers = 1 end_filament_gcode = "" external_perimeter_fan_speed = 20 extrusion_multiplier = 0.81 fan_always_on = 0 fan_below_layer_time = 60 filament_colour = #29B2B2 filament_cooling_final_speed = 3.4 filament_cooling_initial_speed = 2.2 filament_cooling_moves = 4 filament_cooling_zone_pause = 0 filament_cost = 0 filament_density = 0 filament_deretract_speed = 50 filament_diameter = 1.75 filament_dip_extraction_speed = 70 filament_dip_insertion_speed = 33 filament_enable_toolchange_part_fan = 0 filament_enable_toolchange_temp = 0 filament_load_time = 0 filament_loading_speed = 28 filament_loading_speed_start = 3 filament_max_overlap = 100% filament_max_speed = 0 filament_max_volumetric_speed = 0 filament_max_wipe_tower_speed = 0 filament_melt_zone_pause = 0 filament_minimal_purge_on_wipe_tower = 15 filament_notes = "" filament_ramming_parameters = "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6" filament_retract_before_travel = nil filament_retract_before_wipe = nil filament_retract_layer_change = nil filament_retract_length = 0.3 filament_retract_lift = nil filament_retract_lift_above = nil filament_retract_lift_below = nil filament_retract_restart_extra = nil filament_retract_speed = 60 filament_seam_gap = nil filament_settings_id = "" filament_shrink = 100% filament_skinnydip_distance = 31 filament_soluble = 0 filament_spool_weight = 0 filament_toolchange_delay = 0 filament_toolchange_part_fan_speed = 50 filament_toolchange_temp = 200 filament_type = PET filament_unload_time = 0 filament_unloading_speed = 90 filament_unloading_speed_start = 100 filament_use_fast_skinnydip = 0 filament_use_skinnydip = 0 filament_vendor = (Unknown) filament_wipe = nil filament_wipe_advanced_pigment = 0.5 filament_wipe_extra_perimeter = nil filament_wipe_speed = nil first_layer_bed_temperature = 80 first_layer_temperature = 267 full_fan_speed_layer = 0 inherits = max_fan_speed = 15 max_speed_reduction = 90% min_fan_speed = 15 min_print_speed = 10 slowdown_below_layer_time = 5 start_filament_gcode = "; Filament gcode\nG1 X250 Y250 \nG30\n\nM290 R0 S0.09 \n\nG29 S1\n" temperature = 262 top_fan_speed = 15 [printer:V-CORE 3 Frederick] bed_custom_model = bed_custom_texture = bed_shape = 0x0,500x0,500x500,0x500 before_layer_gcode = ; 0.2mm layer, 8 bands 5mm each, total height 40mm\n;{if layer_num== 1}M572 D0 S0.13\n;{elsif layer_num== 20}M572 D0 S0.14\n;{elsif layer_num== 40}M572 D0 S0.15\n;{elsif layer_num== 60}M572 D0 S0.16\n;{elsif layer_num== 80}M572 D0 S0.17\n;{elsif layer_num== 100}M572 D0 S0.18\n;{elsif layer_num== 120}M572 D0 S0.19\n;{elsif layer_num== 150}M572 D0 S0.20\n;{endif} between_objects_gcode = color_change_gcode = M600 cooling_tube_length = 5 cooling_tube_retraction = 91.5 default_filament_profile = default_print_profile = deretract_speed = 50 end_gcode = M104 S0 ; turn off temperature\nM140 S0 ; turn off bed\nG28 X0 ; home X axis\nM84 ; disable motors\nM999 extra_loading_move = -2 extruder_colour = "" extruder_fan_offset = 0% extruder_offset = 0x0 extruder_temperature_offset = 0 fan_kickstart = 0 fan_percentage = 0 fan_speedup_overhangs = 1 fan_speedup_time = 0 feature_gcode = gcode_filename_illegal_char = gcode_flavor = reprapfirmware gcode_precision_e = 5 gcode_precision_xyz = 3 high_current_on_filament_swap = 0 host_type = octoprint inherits = layer_gcode = machine_limits_usage = time_estimate_only machine_max_acceleration_e = 10000,5000 machine_max_acceleration_extruding = 1500,1250 machine_max_acceleration_retracting = 1500,1250 machine_max_acceleration_travel = 1500,1250 machine_max_acceleration_x = 9000,1000 machine_max_acceleration_y = 9000,1000 machine_max_acceleration_z = 500,200 machine_max_feedrate_e = 120,120 machine_max_feedrate_x = 500,200 machine_max_feedrate_y = 500,200 machine_max_feedrate_z = 12,12 machine_max_jerk_e = 2.5,2.5 machine_max_jerk_x = 10,10 machine_max_jerk_y = 10,10 machine_max_jerk_z = 0.2,0.4 machine_min_extruding_rate = 0,0 machine_min_travel_rate = 0,0 max_gcode_per_second = 1500 max_layer_height = 0.3 max_print_height = 200 milling_diameter = milling_toolchange_end_gcode = milling_toolchange_start_gcode = milling_z_lift = min_layer_height = 0.07 min_length = 0.035 nozzle_diameter = 0.4 parking_pos_retraction = 92 pause_print_gcode = M601 print_host = printer_model = printer_notes = printer_settings_id = printer_technology = FFF printer_variant = printer_vendor = printhost_apikey = printhost_cafile = printhost_port = remaining_times = 0 retract_before_travel = 3 retract_before_wipe = 0% retract_layer_change = 0 retract_length = 0.3 retract_length_toolchange = 10 retract_lift = 0 retract_lift_above = 0.3 retract_lift_below = 0 retract_lift_first_layer = 0 retract_lift_top = "All surfaces" retract_restart_extra = 0 retract_restart_extra_toolchange = 0 retract_speed = 60 seam_gap = 15% silent_mode = 1 single_extruder_multi_material = 0 start_gcode = G28 ; home all axes\nG1 Z5 F5000 ; lift nozzle\n start_gcode_manual = 0 template_custom_gcode = thumbnails = 0x0,0x0 thumbnails_color = #018aff thumbnails_custom_color = 0 thumbnails_with_bed = 1 time_estimation_compensation = 100% tool_name = 0 toolchange_gcode = use_firmware_retraction = 0 use_relative_e_distances = 0 use_volumetric_e = 0 variable_layer_height = 1 wipe = 0 wipe_advanced = 0 wipe_advanced_algo = linear wipe_advanced_multiplier = 60 wipe_advanced_nozzle_melted_volume = 120 wipe_extra_perimeter = 0 wipe_speed = 0 z_offset = 0 z_step = 0.005 [physical_printer:Printer 1] host_type = duet preset_name = VCoreNeu - PrusaSlicer_config_bundle.ini print_host = duet.fritz.box printer_technology = FFF printhost_apikey = vcore2019 printhost_authorization_type = key printhost_cafile = printhost_password = printhost_port = printhost_user = [presets] print = JEN 0.4 PETG Filamentive Carbon F sla_print = - default - sla_material = - default - printer = V-CORE 3 F filament = V-CORE 3 Carbon F physical_printer =
Thank you very much!
Julián. -
Hi,
I will take a look at the file but the situation you are describing still seems to me like something "corrects" the configuration during the first print, but doesn't affect the first print, but does cause the second print to be ok.
Frederick
-
I have noticed something odd.
I gave you a very simple, edited version of the homeall.g file you first posted.
I did not cancel baby-stepping in the code I posted for you.
Homing does not cancel baby-stepping unless the homing code has the command to do that.
In your example print file you have this:
G1 X250 Y250 ; move to the XY reference point for G30 G30 ; set the Z-0 Datum M290 R0 S0.09 ; set baby-stepping
So the first print after power up sets baby-stepping (from 0.00 to 0.09) but it does so after the G30.
For the next print I am thinking baby-stepping is still in effect (it remains at 0.09) which changes the results of G30 and the nozzle ends up farther away from the bed on the next print(s).
And that is consistent with what you are reporting.
Normally you don't want to set baby-stepping in a print file. To fix first layer Z issues you would adjust the Z Trigger Height parameter in G31 which would cause the G30 to set things so the Z position is correct for printing the first layer.
Remove the M290 from your print code and adjust the Z Trigger Height parameter in G31 to get the Z height correct.
If I had put M290 R0 S0 in the homeall code I posted you wouldn't be seeing this issue - my bad - all attempts to print would have been too close to the bed.
Frederick
-
Add these two lines at the beginning of your homeALL.g file and your homeZ.g file:
G29 S2 ; cancel mesh bed compensation M290 R0 S0 ; cancel baby stepping
Frederick
-
-
@juliann said in Unreliable Z height calibration on V-Core 3 w/BLtouch & Mini 5+:
Hi Frederick! @fcwilt
Very good news, you found the solution!
I applied your suggestions and now the issue is totally fixed!Thank you so much for all the help provided.
Julián.
Glad we were able to sort things out.
Frederick
-
@fcwilt said in Unreliable Z height calibration on V-Core 3 w/BLtouch & Mini 5+:
For the next print I am thinking baby-stepping is still in effect (it remains at 0.09) which changes the results of G30 and the nozzle ends up farther away from the bed on the next print(s).
Thanks for identifying this. It sounds as though babystepping is affecting the behaviour of G29 and G30 probing, and I think it would be better if it didn't. I will add this to the work list.
-
Looks like G30 is working correctly after all. If I run G30 to establish Z=0, send M290 Z1 and then G1 Z0, the nozzle sits 1mm above the bed. If I then run G30 again and then again send G1 Z0, the nozzle is still 1mm above the bed.
-
@dc42 said in Unreliable Z height calibration on V-Core 3 w/BLtouch & Mini 5+:
Looks like G30 is working correctly after all. If I run G30 to establish Z=0, send M290 Z1 and then G1 Z0, the nozzle sits 1mm above the bed. If I then run G30 again and then again send G1 Z0, the nozzle is still 1mm above the bed.
Well it seems my understanding of the interaction of M290 and G30 was wrong.
But it seemed to explain what the OP was seeing and the suggested changes did fix the problem.
Which then leaves the original question as to why the first print never worked but subsequent ones did.
Frederick
-
@dc42 Same here. Babystepping and G30 works.
-
@juliann Just a note about your config unrelated to the Z problem. Don't you have your current too high for the motor on the LGX extruder? Max current should only be 0.7A. Building the same printer as you (using a SuperPINDA vs BLtouch) and comparing configs
-
Hi
@nurgelrot!
Good catch! yes, that was wrong for sure. Thank you very much!@dc42 @fcwilt @PCR
Thank you very much for the additional tests, clearly I had something wrong in my original config, everything is still working fine by the moment.Julián.
-
@juliann sorry i have been afk.. a couple of other suggestions-
you might want to consider seperating homing/leveling out from you print file.
make a seperate macro and use that at the start of a print 'session'that way if you have to cancel and restart a print, you are not going through the whole procedure of homing/leveling.
you mentioned trying to print with PETG- i suspect you came across some old posts about how hard and finnicky it can be. most of that advice is just rubbish. dont get intimidated.
petg wants slower and no cooling. I use the same filament profile for PETG as PLA only temps are 235 and cooling 0. I may have bumped retract/destring a hair.
-
-