logo
home
about
contact
news

HP 4500 and 4550 fan converter

Background

I had a problem with a Hewlett Packard Color LaserJet 4550, when the front fan stopped working, and I got a 57.3 FAN ERROR message. Now this fan draws air into the printer at the front, whilst other fans push the used air out at the back. The front fan is no longer available from HP - but that shouldn't be a problem - after all, a fan is a fan, right?

The front fan is 40x40x10 mm, running at about 6,500 RPM. I bought a Noctua NF-A4x10 FLX 12V 4500RPM quiet cooling fan, because it offered only slightly lower airflow than the original, but with much less noise. I fitted it, but the error 57.3 persisted.

I figured that the printer must be unhappy with the fan speed, so ordered a fan with the right speed profile from Radio Spares (RS Components), an ARX FD1240-C1251A2AL. However this fan also gave an error 57.3. At this point I stopped working blindly, and set about understanding fan characteristics.

How fans differ

From poring over data sheets, I learned that there are two main types of three-wire fans with a "sense" output. The common ones, that you find on sale everywhere, send out a stream of pulses - if the stream of pulses stop, then the fan has failed. However the second type of fan provides a status output - it simply indicates OK or failed, with no need to count pulses.

As you might have guessed, the fans I'd tried were of the former type, but the HP 4500 and 4550 require the latter type, known as a "lock sensor output".

Sadly, fans with lock sensor output are generally only available to OEMs. RS do offer one (part number 184-6754), but it was only available on back-order, with a three-month lead time.

I was not willing to wait months to get my printer working again, so decided to make a converter.

The electrical interface

Each of the fans I've looked at, including the original HP component are three wire - ground, power and sense, with the sense line being "open collector". This means that the fan indicates its state by pulling the sense line to ground - zero Volts. The great advantage of this is that the sense function is independent of the fan power Voltage, as the sensing circuit in the host system can use a pull-up resistor to whichever Voltage is required. In the case of the HP 4550 Color LaserJet, the fan is powered from 12V, but the sensing circuit appears to use 5V. This is shown in the following figure.


Both the HP 4550 Color LaserJet fan and standard off-the-shelf fans use this same approach to the interface.

Building a fan converter

The requirements

A 6,500 RPM fan will rotate around 108 times per second. The ARX FD1240-C1251A2A produces two pulses per second, so the fan output is around 216 Hz and expected to be roughly a square wave.

The requirements are therefore:

  • Vcc at 12V
  • Input signal: open collector, square wave around 200 Hz.
  • Output signal: at 0V when OK, open collector when failed.
  • Small enough to fit in the front of the printer top drawer.

The schematic

The schematic was designed using KiCad, and is shown below.

The schematic is intended to not only capture the design, but also support a Spice simulation. It therefore consists of three parts:

  • On the right, representing the printer electronics, we have voltage source V12 at 12V, and pull-up resistor Rp1.
  • On the left, representing the fan, we have a complex voltage source VSq1 and diode Df1.
  • In the centre, we have the schematic for the adapter board.

A number of tags have been added to the diagram to indicate points of interest. These are labelled Input1, Input2, Start, Middle, Base and Output.

The blue text below the Output tag is not part of the circuit - it's instructions to the Spice simulator.

How it works

The complex voltage source VSq1 generates an approximation of a square wave, switching between 0V and 12V, with a 5mS cycle time (equivalent to 200 Hz) and equal mark-space ratio, which is present at tag Input1. Diode Df1 turns the output of VSq1 into an "open collector" signal at Input2. It does this by ensuring that the Fan emulation can pull Input2 to 0V when the output of VSq1 falls, whilst diode Df1 effectively blocks the rising output of VSq1 from reaching Input2.

An open collector signal on its own cannot drive a conversion circuit. To do that, we need to recreate the square wave, which is the purpose of pull-up resistor R1. To put it simply, when the fan is not pulling point Input2 down, resistor R1 pulls it up. So the R1 allows us to recreate the original square wave.

