Random differences in AMG8833 pixel readings

Breakout boards, sensors, other Adafruit kits, etc.

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
User avatar
friedmanwd
 
Posts: 8
Joined: Wed Jan 26, 2022 2:46 pm

Random differences in AMG8833 pixel readings

Post by friedmanwd »

AMG8833 Problem:

Running example sketch pixel_test on an ESP8266 NodeMCU 1.0 (ESP 12-E).

Successive measurements randomly differ by at least +- 1.25 degrees C from one reading to the next

For instance:

19.25 19.25 19 19.5 19.5 19.25 20 19.75
19.5 19 18.75 19.25 19 19.75 19.5 20.25
18.75 19 18.75 19.25 19.75 19.25 20 20.25
19.75 19.25 19 18.75 18.75 19.25 19.5 20.5
18.75 19 18.75 19.5 19.25 19 19.25 19.5
19 19.25 19.25 19.25 19 19.5 19.75 20.25
19.25 19.5 19 19.25 19 20 19.5 20.5
19.25 19.5 19 19 19.5 20.25 20.25 20.5

followed one second later by:

19.75 18.75 19 19 20 19.25 20 20
18.75 18.75 18.75 18.75 19.25 19.25 19.75 20.25
19.25 19.25 18.75 19 19.5 19.5 20 19.5
19.25 19.5 19.5 18.75 19.5 19.75 19.25 20
19 19.25 18.75 19 19.25 19.75 19.5 20.25
18.75 19.25 18.75 19.5 19.25 19.25 19.75 20.5
19.5 18.75 19.25 19.25 19 20 19.5 20.75
19.75 19.25 19 19 20 19.5 20.25 19.25

The individual reading differ by up to 0.75 and -1.25.

The readThermistor() temperature is stable and plausible.

Setup:

ESP8266 NodeMCU 1.0 (ESP 12-E)
AGM8833
Connected with a ready-made STEMM QT cable, no soldering involved

I have tried:

1) setMovingAverageMode(true)
2) Adafruit AMG88xx Library 1.2.2 and 1.3.0
3) Two different AMG88sensors
4) Two different ESP8266 boards
5) monitoring readThermistor()
6) Two different STEMM QT cables
7) Two different power supplies
8) With the AMG8833 close to the WiFi antenna, and far away from it

9) I would have tried to change the sampling rate from 10Hz to 1Hz, but the library doesn't appear to have an API for doing that.
Attachments
amg.jpg
amg.jpg (205.03 KiB) Viewed 184 times

User avatar
sj_remington
 
Posts: 998
Joined: Mon Jul 27, 2020 4:51 pm

Re: Random differences in AMG8833 pixel readings

Post by sj_remington »

That looks like normal measurement noise to me. Sum and average four frames to reduce the noise by a factor of two.

User avatar
friedmanwd
 
Posts: 8
Joined: Wed Jan 26, 2022 2:46 pm

Re: Random differences in AMG8833 pixel readings

Post by friedmanwd »

A quick search doesn't reveal any specification for repeatability, but that seems like an alarmingly poor S/N ratio. Also, none of the Adarfruit examples (thermal_cam, thermal_cam_featherwing, or feather_cam_interpolate) use any kind of averaging, and with such noise surely the output would be unacceptable.
Last edited by friedmanwd on Wed Jan 26, 2022 4:16 pm, edited 1 time in total.

User avatar
sj_remington
 
Posts: 998
Joined: Mon Jul 27, 2020 4:51 pm

Re: Random differences in AMG8833 pixel readings

Post by sj_remington »

I have used the AMG8833 quite a bit, and don't find the noise "unacceptable". If you do find it unacceptable, averaging is an extremely simple fix.

And yes, interpolation (specifically, bicubic interpolation) is indeed used to expand the image to display on a larger screen. As shown in the product page image here: https://www.adafruit.com/product/3538

The AMG8833 data sheet should provide the noise statistics.

User avatar
friedmanwd
 
Posts: 8
Joined: Wed Jan 26, 2022 2:46 pm

Re: Random differences in AMG8833 pixel readings

Post by friedmanwd »

I've looked at the datasheet and it doesn't mention repeatability and doesn't specify noise.

A sensor that, pretty near mid-range, reads 65 degrees Fahrenheit one moment, and a tenth of a second later 71 degrees seems unsuitable for any kind of qualitative measurement.

User avatar
sj_remington
 
Posts: 998
Joined: Mon Jul 27, 2020 4:51 pm

Re: Random differences in AMG8833 pixel readings

Post by sj_remington »

65 degrees Fahrenheit one moment, and a tenth of a second later 71 degrees
That statement sounds exaggerated, and is completely inconsistent with the numbers in your first post, but could be accounted for by genuine variations in the environment.

User avatar
friedmanwd
 
Posts: 8
Joined: Wed Jan 26, 2022 2:46 pm

Re: Random differences in AMG8833 pixel readings

Post by friedmanwd »

I've seen variations of plus minus 1.5 centigrade, so it's entirely consistent.

If the environment - a piece of silicon in the above readings, or a room in the actual application - changed that much in a tenth of a second I'm pretty sure it would explode.

Any information that would help get reasonable performance would be welcome.

User avatar
sj_remington
 
Posts: 998
Joined: Mon Jul 27, 2020 4:51 pm

Re: Random differences in AMG8833 pixel readings

Post by sj_remington »

You have an overactive imagination. The response time of the AMG8833 is in fact around 0.1 second, and I've seen it report temperature changes in the field of view of > 20 degrees, within that time frame, without exploding.

Here is what I get for the AMG8833, running the Adafruit pixels_test, pointing at the ceiling. Note the frame to frame variation for individual pixels, easily subdued by a tiny amount of averaging. Effortless, really. And fun.

Code: Select all

[18.50, 17.75, 18.00, 18.00, 18.00, 18.50, 18.25, 18.50, 
17.75, 17.75, 18.25, 18.00, 18.50, 18.50, 18.25, 20.25, 
17.50, 18.00, 17.75, 18.00, 18.50, 18.75, 19.25, 20.00, 
18.25, 18.25, 18.50, 18.25, 19.25, 18.75, 19.00, 21.00, 
18.00, 17.75, 18.00, 18.00, 18.50, 19.00, 21.00, 25.00, 
18.25, 18.25, 17.75, 18.25, 18.75, 19.25, 22.75, 26.25, 
18.25, 18.25, 18.00, 17.50, 18.50, 19.25, 21.25, 25.00, 
17.75, 18.00, 18.75, 18.00, 19.25, 19.25, 19.75, 20.75, 
]

[18.00, 18.50, 18.00, 18.25, 19.00, 18.50, 18.50, 19.00, 
17.50, 17.75, 18.50, 17.50, 18.25, 18.00, 18.50, 19.75, 
17.50, 18.00, 17.50, 18.25, 18.25, 18.75, 19.00, 20.25, 
18.75, 18.00, 18.50, 18.50, 18.75, 19.25, 19.50, 22.25, 
17.50, 18.25, 18.25, 18.50, 18.25, 19.50, 22.50, 24.25, 
17.75, 18.25, 18.00, 18.25, 19.00, 19.25, 22.25, 26.50, 
18.50, 18.25, 18.00, 18.25, 18.75, 19.25, 20.25, 22.75, 
18.50, 18.25, 18.50, 18.50, 18.75, 19.25, 19.00, 21.00, 
]

[17.75, 17.75, 17.25, 17.50, 17.50, 18.25, 17.50, 18.50, 
17.50, 18.25, 17.50, 17.75, 18.25, 18.00, 18.50, 19.25, 
17.25, 18.00, 17.25, 18.25, 18.50, 18.75, 19.00, 19.75, 
18.25, 17.75, 18.25, 17.75, 18.75, 18.75, 18.50, 21.75, 
17.75, 18.25, 17.75, 18.00, 18.25, 18.50, 21.00, 24.25, 
18.00, 18.00, 18.00, 17.75, 18.50, 19.00, 21.25, 25.75, 
17.50, 18.00, 17.75, 17.50, 18.50, 19.50, 20.25, 23.00, 
18.25, 18.25, 18.75, 18.00, 18.75, 19.00, 19.00, 20.75, 
]


User avatar
friedmanwd
 
Posts: 8
Joined: Wed Jan 26, 2022 2:46 pm

Re: Random differences in AMG8833 pixel readings

Post by friedmanwd »

Your example shows measurement-to-measurement discrepancies of -1.5 / +2.25 between the first and second measurements. Good luck averaging that out over two measurements.

If you've seen > 20 degrees Centigrade change in 0.1 seconds, you should also have observed ice cubes turning to steam in less than 0.5 seconds. Otherwise, just maybe, the sensor was wrong.

User avatar
friedmanwd
 
Posts: 8
Joined: Wed Jan 26, 2022 2:46 pm

Re: Random differences in AMG8833 pixel readings

Post by friedmanwd »

https://mediap.industry.panasonic.eu/as ... ancing.pdf

says that the NETD (Noise Equivalent Temperature Difference) for AMG8833 is:

1 fps setting Typ. 0.05K
10 fps setting Typ. 0.16K

NETD is "measure for how well a thermal imaging detector is able to distinguish between very small differences in thermal radiation in the image".

IMHO random variations of the output by plus or minus 30 x NETD seem problematic.

Figure 12 in the same publication shows individual pixel values differing by plus or minus 1 Kelvin.

Figure 13 there shows readouts for all 64 pixels; assuming that some of these present location where the temperature didn't change, and ignoring crosstalk for the moment, that also shows at least plus or minus 0.5 Kelvin randomness.

So it does look like the sensor is exceedingly noisy. Having the library support 1 FPS mode would definitely be useful (because it seems to average 10 readings).

User avatar
dlleigh
 
Posts: 225
Joined: Wed Jan 30, 2013 8:08 pm

Re: Random differences in AMG8833 pixel readings

Post by dlleigh »

What are you using for a power supply?

User avatar
friedmanwd
 
Posts: 8
Joined: Wed Jan 26, 2022 2:46 pm

Re: Random differences in AMG8833 pixel readings

Post by friedmanwd »

I had previously tried powering from a random USB charger pulled out of a big box, and from a laptop.

However, I've now tried powering from a RIDEN RD6006 and that does seem to make a big difference.

I will try to quantify.

User avatar
dlleigh
 
Posts: 225
Joined: Wed Jan 30, 2013 8:08 pm

Re: Random differences in AMG8833 pixel readings

Post by dlleigh »

USB chargers and computers tend to provide relatively dirty power. Panasonic doesn't spec the power supply rejection ratio (or its temperature equivalent) in the data sheet, but my guess is that the device requires a pretty clean supply. The 3.3V linear regulator in the schematic supposedly has a 100 dB PSRR itself, but there are a lot of ways for noise to leak around it.

User avatar
sj_remington
 
Posts: 998
Joined: Mon Jul 27, 2020 4:51 pm

Re: Random differences in AMG8833 pixel readings

Post by sj_remington »

friedmanwd wrote:If you've seen > 20 degrees Centigrade change in 0.1 seconds, you should also have observed ice cubes turning to steam in less than 0.5 seconds. Otherwise, just maybe, the sensor was wrong.
Sorry, I really can't imagine what you are thinking. Try pointing your sensor at a nearby naked light bulb.

With a bit more experience, you may begin to understand how these sensors actually work. Keep at it!

User avatar
friedmanwd
 
Posts: 8
Joined: Wed Jan 26, 2022 2:46 pm

Re: Random differences in AMG8833 pixel readings

Post by friedmanwd »

Sadly the power supply doesn't explain it.

Standard deviation for individual pixels,

Riden average 0.234003783 (min 0.119873744, max 0.397991456)
Laptop average 0.269115287 (min 0.126269068, max 0.360696605)

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

Return to “Other Products from Adafruit”