# 555 Temperature Controlled PWM

I am trying to build a temperature controlled 555 circuit to drive a cpu fan (used for cooling my entertainment center)

I built this using slightly different diodes and MOSFET, and it works great (until you hook up the power backwards and get that distinctive pop of and poof of smoke from a blown up 555). Circuit: -

anyway, now I want to make it temperature controlled. I have a few tmp36 sensors laying around as well as an AD592 and a AD22100, so I can use whichever will work best. how could I go about converting this circuit to vary based on the temp? Let's say lowest speed below 75 F and full out above 100, but I would love to learn, so if you could explain the calculations, that would be great. I feel like this should be easy, and I am kind of just missing something, but who knows.

Thanks!

• You'll find it a lot less painful to use a MCU. Some even have thermal sensors built-in. – Ignacio Vazquez-Abrams Nov 19 '13 at 2:07
• yeah, I know that would be easier, but I want to learn how to do this, plus, I'd rather not waste an arduino or spend more on something when I already have these parts around – lkrasner Nov 19 '13 at 2:13
• thanks, but once again, now I really want to know how to do it with a 555, sometimes it's not about the easiest way, I want to learn – lkrasner Nov 19 '13 at 2:16
• Instead of "wasting" an arduino (which are, in my rather jaded opinion, a waste of space in the first place), you could use a PIC10F or 12F with a PWM output and an ADC input to implement a PID controller in much the same space as a 555. – markt Nov 19 '13 at 7:15

*Connect the other two pins to $V_\text{cc}$ and ground according to the datasheet.