ADS1011/1115 in car application

Hi,
I'm generally looking for an advise with this topic.

I'll give a big picture here but my question is about ADC usage.
I'm building an app which should be able to replace analog car gauges.
All I know about gauges is that they will have some voltage on them 0-12 (* technically 0-14.5 or even more, but for simplicity let's say 0-12) because on the other end of the wire there is a sensor that will drop some voltage from 12* to something because sensor resistance changes cause of temperature, oil pressure, etc...
I've already got almost everything ready except getting actual measurements from ADC.
Before voltage comes to ADC's input it comes through voltage divider 1:7 safe on that side. And I'm not after insane accuracy as gauges that I want to replace even less accurate.
My plan was (since ADS got 4 ports) use channel 4 for measuring current "full" voltage (or base voltage) in the car (AKA ~12v *) measure on 3 other channels readings from sensors.
Since car voltage isn't stable thing plan was to make proportions between measured voltage on channel 4 (base voltage) and other channels and then using formulas replicating gauge behavior calculate my values, display them. Actually readings of channel 4 going to be feeding voltage gauge. And so all channels would be in good use.
There are few factors that making me write this post:

  • I also care about performance of the whole process (CPU wise) and If I could avoid some calculations - that would be ideal.
  • Since I can not read all 4 channels at once - I will be reading them sequentially and base voltage when reading pin 4 might be different when reading other pins - that might introduce unwanted errors.
  • Somehow (can't say where I picked it from) I think that these ADS can directly measure voltage difference between channels. Or am I wrong?

If ADS1011/1115 for real can give me the difference between channels should I rather do that? And that would eliminate a need of some calculations?
If yes ADC can do that and yes I should do that - may be some little example?
And if that is the way to go - will I still be able to measure voltage on channel 4 - to feed my electrical voltage gauge?

And finally.
would you advise to code some kind of software filter (I think they called "low pass filter" not sure though) to avoid random spikes in displayed results or would you say that it is not necessary?
How frequent realistically I can make each following reading from those ADS1011/1115?

Thank you very much!

To say the least.

The automotive environment is extremely harsh, with voltage reversals and spikes of hundreds of volts. Any equipment you build into the vehicle must be very carefully protected from these disasters, or it will soon be destroyed. The ADS series of ADCs is particularly sensitive and easy to fry.

See this technical note for the details and advice: Transient Voltage Suppression in Automotive Applications

You can do differential measurements between specific pairs of inputs. See the multiplexer section of the data sheet.

I found some doc's. Now I see that it is possible.
If connected like: A0&A1, A2&A3 where A0 and A2 will be connected to base car *12V, and A1 and A3 connection to sensors.
Can then, these ADC( [ADS1011/1115]) be alternated [single ended reading / differential reading]? So that I could get readings from 2 sensors in differential mode, and then get reading from A0 and/or A2 using single ended reading?
----- correction --------
So that I could get readings from 2 channels A1 and A3 in differential mode, and then get reading from A0 and/or A2 using single ended reading?

You can only read one configuration at a time. You can set the multiplexer to the configuration you want and then do the reading. You may want to use single shot mode so you have a clue about what it is actually reading. Various libraries may or may not support all the possibilities.

I suggest you start with reading and understanding the data sheet for the ADS1115. You have 4 inputs which can be configured as single ended giving you 4 analog channels or configured as differential giving you two channels. Next you need to look at your sensors and the Vout of most, if not all, automotive sensors is 5.0 volts or lower sent to the ECM module. You start with a clean sheet of paper and list your sensors and what they output. The ADS1115 has 4 address possibilities so using I2C you can, for example, have 4 of them on an Arduino uC or similar uC. They also have a PG (Programmable Gain) allowing you to program the gain settings. I have no idea what base car *12V is? Anyway, start at the beginning by identifying your sensors and what their outputs are and any signal conditioning that you need.

Just My Take
Ron

You are correct, even polarity can get reversed or you get connected to a 24V battery when jump starting. Check this out for a better understanding as to what you are getting into. There is many good app notes such as AN2689 by ST on automotive electronics. reading it will help you a lot.
https://www.st.com/resource/en/application_note/cd00181783-protection-of-automotive-electronics-from-electrical-hazards-guidelines-for-design-and-component-selection-stmicroelectronics.pdf
Also take a look at these: https://www.analog.com/en/technical-articles/distilled-automotive-electronics-design.html and
Transient Voltage Suppression in Automotive Applications
AEC-100 https://media.monolithicpower.com/mps_cms_document/w/e/Webinar_-_Fundamentals_of_AEC-