prusa3d / Prusa-Firmware-Buddy

Firmware for the Original Prusa MINI, Original Prusa MK4 and the Original Prusa XL 3D printers by Prusa Research.
Other
1.08k stars 213 forks source link

[BFW-5761] [BUG] [MK3.5] Print Fan error after a couple of layers but all tests passed #4036

Open Makeneer opened 3 weeks ago

Makeneer commented 3 weeks ago

Printer model

MK3.5

Firmware version

6.0.1

Upgrades and modifications

No response

Printing from...

Octoprint on RasPi4 via USB cable

Describe the bug

I have upgraded my Prusa i3 MK3S+ with MMU2S to Prusa i3 MK3.5 with MMU3. Before the upgrade I had no problems with my printer and I have printed all necessary parts for the upgrade with no problem at all.

After the upgrade everything looked fine, the self-test passed with everything OK and printing was no problem until a couple of layers where printed. After a couple of layers my printer gave an error on the print fan. I have checked the wiring and connectors, checked the working of the fan with the available menu options and did the fan test again. Everything seems to be OK.

But my printer is still giving the same print fan error after a couple of layers. I have changed the slicer profile so the print fan is running from the first layer and made a new test print. The fan is running OK from the start of the print but after a couple of layers the printer is giving me the same error again.

I have checked the working of the print fan over the complete X-axis range a couple of times and it is working OK every time and every test.

I have disabled the Fan Check option for now. I have made several prints and checked the fan for working from time to time. It was spinning all the time.

Looks related or the same as #3260, but that issue was for a mini and had the stalled label.

How to reproduce

No response

Expected behavior

No response

Files

Fan test results Menu Senso Info - Check Fan Speed Menu Settings - Fan Check is ON Menu Temp - Set Fan Speed Self test results

ghouscht commented 3 weeks ago

I have exactly the same issue and thus disabled the fan check. I did at least a dozen prints since upgrading to 3.5 and checked the fan from time to time it was always working. All the tests pass as well, I ran them at least 5 times.

Anyway I bought a replacement fan and I plan to install it, re-enable the fan check and then see if the issue is still present. I'll post an update here once I did that.

Makeneer commented 3 weeks ago

To figure it out, I have hooked up my oscilloscope to the print fan connected to: 1st: the Rambo board of the MK3S+ 2nd: the xBuddy board of the MK3.5

The print fan used for the MK3S+ and also for the MK3.5 is a 3-pin 5VDC fan. This fan is supposed to be powered with a continues voltage. The third pin gifs a RPM signal only when the fan has power. Instead of a continues voltage, the fan is powered by a pulsating voltage which is switched on and of very quick (PWM signal). By changing the time that the power is on and off (duty cycle), the speed of the fan is regulated. The problem is, that the RPM signal cannot be measured when the power is off.

On the Rambo board (Firmware 3.13.3) the PWM frequency on the fan is approx. 60Hz. The speed is regulated by changing the duty cycle of the PWM signal. Every 5.4 seconds the PWM signal is set to a duty cycle of 100% for approx. 0.2s, to check the rotation of the fan. This 0.2s is long enough to have a readable RPM signal. It is only an indication that the fan is still rotating. The fan speeds up as soon as the duty cycle is set to 100%, so it is not giving the speed of the fan between these speed bursts. Important to mention is that this RPM check is only done if the fan speed > approx. 30%.

On the xBuddy board (Firmware 6.0.2) the PWM frequency on the fan is approx. 20Hz. So the duration of the pulses is 3 times longer than the at the Rambo board. The speed is regulated by changing the duty cycle of the PWM signal. The longer pulses (on-time of the PWM signal )could be long enough to make a RPM reading but: ā€¢ On my original Prusa print fan, the speed of the fan is at lower speeds (<30%) to slow to produce a reliable RPM signal in the on-time of the PWM signal. ā€¢ I have tried another fan with a little higher speed and that one gave at lower speeds (<30%) enough pulses during in the on-time of the PWM signal to be reliable readable. With this fan hooked up I made a couple of test prints without error.

I understand the choice to change the way the RPM signal is read. On the xBuddy it is possible to get the more or less real RPM of the fan, but it does not work for all original fans.

I use my printer for 95% with PETG, so there is a low fan speed. During the speed ramps up after the first layer(s) the original fan is to slow to measure the RPM which results in the Error.

So the most important reasons the MK3S+ is not giving a fan error and the MK3.5 does are:

  1. The MK3S+ does not check the RPM on fan speeds below approx. 30%.
  2. Before the MK3S+ does a RPM check, it sets temporary the fan speed to 100%.
  3. The MK3.5 tries to measures the real RPM an does not ignor fan speeds below 30%.

I hope I have given some insight in the cause of the difference between the print fan on the MK3S+ and the MK3.5. I had hoped Prusa had given this answer instead of letting me to figure it out.

CZDanol commented 6 days ago

Internal ticket: BFW-5761

ghouscht commented 6 days ago

I have exactly the same issue and thus disabled the fan check. I did at least a dozen prints since upgrading to 3.5 and checked the fan from time to time it was always working. All the tests pass as well, I ran them at least 5 times.

Anyway I bought a replacement fan and I plan to install it, re-enable the fan check and then see if the issue is still present. I'll post an update here once I did that.

The issue is still the same even with the new fan. But now after reading the very detailed input from @Makeneer that is not a surprise. Thank you for the detailed analysis šŸ™šŸ»

Makeneer commented 6 days ago

I think this issue is easy to fix by just ignoring the printfan status below 30% speed, just like the MK3S+ on the Rambo board did.