BLTouch Bed leveling oddity
-
I couldn't fit my homing files, so here they are:
homeall.g:; homeall.g ; called to home all axes ; ; generated by RepRapFirmware Configuration Tool v2 on Tue Feb 19 2019 16:42:10 GMT-0500 (Eastern Standard Time) G91 ; relative positioning G1 Z5 U5 F6000 S2 ; lift Z relative to current position G1 S1 X-301.5 Y-309 F1800 ; move quickly to X and Y axis endstops and stop there (first pass) G1 X5 Y5 F6000 ; go back a few mm G1 S1 X-301.5 Y-309 F360 ; move slowly to X and Y axis endstops once more (second pass) ; begin Split & Recombine for dual Z & U ; this defines the mechanical endstops as BACKUP to BLTouch M584 Z2 U4 P4 ; split Z motor control to Z and U but for it to work we have to show U (param P4) in the UI G1 S1 Z-205 U-205 F1000 ; Move Z and U down until the switches triggers ;G92 Z.36 U.36 ; set Z position for .36mm above BLTouch Trigger (Allow switches to be used as emergency stops)TURNED OFF FOR T-SHOOT M584 Z2:4 P3 ; back to combined axes and hidden U G1 X1 Y10 F360 ; move slowly X and Y axis away from bed edge ; Activate BLTouch for Homing Z G1 X45 Y12 Z5 F6000 ; lift Z relative to current position ADDED X & Y TO MOVE NEW PROBE TO POSITION OVER THE BED M98 Pdeployprobe.g ; deploy BLTouch G1 S1 Z-205 F1000 ; move Z down until the switch triggers G92 Z0 ; set Z position to trigger height M98 Pretractprobe.g ; retract BLTouch ; Set Home for Z & Lift Z ;G92 Z0 ; set Z position to axis minimum (you may want to adjust this) G1 S2 Z5 F100 ; lift Z above bed relative to current position G90 ; absolute positioning
homez.g:
; homez.g ; called to home the Z axis ; ; generated by RepRapFirmware Configuration Tool v2 on Tue Feb 19 2019 16:42:11 GMT-0500 (Eastern Standard Time) G91 ; relative positioning G1 Z5 F6000 S2 ; lift Z relative to current position ; begin Split & Recombine for dual Z & U ; this defines the mechanical endstops as BACKUP to BLTouch M584 Z2 U4 P4 ; split Z motor control to Z and U but for it to work we have to show U (param P4) in the UI G1 S1 Z-205 U-205 F1000 ; Move Z and U down until the switches triggers ;G92 Z.36 U.36 ; set Z position for .36mm above BLTouch Trigger (Allow switches to be used as emergency stops)TURNED OFF FOR T-SHOOT M584 Z2:4 P3 ; back to combined axes and hidden U G1 X10 Y10 F360 ; move slowly X and Y axis away from bed edge ; Activate BLTouch for Homing Z G1 X45 Y12 Z5 F6000 ; lift Z relative to current position & move probe over bed M98 Pdeployprobe.g ; deploy BLTouch G1 S1 Z-205 F1000 ; move Z down until the switch triggers G92 Z0 ; set Z position to trigger height M98 Pretractprobe.g ; retract BLTouch ; Set Home for Z & Lift Z ;G92 Z0 ; set Z position to axis minimum (you may want to adjust this) G1 S2 Z5 F100 ; lift Z above bed relative to current position G90 ; absolute positioning
-
It seems like you've got a ill-fated combination of the endstop leveling and probe leveling approaches. Abandon the endstops and use the probe.
G31 P500 X50 Y12 Z0.68 U0.68 in config.g
G31 doesn't take a U parameter. It's only for the Z offset for the probe, U is an imaginary axis, not a separate physical dimension. So remove the U from G31.
You're using endstops for leveling, but since you have a z probe, you could just use the probe. It's a lot simpler and you don't have to mess with splitting the Z into multiple axis.
M98 Pdeployprobe.g ; deploy BLTouch G1 S1 Z-205 F1000 ; move Z down until the switch triggers G92 Z0 ; set Z position to trigger height M98 Pretractprobe.g ; retract BLTouch
This isn't the way to probe the Z height with a probe either. You've basically converted it into a mobile endstop, none of the G31 offsets are being applied when used this way. Simply use a G30 to probe the bed.
I think you need to take a step back and simplify things. You've gone off the rails here.
-
I just finished my conversion of the my CR10S and my Ender 5 Plus to using separate steppers. Through my learning, you only need to add and U* parameters in the descriptions of your steppers (ei; jerk, accel, steps etc).
In all other instances (such as z probe offset), you simply need to apply a Z* parameter.
It sounds like what I have been working through for the past few days where my z-offset keeps changing.
As @Phaedrux said, use the probe. My process is very similar to yours.
-
home all axis
-
M564 S1 to make sure virtual endstops enabled so you can't go below 0 for Z
-
raise 8mm
-
probe bed
-
repeat 3 and 4 and review Z offset.
-
once I am locked in with my z offset, I reboot, home and check with paper.
But I was doing this over and over and over, daily. But this I learned about operating the dual z axis with separate steppers, and using G32 to align the leadscrews Even though dual z screws is supposed to help with keeping your gantry level, it never does.
I I made the need hardware changes and firmware changes, and can include G32 in my routine. I have found today on my CR10S I don't have to adjust my z-offset. Its rock solid.
I will also add that in all this change, I also positioned my probe (BL Touch as well) to be closer to the nozzle. So my z offset is much smaller.
So I would try
-
-
Sorry for the long reply time ... life...
Aw 'cmon, I went off the rails YEARS agoI started to make the changes and after 20 minutes decided the Nuclear route would be better, so I ran RRF Configurator again and started clean.
Your advice, along with that from @RyanP (Thanks buddy, that helped my head a LOT!!) lead me to a very nice clean setup. Some minor bobbles, but I think I've got 'em.
I'm now running just the Z probe and am getting hatted up on RRF 3 prior to taking the plunge, as it handles not needing the split Z and has some nice upgrades.
I'm still a bit uncomfortable with not using the endstop switches as a backup to the BLTouch, I'd like to set it up with them commanding an Emergency stop if triggered.
Should I just wait until I'm running RRF 3 so I don't have to set it up twice?
One other odd Q - when you change something in a system file (config.g, bed.g, etc) is that change reflected in the JSON file automatically? (I'm thinking about when you use a JSON to be a starting point for the RRF Configurator)
Thanks again to you both!! My forehead is healing.
Here's my new config.g, if you could take a quick peek ...
; Configuration file for Duet Maestro (firmware version 2.03) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v2.1.8 on Thu May 07 2020 16:11:24 GMT-0400 (Eastern Daylight Time) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"CR-10S Duet" ; set printer name ; Network M552 P0.0.0.0 S1 ; enable network and acquire dynamic address via DHCP M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; Drives M569 P0 S1 ; physical drive 0 goes forwards M569 P1 S1 ; physical drive 1 goes forwards M569 P2 S1 ; physical drive 2 goes forwards M569 P3 S1 ; physical drive 3 goes forwards M569 P4 S1 ; physical drive 4 goes forwards M584 X0 Y1 Z2:4 E3 ; set drive mapping M350 X16 Y16 Z16:16 E16 I1 ; configure microstepping with interpolation M92 X80.00 Y80.00 Z400.00 E412.00 ; set steps per mm M566 X900.00 Y900.00 Z12.00 E120.00 ; set maximum instantaneous speed changes (mm/min) M203 X12000.00 Y12000.00 Z600.00 E1200.00 ; set maximum speeds (mm/min) M201 X500.00 Y250.00 Z16.60 E166.00 ; set accelerations (mm/s^2) M906 X1000 Y1000 Z900 E800 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Axis Limits M208 X3.5 Y-4 Z0 S1 ; set axis minima M208 X320 Y320 Z340 S0 ; set axis maxima ; Endstops M574 X1 Y1 S1 ; set active high endstops M574 Z1 S2 ; set endstops controlled by probe ; Z-Probe M558 P9 H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds G31 P500 X44.3 Y12 Z0.57 ; set Z probe trigger value, offset and trigger height M557 X50:350 Y12:312 S20 ; define mesh grid ; Heaters M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit M305 P0 T100000 B4388 C7.060000e-8 R2200 ; set thermistor + ADC parameters for heater 0 M143 H0 S120 ; set temperature limit for heater 0 to 120C M301 H2 S0.85 ; set heater 1 PWM limit to 85% M305 P2 X502 R2200 S"Heater 2" ; configure PT1000 for heater 1 NB: P2 = E1 on Maestro PCB, X502 = E1 Thermistor (NOT P1 due to Maestro Case) M143 H2 S310 ; set temperature limit for heater 1 to 310C ; Fans M106 P0 C"Parts Fan" S0 I0 F500 ; set fan 0 name, value, PWM signal inversion and frequency. Thermostatic control is turned off ; Tools M563 P0 H2 S"Extruder 1" D0 F0 ; define tool 0 G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C ; Custom settings ;G29 S1 ; Enable automatic bed mesh compensation ;M572 D0 S0.10 ; Enable pressure-advance of 0.10 seconds ; Miscellaneous ;M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss
-
@PuterPro Glad you are up and running.
No, the json file does not get updated when you change config.gAre you running the hotend fan from the 'Always On' connector?
Regards,
Paul -
@PaulHew said in BLTouch Bed leveling oddity:
@PuterPro Glad you are up and running.
No, the json file does not get updated when you change config.gI was afraid of that. I missed on a few items using the Configurator, but fixed them manually. So I would have to run the Configurator again to get a json file with the proper settings baked in?
I guess it will be a moot point when I switch to RRF 3.x anyway, since there's no straight upgrade path.
Are you running the hotend fan from the 'Always On' connector?
Yep! Thanks for your time!
-
@PuterPro Honestly, going to RRF3 is not as bad as it seems. Took me about an hour and a day to do the Ender3! Not really, Couple of hours max. Issues were BL Touch and thermistors.
I am liking RRF3, now I have got my head round it!
Regards,
Paul. -
-
The reason for going to 3.0 first is just to ensure you have all the right files in place. The config files should be mostly the same with the caveat for any specific changes in the release candidates.
The json file is a one way street. It allows you to open your config in the configurator again, but it is static as of the moment it left the configurator. Any changes made afterwards are not reflected in the json.
The configurator is a jumping off point, but once you get into a more advanced setup like with multiple independent axis, it's best to just get used to modifying the config.g directly.
Using the endstops as an e stop is perfectly fine idea. You can also drop your Z axis motor current during homing/leveling so that in the event of a crash there is minimal chance of damage which kind of negates the need.
-
@Phaedrux said in BLTouch Bed leveling oddity:
The reason for going to 3.0 first is ...
Makes sense.
The json file is a one way street.
I suspected that when I used my last old one and a lot of it wasn't what I had done manually.
The configurator is a jumping off point, .... it's best to just get used to modifying the config.g directly.
That was becoming apparent this time. It's fine when I'm all mired in it, but not touching it for over a year ... "You don't use it, you lose it!" Gets worse as I get older too. Grrr. LOL
Using the endstops as an e stop is perfectly fine idea. You can also drop your Z axis motor current during homing/leveling so that in the event of a crash there is minimal chance of damage which kind of negates the need.
Just like the idea of a backup plan, the BLTouch can be cranky.
I toyed with the idea of dropped current but never got around to it. Good idea, I'll do it now until I'm all squared away with RC 2.8 Milllion. Poor David, every time he thinks he's got it nailed some major buggy-boo bites him in the ass! Guy's a Saint.Thanks Jason, you always get me back on track, your work here is truly appreciated.