MAX31855 problems, unstable readings,

Adafruit Ethernet, Motor, Proto, Wave, Datalogger, GPS Shields - etc!

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Wizzzz
 
Posts: 2
Joined: Mon Mar 24, 2014 3:11 am

MAX31855 problems, unstable readings,

Post by Wizzzz »

Hi...

...I have some strange problems with the Adafruit MAX31855 breakout board (using the arduino library ). The project is a controller for a 5kilowatt kiln. (heater is controlled by a electric contactor which is controlled by a solid state relais from the arduino board)

First I put everything (arduino Duemilanove, max31855, LCD Nokia 5110, encoder) together on a breadboard and it worked fine. Power supply was from USB from my notebook.

After a successfull testrun of about 8 hours with the kiln I wanted to put everything together in a more robust way. So I soldered the LCD and the encoder to a PCB, the MAX beakout board is still on its own, wired with some single cables.

Here the problem starts for the first time:
- Readings from the TC jumps around, sometimes there are stable offsets, sometimes it says just zero.
After playing around for some time I thought it was a bad connection and soldered the cables directly to the arduino board (instead of using connectors).
Now it seems to be OK again...

- Now I wanted to replace the notebook power supply with an external switching regulator, 8.4Volt
Here are my problems again.... (zero, jumping values, etc)

- I went back to notebook supply and had another testrun with the kiln. In the beginning everthing was fine again: Kiln reached something about 1000°C in 5 hours without any
trouble.
BUT: Around the time the Kiln reached 1060°C immediatly the most of the reading say "NaN". Some were OK, most not...
When the heater of the kiln was not powered all readings were fine
when the heater of the kiln is powered most of the readings were bad.
Reading the error codes says: 0, 2, and 6


This is what I tried yet:
- doubledouble-checked al solderings --> they are OK (i do soldering since 30 years, even smd)
- read Max31855 related problems in this forum
(most of the problems other users had were fixed with a noise canceling cap --> I think on my board this cap is now already on the board design)


So here is what i am going to the next days:
- try to find out if its a grounding problem (ideas anyone? )
- check if the problem is still there after the kiln cooled down, and maybe comes back if its heats up again (is the problem heat-related?)
- try a different power supply (a good old fashioned on without switching noise...)


What I need / searching for / questions:
- schematic of the breakout board
- i have no idea how the breakout board is generating its power. I connected 3.3V to Vin. Is there maybe a problem with drop-voltage of the regulator? Do i have to connect 5 Volts?
- any ideas are welcome


Thanks in advance, (if you miss some more information --> please ask..)
Wizzzz

