I have a 86’ Porsche 944 Turbo that I’ve converted to electric drive…here’s a very out of date blog if you are interested Push.
What I’m trying to do is control my factory temperature gauge to show the temperature of my Soliton 1 controller. The controller puts out a voltage from 0-13.5V that equates to 0-100 Celsius. It’s actually not a linear voltage, but a 13.5V square wave with a duty cycle that varies from 0-100%.
The temperature gauge has three pins…1 is 13.5V from the main car battery, 2 is ground and 3 is a varied resistance to ground which used to be a temperature sensor mounted somewhere in the engine. This varied resistance is what I need to simulate. Attached is a picture of the gauge showing known resistance values and the temperature they equate to. I used this to create the attached Excel graph/spreadsheet to get all the resistance values I need in between these known values.
The Arduino Uno only takes in voltages up to 5V on the analog input pins, but I need to send it values up to 13.5V. I’m thinking maybe I use three 5k resistors in series between my controller and ground, and read the value between the last two resistors which should go from 0-4.5V?
Should I read the voltage or the duty cycle? If reading voltage, I imagine I would need to add a capacitor in there somewhere to “smooth” out the signal?
Once I can accurately read in the voltage/duty cycle, how do I create the resistances needed to move the gauge to the proper location? I purchased several MCP4251 chips thinking I could use two 5k digital pots and a fixed 500 ohm resistor in parallel, which is what the Excel spreadsheet shows and in theory that works. However, once I got the chip I realized you can’t really get below 100 ohms on the digital pots, and I also didn’t take into account the very small current rating or the fact you can’t send voltages much different than the source voltage to the pots.
Any other ideas how to get a variable resistor? Maybe some kind of digital multiplexer that allows me to switch to up to 32 different fixed resistors or something?