What controls the right (extruder cooling) fan?

Hey, y’all.

What controls the right extruder fan, and are there good ways of testing it?

TL;DR

So, I’ve been getting a lot of extruder (spaghetti) jams. At @BDub’s suggestion, I checked the right fan (the one that cools the middle of the extruder block). It doesn’t seem to be spinning. I checked it while doing the filament load script, so the heater block got up to 220c for only 30 seconds or so.

I put voltmeter probes on the fan leads when I assumed it should be running (block was hot) and didn’t see any voltage.

While I could find GCODEs for the left fan (M106 on and M107 off), I couldn’t find any for the right fan. Is the right fan either always on, or is it controlled with a thermistor?

I’ll do some more testing with the heater block hot for longer to see if I can get it to turn on and/or get voltage on the terminals.

The fan works. I pulled it off and gave it some juice and it worked fine. It just seems to not be getting juice from the board.

Has anyone done a pinout on the printer head cable? I did a quick search, but didn’t see anything. I’m going to try tracing the circuit on the print head circuit board as well as down the cable to the Zim’s board to see if I can figure out what’s up.

This is my first 3D printer, so sorry if I’m using the wrong terminology. Please feel free to help me ask the question better, so I can learn. :smile:

I also only get a few hours a month free to play with the printer, and have thus far been unsuccessful in getting a print out of it. Things are going a little slower than I’d like. :frowning:

Thanks!

JT

@jtzemp the schematic for the Zimboard can be found here: https://github.com/Zeepro/zimboard/blob/master/Zim_Boardv6.pdf

just a tip, this is in the zeepro github link at the top of the forum.

The right fan which keeps the extruder channel cool should turn on automatically when the temperature goes above 60C and turns off when temps fall below 55C

If it doesn’t kick on after your temps go above 60C, it’s probably not hooked up to the MOSFET that controls it. I’m guessing you have a bad main cable like I did. I had the exact same problem and Zeepro sent me a new cable. If you do find that it’s the cable, let me know and I’ll send you a few well crimped pins from my old cable that you can splice into your existing cable. It will literally cost me 49 cents to sent it to ya :wink:

1 Like

Hi!
The right fan normally starts spinning when one of the heaters has reached 60°C or more. I think it´s controlled by some line in the firmware. If you Reset the Zimboard with the M112 command with a warm heaterblock, the fan stops with the command, and spins up when the Zimboard has finished booting. So, I think, it is software controlled, not a “hardwired” circuit.

@J_Schmidt read my response above yours :wink:

Amazing info, thanks! @Bdub!

Thanks to @J_Schmidt also for chiming in. That’s good to know. Without yet looking at the schematic, and/or firmware code, I was assuming it’d be on the print head board since it’s such a simple circuit.

I’ll check out the schematic and ohm out the connecting wires. Thanks for the offer, @BDub to send some crimped ends. I’ve got a crimper, wire and tons of pins. I’ll see if I can handle it w/o bugging the forum. If I run into anything I can’t handle, I’ll ping the group.

Thanks again!!

@BDub: I swear, your answer had not been there when I wrote mine… :flushed:

@jtzemp: It would also be nice to hear from you if you’re successful, and what caused the misbehavior of your fan

@J_Schmidt no worries :slight_smile: just wanted to make sure you saw that the code was definitely responsible for this fan’s behavior.

@jtzemp that’s amazing, so you had these exact pins and a crimping tool just laying around or did you buy some explicitly for this reason? I have a ton of electronics parts and tools, but not these pins, in un-crimped form :wink:

Sure will. I’ve gotten a ton from this group. I’ll try to post what it was and how I solved it once I’ve done it. My biggest blocker is lack of free time.

<story-time>
So, a couple of years ago, I needed a couple of stepper drivers, and I was on Pololu’s site. They had a sale on crimping pins and connectors in various configurations. I bought a whole bunch. I’ve got a 100 pack of the male, 100 of the female and a ton of different configurations of the plastic connectors. It was cheaper to just buy a bunch of stuff not knowing what I’d need than to pay shipping twice.
</story-time>

I haven’t verified that they’re exactly the same (esp. on the print head board), but I’m pretty sure the stuff I have will work on the zim board. I’m also relatively confident I can cobble something together that’ll at least help me test. We shall see. I might hit you up for the connector (or maybe if it’s a common enough component on the Zim I’ll just buy some pins/connectors that are exactly right just so I have them on hand).

I probably don’t have the breadth and depth that you have in your stash as far as components go, but I’ve got a bunch of strange stuff. For example, when I first bought my Zim, and hacked it to use OctoPrint, I had on hand 4 or 5 female USB ‘B’ connectors. I bought them several years ago to do DIY Arduinos and Atmel programmers.

Anyway, thanks again! I’ll post an update after I’ve done some more troubleshooting.

So, I just wanted to follow up on this thread.

After several months of taking care of issue after issue, I finally got a completed print out of my Zeepro. Yay!! :smile:

The issue with the right fan (head fan) was that the pin in the cable end wasn’t seated properly. After doing a bunch of troubleshooting with the continuity tester, I undid the screws holding the cable onto the head and noticed that pin 14, the pin for the right fan wasn’t seated right, and it was sticking out a couple millimeters.

