Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BFW-6598] [BFW-5677] [BUG] XL Fan Test Inconsistent #3480

Open
JeremiahGillis opened this issue Nov 16, 2023 · 27 comments
Open

[BFW-6598] [BFW-5677] [BUG] XL Fan Test Inconsistent #3480

JeremiahGillis opened this issue Nov 16, 2023 · 27 comments
Assignees
Labels
bug Something isn't working.

Comments

@JeremiahGillis
Copy link

JeremiahGillis commented Nov 16, 2023

Printer type - [XL Five-Head]

Printer firmware version - [5.1.0-alpha2]

Original or Custom firmware - [Original]

Describe the bug
The fan test produces inconsistent results. I tried this test 15 times and it would not pass. The fan test would tell me different fans failed each time.

A quick Google search shows a number of users with the same problem. Some users take the fan shroud off to get this test to pass.

image

image

How to reproduce
Power on printer, navigate to the fan test, and run it. In my specific case, this menu came up at power on because I just unboxed my five-head assembled machine, updated the firmware, then went through the printer setup. I ended up skipping this test, but the printer prompted that I had an unfinish test multiple times during the rest of the calibration.

Expected behavior
The fan test passes since all 10 fans were functioning visually. Or the fan test fails correctly when a fan is not functional.

This isn't a great experience when powering your machine up for the first time and you cannot get past the first test due to bugs.

@JeremiahGillis JeremiahGillis added the bug Something isn't working. label Nov 16, 2023
@JeremiahGillis
Copy link
Author

JeremiahGillis commented Nov 16, 2023

I downgraded to 4.7.5. My fan test failed the first time. I tried a second time and it passed.

I think the best approach for now is to use 4.7.5 when you do all your calibrations, then upgrade to the latest alpha if desired.

@brettvitaz
Copy link

FWIW, I had the same problem on 4.7. Prusa Support said it would be fixed in a future firmware.

@jmsether
Copy link

If you want to get it to pass while they are fixing it in the firmware you can remove all the part cooling fan shrouds and then run the test. I was getting this same error and removing all the fan shrouds allowed me to pass so I could get rid of that annoying message to complete calibration.

@daavery
Copy link

daavery commented Nov 25, 2023

Fan tests are air density sensitive. At high altitudes the fans spin faster. I'm at 8200 ft (2500 m) and full speed print fan runs at 7200 rpm which fails the fan test

M106 P0 S255
M123
E0:0 RPM PRN1:7184 RPM E0@:0 PRN1@:255
E0:0 RPM PRN1:7184 RPM E0@:0 PRN1@:255

@JeremiahGillis
Copy link
Author

Fan tests are air density sensitive. At high altitudes the fans spin faster. I'm at 8200 ft (2500 m) and full speed print fan runs at 7200 rpm which fails the fan test

M106 P0 S255 M123 E0:0 RPM PRN1:7184 RPM E0@:0 PRN1@:255 E0:0 RPM PRN1:7184 RPM E0@:0 PRN1@:255

That is a great point. Prusa needs to consider the density altitude, not just the Mean Sea Level Altitude.

@eficker
Copy link

eficker commented Mar 5, 2024

I can confirm that downgrading to 4.7.5 worked on the first fan test. I was getting checkered results on 5. Then flashed back up and no further issues. Not ideal, but neither is going to the basement to click the dial for every print. FYI, removing the shrouds did not change my results on 5.

@deniolan
Copy link

deniolan commented Jun 2, 2024

I have submitted a pull request to address this issue. Currently the fan maximum on self tests is 6799. I am one of the users who has shown that the fan speed actually goes higher than that (mine hovers in the mid 6800 range). I have increased the "max" to 7,000 which should remove this error for the majority of users encountering this issue that I have seen - where the majority of failures are coming in because the current maximum is just barely being exceeded.

I have seen a couple of reports of the fans going beyond 7,000 RPM - however, this does not seem to be the norm and I am not sure what is trying to be accomplished by setting a maximum feed on a fan test. From my POV - the concern here should be a fan that isn't spinning, not one that is spinning too fast - but perhaps Prusa has a reason for this so I am trying to cover the majority of failures I have seen without going overboard.

@deniolan
Copy link

deniolan commented Jun 2, 2024

deniolan

