Wanted: temperatures from your cams

Started by escho, December 25, 2013, 08:16:45 PM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

stevefal

I just noticed this thread based on the merge. Great stuff.

Continuing on the logic, I wonder if the feature can be perfected to answer the central question, "Is my camera about to shut down/be damaged?" Here's what I gather:

- people trust Canon to shut down before damage
- it's unclear how many/which sensors are being read
- absolute temperature measurements can't be trusted
- ML is likely reading the sensor that Canon uses to determine chip temperature, even if that's not what's used for EXIF.

It also looks like some people are willing to stick their cameras in the oven! Sooo..

If people were willing to heat up their cameras externally, and then run video enough to cause camera shutdown (while watching ML temp), we could create a virtual scale which is essentially "how close to shutdown/damage".

This scale could be spread between room temperature and shutdown temperature, per camera/class, based on EFIC_CELSIUS. So to be clear:

- capture efic_room as EFIC_CELSIUS when camera powers on at room temp (20 degrees celsius) ambient
- capture efic_shutdown as EFIC_CELSIUS when camera shuts down due to high temperature

Now the UI can be a simple "idiot light" that goes nothing -> yellow -> red:

- nothing < 0.80 * (efic_shutdown – efic_room)
- yellow > 0.80 * (efic_shutdown – efic_room)
- red > 0.95 * (efic_shutdown – efic_room)

The UI could just be "Temp" with either a yellow or red background. Since degrees are meaningless, don't show them.

For cameras that have not been shutdown-tested, we could guess efic_shutdown based on data in this thread.
Steve Falcon

1%

Here is 6D, dunno if enough data points.

C (5D3+3)  R   E
25           150 22
28           155 27
29           156 30
32           161 30
35           166 33
34           164 33

mk11174

700D   

FW 1.1.1

ML Build v2.3.NEXT.2014.jan13.700D111 custom compile with Audio Meters from latest ML-Source from Jan.13,2014

Test done in 78.6 degree room for 30min and cam unused for 12 hours prior of test.

Record mode was 1920x1080x24

Modules loaded were mlv_rec, mlv_snd, mlv_play

Global draw on with ML default stuff enabled

RAW         EXIF

159            33
162            36
167            42
169            45
174            49
171            51
176            54
175            52
177            54
176            54
500D/T1i  550D/T2i  600D/T3i  700D/T5i

escho

@ stefeval
I for my part can say, I want to see the degrees. For me, the coloured warnings are not so important, because such warnings are given by canon firmware (double stuff). But nevertheless,  knowing the temperatures, at which the camera shut down, would be interesting. But I will never force my camera to do so  and do not expect others in doing so.

@ 1%
ThankYou for the values. In this temperature-range all cameras look quite similar (in some boundarys). A more spreaded temperature-range would be needed to be sure, to which of the two classes the 6D belongs. So it´s the best to wait for some other data for the 6D.

@ mk11174
Thanks for measuring. I will work out the function this weekend.

Edgar
https://sternenkarten.com/
600D, 6D, openSUSE Tumbleweed

l_d_allan

Quote from: escho on December 29, 2013, 10:45:47 PM
I´m just doing these test with heating the cam from outside and let acclimate it for some hours,

I wonder how valid such temperatures from an acclimated camera will be. Electronics and especially CPU can heat up quite rapidly, even during boot-up. I think the newer, higher end cams have a more substantial heat-sink, which would help. Maybe?

My speculation is that my 600d doesn't have a substantial heat-sink.

Is there is a way to embed debug statements in the boot-code to write soon-after-cam-turned-on temp values to a log than could be accessed externally, after the fact?

Perhaps an intervalometer function that recorded the internal temp, while the cam was taking pictures of a thermometer so as to facilitate sync of camera and ambient?



l_d_allan

Quote from: dmilligan on January 02, 2014, 10:19:32 PM
I think these are close enough not to matter, really would need a IR thermometer to check it.

FWIW:
Newegg has "Shell Shocker" deals on their house-brand Rosewill infrared thermometers several times a year. IIRC, about $20, free shipping.

SpcCb

Here is datas from 5D mrkII, first column is ML temparature, the second column is temperature from the exifs (RAW).
ML version: Magic Lantern v2.3.NEXT.2013Oct24.5D2212 (32b3601bad92+ (unified) tip)

18 19
18 18
24 24
24 24
27 27
27 27
31 27
31 31
31 31
33 22
32 33
32 32
32 32
38 32
38 38
38 38
38 38
38 38
41 41
41 41
41 41
42 42
42 42
42 42
42 42
42 42
42 42
41 42
41 42
44 44
44 44
44 44
44 44


I could not reach 60°C, even after 20mn running, too cold place here. :P
But I think it's good enough to see temps are similar.

Stedda

