I am trying to build an engine monitoring system based on the LTC2983.
I used the LTC2983 demo program to generate the code to run tests.
I am using two thermocouples type K, and a diode (actually a BC547 transistor) as the reference for the "cold joint" temperature.
An Arduino Uno is driving the LTC chip.
While the LTC2983 is operational, the readings I am getting are erratic: when placed on a warm environment, temperatures do go up, but they jump around a lot. Same for low (below room temp) temperatures.
Also, it seems I need to recycle power to the Arduino/LTC2983 every now and again, or readings will tend to drift to room temp.
Below is the sequence of tests I ran to understand the behavior of the system (note that before each test there was a power recycle)
I also attached a spreadsheet that shows the data generated. On the blue tabs you can find graphs for each of the tests. The shape of these graphs should help understand what the problem is.
I am looking for ideas on how to debug this.
For all tests:
Probe A on Chan9/10Probe B on Chan3/4Each set of measurements is separated by a 5 sec delay (i.e., print probe A temp, voltage, probe B temp, voltage, "cold joint" temp, voltage - then 5 sec delay, and repeat).
test 1Probe A in freezer. Probe B at room temp.At power up, reading seems reasonable, but after a short while, probe A starts showing room temp (close to probe B and transistor).
test 2Probe A brought out of freezer. Probe B at room temp; power up.
test 3Probe A on range burner. Probe B at room temp; power up
For comparison, probes A and B swapped and tests repeatedProbe A has already cooled down to room temp (or almost).
test 4Probe B in freezer (nominal temp -20 C). Probe A at room temp.; power up
test 5Brought probe B out of freezer. Probe A at room temp.; power up
test 6Probe B on burner. Probe A at room temp.
Thanks in advance
Hi carlossa - apologies for the delayed response.
How do you have the sensors connected to the LTC2983? Is the negative lead of the thermocouple grounded or left floating? We do not apply a bias voltage so you will need to either ground it or apply a known low-noise reference voltage.
The needing to reset Arduino power and the jumping to room indicate something is going on with the sensor connection. Either the probe is open or floating beyond the common-mode range of the part, resulting in zero differential voltage and the probe then reads a temperature equal to the cold junction sensor.
Please provide a schematic if you are using a custom board or a simple wiring diagram if using our demo board.
Logan, thanks for your reply.
We are using a prototyping board (breadboard) for the tests.
The LTC2983 was soldered to a breakout board which in turn was plugged onto the breadboard.
Both sensors are connected through both leads: differential measurements.
The leads are connected to the board with alligator clips.
Note that the arduino power recycle is the only way to change the readings: the reset button on the arduino does not change the readings, they stay at the same level. So I presume powering off/on the circuit is resetting something that the arduino reset button does not...
We have run new tests while waiting for your reply: the probes were moved to other channels, to eliminate the possibility that there was something abnormal with the chip... Please see attached spreadsheets - perhaps additional data will help figuring this out.
Attached is a PDF with an Eagle diagram of the circuit we are using to do the tests, and a couple of pictures.
First - you'll need to connect the negative lead of each thermocouple to GND. Currently the thermocouples are essentially floating - this is likely causing them to stop working effectively and require a power cycle of the Arduino.
Alternatively, you can try biasing it with a low-noise voltage source within the common-mode range of the part. At Vdd=5V the Vrefout can be used for this. I'd try GND first.
Thanks for the suggestion - it did work, see attached file, in particular the graph on the second tab.
This is the sequence of events, where the numbers are the sequential number of the readings:
Probe A is on channels 5+6
Probe B is on channels 15+16
The transistor (reference) is on channel 20.
#11 ice on B/16 cold joint; ice on transistor
#62 ice on B/16 cold joint removed
ice on A/6 cold joint; ice on transistor
#140 ice removed from A/6, kept on transistor
#170 - stop
Do you know why the red line (probe B on channel 15+16) goes down between samples 11 and 21, and then returns to room temp?
Thanks for the help, much appreciated !