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.
您好!
我们正试图找到一个困扰我们一段时间的问题的根源。
我们的系统是围绕 MSP430fr5989构建的。
我们使用 MCU 的 ADC12B 模块以及 Murata 生产的热敏电阻来监控环境温度。
我们还使用来自 NXP 的外部 PCF8523 RTC 来提供纽扣电池备份时间源。
该外部 RTC 还为我们提供了32.768kHz 时钟、我们使用该时钟为 MCU msp430fr5989提供外部时钟。
我们对 Vref+使用1.2V 的内部基准电压、并验证其值是否为
P1.1引脚。
Murata 热敏电阻的传递函数在0-40摄氏度的温度范围内具有非常高的线性度。
从 ADC12-B 读取原始值的代码基于示例代码 OutOfBox_MSP430FR6989。
从那里、我们删除了与温度传感器无关的所有代码。
在 TP7上读取的电压(请参阅下面的原理图片段)
通过使用热敏电阻传递函数转换理论 ADC 计数
(有关传递函数、请参阅我们的 Excel 文档)
我们在 ADC12MEM0获得的 ADC 计数使我们的温度比通过转换我们在 TP7上读取的电压获得的温度低约3摄氏度。
我们已经试验了各种时钟设置和校准建议。
然而,我们不能弄清楚我们的做法有什么不好。
我将加入此注释、我们在进行此验证时使用的代码以及热敏电阻传递函数。
如果你能帮助解决这个问题,将不胜感激。
e2e.ti.com/.../MightyPuffer-Thermistor_5F00_Trimmed.xlsm.zip
您是否已将 ADC 计数与您在引脚上读取的电压进行了比较?
Bruce、
非常感谢您回答我的帖子。
是的、实际上、我们已经将电弧计数与在引脚上读取的电压进行了比较。
这就是我们确定电压与计数和转换值之间存在差异的方法
我们可以看到、差异约为3摄氏度。
当我们采集原始读数时、我们尝试了几种求平均值和校准方法。
结果始终具有相同的3度误差。
我们还尝试使用原始评估板和 NXP PCF8523来提供永恒的时钟
我将在早上从我的工作台仪器收集一些图片、以说明我们看到的情况。
再次感谢您提供的非常友好的帮助。
是的、您提到您已经进行了端到端比较。 我正在尝试打破您的信号链、以查看事物的误区。
如果 ADC 计数与引脚电压不匹配、则表明 ADC 处于此状态。 如果 ADC 计数与温度不匹配、则表示传输函数(/实现)。
您好 JeanPierre、
我同意 Bruce 的方法。 您的帖子不清楚错误是来自 ADC 读取本身还是转换代码。 我想在您的上一篇文章中、您会说误差是 ADC count =/=引脚处的电压。 是这样吗?
您认为它偏离了多远? (以伏特或 ADC 计数为单位。)
您是否通过示波器查看了电压信号以查看是否存在噪声、是否仅使用 DMM 进行平均值计算?
TLV 数据中提供了一些 ADC 校准数据、可用于提高测量精度。 用户指南的1.14.3.2节 介绍了使用此数据的过程。
谢谢、
JD
您好!
我要向你表示热烈的感谢(所有回答这一问题的人)。
您的意见和问题有助于我们解决问题。
和我们行业的惯例一样:-)错误的原因是提出问题的人。
验证了您提到的各个点后、我们返回到了我们正在使用的 Murata 热敏电阻的传递函数。
初始数据是正确的、因为我们可以在没有温度室的情况下进行测试、我们计划稍后进行测试。
基于基准电压和所选分辨率计算 ADC 计数时出错。
回到基础数学学校后:-)我们得到了一个有效的公式和表格。
我们现在处于温度的+/- 1摄氏度以内。
再次感谢您提供的非常友好的帮助、
JPS