CircuitBored
Well-known member
Hi all,
On my quest to plan for the future of the PowerMac G5 I have encountered an obstacle surely faced by many before me: what to do about those awful stock fans?
Through a lot of trial and error across four different G5 systems I have essentially come to the conclusion that for these machines to survive into the future I will have to figure out how to replace all the fans with ATX stand-ins.
So I had a go. I decided to target the intake fans first, as they are easy to remove and generally loud and inefficient. I simply purchased some Noctua 90mm fans that happen to be a vague colour match for the stock fans and cross referenced the pinouts before having at it with a soldering iron. I bought Noctua NF-B9 Redux 1600 PWM fans.
Here are the images I worked with:
And this is what I produced:
I put this creation into the G5 and it just worked. The fans spin up when they need to and the tachometer signal works. They are far quieter than the stock fans and most importantly they actually keep the CPUs cool.
Despite this apparent win there are some drawbacks. The fans only seem to use the middle 50% of their RPM range, which is adequate by sheer coincidence. If you try to run Apple Service Diagnostics it will fail due to the fan speed being "too high".
My supposition that I had simply been lucky was confirmed when I replaced the 80mm PCIe/speaker fan with another Noctua Redux. This time around upon installing the replacement fan I was met with a fan that just spins very slowly with a weird pulsing acceleration pattern, clearly indicating an issue revolving around PWM.
All this fiddling combined with what I've read online has led me to the conclusion that the G5's fan controller is completely un-dynamic, so to speak. You can't just use any old fan with it.
In short, I'm going to have to develop some sort of way to "translate" the G5's PWM spec so that other fans can be calibrated within the system. Before doing that we'll need to know what values the G5 is programmed with.
I hypothesized that I could build a signal divider for the PWM and tachometer pins in order to always feed the G5 values that it is expecting but seeing as I'll likely have to mess with the duty cycle too I doubt it will be that straightforward.
I could really use the help of an electrical engineer here. I'm very much a hobbyist who lacks some key understanding but has a lot of time to dedicate to experimenting.
Am I going to need a microcontroller for each fan which emulates the PWM and RPM values the G5 is looking for while properly controlling the ATX fans with normal values?
How can I use an oscilloscope to measure the PWM signals of the fans while they're actually being used? Can you put a 'scope in parallel to a signal to measure it? I feel stupid for asking but I genuinely don't know and can't find an answer online.
I'm primed to start a project which might require me to learn to code but I just need a nudge in the right direction. I have time and resources to commit to solving this problem but lack some basic information to get me started.
If you're an expert on this sort of thing then please chime in! I think I've narrowed down what needs to happen, I just need someone smarter than me to tell me how I can make it happen.
Thanks a lot in advance!
P
On my quest to plan for the future of the PowerMac G5 I have encountered an obstacle surely faced by many before me: what to do about those awful stock fans?
Through a lot of trial and error across four different G5 systems I have essentially come to the conclusion that for these machines to survive into the future I will have to figure out how to replace all the fans with ATX stand-ins.
So I had a go. I decided to target the intake fans first, as they are easy to remove and generally loud and inefficient. I simply purchased some Noctua 90mm fans that happen to be a vague colour match for the stock fans and cross referenced the pinouts before having at it with a soldering iron. I bought Noctua NF-B9 Redux 1600 PWM fans.
Here are the images I worked with:
And this is what I produced:
I put this creation into the G5 and it just worked. The fans spin up when they need to and the tachometer signal works. They are far quieter than the stock fans and most importantly they actually keep the CPUs cool.
Despite this apparent win there are some drawbacks. The fans only seem to use the middle 50% of their RPM range, which is adequate by sheer coincidence. If you try to run Apple Service Diagnostics it will fail due to the fan speed being "too high".
My supposition that I had simply been lucky was confirmed when I replaced the 80mm PCIe/speaker fan with another Noctua Redux. This time around upon installing the replacement fan I was met with a fan that just spins very slowly with a weird pulsing acceleration pattern, clearly indicating an issue revolving around PWM.
All this fiddling combined with what I've read online has led me to the conclusion that the G5's fan controller is completely un-dynamic, so to speak. You can't just use any old fan with it.
In short, I'm going to have to develop some sort of way to "translate" the G5's PWM spec so that other fans can be calibrated within the system. Before doing that we'll need to know what values the G5 is programmed with.
I hypothesized that I could build a signal divider for the PWM and tachometer pins in order to always feed the G5 values that it is expecting but seeing as I'll likely have to mess with the duty cycle too I doubt it will be that straightforward.
I could really use the help of an electrical engineer here. I'm very much a hobbyist who lacks some key understanding but has a lot of time to dedicate to experimenting.
Am I going to need a microcontroller for each fan which emulates the PWM and RPM values the G5 is looking for while properly controlling the ATX fans with normal values?
How can I use an oscilloscope to measure the PWM signals of the fans while they're actually being used? Can you put a 'scope in parallel to a signal to measure it? I feel stupid for asking but I genuinely don't know and can't find an answer online.
I'm primed to start a project which might require me to learn to code but I just need a nudge in the right direction. I have time and resources to commit to solving this problem but lack some basic information to get me started.
If you're an expert on this sort of thing then please chime in! I think I've narrowed down what needs to happen, I just need someone smarter than me to tell me how I can make it happen.
Thanks a lot in advance!
P