I have an IR thermometer... I have some time and can do tests. Exactly where do you want readings from?
5D Mark III -- 7D   SOLD -- EOS M 22mm 18-55mm STM -- Fuji X-T1 18-55 F2.8-F4 & 35 F1.4
Canon Glass   100L F2.8 IS -- 70-200L F4 -- 135L F2 -- 85 F1.8 -- 17-40L --  40 F2.8 -- 35 F2 IS  Sigma Glass  120-300 F2.8 OS -- 50 F1.4 -- 85 F1.4  Tamron Glass   24-70 2.8 VC   600EX-RT X3

escho

5d2 looks clear, x-128
700D nearly the same: x-132

I´m a bit busy at the moment, so more tomorrow

Thanks for testing

Edgar
https://sternenkarten.com/
600D, 6D, openSUSE Tumbleweed

escho

Quote from: Stedda on January 18, 2014, 04:08:41 PM
I have an IR thermometer... I have some time and can do tests. Exactly where do you want readings from?

Hi all

Yes, testing this stuff with an infrared thermometer would be fine. For doing this, I would try like this:

Recording a video-file for to heat the camera
Testing the cam at some different temperatures (low, medium, high for example)
Measuring at each temperature some parts inside the camera. Sensor bottom side, sensor top side, other parts
shooting a pic at each temperature and extract the temperature, shown in the exif of the pic.
Writing down the according temperatures here in this thread: exif-temp, Celsius by ML, raw by ML, IR-temperatures.
Beeing very quick in testing this.

I think, someone started measuring with an thermometer some time ago, but nobody followed him. It would be interesting to see, wheter the measured temperatures match to temperatures, showed by ML or extracted from exif. But I think, this test isn´t very simple to do accurate, because, if the lens is removed, the temperature inside the camera will change very quickly.

Edgar
https://sternenkarten.com/
600D, 6D, openSUSE Tumbleweed

escho

The converting-functions for 5D2 and 700D are pushed to ML-repo and should appear in the next nightly

Edgar
https://sternenkarten.com/
600D, 6D, openSUSE Tumbleweed

escho

Quote from: l_d_allan on January 15, 2014, 07:29:47 PM
I wonder how valid such temperatures from an acclimated camera will be. Electronics and especially CPU can heat up quite rapidly, even during boot-up. I think the newer, higher end cams have a more substantial heat-sink, which would help. Maybe?

Hihi, 5D3 and 600D are at the same level: high end cams, because they show the same temperature-response-curve. I love my 600D  :)
https://sternenkarten.com/
600D, 6D, openSUSE Tumbleweed

zloe

I have some measurements for the 6D:
raw  temp in C
151   26
152   30
159   35
162   36
166   43
167   40
171   45
173   42
175   45
176   46
177   48
181   42
181   42
181   44
182   49

I hope this helps, does not really look like a linear relation.
I'll repeat these tests later this week.

- Klaus
EOS 6D, EOS 650D both with ML, EOS 80D (no ML, ... yet)

escho

Thanks for helping, Klaus. I will have a look at the values at the end of next week (I am a bit busy at the moment)

Edgar
https://sternenkarten.com/
600D, 6D, openSUSE Tumbleweed

zloe

Wouldn't it be possible to use scripting to automate this tests and also reduce mistakes?
Is it possible to get the raw temperature reading from the script and write it to a file?
I would love to write such a test script.

- Klaus
EOS 6D, EOS 650D both with ML, EOS 80D (no ML, ... yet)

zloe

Just saw that scripting is not yet reactivated.

Here are the new values I measured today.
I wrote down the raw value before and after taking the image:

time    raw-before  raw-after  temp C
19:02   151        151   26
19:04   152         152   30
19:05   156        156   33
19:06   156        159   36
19:08   159        159   38
19:09   164        164   39
19:11   166        166   41
19:12   166        166   42
19:13   171        171   42
19:16   175        175   45
19:16   175        175   45
19:18   175        175   46
19:19   177        177   47
19:20   177        177   47
19:22   176        176   48
19:23   181        181   48
19:25   181        181   49
19:30   183        183   50
19:32   183        183   51

- Klaus
EOS 6D, EOS 650D both with ML, EOS 80D (no ML, ... yet)

racso

Quote from: zloe on July 17, 2014, 07:48:39 PM
Just saw that scripting is not yet reactivated.

Here are the new values I measured today.
I wrote down the raw value before and after taking the image:

time    raw-before  raw-after  temp C
19:02   151        151   26
19:04   152         152   30
19:05   156        156   33
19:06   156        159   36
19:08   159        159   38
19:09   164        164   39
19:11   166        166   41
19:12   166        166   42
19:13   171        171   42
19:16   175        175   45
19:16   175        175   45
19:18   175        175   46
19:19   177        177   47
19:20   177        177   47
19:22   176        176   48
19:23   181        181   48
19:25   181        181   49
19:30   183        183   50
19:32   183        183   51