Correction... I had to put the limit down to 6899 (100 rpm over current). I know for several of the users (myself included) this will fix the issue. But there is an assertion in the code that the print fan range cannot overlap the heatbreak range - so for me to increase the print fan max to 7000, I would need to increase the heatbreak minimum from 6800 to 7001 which may have adverse effects. I will need to test more before submitting another PR. Hoping this one gets a majority resolved.

This overlap issue appears to exist because Prusa has built in "switch detection" that attempts to detect whether or not you have reversed your fan connections (i.e. Print Fan is plugged in where the heatbreak should be/etc). Because of this - the ranges cannot overlap which minimizes the fidelity of the test - this may need a more comprehensive change to the firmware.

@daavery
Copy link

daavery commented Jun 2, 2024

Note the debug data I included. At 8200 ft PA the print fan hits 7200 rpm

@daavery
Copy link

daavery commented Jun 2, 2024

Maybe change the swap detection to relative speeds vs hard ranges

@deniolan
Copy link

deniolan commented Jun 2, 2024

Maybe change the swap detection to relative speeds vs hard ranges

Yup. This is why I was mentioning that there needs to be a more comprehensive change. I’ll look into it - this is my first time cracking open the firmware so I need to understand some other pieces prior to making a bigger change. From data in the forums that I saw - just bumping from 6799 to 6899 will fix for a significant number of users.

@deniolan
Copy link

deniolan commented Jun 3, 2024

Maybe change the swap detection to relative speeds vs hard ranges

I closed my previous pull request and submitted a new one this evening that has the notion of a "minimum overlap". So in the case of the XL, where the print fan maximum can overlap the heatbreak minimum an overlap can be applied where the switched fan detection basically says "both fans are operating in the same range so I can't detect whether they are switched or not".

This allows me to push the print fan maximum to 7200 RPM whilst leaving the heatbreak fan range alone, applying an overlap range on the switched fan check.

We'll see if they approve it - it should work fine, and honestly - it would be a real world scenario in some cases where the fans are spinning in the same range and you can't reliably say whether they are switched or not in that scenario.

Cheers.

@danopernis
Copy link
Member

@deniolan thanks for your effort in #4026 as you already know, the fix is not as easy if we want to retain the "switched print fan" check. Since XL comes with preassembled extruder maybe this check could be completely disabled for XL and we can just adjust ranges 🤔

@deniolan
Copy link

deniolan commented Jun 3, 2024

@deniolan thanks for your effort in #4026 as you already know, the fix is not as easy if we want to retain the "switched print fan" check. Since XL comes with preassembled extruder maybe this check could be completely disabled for XL and we can just adjust ranges 🤔

@danopernis Agreed. I feel this PR is a good compromise - it allows both. With the range overlap I have "enabled" in this PR, Mini/MK4/MK3 functionality is not changed but there is a small window (500 rpm in the pull request) whereby switched fan detection simply would not be able to determine that the fan connections are reversed on the XL (and if the fans are that close, it shouldn’t be assuming they are incorrect anyways) - but would still allow switched fan detection in all other cases.

Honestly - if someone disassembles the extruder at some point where they may switch them on reassembly, their fans are likely to be either broken in and spinning more freely, or broken and not spinning at all... in either of those cases, the small window of "allowed" overlap will be inconsequential for a switched fan check and will still allow it to function - while allowing people to pass self tests without having to remove their shroud.

Personally - after every firmware update I like to do a factory reset, which requires a self test - and having to disassemble the printer to pass that self test is silly, which is why I am adamant about a sufficient compromise here. I think this is it.

@deniolan
Copy link

deniolan commented Jun 3, 2024

For anyone curious - PR is here

@danopernis danopernis self-assigned this Jun 5, 2024
@danopernis danopernis changed the title [BUG] XL Fan Test Inconsistent [BFW-5677] [BUG] XL Fan Test Inconsistent Jun 7, 2024
@deniolan
Copy link

Submitted updated PR-4258

@CZDanol
Copy link
Contributor

CZDanol commented Oct 17, 2024

No need for PRs - we've fixed this in our codebase and it will be released in the next 6.2.0 candidate

@crabdancing
Copy link

crabdancing commented Nov 7, 2024

@CZDanol Where is the code? I'd like to compile it to flash on our printers now, if possible. :)

@CZDanol
Copy link
Contributor

CZDanol commented Nov 7, 2024

