核心摘要:NTC热敏电阻的R-T关系是非线性的,工程师常用B值公式进行温度换算,但在宽温区内误差较大。Steinhart-Hart方程是一种更精确的三阶多项式拟合方法,使用A、B、C三个系数,全温区误差可控制在±0.05℃以内。本文对比B值公式与Steinhart-Hart的精度差异,介绍查表法实现方案。
一、两种温度计算方法对比
1. B值公式
RT= R25× exp[ B × (1/T - 1/T25) ]
优点:参数少(仅R25和B),计算简单。
缺点:只在窄温区内准确,宽温区误差大(±1℃以上)。
2. Steinhart-Hart方程
1/T = A + B·lnR + C·(lnR)3
优点:精度高(全温区±0.05℃内)。
缺点:需拟合A、B、C三个系数,计算稍复杂(需自然对数和三次方)。
对比维度
B值公式
Steinhart-Hart
参数数量
2个(R25, B)
3个(A, B, C)
精度(0~100℃)
±0.3~±0.5℃
±0.01~±0.05℃
精度(-40~150℃)
±1~±2℃
±0.05~±0.1℃
计算复杂度
低(指数/对数)
中(对数+三次方)
MCU运算时间
~20μs
~50μs
二、查表法:嵌入式的优解
在MCU资源有限或需要高运算效率时,查表法是佳选择。提前计算好电阻-温度对应表存入Flash,运行时通过二分查找或线性插值获取温度值。
查表法精度取决于表格密度:1℃间隔查表+线性插值,精度可达±0.1℃;5℃间隔+插值,精度约±0.5℃。
三、选型建议
- 温区窄(0~85℃)+ 精度要求低→ B值公式,实现简单
- 温区宽(-40~150℃)+ 精度要求高→ Steinhart-Hart方程
- MCU资源有限 + 效率优先→ 查表法(1℃/5℃间隔)
- 量产产品→ 推荐查表法,速度快、代码可靠
注意:无论用哪种方法,精度终受限于NTC本身的R25精度和B值精度。硬件只有±1%精度,软件算法再精确也无法突破硬件极限。
四、常见问题FAQ
Q1:Steinhart-Hart方程精度是多少?
使用三个温度点拟合的Steinhart-Hart方程,在全温区(-40~150℃)内误差可控制在±0.01~±0.05℃以内,远高于B值公式的精度(B值公式在宽温区内误差可达±1℃以上)。Steinhart-Hart是目前NTC温度计算的金标准。
Q2:B值公式和Steinhart-Hart哪个好?
B值公式简单易用(只需要R25和B两个参数),在窄温区(25℃±25℃)误差较小,适合简单应用。Steinhart-Hart精度高但参数多(A、B、C三个系数),适合宽温区高精度应用。温度范围窄用B值,温度范围宽用Steinhart-Hart。
Q3:查表法和公式法哪个更快?
查表法速度快,只需一次数组索引访问,但占用Flash空间。公式法需要指数/对数运算,在MCU上通常几十微秒到几百微秒。建议:存储空间充足用查表法,MCU算力强且精度要求高用Steinhart-Hart公式法。
Q4:Steinhart-Hart方程怎么用?
Steinhart-Hart方程形式:1/T = A + B·lnR + C·(lnR)³。使用时需要在三个温度点(如-20℃、25℃、100℃)测量对应电阻值,拟合出A、B、C三个系数。然后测出NTC电阻R,代入方程即可算出绝对温度T(单位K,减273.15得℃)。
东莞市源林电子科技有限公司成立于2007年,位于制造名城东莞长安镇,专注于电子保护元件领域,提供过电压保护、过电流保护及温度侦测保护一站式解决方案。公司代理台湾兴勤(Thinking)TKS品牌产品,研发团队与日本、美国品牌厂家有技术合作,产品制程按德国工艺标准执行。
热门跟贴