Closed alfondehesa closed 9 months ago
Whenever there are homing or leveling issues, we now ask everyone to follow a standard procedure to gather more information:
bugfix-2.1.x
to test with the latest code.DEBUG_LEVELING_FEATURE
and M114_DETAIL
and re-flash the firmware.M502
and M500
to ensure your Configurations are applied.M111 S247
to enable maximum logging.G28
to do your standard homing procedure.G29
to probe the bed. This will also enable bed leveling.Repeat this procedure, if needed, to demonstrate inconsistencies. From these logs we should hopefully get a better idea of what's going on with your machine.
You have GRID_MAX_POINTS 7 and BLTOUCH_HS_MODE True. This does not work. Reduce to GRID_MAX_POINTS 5 or disable HS_MODE. Also you have 0 y offset configured. Set y offset testwise to 25. How is your PROBING_MARGIN?
You have GRID_MAX_POINTS 7 and BLTOUCH_HS_MODE True. This does not work. Reduce to GRID_MAX_POINTS 5 or disable HS_MODE.
You can use whatever number of points you want with BLTOUCH_HS_MODE
, but the CRTouch is known to fault with BLTOUCH_HS_MODE
enabled (no matter the number of grid points).
Also you have 0 y offset configured
That is a perfectly valid probe offset.
How is your PROBING_MARGIN?
It is set to 10 in their config: #define PROBING_MARGIN 10
@ThomasToka @thisiskeithb The CR Touch is wired to the SKR using the BLTouch port instead of the Z limit switch, not sure if this is important.
From my testing, whether I have BLTOUCH_HS_MODE
on or off does not seem to impact this issue (the issue is still repeatable), so I left it on since it's nice and probing really never fails during leveling (even with 7 grid points or more).
In terms of offsets, probing margins and mesh boundaries:
1) Y OFFSET
is 0 because my probe is aligned with my nozzle along the Y axis.
2) PROBING_MARGIN
is set to 10 by default, but I actually changed it in the adv. configuration for each edge based on my bed clips and how big my bed actually is.
3) Mesh boundaries are adjusted either right on the bed's edge or very close to it, so that I can probe all points besides the left X row (which I can't anyway because of my probe offset), the top row (because of clips) and the bottom row (also because of clips). I still want mesh points there even though they are not reachable, so then I just interpolate using G29 P3.1 and I still get somewhat accurate Z offsets across the entirety of my bed (at least in theory).
The weirdest part of it all is that it seems that probing itself is not the issue, but something in the homing sequence. Not sure if Marlin being overloaded could cause the board to skip telling the sensor to extend the probe? Otherwise, repeated tests and numerous bed levels with numerous points works 100% reliably.
@thisiskeithb I gotta find the time to port my 2.1.2.1 configs to the 2.1.bugfix branch to self-compile, although I think (not sure at all) I might have pinned it down to the serial baud rate (which I previously had at 500000, but since brought it waaay down, and it seems to have helped other issues, gotta do more testing). If this is the case, could serial communication take too many resources and cause Marlin to miss that? Not sure if it would work that way.
You have GRID_MAX_POINTS 7 and BLTOUCH_HS_MODE True. This does not work. Reduce to GRID_MAX_POINTS 5 or disable HS_MODE.
You can use whatever number of points you want with
BLTOUCH_HS_MODE
, but the CRTouch is known to fault withBLTOUCH_HS_MODE
enabled (no matter the number of grid points).Also you have 0 y offset configured
That is a perfectly valid probe offset.
How is your PROBING_MARGIN?
It is set to 10 in their config:
#define PROBING_MARGIN 10
I can Tell you the 5x5 with cr touch works always 100% reliable with hs mode. As of 7x7 not. 100% reproducable. I have it default on since ever and hundreds of users approved it works.
I know exactly what the TO has. Had some Testers with this constellation.
Do 5x5 with hs mode. Set margin testweise to 45. I spend hours in the development of my fork and all work 100% reliable with crtouch. If 5x5 7x7 or 10x10.
I use MRiscoC's ProUI, being able to adjust the bed grid on the fly. I use 7x7 and HS mode with a CR touch and havent had any issues normally. There was one hiccup using HS mode with MULTIPLE_PROBING
.
try changing your MULTIPLE_PROBING
, I do not have EXTRA_PROBING
enabled, I believe you can just add the number you want to the end of MULTIPLE_PROBING
, try 2 or 3 or completely disable it.
I'll say it again: BLTOUCH_HS_MODE
should not be used with a CRTouch since the probe is not designed for it and is known to fault. It might "work" in some instances, but the probe is recovering before a fault.
Disable BLTOUCH_HS_MODE
when using BLTouch clones to eliminate a probing variable.
Anyway, this isn't the place to debate whether the feature works or not.
@alfondehesa: Please follow my request in https://github.com/MarlinFirmware/Marlin/issues/26473#issuecomment-1828885658 and post a log once you get a chance.
@classicrocker883 I have MULTIPLE_PROBING
and EXTRA_PROBING
disabled (I have found that the accuracy gains of this in my machine are minimal enough that I can't justify the time spent at the start time of every print, especially seeing how I like to ABL (or UBL) on every single print). Though the CR Touch might have issues with HS mode, disabling or enabling it does not seem to have an impact, nor does ABL or UBL, as this seems strictly related to homing.
@thisiskeithb Can you share how usual faults with CR Touch + BLTOUCH_HS_MODE
manifest themselves? Have not found yet to have an impact during UBL, but if this is dangerous to do or there are failures I am missing then I would buy a BL Touch instead, just need to check if their pin layout is exactly the same/which wires I would need to swap. I will get you the serial logs this weekend.
@alfondehesa to be frank, I do not see reason having to redo the auto bed level mesh before every print. it should be done just once, no? once the bed is level and you have a correct Z offset, technically the points in the mesh should not change. if they are changing so drastically, there may be an issue with the probe's repeatability (what are the results for your M48 - Z_MIN_PROBE_REPEATABILITY_TEST
?)
I know someone who experience this kind of issue, where the probe's M48 test would vary. meaning there could be some issue with the hardware being loose, or perhaps it can be the probe shaft sticking. I did have this happen to me with my CR touch, the probe wouldn't extend down. it was stuck. some electrical safe CRC 2-26 lube helped that.
so i would then suggest either disregard using the ABL/ UBL auto bed level mesh during printing and see how that goes. (if the variance between the min/max of points is less than +/-0.10mm you should be fine), also try the M48 test, if your results are more than 0.001 then theres an issue with either the probe/gantry/bed mounting or the probe shaft.
Though the CR Touch might have issues with HS mode, disabling or enabling it does not seem to have an impact, nor does ABL or UBL, as this seems strictly related to homing.
I've seen many references to CR Touch not working with HS_MODE, but haven't seen someone with an actual CR Touch have a problem directly related to HS_MODE yet myself, and the creality firmwares most definitely do use HS_MODE, so I use it with mine & it works great.
...more on-topic, however: I am using a CR-Touch probe on my Ender5 with stock board & have a homing move in my start-g-code. I have several times had 4+cancelled prints in a row when sorting bed adhesion problems, and even more times printed more than 4 parts in a row between printer shut-downs...all with 0 times that the probe failed to deploy for a homing. (using bugfix2.1.x from 2-3wks ago). Are you having this issue only when printing from SD, only when printing over serial, or both ways?
thisiskeithb Can you share how usual faults with CR Touch +
BLTOUCH_HS_MODE
manifest themselves? ... then I would buy a BL Touch instead...
In my limited experience, almost nobody seems to have had accuracy issues with a CR Touch, but BL-Touch & BL-Touch clones seem to be quite literally PLAGUED with randomly having the metal slug move internally & destroy accuracy & repeatability of masurements.
DEBUG_LEVELING_FEATURE
was just patched, so you'll need to grab a fresh copy of bugfix-2.1.x
for Marlin to successfully compile with it enabled. 😄
Okay @thisiskeithb , sorry for the wait! I did all the steps above and got the serial log. This is an instance (which didn't use to happen before) where the probe does not extend and thus fails during the ABL procedure. This didn't use to happen before during ABL, before updating to the bugfix, but the MO seems to be somewhat similar as to when it fails while homing. The probe will just not extend, and Marlin won't care, until I cancel the print and then it seems as though the probe extends perfectly and self tests with no problem.
This might be enough, though I will try to get a log file making it fail while homing to see if it is similar. Seems to do with the probing sequence.
It seems Marlin correctly request deployment of the probe:
2023-12-05 16:30:06,176 - Recv: BLTouch DEPLOY requested
2023-12-05 16:30:06,177 - Recv: BLTouch from 90 to 10
2023-12-05 16:30:06,972 - Recv: bltouch.deploy_proc() end
Then in the middle of a slow probe, it asks to deploy it again...
2023-12-05 16:30:07,495 - Recv: BLTouch DEPLOY requested
2023-12-05 16:30:07,496 - Recv: BLTouch from 10 to 10
2023-12-05 16:30:07,497 - Recv: bltouch.deploy_proc() end
Then sees that there has been no trigger, so raises an error:
2023-12-05 16:30:08,665 - Recv: Probe fail! - No trigger.
Then it requests for it to be stowed...
2023-12-05 16:30:09,182 - Recv: BLTouch STOW requested
2023-12-05 16:30:09,182 - Recv: BLTouch from 10 to 90
2023-12-05 16:30:09,974 - Recv: bltouch.stow_proc() end
Finally coming back with:
2023-12-05 16:30:10,020 - Recv: Error:Probing Failed
The strangest part of all of this is that the probe itself is not in an error state, LED is purple throughout the whole procedure. Self tests and otherwise probe extend and probe retract commands work perfectly as soon as I cancel the print. I can home and ABL manually through the LCD as much as I please, yet while printing, it's almost as if the probe wasn't receiving any commands to extend.
I wonder if Marlin set the probe to 160 instead of 90 if it would work any better...
@classicrocker883 probe repeatability standard deviation is around 0.0005, probe works well otherwise. I like to level my bed before each print because I have a lot of different beds, each warped in different amounts, different ways. I technically could do one for each bed and then run a tilt adjustment and then try to remember the orientation of the bed etc but I just really enjoy the convenience of "throwing" any bed in there and my first layers coming out acceptable without extra work.
@robherc I am having issues both over serial and SD.
@alfondehesa I got something similar but on an Ender 3 pro(4.2.2 board) + sprite extruder + cr touch. The extruder would crash onto the bed because the probe would not deploy. I did try with latest bugfix-2.1.x
from a week or two ago. I tried with Klipper today and I'm starting to think it's a problem with the probe itself. With Klipper, it doesn't does crash, but it shows those messages in the console:
4:58 PM
BLTouch failed to verify sensor state
4:58 PM
BLTouch failed to verify sensor state; retrying.
What's weirder: I can still manually deploy and retract the probe when in that state.
@scabana Did the same thing with Klipper and got the same result!! I'm planning to replace the probe for a BL Touch after the new year and see how it goes with that. I'll update once I have some results!
as long as I've had my CR touch I never had an issue. the only kind of thing that happened was using High Speed mode and doing something with multiple probing like M48. I don't think its to do with the probe itself. maybe they manufactured CR touches with variant boards? I am just not experiencing any issues here. maybe it has to do with the board (creality 4.2.7), I do know that they have changed something with a (C7 ?) capacitor or resistor on the boards
also, check this site out
it goes into detail about how to wire it up, basically there are two kinds of ways, and how I wire mine is all in a row, you'll see the 5 pin in a row, some have it split 3+2. I wonder if changing the CR touch to that 3+2 has any effect (benefit).
it also says you may have to swap the orange and yellow wires?
@classicrocker883 In terms of wiring and board, the strange thing is it used to work perfectly and only failed over time. I think you might be describing a different issue from what @scabana and I are experiencing.
what is so funny is I haven't had any issue with my probe, now all of a sudden the plunger isnt extending. I would manually tell it to deploy/stow, and sometimes it will, but when homing it will not.
it used to click, like the plunger/probe would have a snap to it. now it is slow and quiet. almost like its gummed up. I tried adding some electric safe lube, but that didnt really help. so I removed the case and have it soaking in some alcohol.
if that little solenoid was something I could find/replace that'd be great, but looks like I might have to get a new one if this doesnt work.
Did you manage to solve this problem? I have the same issue.
Did you manage to solve this problem? I have the same issue.
Yes, though I am not sure what the fix was:
This was not firmware related.
Okay, thank you for the info i have Creality 4.2.2 board and Sprite Pro Extruder with CR touch, and i'm suspecting it has to do with short cable connecting directly to Sprite Extruder, so i'll try with standard cable directly to the board connected.
@DjoleeX eager to see your result!
@DjoleeX eager to see your result too! I have exactly same HW config (MB 4.2.2, Sprite Pro and CR-Touch) and it fails during Homing, while does function when operated from menu.
mines right to the board, never had an issue. @Lutzj71 what UI are you using? because I suspect this can be related to how it starts to home - depending on the UI. maybe the code needs to be updated to perform a test, or tell the probe to "stow" or "deploy" before homing. BLTouch::clear()
I want to say try a couple tests. in a terminal do G28. if it fails, try M401 (deploy), and M402 (stow). i think there are other probe specific commands, offhand I dont remember exactly what they are. like it issues reset and what not.
#define STOW_ALARM true
#define BLTOUCH_DEPLOY 10
#define BLTOUCH_STOW 90
#define BLTOUCH_SW_MODE 60
#define BLTOUCH_SELFTEST 120
#define BLTOUCH_MODE_STORE 130
#define BLTOUCH_5V_MODE 140
#define BLTOUCH_OD_MODE 150
#define BLTOUCH_RESET 160
Hi. The firmware is in my case not the most fresh, 2.0.1.9 (?). Problem is that homing fails also when requested by G codes for example prior to leveling. I believe it is NOT SW-related. It started with me tampering with cables after failure to my hotend (managed to nreak nozle, too much torque). Prior to that all worked just fine for over a year. The issue disappeared for a short moment, but then... I bought Sprite. And now it is hopeless. I managed to pinpoint it to the short cable connecting Sprite's pcb with CR-T./ connector on CR-T. Some lack of contact/deffective soldering, cold soldering/ crappy faux copper in the cable... I did not find out what ecactly. But NOT software. In fact the use of PWM to send commands is at least... Unfortunate... Facepalm. But I do not know all rationale behind though.
Regards Luke
wt., 30 sty 2024, 14:36 użytkownik Andrew @.***> napisał:
mines right to the board, never had an issue. @Lutzj71 https://github.com/Lutzj71 what UI are you using? because I suspect this can be related to how it starts to home - depending on the UI. maybe the code needs to be updated to perform a test, or tell the probe to "stow" or "deploy" before homing.
I want to say try a couple tests. in a terminal do G28. if it fails, try M401 (deploy), and M402 (stow). i think there are other probe specific commands, offhand I dont remember exactly what they are. like it issues reset and what not.
define STOW_ALARM true
define BLTOUCH_DEPLOY 10
define BLTOUCH_STOW 90
define BLTOUCH_SW_MODE 60
define BLTOUCH_SELFTEST 120
define BLTOUCH_MODE_STORE 130
define BLTOUCH_5V_MODE 140
define BLTOUCH_OD_MODE 150
define BLTOUCH_RESET 160
— Reply to this email directly, view it on GitHub https://github.com/MarlinFirmware/Marlin/issues/26473#issuecomment-1916865823, or unsubscribe https://github.com/notifications/unsubscribe-auth/AMNLMQDEJIRDBBEEX3IZMQDYRDZPRAVCNFSM6AAAAAA743JOAWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMJWHA3DKOBSGM . You are receiving this because you were mentioned.Message ID: @.***>
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.
Did you test the latest
bugfix-2.1.x
code?Yes, and the problem still exists.
Bug Description
During a print, if there have been more than 3 homing sequences, the fourth will cause the probe to not extend and the nozzle to drive itself into the bed.
What I've tried: (and combinations thereof)
DSERVO_TIMER_IRQ_PRIO
line and setting to 0 to see if it does anything = NO CHANGEBug Timeline
2 Weeks Ago
Expected behavior
The printer will reliably home itself without need for hard resets.
Actual behavior
On the 4th homing procedure, the printer will try to home Z without first releasing the probe, driving itself into the bed.
Steps to Reproduce
Version of Marlin Firmware
2.1.2.1
Printer model
CR 10 V2
Electronics
SKR Mini E3 V3
LCD/Controller
BTT TFT35
Other add-ons
CR Touch
Bed Leveling
ABL Bilinear mesh
Your Slicer
Prusa Slicer
Host Software
OctoPrint
Don't forget to include
Configuration.h
andConfiguration_adv.h
.Additional information & file uploads
Marlin_config.zip
Start GCODE: