1
\$\begingroup\$

I would like to salvage these three fans

They come from an Apple iMac 17-Inch "Core 2 Duo" 2.0 (Late 2006 - iMac5,1 - A1208 - 2114)

CPU Fan

Apple Service Source P/N: 922-7641
Apple P/N (on sticker): 603-8690
Manufacturer P/N: BFB0712VHD
Voltage rating: DC12V 0.5A

iMac A1208 CPU Fan

Cable color On board labels (under sticker)
Black/Grey VCC
Grey O/P
Black GND
Brown VIN

Hard Drive Fan

Apple Service Source P/N: 922-7063
Apple P/N (on sticker): none
Manufacturer P/N: BFB0612HB
Voltage rating: DC12V 0.32A

iMac A1208 Hard Drive Fan

Cable color On board labels (under sticker)
Black/Grey Unreadable
Grey Unreadable
Black Unreadable
Brown Unreadable

Optical Drive Fan

Apple Service Source P/N: 922-7062
Apple P/N (on sticker): 620-3335
Manufacturer P/N: BG0801-B045-000
Voltage rating: DC12V 0.5A

enter image description here

Cable color On board labels (under sticker)
Black/White SC
Grey S
Black -
Brown +

Information gathering

Querying on search engines I found some matching part numbers, but none of the results gave me an accurate answer.

I found some information about other iMac fans, an older iMac G5 17'', a newer 27'' iMac as well as an unknown Apple Logic Board pinout. From there I learned more about computer fans, and PWM controlled fans 4-wire Intel specs.

All of that points me to guess that they are PWM controlled. All of them are labeled 12V DC and follow the same cable color convention.

Cable color Pinout
Black w. stripe PWM input signal
Grey Tachometer PWM output signal
Black -
Brown +

Having understood what PWM is, how it works, and based on what I have been reading, it's clear to me that to drive them from the GPIO pins of a Raspberry Pi, I need the specs to be able to generate the correct signal. The same applies to read the tachometer signal.

BTW, I also understood that I must get an oscilloscope.

Testing

From what I've learned, without any specs, neither a scope, I decided to test with different voltages on PWM cable.

CPU Fan

PWM cable Vin Fan behavior
0V Blades don't move
3.3V Blades try to spin but can't start
5V Blades spin fast
Once fan is spinning
PWM cable Vin Fan behavior
5V Blades spin fast
3.3V Blades spin slow
0V Blades stop

HD Fan

PWM cable Vin Fan behavior
0V Blades try to move and keep trying regularly
3.3V Blades start spin slow
5V Blades spin fast
Once fan is spinning
PWM cable Vin Fan behavior
5V Blades spin fast
3.3V Blades spin slow
0V Blades spin slower

ODD Fan

PWM cable Vin Fan behavior
0V Blades don't move
3.3V Blades start spin slow
5V Blades spin fast
Once fan is spinning
PWM cable Vin Fan behavior
5V Blades spin fast
3.3V Blades spin slow
0V Blades stop

I tried to measure voltage on the tachometer cable with a very basic multimeter without success, but setting it on the continuity test, I can hear it beeping faster or slower depending on the Vin supplied.

Are those tests safe for the fans?
Is there a way to know the specs without a scope?
Can I use the fans with relays forgetting about PWM?
Without specs, is there a way to try to read the tachometer without harming the GPIO on the Raspi board?

UPDATE 27/02/2021:

I've been thinking that, since I've the logic board, it should be possible to know what components are involved to power the fans, and it would be even better, if I have the schematics. I searched, and I found the schematics of some Apple devices. The schematics of "APPLE IMAC G5 A1058 ISIGHT M38 DVT MLB - 051-6949 - REV 09 11.16.05.rar" logic board use exactly the same fans that I'm using.

CPU Fan

CPU Fan connector logic board schematics

Hard Drive Fan

HD Fan connector logic board schematics

Optical Drive Fan

Optical Drive Fan connector logic board schematics

I'm using the original iMac A1208 power supply to power them.

Logic board power supply connector

Logic board power supply connector schematics

The point of all of this is to replace the faulty main board with a Raspi in order to reuse it as a kitchen computer.

Also, it serves me as a playground to learn electronics, as of, to other people looking for information to reuse iMac parts. :)

I also plan to reuse the temp sensors. I will gather more info and update this post.

