I've noodled around with Arduino a bit, worked some tutorials. I have an engineering & programming background, but electronics isn't my first language. So apologies if this is a dumb question.
Here's the problem. I've swapped a 2007 GM engine into an older Toyota Land Cruiser. I need to make it compliant with the emissions equipment that was originally on the 2007 vehicle. Most of that is pretty straight forward - catalytic converters, O2 sensors, charcoal canister, purge & vent solenoid valves, a pressure sensor. The one bit I haven't figured out yet is fuel level. The evaporative emissions system requires a fuel level input to the PCM (Powertrain Control Module) so it can figure out when & how to run the fuel system pressure test - the one that turns on your check engine light if your gas cap isn't on tight enough.
One solution would be to put in a GM fuel level sender ... but that involves draining the tank, dropping it, maybe cutting new holes, more wiring, etc. I'm hoping I can fix this in software :)
The GM fuel level sending unit reads 0 ohms empty and 90 ohms full. The existing Toyota sending unit should be 110 ohm empty and 3 ohm full.
So ... is it a feasible thing to build an Arduino based project that reads the resistance from the Toyota sender (without interfering with the Toyota gauge) and translates that to the range expected by the GM PCM?
I'm thinking something like this is the core of it: https://www.arduino.cc/en/Tutorial/LibraryExamples/DigitalPotControl But I don't know what I don't know.
Thanks folks - additional information based on responses:
The Toyota sender is definitely a 12V two terminal unit. Car electrical systems are nominally 12V, but typically are about 13.3V in operation.
The GM sensor is two terminal also. According to the wiring diagram, one terminal goes to a low reference pin on the PCM and the other goes to a pin on the PCM labeled fuel level signal.
But it doesn't tell you the voltage they're applying on that pin - could be just 5V, other stuff coming out of the PCM is. I couldn't find a test procedure either. I'll pin that connector and see what I can measure next time I'm out there.
The fuel level signal is used for two things in the evaporative emissions (evap) system.
- The evap vacuum test can only run when the tank is between approximately 1/3 to 2/3 full.
- The vacuum test is calibrated against how full the tank is - lower fuel level means more air space in the tank means the pressure will change more slowly then compared to a fuller tank.