We publish our code together with the binaries, so it is not publicly available yet, sorry :(

@deniolan
Copy link

deniolan commented Dec 31, 2024

We publish our code together with the binaries, so it is not publicly available yet, sorry :(

BUMP - this is a huge issue in my workflow. Any time I want to flash firmware and factory reset the printer, this is a giant pain. It's persisted for over a year now. Please release the binaries or accept a community solution - simple, really. This isn't rocket science, you're pushing all kinds of new fixes out that break functionality. For all intents and purposes you could just disable this fan check on the XL and call it a day since most of the printers have fully assembled print heads and Prusa themselves would be responsible for a reversed fan situation.

My XL works 99% of the time. The only thing that is broken, IMHO, is this fan issue. All of the other stuff you are introducing is "nice to have"... not necessary. The fan fix is absolute necessity.

You mention 6.2.0 candiate... is it in the Alpha/Beta already available? I don't yet see it in the notes. I need this fixed months ago when I submitted my original PR.

Just my .02.

Bob

@danopernis
Copy link
Member

@deniolan trust me, this pains me as a developer as much as it pains you. If you look at the releases there should have already been 6.2.0 beta months ago and we should have released final before Christmas.

We developers are unfortunately fully consumed by CORE One, as is the testing department. It might seem like an excuse but there is just nothing I can personally do about it.

Just to keep you updated, the solution to your problem which we as developers went for is actually the simplest one, to just disable the switched-fan-selftest for XL as the heads come fully assembled. The testing department is concerned about the printer safety though so there's unfortunately still a debate as to what the final solution will be. Like I said, I am just as frustrated as you are.

@deniolan
Copy link

@deniolan trust me, this pains me as a developer as much as it pains you. If you look at the releases there should have already been 6.2.0 beta months ago and we should have released final before Christmas.

We developers are unfortunately fully consumed by CORE One, as is the testing department. It might seem like an excuse but there is just nothing I can personally do about it.

Just to keep you updated, the solution to your problem which we as developers went for is actually the simplest one, to just disable the switched-fan-selftest for XL as the heads come fully assembled. The testing department is concerned about the printer safety though so there's unfortunately still a debate as to what the final solution will be. Like I said, I am just as frustrated as you are.

Appreciate the reply... but, unfortunately, it is an excuse.

I know you can't do anything about it - however:

  1. Core One is a fifth of the cost of a fully decked out XL
  2. Community has provided viable solutions - my solution allows the fan check to continue to work with an overlap range where it does not. There is no other solution. You either disable it, or you allow overlap.

I totally appreciate your response... but prusa shoving aside the folks who bought $5000 printers for those who bought the latest $1000 whizbang is irresponsible at best, in my opinion.

@JeremiahGillis
Copy link
Author

Thanks for the update. Hopefully the developers do share some of our sentiment back with management. This issue was a big disappointment to me because it was the first test presented to me when powering up a 5H semi-assembled machine. Spending a bunch of time trying to get the first test to pass on a expensive machine that supposedly was assembled and tested at the factory it not a great first experience.

This issue should have been addressed early on, even disabling the test temporarily until a correct fix could be implemented. A quick search on the internet reveals that the occurrence level is pretty high now. We're at a year and nine months since release. All self tests should be consistent at this point.

I still have to run alpha firmware to have a working machine due to the USB drive errors. Management needs to get some resources back on the XL firmware until we have released firmware that in a good state. The firmware is almost there in my opinion.

@CZDanol
Copy link
Contributor

CZDanol commented Jan 6, 2025

The fan tests will be adjusted in the next upcoming 6.2 release candidate.

@CZDanol
Copy link
Contributor

CZDanol commented Jan 9, 2025

Hello, we've just released https://github.com/prusa3d/Prusa-Firmware-Buddy/releases/tag/v6.2.0-RC1 :)

Closing the issue.

@CZDanol CZDanol closed this as completed Jan 9, 2025
@daavery
Copy link

daavery commented Jan 10, 2025

This is NOT fixed in 6.2.0-RC1. the print fan limit still needs to be raised to at least 7200 rpm to pass at higher altitudes. All 5 fans still fail in 6.2.0-RC1.

@CZDanol
Copy link
Contributor

CZDanol commented Jan 10, 2025

@daavery okay, created another ticket for that: BFW-6598

And reopening.

@CZDanol CZDanol reopened this Jan 10, 2025
@CZDanol CZDanol changed the title [BFW-5677] [BUG] XL Fan Test Inconsistent [BFW-6598] [BFW-5677] [BUG] XL Fan Test Inconsistent Jan 10, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working.
Projects
None yet
Development

No branches or pull requests

9 participants