CR6Community / Marlin

This Marlin fork has the goal of cleaning-up the source code changes for the CR-6 so it can be merged upstream. We also want to extend the functionality to make it fully functional
GNU General Public License v3.0
470 stars 83 forks source link

[BUG] Homing Failed! if try to set new Z Offset immediately after Bed Leveling #44

Closed Thinkersbluff closed 3 years ago

Thinkersbluff commented 3 years ago

With the Community Version 4 alpha firmware loaded (either baseline or hotfix 3) - If I select Auto-Level Bed and wait for it to complete, it returns to the Level menu upon completion, without waiting for me to push the "Back" button first. If I select the Z Offset button after the Auto-Level function has completed, the printer will Auto Home, slowly lower the Z axis until the optical switch is triggered, raise the Z axis briefly, then start to descend again, but it stops before the nozzle reaches the bed and displays a bright yellow screen that says, "Homing Failed !". I then have to cycle power to regain control of the printer.

If, instead, I select Z Offset on the Leveling menu first, after powering up, the Z Offset function works correctly. I can also select Auto-Level Bed after doing the Z Offset and it works as described above.

This is repeatable.

My Configurations

My Configs.zip

I have flashed firmware-20201109-211912-hotfix3.bin to the motherboard. I have flashed the v4 DWIN_SET to the display

Steps to Reproduce

  1. Power up printer
  2. Select "Level" menu
  3. Select "Auto Level Bed"
  4. Wait for Auto Level to finish (returns to Level menu by itself)
  5. Select "Set Z Offset"
  6. Wait for printer to place nozzle at current Offset value above bed, and to present the adjustment buttons
  7. Printer instead stops before touching bed and displays, "Homing Failed!"
  8. Cycle power to reset printer.

Expected behavior: [What you expect to happen]

Expected printer to stay on display of 16 points grid at end of Auto-Level Bed routing, until I press "Back" Expected printer to complete the Z Offset function normally.

Actual behavior: [What actually happens]

Printer automatically exits Auto-Level Bed routine after measuring 16th point. Does not wait for "Back" button to return to the "Level" menu. When I select the Z Offset button on "Level" menu after first leveling the bed, the printer stops and displays, "Homing Failed" instead of returning to the "Level" menu.

Additional Information

Homing Failed Homing Failed Here

Thinkersbluff commented 3 years ago

Homing Failed.zip Best I can do for a video clip showing the bug in action. Used time compression to speed up the boring bits. The transition from 16-point matrix to Level menu is shown in "real-time".

Thinkersbluff commented 3 years ago

Additional Info: I also had a Homing Failed incident this way:

  1. Set Z-Offset using the Level Z Offset function
  2. Perform Auto Bed Leveling
  3. Using Octoprint Terminal, send M303 E0 S220 U
  4. Using Octoprint Terminal, send M303 E-1 S65 U
  5. Initiate printing of a model sliced in Cura 4.6.2, with the Creality Start GCode.
  6. G28 fails to lower the nozzle all the way to the bed, at the bed center. Homing Failed! screen is displayed.
Schallabajzr commented 3 years ago

This is probably because of the sensor on the left side of the bed being triggered when the homing starts. Check the red lights if it is on and try again.

Sebazzz commented 3 years ago

We will know for sure when @Thinkersbluff collects a log like detailed in the release notes.

Thinkersbluff commented 3 years ago

We will know for sure when @Thinkersbluff collects a log like detailed in the release notes.

Oops. My bad. Sorry. I assume you mean this line in the release notes: "You can collect logging using M111 S247 and M928 log.txt - please collect logging, without it is practically impossible for us to help you. Use Pronterface or Octoprint to capture serial terminal output." I have not done that before, but should not be too difficult. I have a print running right now, which will end by 14:00 today. I will upload my log soon after that. I imagine you want me to start the logging, then perform the steps to create the bug, then save the log and upload it here.

Thinkersbluff commented 3 years ago

This is probably because of the sensor on the left side of the bed being triggered when the homing starts. Check the red lights if it is on and try again.

I am not clear on your thinking, here. Once I have the log uploaded, I would appreciate more info if it confirms your suspicions.

I did make one adjustment to my system that may have an impact here - I tweaked RP1, just the slightest bit (half an eyelash's width) counterclockwise.

NOTE: I was amazed that such a slight adjustment of that screw clockwise caused the nozzle to push into the head and still not turn on the blue light, and an equally slight adjustment counterclockwise caused the light to stay on all the time, even when the head was up off the bed by 20mm. As an Electrical Engineer, it looks to me as though that potentiometer is not sized correctly, if the circuit is basically using it as a bridge to set a detection threshold. There should be at least a 1/4 or 1/2 turn of adjustment range in it, surely, not 1/12 or less....

Thinkersbluff commented 3 years ago

I have tried 5 times, now, to capture a log.txt file - they just keep coming out empty, sorry. Here I attach a report I captured from the Octoprint Terminal screen + my comments. Hope it is enough. Bug#44Test Report.txt

For comparison, I have also uploaded a log of the terminal messages from when I run Z offset before auto level. ZOffset Baseline Log.txt

Sebazzz commented 3 years ago

I did make one adjustment to my system that may have an impact here - I tweaked RP1, just the slightest bit (half an eyelash's width) counterclockwise.

Yes, that might have caused it. Try flashing the latest hotfix from the release page if you didn't already and readjust the potmeter. As you've noted, it only needs a very slight change. If you turn it too far, the function of the strain gauge inverses and you need to pull on the hotend (instead of pushing) to let the LED turn off.

Thinkersbluff commented 3 years ago

Try flashing the latest hotfix from the release page if you didn't already and readjust the potmeter.

I feel dumb, now, but I can't find any link to a hotfix release. Is it compiled from the extui branch? I found that.

Sebazzz commented 3 years ago

Bottom of the page: https://github.com/CR6Community/Marlin/releases/tag/v2.0.7.1-cr6-community-release-4-alpha

Thinkersbluff commented 3 years ago

@Sebazzz I thank you for your patience.
I believe we can close this bug report, now.

With RP1 adjusted to require a slightly larger signal from the strain gauge when probing the bed, my printer is no longer experiencing this bug.

In my defence, the adjustment range of RP1 is crazy small. Creality really should consider increasing the range and putting out technical guidance on how to correctly calibrate it. We are going to have all kinds of trouble when these systems get older, eccentric nuts work loose, etc..

I now have it set so that the little blue light does not come on when you touch the bowden tube (which it did) or when you home XY (which it did). I hear a tiny tick noise again as the head first probes the bed (which I had so carefully "tuned" away)