No está claro si está intentando hacer un controlador PWM de "ventilador tonto" (2 cables) o si está intentando hacer un controlador PWM de "ventilador inteligente". Debe agregar a la pregunta qué tipo de fanáticos está intentando controlar.
Los ventiladores Dumb controlados por un simple interruptor de alimentación PWM, como el creado fácilmente por un NE555, son problemáticos. No hay control de velocidad, por lo que el ventilador puede pararse y nunca lo sabrías.
Los ventiladores de 3 cables proporcionan una señal de tacómetro, para que pueda saber a qué velocidad está girando el ventilador. No mencionas responder a la señal Tach, que es un protocolo pobre. Sería increíblemente difícil crear una señal que cumpla con la especificación de ventilador de 3 cables con un solo NE555.
Los ventiladores de 4 cables son los mejores, con control de velocidad interno, un canal de comando de velocidad PWM y una señal de tacómetro para mayor confiabilidad.
Esto está fuera del alcance de una sola implementación de PWM NE55. La especificación de 4 hilos es aquí y necesita una señal PWM de 21-28 kHz (aunque sorprendentemente muchos fanáticos responderá a 1 kHz aproximadamente para la frecuencia PWM).
Aquí hay información que podría ayudarlo desde TI y multi i controlador de ventilador de canal que aborda ventiladores de 2, 3 y 4 pines que pueden darle algunas ideas.
Si bien puede obtener 12 V y 5 V de una ranura PCI x1, parece un verdadero desperdicio de una ranura PCIe.
También puede elegir la conexión SMBus en el PCIe x1, entonces necesitará un controlador específico del sistema operativo para comunicarse con su dispositivo (hay controladores de ventilador SMBus disponibles) y eso no es una tarea fácil de software, ya que es un conjunto de chips de placa base específico.