Having not enough knowledge about electronics to understand those schemas, now I'm asking: With these schemas, can somebody tell me the working PWM values to safely drive the fans and read their tachometers with a Raspi?

By now I did some testing, and I'm sure I can drive them with relays switching between 0V, 3.3V and 5V. Didn't make any tests yet to read the tachometer.

\$\endgroup\$
8
  • \$\begingroup\$ Tests are safe enough. Without PWM, just use them as On-Off (control pin = 5V) \$\endgroup\$ Feb 26, 2021 at 23:20
  • \$\begingroup\$ This is not a repair question. This is on topic here. \$\endgroup\$
    – Passerby
    Feb 27, 2021 at 1:19
  • \$\begingroup\$ It's not particularly clear what 'specs' you're looking for here. PWM fan control is not a closely guarded secret - it's something you could google with ease. \$\endgroup\$
    – brhans
    Feb 27, 2021 at 1:32
  • \$\begingroup\$ The Pi is not a good choice for generating the required pwm as the fan spec requires an much higher frequency. You should be looking at an Arduino and I'd expect many others have solved this problem before. An oscilloscope is handy, but not necessary. \$\endgroup\$
    – Kartman
    Feb 27, 2021 at 3:33
  • 1
    \$\begingroup\$ @Kartman I have chosen a Raspi because it can be used as a computer, and I'm replacing a faulty mainboard with it. About the specs of the fan, we don't know them yet. \$\endgroup\$ Feb 27, 2021 at 18:58

2 Answers 2

2
\$\begingroup\$

The tachometer sounds like an open collector, which is very common for fans: a NPN transistor whose emitter is connected to ground and base to the rotation sensor, leaving the collector attached to the wire coming out of the fan. This allows you to interface the signal to whatever voltage output (within reason) you need by selecting an appropriate pull-up resistor. I found a datasheet for what may be a similar part here: https://www.delta-fan.com/Download/Spec/BFB0612HB-N.pdf There's no spec listed for the open collector output. Usually they'll give you a maximum collector current and collector-emitter voltage. I'd start with maybe a 10k pullup resistor; I can't imagine the transistor getting burned out from 500 microamps.

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

Are those tests safe for the fans?

yes

Is there a way to know the specs without a scope?

yes, you can interpret the transfer function as I did but there may be nuances.

Can I use the fans with relays forgetting about PWM?

Yes, with voltage or R Ratio control but why relays when a transistor with switch.

Without specs, is there a way to try to read the tachometer without harming the GPIO on the Raspi board?

Yes, its an open collector so you decide on Vcc and using 1k~10k is typical. You can measure PWM or convert to Vdc with a pullup R and Cap for T=RC delayed result.


Since the Intel Spec for PWM uses a TTL input threshold of Vil max = 0.8 that implies a threshold of 1.3V used by TTL or 2 Vbe drops.

However you used DC instead of PWM to vary the speed, this suggests a PWM to Vdc tach-like circuit so Dc can control the speed from 1.4 to 5V. However, fans may start to have a greater stall voltage threshold than 30% when bearings get stiff but must start with < 30% then may be reduced to 15% after.

The Intel spec indicates fan keeps running at 0% PWM after > 30% is applied perhaps at 15% max RPM. Older fans may not meet this.

Conclusion

So I suspect the transfer function is from 1.4V to 5.6V for 0 to 100% RPM for DC control on the PWM input.

But if using PWM, you must NOT use a pullup resistor on an open collector NPN as this will raise the Vdc to the PWM averaging circuit. The fan will provide 5V pullup after (1? or) 2 diode drops.

0V operation after started depends on the age of the fan and bearing quality.

\$\endgroup\$
2
  • \$\begingroup\$ Since I'm new to electronics, now I have to learn about transfer functions, R Ratios, open collectors. It's good, I'll have to spend some time in it, but I like to learn new things. Regarding why relays in front of transistors question: Because I have them, they are easy to set up, and they are my easy second plan. These are the relays: arduinomodules.info/ky-019-5v-relay-module Anyway I updated the question with more information hoping to finally use them with PWM from the Raspi. \$\endgroup\$ Feb 27, 2021 at 19:01
  • \$\begingroup\$ If linear the ratio of the output speed to input Vdc is your transfer function kRPM /V but here you can say 0 to 100%/(5-1.5V) = ~ 30% / V over this range \$\endgroup\$ Feb 27, 2021 at 19:08

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