- Klaus

[EOS 6D, using raw-after as RAW]

The best, simple fitted curve has a cubic function;
temp_C = -4152 + (72,2 * RAW ) - (0,4193 * RAW2) + (0,000815 * RAW3)
That one had R-Sq(adj) 97,7%

The best linear function:
temp_C = -69,12 + (0,6558*RAW)
R-Sq(adj) 95,3%

The quadratic function:
temp_C = -351,9 + (4,045 * RAW) - (0,01011 RAW2)
has an R-Sq(adj) of 96,8%

Omitting the raw-after of 26 Celsius, the linear function seems ok.
One would need more data points in the lower and upper temp segments to be sure, though.
With more points, a better fit... a simpler equation?

/Oscar

zloe

Quote from: racso on July 18, 2014, 01:16:51 AM
...
One would need more data points in the lower and upper temp segments to be sure, though.
With more points, a better fit... a simpler equation?

/Oscar

I'll give it a try to come up with more data points in the lower and upper temp area.
Have to get up early to be able to measure temperatures below 26°C, but the upper part should be easy.

- Klaus
EOS 6D, EOS 650D both with ML, EOS 80D (no ML, ... yet)

zloe

Ok, I have some new values in the lower and upper temperature range for the 6d:

Time    raw-before raw-after temp C
00:03   150     150   24
01:04   149     149   23
07:05   146     146   22
07:13   146     146   22
09:12   146     149   23

13:08   161     161   34
13:08   163     163   37
13:17   173     173   50
13:23   183     183   54
13:40   186     183   56
13:40   185     185   57
13:47   187     187   60
13:48   189     189   60
13:52   189     189   63

Anything else we need in this area?

- Klaus
EOS 6D, EOS 650D both with ML, EOS 80D (no ML, ... yet)

escho

Added a plot for 6D: http://www.magiclantern.fm/forum/index.php?topic=9673.msg93158#msg93158
I guess, we can live with a function like this: 85/100*raw - 102
I will create a pull request this weekend. Thanks for helping.

Edgar
https://sternenkarten.com/
600D, 6D, openSUSE Tumbleweed

Hey

Hmm I'm afraid my test results on the 500D are not reliable, and will never be. First there is a really weird bug where the camera crashes randomly when recording in video mode, so the test was not possible to do. What I did was 25 x 1min clip and a picture between two videos, although I still had a lot of crashes

Then, the temperature doesn't seem to update properly (500D not fast enough?) and I had to reboot the camera, change mode, open a few times the ML menu... And still, the results are everything but what they should be :



166 51
166 54
167 54
167 55
167 54
167 55
168 55
168 55
168 57
168 58
169 58
169 59
169 60
172 60
172 60
172 60
173 62
172 62
173 63
173 64
175 64
173 64
175 64
175 64
173 64


So I thought about other ways of heating up the camera, I guess I'll try 1min photos. Maybe we can interpret those numbers ? Like to me it would seems 175 = 64°.

I'll make others tests soon.

Hey

More test, this time temperatures were took between 2min photos :


155 26
157 30
157 31
158 32
158 32
157 32
158 32


Again, not really reliable.

Edit : more


150 25
155 30
157 32
157 32



150 27
157 40
158 45
162 48
163 51
166 54
167 55
168 59
168 59


It seems like the function is not the same for lower temps...

escho

Hi Hey

You don´t need to record a video clip, if that is not possible due to camera hickup. It is sufficient to switch on live view for heating the sensor. So, if you have some time, please try this:

1. Switch your cam off an let it cool down. The cam should have time enough to cool down.  A night on a balcony is no bad idea, I think.
2. If you wake up early next day, switch the cam on and immediately take a photo. That´s our first pair of values (exif-temp from the pic and raw temp from ML)
3. Turn on LV and take a pic every 1 or 2 minutes. The exif-temps from these pics and the raw values, you notice are the next values we need. The raw values should be read out immediately before or after a shoot

A wide spreaded temperature range is more important than many pictures at similar temperatures.

Edgar
https://sternenkarten.com/
600D, 6D, openSUSE Tumbleweed

Hey

Gotcha, I'm going to try to do timelapse tonight and then do it tomorrow, although I think that the value not updating is really an issue, most of the time if I reboot the camera it will be 2 or 3 different.

stoopkid

550D
Nightly.2014Oct07.550D109

Raw Exif
152 28
154 40
155 49
157 53
158 55
158 56
158 58
161 60
161 60
161 60
162 60


A little weird. For the equation I took out the 162 because I think it was a fluke, it only registered 162 for a moment and I don't know if it was still there when I took the photo.

temp = -0.4062*(Raw^2) + 130.64*Raw - 10444