如何获得电子表格中的数据值?我在图1中绘制了“十”表,因为RTD的温度系数是“几乎是线性的”,只有在65点附近有一个阶跃函数的方法才是,如果你改变了这一点上的电流,那么,就没有办法从图1中近似出图0的曲线,比如说0。到400度,用一条直线,正如你所提议的,将会起作用。你的公式为0到400是无稽之谈,就像是从200到400,或者,读出的数字在10000以上。因此,70度的ADC值是10173,而不是173?通过这样的“修正”,这种关系在整个范围内看起来“几乎是线性的”。我在图2中展示了这一点。无论如何,线性部分的斜率大约是0.034度/ADC计数,因此分辨率优于0.1度/计数,但是用斜率截距近似直线近似的“直线”部分(或者,等效地,使用两点)。Mula的误差在几百度的范围内。使用线性最小二乘近似可能会稍微减少误差,但误差仍然是一个数量级(或更多)比分辨率更差。或者,你可以考虑将温度范围分成更小的部分。使用3度的多项式可以得到电阻与温度的公式。例如,参见HTTPS://www. PICOTECH.COM/Labaly/Appult- No.Pt100-Primin电阻-温度计,也许您可以尝试将这些转换为允许温度与ADC读数的近似值,或者您可以尝试(分段)对数据点的最小二乘多项式近似。最后一个注意事项:请记住,在一系列ADC读数达到10000,如表中,您将需要一个14位ADC。如果参考电压为3.3伏特,则一个ADC计数将是几百微伏。一个第十的程度将是大约三个ADC计数,它代表大约600微伏。噪音加上模拟元件偏移和其他错误必须积极控制。祝你好运!问候,戴夫
以上来自于百度翻译
以下为原文
How did you obtain the data values in your spreadsheet?
i plotted your "Tens" table in Figure 1.
Since the temperature coefficient of an RTD is "almost linear" the only way you could have a step function in the neighborhood of 65 degrees is if you changed the current at that point.
Now, there is no way that approximating the curve of Figure 1 from, say 0 to 400 degrees, with a straight line, as you propose, is going to work. Your formula for 0 to 400 is nonsense, as is the one from -200 to 400
Or, maybe, the readout is missing digits above 10000? So that the ADC value for 70 degrees is 10173 instead of 173? With "corrections" like this, the relationship looks "almost linear" throughout the entire range. I show this in Figure 2.
Anyhow...
The slope of the linear portions is something like 0.034 degrees/ADC Count, so the resolution is better than 0.1 degrees/count, but approximating the "nearly straight line" portions with straight lines using slope-intercept (or, equivalently, using the two-point formula) results in errors of several degrees over a range of a couple hundred degrees. Using a linear least squares approximation might reduce the errors a little, but the errors will still be an order of magnitude (or more) worse than the resolution. Or, you might consider breaking the temperature ranges into smaller pieces.
Formulas for resistance vs temperature are available, using polynomials of degree 3. See, for example,
https://www.picotech.com/library/application-note/pt100-platinum-resistance-thermometers
Maybe you can try converting these to allow approximation of temperature vs ADC readings Or you could try (piecewise) least squares polynomial approximation of your data points. Or some such thing.
Final note: Keep in mind that with a range of ADC readings up to 10000 as in your tables, you will need a 14-bit ADC. If the reference voltage is 3.3 Volts, one ADC count will be a couple hundred microvolts. A tenth of a degree will be something like three ADC counts, which represents about 600 microvolts. Noise plus analog component offsets and other errors will have to be aggressively controlled.
Good Luck!
Regards,
Dave
Attached Image(s)
如何获得电子表格中的数据值?我在图1中绘制了“十”表,因为RTD的温度系数是“几乎是线性的”,只有在65点附近有一个阶跃函数的方法才是,如果你改变了这一点上的电流,那么,就没有办法从图1中近似出图0的曲线,比如说0。到400度,用一条直线,正如你所提议的,将会起作用。你的公式为0到400是无稽之谈,就像是从200到400,或者,读出的数字在10000以上。因此,70度的ADC值是10173,而不是173?通过这样的“修正”,这种关系在整个范围内看起来“几乎是线性的”。我在图2中展示了这一点。无论如何,线性部分的斜率大约是0.034度/ADC计数,因此分辨率优于0.1度/计数,但是用斜率截距近似直线近似的“直线”部分(或者,等效地,使用两点)。Mula的误差在几百度的范围内。使用线性最小二乘近似可能会稍微减少误差,但误差仍然是一个数量级(或更多)比分辨率更差。或者,你可以考虑将温度范围分成更小的部分。使用3度的多项式可以得到电阻与温度的公式。例如,参见HTTPS://www. PICOTECH.COM/Labaly/Appult- No.Pt100-Primin电阻-温度计,也许您可以尝试将这些转换为允许温度与ADC读数的近似值,或者您可以尝试(分段)对数据点的最小二乘多项式近似。最后一个注意事项:请记住,在一系列ADC读数达到10000,如表中,您将需要一个14位ADC。如果参考电压为3.3伏特,则一个ADC计数将是几百微伏。一个第十的程度将是大约三个ADC计数,它代表大约600微伏。噪音加上模拟元件偏移和其他错误必须积极控制。祝你好运!问候,戴夫
以上来自于百度翻译
以下为原文
How did you obtain the data values in your spreadsheet?
i plotted your "Tens" table in Figure 1.
Since the temperature coefficient of an RTD is "almost linear" the only way you could have a step function in the neighborhood of 65 degrees is if you changed the current at that point.
Now, there is no way that approximating the curve of Figure 1 from, say 0 to 400 degrees, with a straight line, as you propose, is going to work. Your formula for 0 to 400 is nonsense, as is the one from -200 to 400
Or, maybe, the readout is missing digits above 10000? So that the ADC value for 70 degrees is 10173 instead of 173? With "corrections" like this, the relationship looks "almost linear" throughout the entire range. I show this in Figure 2.
Anyhow...
The slope of the linear portions is something like 0.034 degrees/ADC Count, so the resolution is better than 0.1 degrees/count, but approximating the "nearly straight line" portions with straight lines using slope-intercept (or, equivalently, using the two-point formula) results in errors of several degrees over a range of a couple hundred degrees. Using a linear least squares approximation might reduce the errors a little, but the errors will still be an order of magnitude (or more) worse than the resolution. Or, you might consider breaking the temperature ranges into smaller pieces.
Formulas for resistance vs temperature are available, using polynomials of degree 3. See, for example,
https://www.picotech.com/library/application-note/pt100-platinum-resistance-thermometers
Maybe you can try converting these to allow approximation of temperature vs ADC readings Or you could try (piecewise) least squares polynomial approximation of your data points. Or some such thing.
Final note: Keep in mind that with a range of ADC readings up to 10000 as in your tables, you will need a 14-bit ADC. If the reference voltage is 3.3 Volts, one ADC count will be a couple hundred microvolts. A tenth of a degree will be something like three ADC counts, which represents about 600 microvolts. Noise plus analog component offsets and other errors will have to be aggressively controlled.
Good Luck!
Regards,
Dave
Attached Image(s)
举报