AndrewEllis93 / Print-Tuning-Guide

1.94k stars 258 forks source link

Instructions for 24V fans using tachometer pin don't work well #49

Open Borfonius opened 1 year ago

Borfonius commented 1 year ago

Simply plugging the tachometer pin into a free endstop port doesn't work well. The pullup voltage on the endstop pins is too low compared to the 24V power to the fan, so the fan spins constantly, sinking current through the tachometer.

My suggestion to fix this is to add the following:

This solved the issue for me. It wasn't particularly pretty having all of those components along the tachometer wire, but it worked. The fan behaved normally, and the macro to detect fan stoppage worked as well.

AndrewEllis93 commented 1 year ago

This has come up a couple times in the Discord but so far nobody had given me a concise explanation for the guide - so thank you Does this apply to all fan models? Mine didn't need this, and from what I've been told, different fans handle tach differently. If it's different for different tach setups, may need to account for that too?

Borfonius commented 1 year ago

Hi Andrew,

I only tried this with one 24V fan. The Orion OD4010-24HB01A that you recommended in your guide:

http://d.digikey.com/dc/mn-w0iJh4uEE_bUitNCuXsaMqkw5UctQEQXQivOAnBMAxAqa2HiOed3QHpulfrGC9uqjsa9263lx8xAQBJoeKPKVJN2rb5EeRW-l-F7RFPpNkcpnD2mAIasy2ZRJXF7NUL4LNFrcHvDfycUY-WTQi-jYNWN-Ag2BoQNlTZZZYmP3aig-a0oGMztYufJUamekU74MAz42m2CDHE9AXscc14CsdQbzmFZu4HDOaWSiTKriWYR8DvqkKud0yJpSEDyK/MDI4LVNYSy01MDcAAAGIslrFr5ayOn3Q9Q9rAQH7wibQvG3CdS4E1yENALMy1Lzr160zjiPAMU68Z4zHpvOmQWbkoNw=

The datasheet has the following diagram which made me think that the board pullup voltage was too low:

image

Though it shouldn't hurt to do this modification for any of the fans, right? It is definitely messy looking without a PCB though!

Let me know if you need more info!

Best Regards,

Christian

On Wed, 21 Dec 2022 at 10:31, AndrewEllis93 @.***> wrote:

This has come up a couple times in the Discord but so far nobody had given me a concise explanation for the guide - so thank you Does this apply to all fan models? Mine didn't need this, and from what I've been told, different fans handle tach differently. If it's different for different tach setups, may need to account for that too?

— Reply to this email directly, view it on GitHub https://github.com/AndrewEllis93/Print-Tuning-Guide/issues/49#issuecomment-1361497299, or unsubscribe https://github.com/notifications/unsubscribe-auth/A44K6FQOS5AOBGR3KHEQX53WOMPGFANCNFSM6AAAAAATFKEBP4 . You are receiving this because you authored the thread.Message ID: @.***>

allenrowand commented 1 year ago

Can confirm the issue- did this with the OD4010-24HB01A, got the always on fan and burned out my SB2040 (since RP2040 SOCs are very sensitive to overvoltage). Installed the BAT85 as described above, mod works as expected with the EBB36. I didn't need to add a physical pullup resistor, just did it in software.

Gil80 commented 1 year ago

Hi all,

My MCU is SKR mini E3 V3. I was following the PWM fan monitoring guide.

I ran into an issue where once I connect the 3rd wire (techometer) the fan will get a constant 20.4v making it hot to the touch and smelly. This voltage is supplied even if the hotend is cold.

This is the board diagram: https://github.com/bigtreetech/BIGTREETECH-SKR-mini-E3/blob/master/hardware/BTT%20SKR%20MINI%20E3%20V3.0/Hardware/BTT%20E3%20SKR%20MINI%20V3.0_PIN.pdf

I connected the 2 pins to the FAN 1 header and the 3rd PWM wire to the Z-endstop PC2 pin.

It seems that no matter which PWM pin I choose, I either get ADC error min/max temp out of range or this constant 20.4v to the fan while it's not spinning.

Is there any other way I can kill the heaters if there's a fan failure of the temp near the heatbreak is rising?

Gil80 commented 1 year ago

Simply plugging the tachometer pin into a free endstop port doesn't work well. The pullup voltage on the endstop pins is too low compared to the 24V power to the fan, so the fan spins constantly, sinking current through the tachometer.

