Speeduino is now on Github Sponsors (Rather than Patreon): https://github.com/sponsors/noisymime
For any discussion not specifically related to your project
By HugoW
#46238
Hi,

my temp readings are way off and I did measure my sensors. I chose sensors to match in TunerStudio and wrote the bias resistor value to 2490 ohm as per the manual. But the readings are way off. Now I measured these (darn small SMD) resistors, R1 and R3, and the AIT one (R1) measures 6530 ohm, and the CLT one (R3) 7290 ohm. Now my eyes are too bad to see let alone read the markings on the SMD resistors, but this is weird. It is common for these resistors to be so far out of spec? If there is someting influencing the measurement is could only be parallel to the resistor hence lowering the measurement, so something increasing the measurement from 2490 to the measured values seems unlogical to me.

Needless to say, both the 2490 values and the measured values don't give me an accurate reading. I just changed the bias resistor values to 24900 (ten times the manual value) and now I at least have a decent reading for ambient temperature on both sensors. This is weird, is there a 10x factor somewhere I missed?

Is there something else going on?
Cheers,

Hugo
Last edited by HugoW on Sun Nov 15, 2020 7:32 am, edited 1 time in total.
User avatar
By PSIG
#46251
Hugo, when I have issues with a circuit I test the values as you did, with all inputs and outputs disconnected. You should see bias resistance of ±2490, and then when powered by USB, find ±5V on the CLT and IAT terminals. Then I test the Mega alone for basic operation, and then the Mega with Speeduino board together, in order to isolate where the issue is (hardware, firmware, settings, etc).

First, get a magnifier and read the resistor values. If they are not correct, you can replace the resistors, or jump them with an added calculated parallel resistor, or try altering the settings as shown below for reasonable results. Note that the temperatures Speeduino uses are relative, so accuracy is not that critical to how they work. They mostly need to be consistent. That said, incorrect readings may point to other issues, and should not be ignored.

For test examples, if you measure the CLT bias resistor (R3) at 4321 ohms, verify your calibration curve (test points) is correct ;) and enter 4321 as your bias value. The powered readings with sensor connected should be somewhere closer to reality. If not, you have more issues.

No joy? Then test the Mega alone for proper operation of those inputs. I have an example posted here: ECT problem Note in this test I used proven values (2490-ohms, 3V3, and "GM") for baseline with known results. If it works properly with that proven combination, it should then work for any other valid combination.

If the Mega tests properly (meaning the Mega, firmware, and the settings are working), then attach the Mega to the Speeduino PCB again and power with USB only. Test the inputs with known values and settings. Place a resistor from a ground to your IAT input terminal, and set for a sensor that will give a reasonable fake temperature. For example, ground your IAT input with a 2200-ohm resistor, and set for a GM IAT sensor. That should force an IAT temperature reading near room temperature.

Somewhere in this process you should either find the issue or clues to what it may be and where it may be. Good luck!

David
By HugoW
#46461
Thanks for the input, David.

I measured with the ECU completely disconnected, getting the values mentioned previously. I have 5V on the board for the sensors when hooked up to USB only. I was able to read the print on the resistors by photographing them and blowing up the pictures. Both read '2492', which makes sense. I actually read 26h2 on one of them, but tipping the picture upside down solved that issue :D

I am going to put a resistor between the IAT pin and ground and between CLT and ground, power the ECU and measure voltages across it. I have a feeling my AliExpress 8 bucks multimeter might not be the most accurate / consistent when it comes to resistor measurement, but is has proven to be good at measuring voltages. If that measurement proves logical and consistent, I will re-measure the sensors in similar fashion, putting them in series with a resistor and measuring voltage at given temperatures.

Cheers,

Hugo
By HugoW
#46544
And now it is even more strange... I borrowed a second multimeter from a friend, and did some measuring. Both multimeters give the same measurements so I guess both are OK. Measuring between CLTpin and +5V gives 6k5 resistance. While all in between should be the 2492 resistor. Same for the IAT pin to +5V. All with the ECU unplugged on the bench.

