I have a customized electric PWM cooling fan setup on my truck. The OEM engine computer is capable of operating a PWM fan based upon inputs of either coolant temp or AC pressure (GM 0-5VDC). I use an aftermarket software product to modify its settings. I added a PWM fan- it replaced an electro-mechanical fan.
The engine computer operates the fan based upon coolant temp, but not for AC pressure. Using scanning software that reads the engine computer, I see both volts and pressure from the AC sensor, but the fan never comes on. I have reached out to the software vendor, and am awaiting help.
In the meantime, it occurred to me that an Arduino may be capable of solving the problem. I saw a post dealing with converting volts to PWM here, but that looks to be a basic linear conversion.
What I need to do is have the fan operate at a slower speed as pressure builds, and then at some point max out and remained maxxed out. As such, I cannot use a linear output. As a basic idea of what I need to do, here are some numbers:
Pressure sensor fan range:
100-350 PSI (it operates up to 500 PSI, but a moot point beyond 350, see below)
Pressure sensor is 3-wire: 5V reference, ground, and signal.
PWM duty cycle (higher number is lower fan speed, with 90 being minimum and 15 being maximum, outside that range the fan stops) would need to be something like 90% for 110 to 120 PSI, then 80% for 121-135, then 70% for 136-150 and so on until it hits 15% at around 230 PSI. The pressure switch shuts down the AC compressor @ 350 PSI and reopens it @ 229.
- Is this a viable project for an Arduino, taking into consideration it would need to be in a sealed case under hood?
- Would it be possible to power the Arduino from the 5V reference signal? It is used for several engine sensors.
Any constructive advice is welcome.