目标
我需要使用 MSP430FR2676板载温度传感器实现+/- 2C 的温度测量精度。
问题
在应用用户手册"1.13.3.3温度传感器校准"部分中的公式后、
我得到以下结果:
(Fluke 287 DMM、在我们的温度测试室中配有温度探头- Heraeus Votsch)
实际(Fluke) | -10 | 0 | 9. | 20. | 30 | 41. | 50 |
MSP430 | -6. | 2. | 10. | 20. | 28. | 35. | 43. |
(为简单起见、省略了福禄克小数位数)
在每种情况下、硬件都可以在温度下稳定15分钟。 (硬件未封装、未在机柜中)
ADC
使用内部1.5V 基准将 ADC 设置为12位。 S&H 时间大于30uS (根据数据表的要求)。
该规范
/* MSP430温度传感器在30°C 时的 TLV 校准。 对于原型、该值= 2229 */
#define CALADC_15V_30C *((uint16_t *) 0x1A1A)
105C 时 MSP430温度传感器的/* TLV 校准。 对于原型、该值= 2811 */
#define CALADC_15V_105C *((uint16_t *) 0x1A1C)
在 ADC 转换后、我应用以下公式:
int32_t tmp_int32 = ADCMEM0;
TMP_Int32 -= CALADC_15V_30C;
TMP_Int32 *= 105-30;
tmp_int32 //(uint16_t)(CALADC_15V_105C - CALADC_15V_30C);
TMP_Int32 += 30;
预期
由于 TLV 值涵盖30至105°C、因此我对负温度没有太多期望。
但是,我本来预计温度在30到105之间将在1C 以内?