1
\$\begingroup\$

I would like to make a PWM fan controller that uses a 555 timer and be placed in a Gen 2 PCI Express x1 slot, while pulling the power from the slot as well.

I'm not looking to send or receive any signals to the PCI Express bus. I only want to pull power from the 12V.

Is this possible? Will there be any protection mechanism that prevent me pulling power from the slot without sending anything to the bus?

\$\endgroup\$
2
\$\begingroup\$

standard PCIe slots will carry 12V, so yes, that'll work. Spec says PCIe x1 devices can draw up to 10W. (You can ask for 25W, but that requires "speaking" PCIe)

Still sounds really awkward, the combination of a NE555 and modern computer hardware – in the end, you'll need to design a board to plug into the PCIe slot, just to have 12V, just to drive (a very probably 5V) fan...

If none of the on-board fan controllers work for you (mothern mainboards tend to have more fan controllers than people have fans), I'd simply replace the 555 with e.g. an STM32 with integrated USB PHY – you're designing a board anyway, and that way, you can design something that is actually usable from the PC (use the internal USB headers) software.

Personally, I'd try to go yet another route: The PCIe connector doesn't only have power lines and PCIe lanes, but also SMBUS pins – and that's the bus your mainboard uses to connect things like thermal sensors, and: fan PWM controllers! Basically, SMBUS is I²C, and any recent microcontroller will speak that, but uses a whole protocol stack on top – but there's MCU vendors that offer libraries to enumerate on the bus and act as a proper device, and it's very likely not that hard to make use of that.

\$\endgroup\$
  • 2
    \$\begingroup\$ There's no guarantee that the SMBUS connections are wired up. It's not mandatory for them to be. Easier route would be simply a 4-pin molex connector for power (same as FDD or old HDD). \$\endgroup\$ – Tom Carpenter Mar 5 '17 at 21:07
  • \$\begingroup\$ Ah, true! Totally forgot about these "easy" solutions :) \$\endgroup\$ – Marcus Müller Mar 5 '17 at 21:25
  • \$\begingroup\$ I will only have 3 fan header on the ASUS B350 I'm getting so that's why I wanted to make a fan controller. I don't have a chip that can do I2C though. I just wanted to make use of the empty PCIe slots. \$\endgroup\$ – Alan Cai Mar 5 '17 at 22:13
0
\$\begingroup\$

It not clear whether you are trying to make a 'dumb fan' (2 wire) PWM controller or whether you are trying to make a 'smart fan' PWM controller. You need to add what sort of fans you are trying to control to the question.

Dumb fans controlled by a simple PWM power switch such as that easily created by an NE555 are problematic. There is no speed check, and so the fan may stall and you'd never know.

3-Wire fans provide a Tach signal, so you can know what speed the fan is rotating at. You don't mention responding to the Tach signal, which is poor protocol. It's would be incredibly challenging to create a signal that meets the 3 wire fan specification with a single NE555.

4-Wire fans are the best, with internal speed control, a PWM speed command channel and a Tach signal for reliability.
This is out of scope for a single NE55 PWM implmentation. The 4-wire spec is here and you need a 21-28 kHz PWM signal (though surprisingly many fans will respond down to 1 kHz or so for the PWM frequency).

Here's some information that might help you from TI and a multii channel fan controller that tackled 2, 3 and 4 pin fans that might give you some ideas.

While you could get you 12 V and 5 V from a PCI x1 slot, it seems a real waste of a PCIe slot. You also could certainly pick up the SMBus connection on the PCIe x1, you then would need an OS specific driver to talk to your device (there are SMBus fan controllers available) and that is no mean software feat since it's motherboard chipset specific.

\$\endgroup\$
  • \$\begingroup\$ I only wanted the fans to be quieter. I will have potentiometers on the back thru a PCIe bracket. The mobo I have already have more slots that I need. The fans will be 3 pin. \$\endgroup\$ – Alan Cai Mar 5 '17 at 23:09
  • \$\begingroup\$ You may be ok if you just want the fans to be say 20% slower, but much more than that I think you will need to be sensing the Tach to verify the fans are still turning. And of course you could consider just buying quieter fans. \$\endgroup\$ – Jack Creasey Mar 5 '17 at 23:18
  • 1
    \$\begingroup\$ @AlanCai "just wanted the fans to be quieter" <- are you perhaps missing the fact that any motherboard I touched in the last couple of years has the functionality to reduce the speed of the fans built in, usually even addressable through the infamous bios setup? \$\endgroup\$ – Marcus Müller Mar 6 '17 at 7:06
  • \$\begingroup\$ There's only 3 fan headers. \$\endgroup\$ – Alan Cai Mar 17 '17 at 23:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.