主题中讨论的其他器件: MSP430FR2355
您好!
我正在为我们的一个应用开发 MSP430fr2353微控制器。
我们必须为我们的应用使用内部温度传感器、在该应用中、我们必须读取从0°到50°以上的温度范围。
内置温度传感器是否能够在该范围之间读取数据?
此致
Sanath Rai
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好!
我正在为我们的一个应用开发 MSP430fr2353微控制器。
我们必须为我们的应用使用内部温度传感器、在该应用中、我们必须读取从0°到50°以上的温度范围。
内置温度传感器是否能够在该范围之间读取数据?
此致
Sanath Rai
您好、Hi Cash Hao
感谢你的答复。
当我使用 Msp430fr2353时、如果我在 器件数据表的 TLV 表(表6-70)中使用105度或85度值、
ADC 内部共享2.5V 基准电压、
每 台机器的温度为30°C 1A22h
每单元1A23h
ADC 内部共享2.5V 基准电压、
高温(3)
每台机器1A24H
每单元1A25h
我的温度传感器内部基准电压为2.5V
此致
Sanath
您好、现金、
现在、我们使用以下问候语和公式读取温度。
基准为2.5V。
公式为
最终温度=(原始 ADC-CALADC_25V_30C)*(75)/(CALADC_25V_105C-CALADC_25V_30C)+30;
CALADC_25V_30C - 1A22h
CALADC_25V_105C - 1A24h
我们的器件最低达到17度。 我们将设备放在冰箱中1小时、但观察到的最低温度为17度。
但我们能够读取器件中的室温。
您观察到哪些实际值? (RAW_ADC、CALADC_25V_*)以及变量类型是什么?
我在其他器件(示例)中观察到、很容易使算术转换出错和/或在算术中获得下溢/溢出。 无论好坏、示例 msp430fr235x_ADC12_16.c 都以浮点方式实现、这不是很有启发性。
我现在要做的是收集一组实际值(使用调试器)并使用计算器进行算术运算。 这将区分(a) ADC 错误与(b)校准常数错误与(c)算术错误。
您好、Bruce、
我们调试了器件并检查了原始 ADC 值、并与数据表中给出的值进行了交叉验证。
下面是我们的观察结果
注意: 我们的基准电压为2.5V
因此、根据用户指南(使用集成温度传感器的21.2.7.8)、对于12位 ADC 、在0度时的电压为700mV、即1147 (原始 ADC 值)
我们使用的是公式
VSSENSE=TCsensor *温度+ Vsensor
温度=((Vsense-Vsensor)/(TCsensor))
Vsensor 为0度时的值、700mV (1147是 ADC)
Vsense 从膨胀温度传感器器件的 A12通道中读取的 ADC 值。
TCsensor 是 Tem珍珠 系数、在转换到 ADC 时为2.32mV/度、即3.801088
所以
温度=((ADC RAW - 1147)/(3.801088))
现在,在室温下,我们读出的是30度 ,这是正确的,但当我们将设备放在冰箱里3个小时时,我们能够读出 大约22度的温度,这使我们对 读数有点怀疑。
30度时、原始 ADC 值为1261、这是根据0度 基准 ADC 的正确读数。
测试较低温度(从0度到50度)的正确方法是什么?
请建议。
此致
Sanath
我得到的数字与你的数字完全不同--我的2.5/30常数是1285,我的2.5/105常数是1625,我的电子表格计算为 Temp=0.221*ADC-253.456或2.76mV/度。
但我明白您的意思:我在 Launchpad 上(直接在 MCU 上)放了一个 icepack、我读取的最低值为8.38度(1187个 ADC 周期)。 我想这是一种自我加热的东西。 您是在冰箱中读取温度(-14C)还是先取出温度?
数据表编号为"典型"、并且因器件而异。 我将使用示例 msp430fr235x_ADC12_16中的公式、该公式针对2.5V 基准和105C 额定值进行了调整:
>IntDegC =(temp-CALADC_25V_30C)*(105-30)/(CALADC_25V_85C-CALADC_25V_30C)+30;
示例如下:
https://dev.ti.com/tirex/explore/node?node=AAtVKPeBbLjsgyiiEaXSdA__IOGqZri__LATEST
正如我理解的那样、这些值表示"使用2.5V 基准电压、在温度 T 下、我们测量了这么多 ADC 节拍"。 如果我们认为传递函数是线性的[参考 UG (SLAU445I)图21-19]、这两个点描述了一条线、该线为我们得到的任何 ADC 读数(节拍数)提供温度。 这些数字与数据表(SLASEC4C)表5-10中的数字并无根本不同、但它们的描述有所不同。 一个可分离的问题是 ADC/传感器/封装是否能够生成给定数量的 ADC 节拍(ADC=0节拍、例如看起来不可能实现)。
我使用的是 FR2355、因为我没有 FR2353。 我认为、出于这些目的、器件是相同的。
[完全披露:我实际上不使用内部温度传感器。 如果我需要温度、我设计一个单独的传感器、以便尽可能远离 PCB 上的任何热源。]