arduino attiny45 fan pwm controller

I've got dell fan from old PC. It's quite powerful: 0.6A 12V 110mm, so I used it in my fumes extractor (it's just plywood case with place for carbon filters). It works great, but it's noisy as hell! It has 4-wires: black-GND, red-12V, yellow-tacho out, blue-PWM control. PWM works with 5V signal, so I decided to make simple potentiometer to PWM driver with ATtiny45. I wanted to attach it to fan, and power from fan's supply-12V. I didn't have any LDO laying around, but I have 5V Zener diode. I had to use 100ohm Rs resistor for Zener stabilizer in order to support enough current for ATtiny So I have to use 3 330ohm resistors in parallel (one was overheating and power was to much for it to handle: ~1.5W).
Here's schematic:
I drawn also standard 2/3- wire fan configuration which can be used with any DC motor. It needs transistor to control that fan / motor. any N-MOSFET should work, but it have to be able to handle motor's current and voltage.
Here's code for Arduino IDE. Only 10 lines, could be shrinked to 6..
Also here's Adafruit's tutorial on adding other chips to Arduino IDE,
and Arduino's json files list with third party chips and boards (including one for ATtiny45).
Just in case you don't know: you'll need some AVR ISP programmer to program ATtiny45. This article explains how to use UNO as ISP.

Comments