Transistor Q1 provides an open collector drive to the output of the adapter board. Just as we used pull-up R1 to recreate the square wave, so the printer will use resistor Rp1 to convert our output to switch between zero volts, and whatever voltage the printer happens to use on its sense circuit. In the Spice emulation, the pull-up is to 12V, whilst in the real Color LaserJet the pull-up is to 5V. This difference has no impact on the behavior of our circuit.

To turn on Q1, 0.7V is required at its Base, whilst if the Base is near zero Volts, the transistor will be turned off. So we need to lift the Base to at least 0.7V when the input signal at Input2 goes high, and store enough energy during that part of the cycle to keep the base at 0.7V when the input signal goes low. We accomplish this by using capacitor C2 as that energy store - we charge it when Input2 goes high, and when the input goes low, C2 discharges slowly through the base of Q1. Resistor R2 limits the current flow at this point, such that C2 does not discharge too quickly through Q1.

If point Input2 ceases to oscillate, and instead becomes fixed at either zero or 12V, we want to stop charging capacitor C2. By inserting capacitor C1 into the circuit, w provide the necessary isolation - as long as there is an Alternating Current (AC) at Input2, then it will pass through C1, but if Input2 becomes simply a Direct Current (DC) signal, then it will be blocked by C1.

The problem with using an isolating capacitor such as C1 is that the AC signal that reaches point Start has an indeterminate DC component. So whereas we knew that an AC signal at point Input2 would alternate between zero and 12V, point Start could oscillate between zero and 12V, or between -6V and +6V, or some other pair of values. We would like to transfer as much energy as possible to C2 during the high part of the cycle, so ideally we'd like to fix the low part of the cycle at point Start to zero Volts, so as to oscillate between zero and 12V. Diode D1 causes the the signal to approximate to this. When the AC signal at Start goes below zero, current is added through D1, which pushes the DC level upwards, such that the minimum value of the AC signal approximates zero Volts. In actual fact, D1 will only conduct when there is more than 0.7V across it, so in reality it will not add energy into point Start at any point above -0.7V. So the waveform at point Start should oscillate between -0.7V and 11.3V. Unfortunately the signal is attenuated by passing through C1, so we don't see the full 12V range at this point - instead we get a range of -0.7V to around 4V.

If we were to simply apply the signal at point Start to capacitor C2 then we would charge C2 during the upper part of the cycle, and discharge it during the lower part of the cycle. Diode D2 ensures that when the voltage at point Start is greater that that at point Middle, then the incoming signal can charge C2, but when the voltage at Start is lower than that at Middle, then the diode prevents current flow towards point Start. Thus the incoming signal can charge C2, but it is not able to discharge it.

So at this point, we have a circuit that will charge C2 as long as an AC signal arrives at the input, thereby keeping the Base of Q1 at or above 0.7V, and therefore keeping Q1 turned on. When that AC signal ceases, C2 will discharge slowly through R2 and Q1, causing Q1 to gradually turn off and therefore allowing the voltage at point Output to gradually rise. It is therefore an acceptable circuit. However we can make it better by he addition of resistor R3. This resistor has negligible effect when Q1 is fully on, but as the charge across C2 drops and Q1 begins to turn off, then the current flow through Q1 also drops, such that the small current flow through R3 becomes more significant. Thus R3 causes Q1 to turn off much more quickly than it would do without R3, causing a relatively quick switch from zero Volts at the output of the adapter board to the voltage provided through Rp1.

The simulation

The signal produced by complex voltage source VSq1 is a square wave, followed by a fixed voltage to represent fan failure, where this latter is currently set to zero Volts. Viewed at point Input1, the waveform is shown in red:

