Wanted: temperatures from your cams

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

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

escho

ThankYou for the temp-values for 550D. Please, could you provide some more values from let´s say exif-temperatures between 10°C and 50°C?
Edgar
https://sternenkarten.com/
600D, 6D, openSUSE Tumbleweed

stoopkid

Sure, here it is with the old number in there and a little overlap. I can't get it much lower because my city doesn't seem to.

Raw Exif
139 14
140 14
141 14
144 22
145 28
146 33
148 37
148 38
149 36
150 35
150 38
150 41
152 42
152 37
153 38
153 41
153 34
154 47
154 48
154 40
155 49
157 53
158 55
158 58
158 56
159 51
161 60
161 60
161 60
162 60


And this seems to give it a more linear trend

temp = raw * 2.0854 - 276.03

escho

Great, Thanks. I will have a look at it one of the next weeks. But first I have to buy a new PC, because my oldone is dying.
Edgar
https://sternenkarten.com/
600D, 6D, openSUSE Tumbleweed

Tralfaz

Not sure how much this will.  These readings were taken on a Canon T1I/500D camera.  The ML raw values stopped at 158 while the exif temperatures continually increased until I got the red flashing thermometer on the display. So, I stopped so I wouldn't damage my camera.  The right side of the camera was hot to the touch as was the SDHC memory card.  I am using the Nightly.2015Jan29.500D111 build.

Canon T1I/500D

RAW TEMP (celcius)

153 35
158 49
158 56
158 63
158 71

Hey

What a coincidence, I also did the 500D today, as I said I would ;) Here are the results :



I guess it is pretty safe to say deg = raw*1.5 - 190.

Tralfaz : with the 500D you need to restart your camera for the temp reading to update.

Tralfaz

Thanks Hey, for the help on shutting off the camera.

Here are new readings that were taken about 2 minutes apart.  My card filled up so this was as far as I could go.


Canon T1I - 500D

RAW TEMP (celcius)

149         36
159         43
163         49
167         53
168         58
169         61


Hey

Great! Although the datas are not really reliable, the R² should be as close as possible to 1:



As the temperature go up quickly maybe try to take a picture every minute. Also we only need the exif data, so you could lower the resolution to take more pictures. A thing I noted is that it seems that the function is not the same for cold temps, maybe it's the same for hot ones. Or maybe it's a polynomial funtion ?

Hey

Ok here are the graphs from my previous data (previous page), if anyone can explain... So either the function is not the same, or it's something else than a linear one. Maybe it's the same thing for other cameras ?



Final edit, this is driving me crazy. Tralfaz please use this sheet so we can find the equation! :)

https://docs.google.com/spreadsheets/d/12E3tAWiCnO5nTulnxZZRNexnWo34cBoAYNqSL-Us6xk/edit?usp=sharing

gmalin54

EOS M
Nightly 2015 Nov10.EOSM202
temperatures measured :
RAW     EXIF
178        13 C
186        15 C
193        16 C   
196        16 C
208        22 C
211        25 C
218        28 C
228        31 C
231        33 C
231        34 C

These measurements were done by heating the sensor with video for ~ 20 min

Timber72188

Ok, I really hate to ask this question, but I kinda have to. I do not know coding, nor am I very good at math. L

So, according to the ML sensor reading, at what point should I start to be worried about my temperature?

I have a T5i/700D

Walter Schulz

Cam will tell you: Overheating warning implemented by Canon.

escho

Update:
Functions and diagramms for the cameras, where the mesurement-values are known, can be seen here: https://seescho.wordpress.com/2016/04/24/temperaturanzeige-mit-magiclantern/
I will create a pull-request with the new functions next days.
Edgar
https://sternenkarten.com/
600D, 6D, openSUSE Tumbleweed

escho

I looked over all the data, we have till now.

Here you can look to the spreadsheet of the results: https://seescho.files.wordpress.com/2016/05/tabelle-temperaturen.jpg
And the diagrams are here: https://seescho.wordpress.com/2016/04/24/temperaturanzeige-mit-magiclantern/

I calculated all functions new, using libreoffice-calc.

These are the functions, I will upload to ML


Grop 1: x-128
1100D
650D
500D
7D
5D2

Group 2: 1,2x-160

700D
500D

Group 3: 0,4x-60

EOSM

Group 4: 2,1-280

550D

Group 5: 0,6x-65
600D
5D3

Group 6: 0,8x-93
60D
6D

The Cams in detail

EOSM

alone in group 3
maybe group 5
more data needed to be sure

1100D
lookes like group 1
more data needed to be sure

700D
My old calculation seems to be wrong (group 1)
Now in group 2

650D
lookes fine for group 1

600D
slightly other function for group 5
lookes fine

550D
alone in group 4
not sure to be the correct function
much discordant values
more data needed

500D
One measurement serie seams to be not correct.
Fits to group 2

60D
seems to be in group 6
first value out of order
more data needed

50D
fits fine to group 1
first value out of order

7D
fits fine to group 1

6D
fits to group 6
some discordant values

5D2

fits to group 1
some discordant values

5D3
fits fine to group 5
some discordant values

More data needed for:
EOSM
1100D
550D
60D
https://sternenkarten.com/
600D, 6D, openSUSE Tumbleweed

Licaon_Kter

Thanks for the PR on EOS M. Looks good so far.

m1k6

I did some testing with 1200D.
See the table below. (A => RAW; B => EXIF (°C))
Looks like it is close to group 5 (0,6x-65).
What do you think?

Greg

