interface with automotive pwm fan contoller

Hi,

I have a car radiator fan and also a fan controller that I pulled from a wrecked Mercedes. The fan controller has four thick wires being power in and fan connections and also 2 thin wires which I believe take a PWM signal from the cars computer to control the fan speed.

I would like to be able to control the fan speed via Arduino using PWM. I am hoping to use the fan controller that I pulled from the car as it will save me from having to buy a motor controller (it seems that a motor controller that can handle the current draw of the fan will be quite expensive).

I've wired up the fan to the motor controller and connected the two thin wires to arduino ground and analog pin, however it doesn't work - no matter what PWM value I set the fan still spins at full speed.

Unfortunately I don't know anything about the fan controller - I've tried googling the numbers that are stamped on it but I haven't found anything useful.

I thought maybe the fan controller needs a 12v PWM signal instead of the 5v from the Arduino?? If so I could try using a transistor??

Does anyone have any suggestions or advise on what I could try to get this to work?

As you may have guessed I'm and electronics (and arduino) noob so please tell me if I am wasting my time.

Thanks!

I don't konw much about new cars, much less mercedes, but I would doubt the fan has much speed controll. probably HIGH and LOW, maybe a MEDIUM. post a pic of what you cut out of the car for me, and I might be able to guess a bit for ya.

ok, thanks, you may well be right as I was only guessing (hoping) that it was some sort of PWM controller!

I know that most cars just have one or two speed settings switched by relays however this one appears to be more sophisticated.

Anyway here's a couple of pics of the unit:

and the internal components:

Any ideas?

Edit: the unit is branded HKR, I believe it is something similar to this: http://www.hkr-seuffer.de/files/hkr_k__hlerl__ftersteuerger__t-variante1_eng.pdf

its probably more complicated than this, being a modern mercedes, but best case scenario for you is the thing uses the variable resistance of a temp guage somewhere to controll speed. dig up the wiring diagram for that model mercedes (or any model like it, year probably matters most) and it will show you how it worked. the other option is hook up wires randomly!

protect yoru arduino. give the power wires 12 volts, now the two control wires I would bet one expects 12 volts and the other expects a resistor, so hook up a nice pot to it and tie the other side of the pot to ground. power it up and spin the pot and see if it controlls fan speed, maybe there are just 3 speeds controlled by the pot within certain ranges, or you could be lucky and have full fan controll!

i would start w/ a 250k pot. play with polarity, hope for the best

ok i got less lazy and followed your link, and I think i found your problem. my last post is wrong, ignore it.

the pwm on the arduino is too slow. the unit expects 1khz pwm signal. I bet the arduino can do this tho, how good are you w/ microcontrollers?

Ok thanks!

I guess I need to figure out how to set the PWM frequency to 1khz.

Can this be done using code in my sketch? I have an arduino uno if that makes any difference.

Have a look at Arduino Playground - TimerPWMCheatsheet and http://arduino.cc/en/Tutorial/SecretsOfArduinoPWM.

if you are using a mega, i can do you one better:
http://arduino.cc/playground/Code/PwmFrequency

the spec sheet says it can take PWM or LIN, lin is a simple bus comm protocol, sounds like it may uses the 12 v line to work its magick, and I would hazard a guess you have a snowballs chance in a hot place to figure that out. stick to the PWM

And another Info Source: http://arduino-info.wikispaces.com/Arduino-PWM-Frequency

Thanks for the info guys. I tried using pin 5 which should give the required 1khz signal but it still didn't work. I also tried the manual bit banging code to be sure the PWM frequency was correct. Finally I tried using a transistor to increase the output voltage to 12v but still no go!

so I think I will have to give up on this motor controller unfortunately...

I am right in thinking that instead I should be able to PWM control the fan from Arduino just by using something like a TIP142 darlington transistor?

edit: the fan draws about 5a continuous, but spikes up to 10a on startup.