Following conversion to "open collector" by Df1, the waveform is reconstituted by the addition of current through R1, as seen at point Input2. This waveform is similar to that at Input1, with two minor differences - due to the voltage drop across Df1, it will not quite reach zero Volts (so this is an imperfect emulation of an open collector output) and due to capacitance in the circuit each rising edge of the waveform is curved as it approaches 12V.

After passing through C1, which both removes the DC content and attenuates the signal, the bottom of the waveform is then locked to -0.7V by D1. The signal at point Start is somewhat modified from that at point input2, with a peak gradually stabilizing at about 4.3V:

The signal then passes through D2, which rectifies the signal to charge up C2. However at the same time, current is being drawn through R2 and Q1. The incoming signal therefore provides each rising edge, whilst the current drain through the transistor provides each trailing edge, giving rise tot he waveform at point Middle.

The trace also clearly shows the discharge of C2 once the square wave signal is no longer applied (representing the fan stopped)

Once the voltage across C2, shown above at point Middle, rises above 0.7 V, the voltage at the Base of the transistor is held at around 0.6 to 0.7 Volts by the semiconductor effect across the Base-Emitter or Q1. When the voltage at point Middle decays to around 0.7V, then it is no longer able to sustain he Base of Q1 at 0.6 to 0.7 Volts, and so the voltage here begins to decay, as seen in the waveform at point Base:

Whilst Q1 is fully turned on, the current flowing through Rp1 goes direct to 0V, through the transistor. However once the Base voltage begins to decay, this is accompanied by a reduction in current flowing through the transistor, across the Base-Emitter junction. That reduction in current induces a corresponding (but amplified) reduction in the current flowing across the Collector-Emitter junction. The reduction in the Collector-Emitter current flow allows the voltage at point Output to rise rapidly away from zero Volts, enabling the printer to detect that the fan has failed.

The waveform for point Output therefore shows that the signal is held at 0V whilst the fan is running. When the fan stops turning, and C2 is able to discharge to below 0.7V, the voltage on the output is able to rapidly rise to the sensing voltage supplied by the printer through resistor Rp1.

 

Construction

The KiCad tool Pcbnew can be used to lay out the components. It won't do the whole layout automatically, but it assists in ensuring that the correct components connect together. It's really intended for designing printed circuit boards, but with care it can be used to sketch out a VeroBoard layout. In this design, the input line has been taken to both ends of the board, so as to allow the board to be wired in single-ended mode (all wires at one end), or double-ended (printer connections at one end, fan connections at the other).

The first image comes from KiCad and shows the component layout and connections.

The second image has three dots superimposed, to show where tracks need to be cut on the underside of the board.

The essential tricks that assist in planning such a layout are:

  • Set the Grid size to 2.54mm,
  • Only draw green lines vertically, to represent the copper tracks on the VeroBoard,
  • Only draw red lines horizontally, to represent wire links on the component side of the board.
An unfortunate side effect of having drawn the schematic using "Spice" components instead of ordinary components is that the pin numbering may not correspond with the physical devices. The impact of this is seen in the diagram, where it has caused the diodes to be shown reversed. This could be avoided by working with a copy of the original spice model, disconnecting components from the spice library, and connecting them to physical models. However that would mean managing two separate schematics - I prefer to simply put the diodes the correct way round when I build the board.

So the final design looked like this:


Component list

  • Q1: 2N2222
  • D1: 1N4007
  • D2: 1N4007
  • R1: 1k
  • R2: 10k
  • R3: 100k
  • C1: 200nF
  • C2: 1uF

No components have critical values - I used parts that I happened to have available, so simply use values that are roughly similar.

Tools used

  • Gnu/Linux operating system (Ubuntu 20.04)
  • KiCad 5.1 (free for Ubuntu)
  • ngspice 31.3 (free for Ubuntu)

Last words...

I hope you found this useful. Do let me know.

Last updated 28 June 2021
Designed by Ossoba Studio
Design downloaded from FreeWebTemplates.com
Free web design, web templates, web layouts, and website resources!