(please excuse my writing --> i'm no native speaker)

User avatar
adafruit_support_bill
 
Posts: 88154
Joined: Sat Feb 07, 2009 10:11 am

Re: MAX31855 problems, unstable readings,

Post by adafruit_support_bill »

When the heater of the kiln was not powered all readings were fine
when the heater of the kiln is powered most of the readings were bad.
It sounds like you may be picking up some interference from the heating elements. Try routing your thermocouple away from the elements if possible. If they need to cross, try to cross at right angles. You can also try using a shielded thermocouple - or route your existing thermocouple wire through a grounded metal conduit.
I connected 3.3V to Vin. Is there maybe a problem with drop-voltage of the regulator? Do i have to connect 5 Volts?
The regulator is a low-dropout regulator. Either 3.3 or 5v should work on VIN.

Wizzzz
 
Posts: 2
Joined: Mon Mar 24, 2014 3:11 am

Re: MAX31855 problems, unstable readings,

Post by Wizzzz »

Thank you for your quick response...
It sounds like you may be picking up some interference from the heating elements. Try routing your thermocouple away from the elements if possible. If they need to cross, try to cross at right angles. You can also try using a shielded thermocouple - or route your existing thermocouple wire through a grounded metal conduit.
Why does the problem occur after 5 hours of perfect opperation (with heater on an off) ?
The TC is shielded...
A short overview: The kiln is a proffesional Kittec Kiln for pottery. I use the existing wiring etc and I just replace the controll unit. (The old analog one died...)

The regulator is a low-dropout regulator. Either 3.3 or 5v should work on VIN
Is there a schematic available? I have no clue how the board works, is the o.o1uF Cap already installed etc....
I would like to go more deep into debugging but without schematic it is difficult.

User avatar
adafruit_support_bill
 
Posts: 88154
Joined: Sat Feb 07, 2009 10:11 am

Re: MAX31855 problems, unstable readings,

Post by adafruit_support_bill »

Why does the problem occur after 5 hours of perfect opperation
Hard to say. The resistance of Nichrome does increase with temperature. That may have an effect on the EMI from the heating elements.
The TC is shielded...
Is the shield grounded at the amplifier?
Is there a schematic available?
The complete board files are available in github: https://github.com/adafruit/Adafruit-MA ... kout-board

User avatar
Sal80
 
Posts: 2
Joined: Tue Jul 01, 2014 12:31 pm

Re: MAX31855 problems, unstable readings,

Post by Sal80 »

Hi Wizzzz,

have you been able to solve your problem with the random instability of the MAX31855 reading? I have been experiencing the same problem for weeks and I cannot figure out what the problem is. I am using MAX31855 with RPi B+ instead of arduino. In addition to the MAX31855 I am periodically taking snapshots with a webcam every few seconds. In the attached image you can see the type of funky behavior that I experience. The temperature spikes can range between 1C and 10C. Also, as you said, the temperature reading can be fine for 1 day and then all of a sudden starts showing flickering.
Attachments
max31855.JPG
max31855.JPG (29.69 KiB) Viewed 2502 times

User avatar
ColinKing999
 
Posts: 18
Joined: Wed Jan 23, 2019 2:31 pm

Re: MAX31855 problems, unstable readings,

Post by ColinKing999 »

I have a similar problem with a 8 kW kiln. After the temperature has passed about 900 degrees Centigrade, the 31855 starts to issue nan signals. I printed the results of the "isnan" function and got a mixture of 0 (which should be healthy?), 1, 2, 4 and 6. The nans signals come more frequently as the temperature climbs. The Arduino Mega and the other boards are inside a shielded box.

Any advice on how to stop this problem will be gratefully received!

Colin

User avatar
adafruit_support_bill
 
Posts: 88154
Joined: Sat Feb 07, 2009 10:11 am

Re: MAX31855 problems, unstable readings,

Post by adafruit_support_bill »

Shielding the thermocouple leads may help to reduce the noise. But keep in mind that noise is a fact of life in and around high-powered equipment. It is not always possible to eliminate it completely. But there are a number of approaches to signal conditioning that can minimize the effects.

A simple technique that works well for random noise events like those described is to increase your sample rate, keep a running average and ignore NaNs and outliers that differ significantly from recent history.

The thermal mass of a system such as a large kiln is not capable of rapid temperature fluctuations, so it is safe to assume that such spurious readings are noise and should be ignored.

User avatar
ColinKing999
 
Posts: 18
Joined: Wed Jan 23, 2019 2:31 pm

Re: MAX31855 problems, unstable readings,

Post by ColinKing999 »

When this first started to show up, I suspected interference and shielded everything (granted, not the leads) but this didn't explain why the discrepancies seem to appear only after a number of hours of running and at high temperatures. I am ignoring the NaN readings but they are popping up faster as the temperature increases. The thermocouple is new (bought yesterday) so I am discounting problems from that side. Given that the voltage across the thermocouple is of the order of volts, surely the voltage acquisition side of the 31855 shouldn't be struggling. Should I monitor the internal temperature to be able to discount that causation?

User avatar
adafruit_support_bill
 
Posts: 88154
Joined: Sat Feb 07, 2009 10:11 am

Re: MAX31855 problems, unstable readings,

Post by adafruit_support_bill »

When this first started to show up, I suspected interference and shielded everything (granted, not the leads)
The thermocouple leads are probably the part of the system most susceptible to picking up noise.
but this didn't explain why the discrepancies seem to appear only after a number of hours of running and at high temperatures.
Diagnosing EMI problems without instrumentation is tricky. The general approach is to look for likely sources of noise and likely points of entry and try to mitigate them one-by one until the problem goes away.

In this case, the most likely source of interference is switching noise from your temperature control system. At higher temperatures, the controller outputs will be running at a higher duty-cycle. And the heating element resistance will be increasing. This will can have an effect on the characteristics of the EMI being generated.
Should I monitor the internal temperature to be able to discount that causation?
Those additional data points may help narrow down the problem.

User avatar
ColinKing999
 
Posts: 18
Joined: Wed Jan 23, 2019 2:31 pm

Re: MAX31855 problems, unstable readings,

Post by ColinKing999 »

I did another run to about 1140 centigrade. The internal temperature remained at room temperature, more or less, so I am abandoning that line of thought. I let the monitor run for a while after switching off and there was only 1 error reading so I am focusing on the 40 A current flow. I will shield the leads for the next run. I am still baffled as to why the errors pop up after a couple of hours.

As a odd one, why should isNaN report a zero condition for some readings and not for every healthy reading? I understand that isNaN would go non zero only if one or more of the three error states happens.

Watch this space for more questions!

Colin

User avatar
adafruit_support_bill
 
Posts: 88154
Joined: Sat Feb 07, 2009 10:11 am

Re: MAX31855 problems, unstable readings,

Post by adafruit_support_bill »

If you shield the thermocouple leads, tie the shield to ground at the breakout board end only.
As a odd one, why should isNaN report a zero condition for some readings and not for every healthy reading? I understand that isNaN would go non zero only if one or more of the three error states happens.
Can you post an example of such a case? The value returned by the library if any of the error bits are set is NaN. NaN is a specific bit-pattern defined by the IEEE 754 standard. It cannot be interpreted as a valid reading.

The isNaN function is part of the C++ floating point library. It should only return 'true' (a non-zero value) if the value is a NaN.

User avatar
petespaco
 
Posts: 128
Joined: Thu Apr 19, 2012 7:53 pm

Re: MAX31855 problems, unstable readings,

Post by petespaco »

Is it possible that your thermocouple's shielded lead or the sheath itself is touching or close to touching any metal?
If so, as things in and around the kiln heat up and expand, contact with that other metal could change.
And, on the same theme, do you know whether your thermocouple is grounded to the sheath or not?
if it is, some really snaky ground loops can occur.
One solution would be to try an ungrounded thermocouple.
Now that I think about it, there's a slight chance that the thermocouple's junction could be intermittent when it gets hot. 50+ years ago, when I started welding up my own T/C's, I produced a few bad joints myself.

Pete Stanaitis
-------------------

User avatar
ColinKing999
 
Posts: 18
Joined: Wed Jan 23, 2019 2:31 pm

Re: MAX31855 problems, unstable readings,

Post by ColinKing999 »

Hi,

I have installed a shielded, twisted pair cable from the thermocouple into the shielded box with the Mega and the Max31855. Grounded at the breakout board end.

I got the program up to rated temperature (1200 degrees Celsius) but had a lot of IsNaN pickups; see below.

Temp: 1192 Stage 4: Step 3 ( 1659 ) Limit: 1200
Thermocouple Internal reading: 30.56
***** Error code: 6
Temp: 1192 Stage 4: Step 3 ( 1660 ) Limit: 1200
Thermocouple Internal reading: 30.62
***** Error code: 0
Temp: 1192 Stage 4: Step 3 ( 1661 ) Limit: 1200
Thermocouple Internal reading: 30.56
Temp: 1194 Stage 4: Step 3 ( 1662 ) Limit: 1200
Thermocouple Internal reading: 30.62
Temp: 1193 Stage 4: Step 3 ( 1663 ) Limit: 1200
Thermocouple Internal reading: 30.56
Temp: 1193 Stage 4: Step 3 ( 1664 ) Limit: 1200
Thermocouple Internal reading: 30.62
Temp: 1196 Stage 4: Step 3 ( 1665 ) Limit: 1200
Thermocouple Internal reading: 30.56
***** Error code: 2
Temp: 1196 Stage 4: Step 3 ( 1666 ) Limit: 1200
Thermocouple Internal reading: 30.62
***** Error code: 6
Temp: 1196 Stage 4: Step 3 ( 1667 ) Limit: 1200
Thermocouple Internal reading: 30.62
***** Error code: 0
Temp: 1196 Stage 4: Step 3 ( 1668 ) Limit: 1200
Thermocouple Internal reading: 30.62
***** Error code: 2
Temp: 1196 Stage 4: Step 3 ( 1669 ) Limit: 1200
Thermocouple Internal reading: 30.62
***** Error code: 6
Temp: 1196 Stage 4: Step 3 ( 1670 ) Limit: 1200
Thermocouple Internal reading: 30.56
Temp: 1204 Stage 4: Step 3 ( 1671 ) Limit: 1200
Thermocouple Internal reading: 30.56


The readings are 10 seconds apart. If I get a IsNaN pick up, I just use the previous one.

So, error codes all over the place. I am still wondering why isNaN is picking up if it returns a zero?

The thermocouple is new, bought last week. It is ungrounded. It is ceramic tube insulated and sticks through the kiln wall into the middle of the kiln, about 5 cm from the top, so I doubt if we have any grounds happening. Error code 6 should be flagging connections to Vcc and ground. Which then disappear for the next reading.

I am baffled. Any inputs will be gratefully accepted!

Colin

User avatar
adafruit_support_bill
 
Posts: 88154
Joined: Sat Feb 07, 2009 10:11 am

Re: MAX31855 problems, unstable readings,

Post by adafruit_support_bill »

I have installed a shielded, twisted pair cable from the thermocouple into the shielded box with the Mega and the Max31855.
Is that type Kx thermocouple extension wire? Extending a thermocouple with regular copper cable will lead to erroneous readings.

Assuming you are printing the 3-bit error code directly, an error code of 2 indicates a short to ground. An error code of 6 indicates short circuits to both GND and VCC.

An error code of 0 indicates no error. Can you post the code you are using?

User avatar
ColinKing999
 
Posts: 18
Joined: Wed Jan 23, 2019 2:31 pm

Re: MAX31855 problems, unstable readings,

Post by ColinKing999 »

The program is quite long. Can I email it to you?

Colin

Locked
Please be positive and constructive with your questions and comments.

Return to “Arduino Shields from Adafruit”