All I needed to do was push it in by pushing on the wire and then I tested continuity all the way through and it worked.

I reassembled everything and got my first print!!!

Thanks for all your help, folks!!!

1 Like

Nice one @jtzemp! I had a lot of trouble with mine due to the same fault… and after the cable was swapped it wasn’t the last issue, but there have been sooo many great prints since then that it has definitely made up for all of the times I had to completely disassemble the head to clear a jam. Keep an eye on that pin and if it works it’s way out again you might need to crimp a new terminal on there.

I’m having the same issue with my head fan failing to kick in and I’m trying to figure out why. The voltage coming off the print_fan pin is a nice crisp 12 volts, but when even the temp is above 60 degrees, the head fan pin is only putting out 7 volts.

Any thoughts on what this could be about? I’m not super up on my electrical engineering, but would imagine a faulty connection would produce 12 volts or nothing at all. Any help or direction you guys can provide would be much appreciated.

So checked the continuity of the head board between the main ribbon and the fan terminal, and it checks out as far s I can tell.

It looks like the 7 volts is coming in off the main ribbon. When I boot the z-pro, I can see the leads for the fan briefly jump up to 12 volts, as if part of a system test, but then it drops down to 7 volts again.

It almost seems like a some sort of firmware issue to me. Any ideas anyone?

Try running in manual mode and toggling the fan on and off, but before you do that swap the fan cables so that you can turn the head fan on and off easily. If you’ve updated the firmware recently it’s probably not that. The head fan doesn’t PWM as far as I know, so I wouldn’t suspect that. When you check continuity, did you check from the switched fan connection and ground when the fan is supposedly on? You might have to disconnect the fan though to measure that resistance. It should just be a FET pulling to ground.

I did try to check the fan connection in both the on and off states, but I was doing so by turning the head temperature up to 85*C and assuming that would trigger the firmware to turn on the fan. I’d feel better if I could directly control the state of the head fan rather than trying to do so by manipulating the extruder temperature.

When you say “try running in manual mode” are you referring to G-code commands, or is there some way I can directly interface with the Marlin firmware to switch the various pins? I have tried playing around with the Arduino IDE a little, but I don’t really know what I’m doing in that realm.

I’m assuming you mean switch the head fan and extruder fan cables" I did this, and the head fan works fine when connected to the extruder fan terminal, so that rules out any issues with the fan itself.

Tonight I tried connecting to the Arudino board from my laptop, but windows won’t even detect the board right now, so that’s another hurdle to solve.

Sorry since I have two OctoPi converted Zims, I just assume everyone does (because they’re the best!) … there are controls you can set up there to toggle the Lights and fan on and off. If you don’t have that you can just send the Mxxxx codes. Not sure off hand what they are but you can search the forum or google Marlin Firmware Fan Goode.

Ok, I know what you are talking about now.

I also have those controls set up in Octoprint and have the appropriate G-codes on file. There is a set of Gcodes that controls the extruder fan, but I haven’t found any to control the head fan, which is the one I am having issues with. The only reference in the Marlin firmware referenced the head temperature. I’m trying to trace which pin number on the arduino controls the head fan, but it’s proving a steep learning curve for me.

So you won’t find any GCODEs to control that fan because it’s controlled in a tight loop from the Marlin firmware based on temperature of the extruders. If it’s above 60C I believe, the fan kicks on and stays on until it’s under 60C. Something like that.

This is why I suggested just switching the fan connectors at the head. Unplugged both and just plug the head fan into the cooling fan’s port. Then you can turn the fan on and off with the manual controls in OctoPrint. That’s a simple test to see if the fan works. Another thing to check is if Octoprint is reading temps going above 60C. If not, then your thermistor might be bad, or if the heater blocks are not getting hot enough the heater might be bad. Or some of the wiring for any of it can be bad, which is what we were talking about earlier in this thread.

Good luck! I know it’s not fun but once you get it you’ll be printing and printing and printing…

yeah, I suspected from posts earlier in this thread that there was no way to directly control the head through Gcode.

Switching the fan connectors was one of the first diagnostic steps I tried. Doing so confirmed for me that the head fan itself is working fine.

The thermistor and heating element also check out just fine: my hot end will happily hit target temperatures and Octoprint puts out very clear temperature graphs that confirm the temp readings are coming in ok.

Having eliminated the heater, thermistor and fan as possible fail points, I’m down to wiring, board, and firmware. I tested all the wiring connections between the main board, head board, and the fan port, and they all appear to be fine (i.e. no resistance or intermittent connectivity issues).

My next steps will be to lash the firmware and possibly swap out the ariduino board, but It looks like a real pain to get out of the printer body, so I’m hoping the firmware flash does the trick.

So I think I found a workaround: I learned in another thread that the G-code for the blue LED on the extruder board also controls the spare socket on the board, which happens to fit the fan plug and provide the needed 12 volts.

So I have wired that up and added an M1200 to my pre-print script. Hopefully this works and helps my prints!

That sounds like a good workaround plan!