Next I soldered in a 5k1 resistor from CLT to ground and one from IAT to ground and powered the ECU over USB. Total measured voltage 4,79V. Voltage over the 5k1 resistor is 0,8V and between +5V and the CLT and IAT pins 3,95V, which makes sense as the total is 4,79. But 0,8V over 5k1 seems very low. Let's do the math. 0,8V over 5k1 means (5,1 / 0,8 * 4,79 =) 30k5 total resistance between +5V and ground. And (30k5 - 5k1 =) 25k4. Which should be the resistor on the board, that reads 2492 and measures 6k5. Wow. That is really odd, to say the least. It would explain why my temp readings are off on the Speeduino, but why this is happening I haven't got a clue.

Any input is welcome...
Cheers,

Hugo
By HugoW
#46546
I did, the 5k1 I measured before fitting it and it measured 5k1. On both mulitmeters I have. It came from a pack reading 5k1 on the label and the color code reads 5k1 as well.

Hugo
By HugoW
#46547
And I got a surpisingly simple and clear answer on another forum, which I will now share should anyone else come across this issue:

An SMD resistor with '2492' on it is not 2492 ohm. It is 249 with 2 zeros. So 24900 ohms. Going back to my first post, when I entered 10 times the manual value in Tuner Studio, it gives more sensible readings. And from all the measuring I did with voltages, I got 25k4. Close to 24k9 and could be explained by the not so accurate multimeters and not very high quality resistor accuracy.

Why I measure 6k5 over the resistor when the ECU is not connected to anything else is probably explained by the Arduino port being part of the mix.

Anyway, 24k9 it is...

Cheers,

Hugo
By HugoW
#46567
Yeah, I read them but interpreting them was the biggest issue...


Just an afterthought:

With the engine at temperatures between 80 and 100 degrees C, the sensor resistance is between 300 and 200 ohm. With the bias resistor 24k9, that means the 5V is split 0,050 volts over the sensor (at 250 ohm) and the rest over the bias resistor. I don't think that will measure accurate on the Arduino. At -10 degrees C (if any colder I stay in bed anyway), resistance of the sensor is 16k2, so voltage would be split 2V over the sensor and 3 over the bias resistor. Therefore, I will replace the bias resistors on the board with 1k ones. This means at operating tempts, sensor around 250 ohms resistance, the voltage over the the sensor will be 1V. At -10C the voltage over the sensor will be 4,7V. That is a nice spread for the Arduino to read. And at a minimum of 1k resistance (if the motor is melting down and the sensor is at zero ohms) there is still only 5mA current running through the system.

I will do a similar calculation for my IAT sensor, but at first glance 1k will work well there, too.

Cheers,

Hugo
Last edited by HugoW on Thu Nov 19, 2020 7:10 pm, edited 1 time in total.
By JHolland
#46568
HugoW wrote:
Thu Nov 19, 2020 6:56 pm
With the engine at temperatures between 80 and 100 degrees C, the sensor resistance is between 300 and 200 ohm. With the bias resistor 24k9, that means the 5V is split 0,050 volts over the sensor (at 250 ohm) and the rest over the bias resistor. I don't think that does not work well... I don't really think that will measure accurate on the Arduino. At -10 degrees C (if any colder I stay in bed anyway), resistance of the sensor is 16k2, so voltage would be split 2V over the sensor and 3 over the bias resistor. Therefore, I will replace the bias resistors on the board with 1k ones. This means at operating tempts, sensor around 250 ohms resistance, the voltage over the the sensor will be 1V. At -10C the voltage over the sensor will be 4,7V. That is a nice spread for the Arduino to read. And at a minimum of 1k resistance (if the motor is melting down and the sensor is at zero ohms) there is still only 5mA current running through the system.
Cheers,
Hugo
I think you are quite correct there, the resistors need to be changed.
Knock Sensor working on Speeduino

What knock sensor are you using? The stoc[…]

CLT sensor wrong reading

Thx for quick response, ill check it other day ;[…]

Hi, the original Novitec controller was much more […]

Another type1 Beetle motor

If you have crossbar linkage, you'll need a shorte[…]

Still can't find what you're looking for?