I have a blower fan from a heating system that is faulty, and I've been trying to troubleshoot the problem, but not having much luck so far.
The fan is made by EBM-Papst, and is a brushless DC radial blower fan, model RG128 (this model also comes in 230V AC version, but I have the DC-only version). It has a 5-pin connector, with pins being V+, speed output, ground, PWM input, V-. I believe the separate ground and V+/- is for if the power supply is non-isolated and does not share a ground with the control logic - although this is not the case in this particular heating system, with ground pin left unconnected.
The initial problem with the fan installed in the heating system was that it would not spin up, and the heating controller would time-out after a minute or so and throw an error code. At first, I thought the fan was seized, but after removal from the system, I found it turned freely by hand. Also, when fed only with it's rated voltage supply (22V DC) on the V+/- pins, it would happily run at maximum speed.
After some research to find out how to properly drive it on the bench at variable speeds (1-6kHz PWM signal via an open-collector output, pulled up to V+), I sort of got it working, but it still runs unreliably, and I'm at a loss as to why.
I can get it to run, but it won't
stay running. It will always cut out after anywhere between a few seconds and a minute (although on just one freak occasion it did run for several minutes uninterrupted until I shut it off). Cycling the power on the bench supply will always get it back running again, even if I do so immediately (i.e. no chance to 'cool off'). Sometimes if I leave it on after it has cut out, after a random period it might briefly spring back to life for a second, but then cut off again.
I can't figure out why it won't carry on running.
Things I have tried:
- Checking that no chips on the fan's PCB are overheating. None get even warm to the touch.
- Ensuring I use the proper PWM input frequency, 1-6kHz. Initially I was using some Arduino code to generate the signal, with analogWrite(), but that is fixed at slightly below this range: 980Hz. Increasing to 2kHz didn't have any effect.
- Check the hall-effect sensor is not flaking out - perhaps it incorporates the sensed speed as some kind of feedback, and cuts off if this is missing. However, when the fan cuts out, there continues to be a proper square wave signal on the speed output pin while the fan spins down, so everything seems okay there.
- Ensure the PCB's control logic isn't losing its power supply. There is a 12V LDO regulator on the board, which is fronted by a polyfuse. I thought perhaps the fuse might have been tripping. But no, the 12V rail is unperturbed at the point of cut-out - it consistently puts out ~11.8V at all times.
The only odd thing I can see is that when I scope the PWM input pin when supplying a signal to it, is that the voltage doesn't get pulled down all the way to 0V, but only to around 5V.
The brains of the operation on the board seems to be a
TI SG2524. There is also a 40106 hex schmitt-trigger inverter and an LM293 comparator, plus a pair of beefy P- and N-channel power MOSFETs. Also present are a multitude of unknown 3- and 4-pin SOT-23 parts.
I have no schematics for the PCB to refer to, and probing signals on the board is very difficult because the entire thing is conformally coated with a lacquer-type layer. To do what I have done so far, I have had to scrape the coating off ICs and selected pins/pads. I'm not sure what to do next. Any suggestions welcome!