Simpler analog input board

Hardware inside and outside of the ECU
Post Reply
User avatar
AndreyB
Site Admin
Posts: 14327
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Simpler analog input board

Post by AndreyB »

We already have a working universal analog input board - the only issue is that it is too universal and this makes it bigger, as in too many square inches.

With a less universal board we would gain in simplicity - for example, for thermistors we would only need one pull-up resistor and that would be it. Question: can we use 3 volts pull-up for coolant and intake air thermistors instead of usual 5 volts?
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
User avatar
abecedarian
Posts: 386
Joined: Fri Nov 15, 2013 10:49 am

Re: Simpler analog input board

Post by abecedarian »

My suggestion is to use 5v to the sensors then divide the returned signal 0.5x through an op-amp. You're not losing much doing so- likely less than the error of the ADC.

An 8 bit ADC has 256 'values' and with a 2v5 reference and using an op-amp as I mentioned could resolve to 0.01 volts. A 12 or 16 bit ADC could resolve better than 0.001v and 0.0001v, respectively, not considering LSB errors of course.
You can lead the horticulture but you can't make them think.
User avatar
abecedarian
Posts: 386
Joined: Fri Nov 15, 2013 10:49 am

Re: Simpler analog input board

Post by abecedarian »

I think you can ignore the post I just made since I think I mis-interpreted your question.

Can you send 3v3 to a temp sensor and read the resistance and determine the temperature?
Yes, you can.
But since the temp sensor is spec'd at 5v, the resistance read will be different if sent 3v3.
So you will need calibration points based on 3v3, or take a chance doing some math.
You can lead the horticulture but you can't make them think.
User avatar
AndreyB
Site Admin
Posts: 14327
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Simpler analog input board

Post by AndreyB »

abecedarian wrote:My suggestion is to use 5v to the sensors then divide the returned signal 0.5x through an op-amp.
This is the way this works already - but that's plenty of components (like 4 or five). Why not feed sensors with 3v and have only ONE component per sensor (pull-up resistor?)

The sensor is just a thermistor - it changes it's resistance with temperature. It does not know anything about voltage.
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
User avatar
abecedarian
Posts: 386
Joined: Fri Nov 15, 2013 10:49 am

Re: Simpler analog input board

Post by abecedarian »

russian wrote:
abecedarian wrote:My suggestion is to use 5v to the sensors then divide the returned signal 0.5x through an op-amp.
This is the way this works already - but that's plenty of components (like 4 or five). Why not feed sensors with 3v and have only ONE component per sensor (pull-up resistor?)

The sensor is just a thermistor - it changes it's resistance with temperature. It does not know anything about voltage.
Agreed, the sensor knows nothing about voltage. But, the ECU must know the correlation between voltage and temperature.
Or at least the resistance, and thus voltage, the sensor exhibits at various temperatures.
You can lead the horticulture but you can't make them think.
User avatar
AndreyB
Site Admin
Posts: 14327
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Simpler analog input board

Post by AndreyB »

abecedarian wrote:Agreed, the sensor knows nothing about voltage. But, the ECU must know the correlation between voltage and temperature.
Or at least the resistance the sensor exhibits at various temperatures.
The ECU already knows that it should take voltage, convert it to resistance and calculate temperature based on the resistance. The code is more or less in thermistors.c
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
User avatar
abecedarian
Posts: 386
Joined: Fri Nov 15, 2013 10:49 am

Re: Simpler analog input board

Post by abecedarian »

My point was that most sensors operate at 5v0 so pull-up to 5v0 and measure the voltage drop across the sensor works.
If you change the voltage to 3v3, it will draw more current, and without proper calibration may not have its readings interpreted correctly.
The response of the sensor may change if the voltage changes.
You can lead the horticulture but you can't make them think.
User avatar
kb1gtt
contributor
contributor
Posts: 3758
Joined: Tue Sep 10, 2013 1:42 am
Location: ME of USA

Re: Simpler analog input board

Post by kb1gtt »

I had posted this some time ago, it might be handy for a comparison. http://jaredharvey.com/Files/projects/Engine_control/snow_blower/Murata_temp_curve.xls To change to 3.3V change cell C5 to 3.3 instead of 4.5. Take note that many thermistors do not like to go over 2mW, so when column G goes over 2.00, that's starting to cause some problems with the sensor. Using a 2.5k resistor instead of 2.2k, and dropping to 3.3V helps keep that column under 2mW.
Welcome to the friendlier side of internet crazy :)
Post Reply