当前位置: 首页 > news >正文

【NTC热敏电阻】NTC电阻测温电路与ADC换算

NTC电阻测温电路与ADC换算

一、电路结构

  • 电源电压:3.3V
  • 电阻分压结构:
3.3V --- R_fixed(10kΩ) ---●--- R_ntc(10kΩ@25℃) --- GND|ADC采样

在这里插入图片描述

  • 说明:

    • R_fixed 为固定电阻 10kΩ
    • R_ntc 为 NTC 热敏电阻,阻值随温度变化
    • ADC 读取的是中间节点的电压值

二、ADC换算电压

设 ADC 分辨率 = 12 位,则满量程 = 4095。
采样结果记为 adc_val,则电压为:

Vadc=adc_val4095×3.3 (V) V_{adc} = \frac{adc\_val}{4095} \times 3.3 \, (V) Vadc=4095adc_val×3.3(V)


三、电阻计算

根据分压公式:

Vadc=RntcRfixed+Rntc×Vcc V_{adc} = \frac{R_{ntc}}{R_{fixed} + R_{ntc}} \times V_{cc} Vadc=Rfixed+RntcRntc×Vcc

整理得:

Rntc=Rfixed×VadcVcc−Vadc R_{ntc} = R_{fixed} \times \frac{V_{adc}}{V_{cc} - V_{adc}} Rntc=Rfixed×VccVadcVadc


四、阻值换算温度

NTC 特性满足 Beta 模型近似:

1T=1T0+1Bln⁡RntcR0 \frac{1}{T} = \frac{1}{T_0} + \frac{1}{B} \ln{\frac{R_{ntc}}{R_0}} T1=T01+B1lnR0Rntc

其中:

  • TTT = 热敏电阻的绝对温度 (K)
  • T0T_0T0 = 标称温度 (通常 25℃ = 298.15K)
  • R0R_0R0 = 标称温度下阻值 (10kΩ@25℃)
  • BBB = Beta 系数(典型 3435~3950K,具体看数据手册)

换算摄氏温度:

T℃=T(K)−273.15 T_{℃} = T(K) - 273.15 T=T(K)273.15


五、计算流程总结

  1. 读取 ADC 值 → 转电压 VadcV_{adc}Vadc
  2. 由分压公式求 RntcR_{ntc}Rntc
  3. 代入 Beta 方程求温度(K)
  4. 转换为 ℃

六、示例代码 (以村田的型号为NCP18XH103F03RB R0603的NTC为例)

#include <math.h>#define VREF        3.3f
#define ADC_MAX     4095.0f
#define R_FIXED     10000.0f   // 10kΩ 上拉电阻
#define R25         10000.0f   // 25°C 阻值
#define T0          298.15f    // 25°C = 298.15 K
#define BETA        3434.0f    // Murata NCP18XH103F03RB (25–85°C)float NTC_GetTemperature(uint16_t adc_raw)
{// 1. 电压float v_adc = (adc_raw / ADC_MAX) * VREF;if (v_adc <= 0.0f || v_adc >= VREF) return -273.15f; // 错误保护// 2. 计算 NTC 电阻float r_ntc = R_FIXED * v_adc / (VREF - v_adc);// 3. Beta 公式求温度float tempK = 1.0f / ( (1.0f / T0) + (1.0f / BETA) * logf(r_ntc / R25) );return tempK - 273.15f; // 转为摄氏度
}

要点:

  • 一定要知道 NTC 的 Beta 值(比如 B=3950K),否则换算会不准。
  • 如果精度要求高,可以查厂家提供的 NTC 阻值-温度对照表,做查表+插值。

输出:

  • 使用的换算值为adc[2]
    在这里插入图片描述

文章转载自:

http://Ts11Xtwy.jhrkm.cn
http://N3JbKwNl.jhrkm.cn
http://Hq4kD77T.jhrkm.cn
http://2vAhbk1g.jhrkm.cn
http://0woKj7pP.jhrkm.cn
http://yFnJEd0h.jhrkm.cn
http://wq4YXXm4.jhrkm.cn
http://zJLVmtBW.jhrkm.cn
http://8EsViBca.jhrkm.cn
http://1C7xwg5D.jhrkm.cn
http://dln2oJey.jhrkm.cn
http://h3Uz5dMc.jhrkm.cn
http://q0zRmrys.jhrkm.cn
http://ExsIFNR9.jhrkm.cn
http://WzNz2MD0.jhrkm.cn
http://Qt6ufP7d.jhrkm.cn
http://1mpxxiF2.jhrkm.cn
http://Vksuhg8G.jhrkm.cn
http://YN5tfBUs.jhrkm.cn
http://MoFXGegV.jhrkm.cn
http://8xEsi3rU.jhrkm.cn
http://MLzoffJ3.jhrkm.cn
http://f1oXazfT.jhrkm.cn
http://oh0HO4md.jhrkm.cn
http://le7pqh7W.jhrkm.cn
http://wxSiaSXl.jhrkm.cn
http://hIe4FImG.jhrkm.cn
http://qWLAbqhS.jhrkm.cn
http://8eMPjjjo.jhrkm.cn
http://FJicVgu0.jhrkm.cn
http://www.dtcms.com/a/385186.html

相关文章:

  • Gradle深度解析:从构建工具到开发生态系统
  • 本地搭建redis-cluster开发环境
  • 优化浏览体验:4个设置让Google Chrome更好用!
  • V100 部署qwen2.5-vl
  • 企业能源管控联网管理解决方案:为企业节能增效
  • [Dify] 实现“多知识库切换”功能的最佳实践
  • AI大模型开发(多模态+提示词)
  • 专项智能练习(行为主义学习理论)
  • Java 大视界 -- Java 大数据实战:618 精准发券核销率 15%→42%(含生产级代码 + 避坑指南)
  • HarmonyOS 5.0应用开发——V2装饰器@local的使用
  • Redis数据结构:ZipList与Listpack
  • 数据库选型指南:从需求分析到技术决策的全方位解析
  • Linex操作系统-Shell脚本(四)
  • 浏览器为啥要对 JavaScript 定时器“踩刹车”?
  • Linux网络:socket编程TCP
  • 基于python大数据的游戏数据分析系统的设计与实现
  • 巧用ebpf排查linux网络问题
  • Android音频学习(十八)——混音流程
  • Android 开发布局问题:android:layout_weight 属性不生效
  • Android WorkManager的概念和使用
  • PyTorch实战——基于LSTM的情感分析模型
  • 深入浅出 MySQL 的 MVCC:多版本并发控制的工作机制与应用
  • 【完整源码+数据集+部署教程】衬衫组件图像分割系统: yolov8-seg-C2f-EMBC
  • 知识图谱——语义搜索概念解析
  • [系统架构设计师]知识点(二十五)
  • 9.15 ES6-变量-常量-块级作用域-解构赋值-箭头函数
  • 第一章:走进 ES6
  • 9.15 ES6-展开运算符-新增数组字符串方法-字面量对象简写
  • 架构师成长之路-架构方法论
  • 【CTF-WEB】表单提交(特殊参数:?url=%80和?url=@)(通过GBK编码绕过实现文件包含读取flag)