Building a smart fan controller to combat heat soak
Older vehicles and motorcycles use a binary fan control with respect to the temperature of the engine’s coolant. This is typically no cause for concern unless the vehicle is operated in extreme conditions such as desert conditions, traffic, and off-road driving. After an engine shutdown an already heated machine will experience a temperature surge called heat soak resulting in shorter component life, boiling of fuel, coolant, and thermal overload of the lubricating oil. To combat this modern vehicles have a fan delay after the engine is shut down to help prevent heat soak. This pulls cooler air across the radiator and blows it through the engine bay forcing the now heated air through respective outlets.
Now to build a version that can be applied to old vehicles! I’m targeting around a 30 second post-shutdown delay with solid state controls and analog transistor logic. You’ll need some background in electronics for this project. It can be done on perfboard or using the .brd files.
For ease of pcb fabrication I’ll be using pcb.
This is the final schematic. This controller will be used on a motorcycle and thus the fan loads are significantly lower than that of a car, a NDP6020P P-channel mosfet is the heavy lifter here. the transistors used for logic and switching are the 2N222A, 547B, and 58050. The main idea here is to have the fans remain on for a preset time of 30 seconds if the fan override or the coolant temperature switch is closed, but not allow power to back feed the ignition circuit. The fan override switch is used for traffic or slow speed operation in high temperatures to prevent a coolant over temperature condition.
First, start with a schematic and then prototype it out:
This is the prototype in operation:
with this working it was time to design a pcb and suitable enclosure. here’s the enclosure. it’s designed around the pcb and uses m3 hardware to bolt it together. It’s printed from HTPLA and utilizes gaskets salvaged from old platter style hard disk drives to seal the two halves.
The pcb itself went through a few iterations and redesigns trying different connectors and component placements. This was the final iteration:
Now to build the pcb. A laser printer, laminator, pcb-etching acid, and a mill are needed here. a drill can be substituted for the mill. First print on the toner paper, set the printer to the highest density it’ll print. This is very important. The toner paper is then placed face down to the copper side of the pcb then fed to the laminator on maximum temperature. Feed the combination through a few times. The pressure of the rollers will keep the toner paper from slipping. After that dunk the pcb and toner paper in a small container of water to dissolve the dextrin. The toner paper will let go after about a minute of soaking. it will look like this:
Next up is the green transfer foil. It goes foil side down onto the pcb and is fed to the laminator just like last time. Be careful to keep the transfer foil taught or else you’ll have wrinkles on the pcb and it will not etch.
After this, etch it!
After etching normally the silkscreen layer goes on, but I’m not using one on this PCB. I’ll drill the throug holes using the mill. The pcb is fixed to a piece of scrap wood using double sided tape and a template is taped over it.
After drilling is complete, peel the guide off:
Trim the pcb so that it slots into its enclosure:
Now it’s time to look the board over, perform repairs if needed, and prepare the SMD components.
A fine trace didn’t etch correctly and had to be repaired:
With this out of the way the 0805 SMD components can be placed:
Next and finally, populate the throug hole components:
The board is now complete and working. However while it worked on the bench, once buttoned up and installed, it didn’t. I had found two failed transistors, replaced them, and reinstalled. in short order, the same thing had happened again with a third. The controller was pulled in favor of a relay as I was pressed for time. The enclosure was later used elsewhere for another project resulting in a few dead Arduinos. Turns out the filament used in printing the enclosure are not ESD safe. There’s a coating to correct this. I’ll revisit this project again in spring 2019.