500D startup log :
PropID(0x80030014)Parameter(167)Size(4)
PROP_EFIC_TEMP 39Ž



Values of a few log files :

26°C -> 154 RAW // 154 - 26 = 128
27°C -> 155 RAW // 155 - 27 = 128
30°C -> 158 RAW // 158 - 30 = 128
39°C -> 167 RAW // 167 - 39 = 128

--------------------------------------------

Canon function raw to °C :

int FF064EE4(int a1)
{
  int result;

  result = a1 - 128;
  MEM(0x2C20) = result;
  return result;
}

m1k6

@Greg: Can you tell me how you found the raw -> °C function?
I got my fw dump ready to go.

Greg

550D :

The simplest way :
- find LDR R2, =0x80030014,
- in this function find BEQ 0xFF0657C8,

0xFF0657C8
LDR    R1, =0x2A48
SUB    R0, R0, #0x80  // -128
STR    R0, [R1,#0x34]


So 550D also (raw - 128) = °C

escho

@ m1k6
Thanks for the values. I will have a look at them later next month (I´m a bit busy at the moment)

@Greg
Some years ago, we had a discussion about x-128:
http://www.magiclantern.fm/forum/index.php?topic=1509.msg92280#msg92280

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

dfort

I'm posting this in response to your comment on my bug report, Temp goes from 41°C to -60°C

I got lost the first time I ran the test so I set up a stopwatch and shot a picture every minute while recording video. Another issue encountered was that the display would alternate between two screen layouts every time the shutter was released. On the layout with no information on the bottom of the screen I couldn't bring up the ML menu. That made it impossible for me to read the debug menu and give you the raw numbers.

These are the two screen layouts:





EOSM - 2.0.2
2016Aug24 build

Built on 09-23 22:10:47 UTC by [email protected].

numbers are: temp reading off display, exiftool -CameraTemperature *.CR2 and minutes
20 20 00
26 25 01
32 28 02
34 32 03
34 32 04
36 35 05
37 36 06
37 37 07
38 37 08
38 37 09
41 39 10
41 40 11
-60 40 12
-60 41 13
-60 41 14
-60 41 15
-60 42 16
-60 43 17
-58 43 18
-58 43 19
-58 44 20
-58 44 21
-56 45 22
-56 45 23
-56 46 24
-56 46 25

End reading:
-56°C, -68°F, 12 raw

after cooldown
19°C, 66°F, 198 raw


Maybe I should have made a longer test but it didn't seem like the temperature was going up very rapidly after a while. Note that I have never had my EOSM stop because of overheating. If the exif data is accurate it only got up to 46°C after running continuously for 25 minutes.

The readout jumping to -60°C, that's a bit of a problem.

Kharak

Your framerate also changed, question is if your video also has a alternate framerate or if it is just the layout
once you go raw you never go back

a1ex

Quote from: dfort on September 03, 2016, 02:15:50 AM
Another issue encountered was that the display would alternate between two screen layouts every time the shutter was released. On the layout with no information on the bottom of the screen I couldn't bring up the ML menu.

The alternate display appears when you press the shutter halfway, and should disappear as soon as you release it.

Probably ML thinks the half-shutter remains stuck for some reason. To diagnose it, you could print HALFSHUTTER_PRESSED in a loop and see if this is the case.

I can try to reproduce it on a 700D, as it uses the same method. 5D3 works fine, just tested. I only have to take pictures while recording a H.264 video, with global draw on, right?

dfort

Quote from: a1ex on September 03, 2016, 02:37:31 PM
I only have to take pictures while recording a H.264 video, with global draw on, right?

Correct -- I also have a 700D and can't reproduce the issue on it. Guess I should open a bug report for the EOSM.

Quote from: Kharak on September 03, 2016, 07:57:58 AM
Your framerate also changed, question is if your video also has a alternate framerate or if it is just the layout

The video is fine, it is just the layout.

In any case this is moving off topic. Hope the temperature test sheds some light on the issue of going from 41°C to -60°C on the EOSM.

escho

It looks like the efic_temp, we can adress, has values between 0 and 255. Values higher than 255 begin with 0 again.
This is no problem for the cams, because they will shutdown by Canon firmware, before they reach these high raw-values. EOS-M seems to play another role. The raw values are much higher from the beginning. So 255 can be reached easily. Result is, The next value will be 0.

The converting-function from efic to celsius can be found in platform/camera/consts.h. For the EOS-M it looks like this:

// temperature convertion from raw-temperature to celsius
// http://www.magiclantern.fm/forum/index.php?topic=9673.0
#define EFIC_CELSIUS ((int)efic_temp * 40 / 100 - 60)


A workaround for this problem could be, to change the function in the EOS-M const.h:

If 0 <= efic_temp <=50 than
    efic_temp = efic_temp + 256
endif

#define EFIC_CELSIUS ((int)efic_temp * 40 / 100 - 60)


Since I am no coder (what I´m doing is try and error), I don´t know the syntax for this function. So, if this workaround is wanted and possible, some of you have to code it :)

Another way for this temperature-stuff would be, to find the PROP, canon uses to write the temperature-data to the exif-tags. If this PROP is updated periodicaly and if we can read it out, we would have a nice x - 128 for all cameras.

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

a1ex

What about this?


#define EFIC_CELSIUS (MOD(efic_temp - 150, 256) * 40 / 100)


Before and after (efic_temp = 0 ... 255):

-60 -60 -60 -59 -59 ... 40 40 40 41 41 42
42  42  43  43  44 ... 40 40 40 41 41 42