bigtreetech / BIGTREETECH-TouchScreenFirmware

support TFT35 V1.0/V1.1/V1.2/V2.0/V3.0, TFT28, TFT24 V1.1, TFT43, TFT50, TFT70
GNU General Public License v3.0
1.32k stars 1.65k forks source link

[BUG] BLTouch REPEAT crashes machine #2875

Closed Tannoo closed 8 months ago

Tannoo commented 11 months ago

When trying to do the repeatability test from the Touch display, it homes X and Y then tries to home Z but ignores the Zmin limit (not the probe), hence, crashes the nozzle into the bed.

I should add that I have a separate Zmin home sensor (switch) and the BLTouch is a probe only.

Steps to reproduce

  1. Power on the machine or kill the steppers.
  2. Select REPEAT icon.
  3. Watch it crash.

Expected behavior Home and return to a safe location before testing the probe (ex: X100 Y100) and not crash.

Actual behavior Homes X and Y and crashes while trying to home Z. G28 works fine in all other instances. M48 will not execute while X and Y are at home. Errors with probe out of bounds. M48 will not execute if machine is not homed first.

I can manually execute G28. All fine. Then execute G1 X100 Y100 and it moves the probe to a probable location. Then execute M48 and the repeatability test executes as it should.

Hardware Variant

Board: BIGTREETECH_GD_TFT35_E3_V3.0

Firmware: V27.x Dec 20 2023 in 120Mhz SPIFlash: Used 96.83% (7.75MB/8MB)

System: Marlin bugfix-2.1.x (Dec 21 2023 12:52:56)

Additional Information

Configuration.zip

Tannoo commented 11 months ago

Enabling Z_SAFE_HOMING in Marlin should get around this.

NOPE.

Z_SAFE_HOMING enabled and the nozzle moves to the center after homing X and Y. Z is ignoring the min limit. The probe is NOT deployed because it is NOT the homing sensor.

Again, it works as intended in Marlin mode.

rondlh commented 11 months ago

I assume that both the BLTouch and the Z-min endstop are wired to the motherboard? If so, then this is Marlin issue, not a TFT issue. A potential solution would be to also use the BLTouch for homing.

Tannoo commented 11 months ago

G28 homes just fine from the TFT terminal or the Home icon.

It is not a homing issue aside from the M48 trying to home.

Being that M48 ezecutes just fine from the Marlin mode screen says that Marlin is just fine.

Tannoo commented 11 months ago

M48 does not home.

If M48 is issued without being homed. From the TFT term or from a serial connection, it just says, "Home XYZ first."

Tannoo commented 11 months ago

If I home XYZ from the TFT, or TFT terminal, or from PC, or from Octoprint, all homes just fine.

I do have a separate Zmin ans BLTouch is only for probing... not homing.

Tannoo commented 11 months ago

Once it is homed (Commanded from any source), it runs M48 probing test from TFT terminal, PC, and Octoprint just fine.

Tannoo commented 11 months ago

Those sources do not re-home for an M48 command.

Tannoo commented 11 months ago

BUT

Tannoo commented 11 months ago

The TFT BLTouch Repeat icon DOES re-home all axis and fails homing Z by crashing the nozzle into the bed.

EVERY SINGLE TIME!

Well.... I am trying narrow things down.

I did find the G28\n and M48\n commands that issue on the reset icon.

Tannoo commented 11 months ago

Btw.... Deviation has been calculated at .000806

kisslorand commented 11 months ago

The "Repeat" command on the TFT issues a G28 and than an M48 command, nothing more, nothing less. I do not see it as a bug, it just doesn't fit your printer. I do not see it being an issue of the TFT if your printer crashes the nozzle into the bed when either G28 or M48 is called.

What happens if you issue a G28 and a M48 one after the other in your Octoprint/terminal/etc?

Tannoo commented 11 months ago

I did disable the G28 command to make this consistenat with all other sources.

kisslorand commented 11 months ago

It's great that you found the solution that fits your needs.

BTW, is your probe offset properly set up in Marlin?

Tannoo commented 11 months ago

Now, with the machine un-homed, the BLTouch Reset Icon produces the Home XYZ first.

So, go back to the Home all icon and it homes X and Y, then crashes Z.

Tannoo commented 11 months ago

Okay. I am going to take this up with the marlin team.

The same crash will happen if M48 is issued first and then G28. Then it is expecting to home with the probe and it is not deployed, not used for homing.

Thanks for letting me vent this out!

Tannoo commented 11 months ago

It's great that you found the solution that fits your needs.

BTW, is your probe offset properly set up in Marlin?

Yes it is and it does perform the repeatability test just fine.

I am unsure why the repeat icon will crash but run the G28 and M48 back to back from the terminal works just fine.

By the way. The control board is a newly installed SKR 3 EZ. So, this should not be a compatability issue. Lol

Tannoo commented 11 months ago

Probe setup... well, it homes just fine all the time when not trying to run M48.

Tannoo commented 11 months ago

Issued from all sources, G28 fails by failing to home Z using the Zmin switch but ONLY after getting the M48 failed message, "Home XYZ first".

Why does the BLTouch Icon have the same issue but issuing G28 then M48?

I can issue G28 and M48 with no issues from other sources.

MrKuskov commented 9 months ago

В прошивке Марлин сделай замену

define RESTORE_LEVELING_AFTER_G28

//#define ENABLE_LEVELING_AFTER_G28 на //#define RESTORE_LEVELING_AFTER_G28

define ENABLE_LEVELING_AFTER_G28

Tannoo commented 9 months ago

I have moved on. No longer using Marlin on this machine.

github-actions[bot] commented 5 months ago

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.