# How to apply response time graph on sensor value?

The following is LM35 Thermal response time in air

The following is temperature reading from LM35 sensor. Horizontal axis is time in sec.

So this is not "real-time" temperature graph. The question is having thermal response graph, how to best adjust real readings from sensor to get "real-time" values?

-

Are you asking how to deal with the fact that the sensor output is a filtered version of the actual temperature? If so, you could try and build a model of the sensor (first order may be sufficient), characterizing the model (ie, extracting teh parameters) and then some form of observer/estimator. Kalman may be your friend here. Some delay will be inevitable. If your application depends on having real-time values, and a bad estimate can have bad impact, then you need a better sensor or professional advice... – copper.hat Jan 12 at 18:28
@copper.hat: filtered or better to say delayed. The sensor will stabilize temperature after approximately after 300 seconds. If you can form your answer into something more practical I would love to read it and try if I can. – Pablo Jan 12 at 18:31
@copper.hat: all common sensors(including this high precision one) have what is called "time constant", time required for equilibrium, so this I should deal with this calculations. – Pablo Jan 12 at 18:34
Pablo, there are too many issues to give a comprehensive answer here. A simple model of the sensor output would have dynamics $\dot{x} = \frac{1}{T_{\text{sensor}}}(u-x)$, where $x$ is the measurement and $u$ is the actual temperature and $T_{\text{sensor}}$ is the (presumably) thermal time constant. You are trying to estimate $u$ given $x$. This is fairly standard stuff in control systems engineering. However, depending on your application characteristics (maybe the inputs change very slowly, etc.), you can often do better (where better means cheaper, simpler, faster...). – copper.hat Jan 12 at 18:56

## 1 Answer

I would think that you would approach this from several angles.

1. As can see from their three graphs, the conditions that they use to generate are very controlled and they 'somewhat' define them, that is, that used a different part soldered to a different printed circuit board (PCB) with various dimensions. Have you duplicated these conditions for your readings including times, the PCB, the voltages, etc.?

2. These curves are 'typical' responses under those very controlled conditions and your mileage may vary because there are many factors in play.

3. If you look at aL35 Spec Sheet, you see that these are called 'typical' charts and there can be a pretty wide variability as allowed by the specifications of the part.

4. Additionally, in that spec sheet, you see that they 'guarantee' 'Accuracy versus Temperature' and I would recommend trying to validate that the part is meeting those criteria as the typical graphs may be difficult to recreate since there are so many variables.

I would also suggest asking the part manufacturer for more details of the hardware, circuits, PCBs, et. al. in order to duplicate those results. Maybe even the Application Engineers, but I doubt you would make much headway.

However, validating the 'Guaranteed' performance numbers and playing with those characteristics in order to massage your measurements will likely be the most fruitful approach.

Regards

-

+1 (I read this post yesterday, like a couple others, but held off lest I tip the scale in $\uparrow$ 's ;-) – amWhy May 9 at 0:19
{"extraction_info": {"found_math": true, "script_math_tex": 0, "script_math_asciimath": 0, "math_annotations": 0, "math_alttext": 0, "mathml": 0, "mathjax_tag": 0, "mathjax_inline_tex": 7, "mathjax_display_tex": 0, "mathjax_asciimath": 0, "img_math": 0, "codecogs_latex": 0, "wp_latex": 0, "mimetex.cgi": 0, "/images/math/codecogs": 0, "mathtex.cgi": 0}, "config": {"markdown_headings": true, "markdown_code": true, "boilerplate_config": {"ratio_threshold": 0.18, "absolute_threshold": 10, "end_threshold": 15, "enable": true}, "remove_buttons": true, "remove_image_figures": true, "remove_link_clusters": true, "table_config": {"min_rows": 2, "min_cols": 3, "format": "github"}, "remove_chinese": true, "remove_edit_buttons": true, "extract_latex": true}, "english_confidence": 0.9518360495567322, "perplexity_flag": "middle"}