I did some searching and found a basic PWM generator to properly and quietly control PWM fan speed using a 555 timer, but I have no idea what values to use for the resistors, capacitors, diodes, and potentiometer, and probably as a result the simulated output looks nothing like what I was expecting. I need the base frequency to be approximately 25 kHz, and the duty cycle (ratio of output at +5v vs. ground) to vary between roughly 20% and 100%.

I would expect R1 and P1 to be in the range 1k to 10 k and C2 to be 1nF to 10nF. D1 and D2 are shown as zeners but I assume they should be ordinary signal diodes like 1N4148. For the range of duty cycles you require R1 would be small compared with P1, and you might wish to have an additional resistor between P1 and one of the diodes. Hope this is helpful, mike.

I found a forum on overclockers.com which has values for the components. So, I built it in CircuitLab and still got a symmetric square wave (50% duty cycle regardless of P1). I've also replaced P1 with two resistors so 80k resistance goes to one diode and 20k goes to the other. Any ideas why changing 'P1' has no effect