My suggestion to fix this is to add the following:

* BAT85 Schottky diode facing away from the MCU (just like with the inductive probe)

* 10k resistor pullup to 24V on the fan side of the BAT85.  I used one of the available always on FAN ports to get the 24V.

This solved the issue for me. It wasn't particularly pretty having all of those components along the tachometer wire, but it worked. The fan behaved normally, and the macro to detect fan stoppage worked as well.

Hi. I just read your comment and I ran into the issue of not being able to utilize the PWM on a 2-pin Z-endstop on my SKR mini E3 V3. Do you happen to know if a 1N4004 diode will do the job as well? And by "facing away" do you refer to the Cathode facing away?

Borfonius commented 1 year ago

Here is the link to the Voron documentation on how the BAT85 diode is wired for the inductive probe:

https://docs.vorondesign.com/build/electrical/#bat85-diode

I did the same thing for the tachometer pin. But I also added a 10k pull-up resistor since I don’t believe the fan I used has one internally like the inductive probe.

I can’t say whether you could use a different type of diode for this purpose, but I wouldn’t recommend it, since the BAT85 is selected specifically as a protection device.

Gil80 commented 1 year ago

@Borfonius Thank you. I just read it. I will use the recommended diode. What I didn't understand is how the 10k resistor is wired. I believe that all endstop ports have a built-in pullup resistor. I'm not sure what is the value of the skr mini e3 v3. Looking here: https://github.com/bigtreetech/BIGTREETECH-SKR-mini-E3/blob/master/hardware/BTT%20SKR%20MINI%20E3%20V3.0/Hardware/BTT%20E3%20SKR%20MINI%20V3.0_SCH.pdf it looks like it has a 100ohm rsistor on the Z-endstop. Still, I don't fully understand where to connect a 10K resistor in relation to the fan or diode.

Borfonius commented 1 year ago

Hi @Gil80,

The endstop pull-up resistor is to 5V. Where the tachometer pin expects a pull-up to its supply voltage (24V). You can see how this is set up in the schematic from the link I posted earlier. There are two pull-up resistors in the diagram: one to 5V on the endstop (MCU internal), and one to 12V built into the inductive probe (internal probe circuitry). Since the fan that I used doesn’t have a built in pull-up, I added one externally. I chose 10K because it’s a reasonably high value that will limit any current to the milliamp range. Hopefully this helps clarify. If I could figure out how to include a photo here from my iPad, I would.

Gil80 commented 1 year ago

@Borfonius is this diagram correct? https://imgur.com/a/fhP1GQd

If I use a 4-pin PWM fan, can I use the +/- on the fan header and the other two wires on the 2-pin Z-endstop?

Borfonius commented 1 year ago

It’s not quite right. The BAT85 looks good, but you want the right hand side of your 10k resistor to be connected to your 12V supply instead of in series with the tachometer wire. Right now, the way you have it, the resistor isn’t functioning as a pull-up.

Gil80 commented 1 year ago

@Borfonius ok I think I got it now https://imgur.com/a/twfKXCb p.s. - I use 24v fan, that fan image is just something I found online.

Borfonius commented 1 year ago

You’re nearly there, but still a couple of issues:

  1. The pull-up resistor needs to connect to a constant 24V source, but it looks like you have it connected to the fan PWM signal line. My Octopus has always-on 24V fan pins, so I used one of those. You could also connect to your 24V supply directly.
  2. Somehow your diode got flipped around in the new picture, and that’s the wrong way. You should use the orientation from your first image.
Gil80 commented 1 year ago

@Borfonius thanks for the input. I fixed the flipped diode - thanks for noticing. Here is what I believe is the correct diagram thanks to your kind help: https://imgur.com/a/zdKlLY0

Borfonius commented 1 year ago

Yep you got it! Thanks for drawing this up!

arkeet commented 10 months ago

Bumping this - someone I was helping was having a similar issue with a 24V 3 wire fan, where the fan was always spinning. Having a diode in line with the tach wire (cathode towards fan) is important, as otherwise the controller board could draw current through this pin, potentially damaging the fan as well as itself, especially if there is no series resistor on the endstop pin. (The current would flow inside the fan from V- to tach through a protection diode, which is not meant to carry significant current.)

The diode is probably optional for a 5V fan, but I would say it is required for any higher voltage.