☰
快速测温体温计方案开发:主控芯片、ADC与MCU选型及量产校准
2026/9/30 2:35:19 网站建设 项目流程

体温计这个品类,看起来简单,真要做一款能过医疗注册检、能量产、成本还压得住的方案,里面的门道比大多数人想象的多得多。我前后参与过三款电子体温计的方案开发,从最早期用分立运放搭仪表放大器,到后来用集成式AFE,再到最近用通用MCU加外部ADC做低成本方案,每一代都踩过不同的坑。这篇内容主要面向做小家电、医疗电子硬件的工程师,以及正在选型体温计方案的方案商和品牌方,把快速测温体温计从主控芯片选型、ADC采样链路设计、温度算法到量产校准的完整思路拆开讲一遍。核心关键词就几个:芯片方案、方案开发、主控芯片、ADC、MCU,但每一个词背后都有一堆需要权衡的细节。

1. 快速测温到底"快"在哪里,先搞清楚需求边界

1.1 传统体温计的响应瓶颈不在算法,在热传导

很多人第一次做体温计,会下意识觉得"快速测温"是个软件算法问题,认为只要算法够聪明,采样几毫秒就能算出体温。这个认知偏差会导致整个方案方向跑偏。电子体温计的测量对象是人体,探头贴到腋下或额头,热量从人体传到传感器敏感元件本身就需要时间。传统腋下电子体温计要等三到五分钟,根本原因不是MCU算得慢,而是热平衡没建立起来——传感器温度还没追上人体温度,你采到的电压值反映的是"正在升温中的探头",不是体温。

所以快速测温方案的核心矛盾是:如何在热平衡尚未完全建立时,就通过有限的温度采样点,预测出最终稳定温度。这就把问题从"提高采样速度"变成了"建立热传导模型加预测算法"。理解这一点,后面所有的芯片选型和电路设计才有正确的出发点。

1.2 不同测量部位的"快"标准完全不同

腋下、口腔、额头、耳道,这四个部位的快速测温实现难度是递增的。腋下测量接触面积大、环境相对封闭,热传导模型最稳定,用预测算法做到十到十五秒出结果是比较现实的。口腔测量受舌下位置和口腔开合影响大,需要更鲁棒的算法。额头和耳道属于红外非接触测量,那是另一套完全不同的技术路线,涉及红外热电堆传感器和发射率补偿,和接触式NTC方案不是一回事。

这篇内容聚焦接触式NTC方案,因为这是目前出货量最大、成本最敏感、也是"主控芯片加ADC加MCU"这套组合最能发挥价值的方向。红外方案虽然也用到ADC和MCU,但传感器前端差异太大,需要单独展开。

1.3 精度要求决定了ADC的有效位数下限

医疗体温计的精度要求通常是正负0.1摄氏度,部分标准要求正负0.05摄氏度。NTC热敏电阻在37摄氏度附近的温度系数大约是负的百分之四到百分之五每摄氏度,配合分压电路后,每摄氏度对应的电压变化量取决于电路参数。假设我们用一颗10千欧的NTC,在37度时阻值约6千欧,配合10千欧上拉电阻和3.0伏参考电压,每摄氏度对应的电压变化大约在30到50毫伏之间。

要分辨0.05摄氏度,就需要分辨大约1.5到2.5毫伏的电压变化。如果参考电压是3.0伏,那么ADC的有效分辨率至少要达到12位(3.0伏除以4096约等于0.73毫伏),考虑到噪声和有效位数损失,实际选型时14位到16位是比较稳妥的。这就是为什么很多低成本方案用12位ADC勉强能过,但一致性差、校准工作量大,而稍微好一点的方案都会上16位ADC或者用外部高精度ADC芯片。

2. 主控芯片选型:通用MCU还是专用AFE

2.1 通用MCU加外部ADC的性价比账

用通用MCU做主控,外挂一颗16位ADC,这是目前中低成本体温计方案里最常见的组合。MCU负责按键、LCD显示、蜂鸣器、定时、算法运算和电源管理,ADC专门负责NTC电压采集。这种方案的好处是灵活,MCU可以选国产的通用型号,ADC也可以根据精度需求灵活搭配,整体BOM成本可以压得比较低。

但这里有个容易被忽略的问题:MCU和ADC之间的通信会引入噪声和时序开销。如果ADC通过SPI接口和MCU通信,SPI时钟频率、走线长度、地线处理都会影响采样结果的稳定性。我见过一个方案,ADC本身信噪比很好,但因为SPI走线从DC-DC电感旁边穿过,采样值跳动达到正负3个LSB,直接导致温度显示末位乱跳。后来把SPI走线改到板子另一面,中间加地线隔离,问题才解决。

2.2 集成AFE的方案省事但不够灵活

市面上有一些集成了NTC激励、放大、ADC和温度换算的专用AFE芯片,MCU只需要通过I2C读取温度值就行。这种方案开发周期短,算法由芯片厂商保证,适合快速出产品。缺点是灵活性差,你想改采样率、改滤波参数、改预测算法,都得看芯片支不支持。而且这类芯片往往单价偏高,在价格战激烈的体温计市场,成本压力很大。

我的经验是,如果产品定位是走量款、对成本极度敏感,通用MCU加外部ADC更合适;如果是中高端款、强调测量一致性和开发速度,集成AFE可以接受。但无论哪种,MCU本身的低功耗特性和LCD驱动能力都是必须重点考察的。

2.3 MCU选型时必须确认的几个硬指标

选MCU不能只看主频和Flash大小,体温计方案有几个特殊要求。第一是低功耗,体温计通常用纽扣电池供电,待机电流要控制在微安级别,测量时也不能超过几毫安。第二是内置LCD驱动,段码屏是体温计的主流显示方案,如果MCU不带LCD驱动,就得外挂驱动芯片,成本和板面积都上去了。第三是ADC触发方式,如果MCU自带ADC,要确认是否支持定时器硬件触发采样,软件触发在低功耗场景下会频繁唤醒CPU,增加功耗。

还有一个容易踩的坑是MCU的复位电压和电池电压的关系。纽扣电池用到后期电压会降到2.0伏左右,如果MCU的最低工作电压是2.2伏,那电池还剩不少电的时候设备就罢工了。选型时要确认MCU在2.0伏甚至1.8伏下能否正常工作,这直接影响用户体验和电池寿命标称值。

3. ADC采样链路:从NTC到数字值的每一个环节

3.1 NTC分压电路的设计取舍

NTC的阻值随温度变化,要把它变成电压信号,最简单的方式是和一个固定电阻串联分压。上拉电阻的选值很关键:选得太大,低温区灵敏度高但高温区电压变化小;选得太小,高温区灵敏度高但低温区分辨率不够。体温计的关注区间是35到42摄氏度,所以上拉电阻的阻值应该选在NTC在这个区间中点的阻值附近。

以10千欧的NTC为例,37度时阻值约6千欧,那么上拉电阻选6.2千欧或6.8千欧比较合适。这样在35到42度区间内,分压点的电压变化比较均匀,ADC的每一位都能得到充分利用。如果随手选个10千欧上拉,在高温区电压变化会明显变缓,有效分辨率下降。

另外,NTC的供电不能直接用电池电压,因为电池电压会随电量下降。必须用LDO或者基准电压源给分压电路供电,否则测出来的温度会随电池电量漂移。这是新手最容易犯的错误之一,用电池直接供电,结果电量一低温度就偏。

3.2 ADC参考电压的选择与噪声抑制

ADC的参考电压决定了转换的绝对精度。如果用MCU的电源电压做参考,那电源上的任何波动都会直接反映到采样结果上。体温计方案里,建议用独立的基准电压源,比如2.5伏或3.0伏的基准芯片,给ADC提供参考。基准源的初始精度和温漂要重点关注,初始精度影响绝对精度,温漂影响不同环境温度下的一致性。

参考电压的噪声抑制也很关键。基准源输出端要加去耦电容,通常是一大一小并联,比如10微法和0.1微法。大电容滤低频噪声,小电容滤高频噪声。如果基准源和ADC之间的走线较长,还要考虑加RC滤波。我实测过一个方案,基准源输出没加去耦,ADC采样值的峰峰值噪声比加了去耦的情况大了将近一倍。

3.3 采样时序与NTC自热效应

NTC是有自热效应的,电流流过NTC会产生热量,导致测到的温度比实际温度偏高。自热误差和流过NTC的电流平方成正比。要减小自热,就要减小激励电流,但电流太小又会导致ADC采样时信号太弱、容易被噪声淹没。这是一个需要平衡的问题。

常见的做法是间歇式激励:只在采样瞬间给NTC供电,采样完成后立刻断开。这样平均功耗和自热都很小。但间歇激励会带来另一个问题:NTC和分压电容需要建立时间。如果激励时间太短,分压点的电压还没稳定就采样,结果会偏低。我的经验是,激励时间至少要是RC时间常数的五到十倍。假设分压点等效电容是0.1微法,等效电阻是3千欧,时间常数是0.3毫秒,那么激励时间至少要1.5到3毫秒。

采样时序上,建议用定时器硬件触发ADC,在激励稳定后延迟一小段时间再启动转换。这个延迟可以用定时器的比较通道或者MCU内部的触发延迟功能实现。软件延时在低功耗场景下不现实,因为CPU要一直醒着等。

3.4 采样数据的滤波处理

ADC采到的原始值一定是有噪声的,直接用来算温度会导致显示末位跳动。滤波是必须的,但滤波方式要选对。最简单的均值滤波会引入滞后,对于快速测温场景不合适,因为温度本身在快速变化,均值滤波会把变化也滤掉。

我比较推荐的是中值滤波加滑动平均的组合。先连续采比如八个点,去掉最大和最小,剩下的取平均。这样既能抑制突发噪声,又不会引入太大滞后。如果MCU资源允许,还可以加一个一阶低通滤波,系数根据采样率调整。但要注意,滤波会引入相位滞后,如果后面还要做温度预测算法,滤波太狠会影响预测的准确性。

提示:滤波参数不要照搬别人的方案,因为采样率、NTC型号、电路参数都不同。建议在实测中用示波器或者串口打印原始数据,观察噪声特性后再定滤波参数。

4. 温度计算与快速预测算法

4.1 从ADC值到温度的换算路径

ADC值先要换算成NTC阻值,再通过阻值换算成温度。阻值换算用分压公式,温度换算用Steinhart-Hart方程或者查表加插值。Steinhart-Hart方程精度高但计算量大,需要浮点运算或者定点模拟。查表加线性插值计算量小,但需要存储表格,精度取决于表格密度。

对于体温计这种关注区间窄的应用,我倾向于用分段线性插值。在35到42度区间内,每隔0.5度存一个ADC值,实际测量时找到相邻两个点做线性插值。这样表格不大,计算也简单,精度足够。如果MCU有硬件除法器或者浮点单元,用Steinhart-Hart也可以,但要注意浮点运算的功耗和代码空间。

4.2 快速预测算法的核心思路

快速预测的本质是用前几秒的温度上升曲线,外推最终稳定温度。人体体温计的热传导过程可以近似用一阶或二阶系统描述。一阶系统下,温度随时间的变化是指数逼近,理论上只要知道初始温度、目标温度和当前温度,就能算出任意时刻的温度。但实际上目标温度是未知的,需要从曲线形状反推。

常用的方法是采集前若干秒的温度序列,拟合出一条指数曲线,然后取曲线的渐近值作为预测体温。拟合可以用最小二乘法,也可以用简化的两点法或三点法。两点法是取两个时间点的温度值,根据经验公式直接算。三点法类似,但用三个点提高鲁棒性。这些方法在MCU上都能实现,计算量不大。

但预测算法有个前提:被测部位的热接触必须良好且稳定。如果探头没贴紧,或者测量过程中移动了,曲线就会畸变,预测结果会严重偏离。所以算法里通常要加一个接触检测,判断温度上升速率是否在合理范围内,如果异常就提示重新测量或者切换到慢速模式。

4.3 预测算法的参数标定

预测算法里的系数不是拍脑袋定的,需要用实测数据标定。标定方法是:用标准温度源(比如恒温水浴)模拟人体温度,记录体温计从室温放入水浴后的完整温度曲线,然后用这条曲线去拟合算法参数。不同体温计的热设计不同,参数也不同,所以每款产品都要单独标定。

标定时要注意,水浴的温度要覆盖35到42度,每个温度点至少测十次,取平均曲线。还要考虑环境温度的影响,因为热传导速率和环境温度有关。如果产品要在不同环境温度下使用,标定数据要覆盖比如10度到40度的环境温度范围,算法里可能需要根据环境温度做补偿。

5. 量产校准与一致性控制

5.1 为什么每台体温计都需要校准

NTC本身有阻值公差,通常是正负百分之一到正负百分之三。分压电阻也有公差,基准电压源也有初始精度。这些误差叠加起来,如果不校准,每台体温计测同一温度可能差0.3度以上,完全达不到医疗标准。所以量产时必须逐台校准。

校准的原理很简单:把体温计放在已知温度的标准环境中,读取ADC值,和理论值比较,算出一个修正系数,写入MCU的Flash或者EEPROM。实际测量时用这个系数修正计算结果。校准点通常选在37度附近,因为这是体温计最关注的温度。如果精度要求高,可以在35度和41度各校准一个点,做两点校准。

5.2 校准工装的设计要点

校准工装的核心是一个温度稳定的环境,通常是恒温槽或者恒温箱。恒温槽的温控精度要达到正负0.02度以上,否则校准本身就不准。工装还要能同时夹持多台体温计,保证每台的探头都浸入到相同深度的恒温介质中。探头插入深度不一致会导致热传导条件不同,校准结果就不一致。

工装和体温计之间的通信也要设计好。校准系数需要写入体温计,通常通过预留的通信接口,比如UART或者单总线。如果体温计没有预留接口,也可以通过按键组合进入校准模式,用显示值来反馈。但这种方式效率低,不适合大批量生产。

5.3 校准数据的存储与读取

校准系数存在MCU的Flash里,要注意Flash的擦写寿命。如果每台只写一次,那没问题。但如果设计成可重复校准,就要考虑磨损均衡。更稳妥的做法是存在EEPROM里,擦写寿命长,但成本略高。有些MCU有专门的配置区,也可以利用。

读取校准系数时要注意校验。Flash存储可能因为掉电或者干扰导致数据损坏,所以存储时要加校验和或者CRC。启动时先校验,校验失败就用默认系数或者提示校准。这个细节很多方案会忽略,导致偶发的温度异常,排查起来很麻烦。

6. 实测中容易翻车的几个细节

6.1 电池内阻导致的电压跌落

体温计用纽扣电池,电池内阻在低温或者电量低时会明显增大。当LCD背光或者蜂鸣器工作时,瞬间电流可能达到几十毫安,电池电压会瞬间跌落。如果ADC参考电压或者NTC激励电压是从电池直接取的,这个跌落会直接导致采样值跳变。

解决办法是给模拟部分加独立的LDO,并且在LDO输出端加足够的储能电容。另外,采样要避开大电流负载工作的时刻,比如不要在蜂鸣器响的时候采样。如果MCU支持,可以在采样前先关闭背光和蜂鸣器,采样完成后再恢复。

6.2 探头接触不良导致的预测失败

快速预测算法最怕的就是接触不良。用户把体温计夹到腋下,如果没夹紧,或者腋下有汗,热传导就会变差,温度上升曲线会变缓。算法如果按正常曲线去预测,结果会偏低。所以算法里要有接触质量判断,比如检测温度上升速率,如果低于某个阈值就判定接触不良,提示用户重新夹紧或者延长测量时间。

这个阈值的设定需要大量实测数据。不同人的腋下结构不同,夹紧力也不同,阈值设得太严会频繁误报,设得太松又起不到保护作用。我的经验是,用温度上升的前三秒斜率来判断,斜率低于每秒0.1度就认为接触不良。但这个值要根据探头热设计调整。

6.3 LCD显示刷新与采样时序的冲突

段码LCD的刷新通常需要交流驱动,刷新频率在几十到几百赫兹。如果LCD刷新和ADC采样共用同一个时钟源或者电源,刷新时的电流波动可能耦合到模拟部分。我遇到过一个问题,体温计显示正常,但采样值每隔固定时间就跳一下,后来发现是LCD刷新和ADC采样同步了,刷新电流干扰了采样。

解决办法是让LCD刷新和ADC采样错开,或者给模拟部分加独立的电源滤波。如果MCU支持,可以把ADC采样安排在LCD刷新的间隙。这个细节在方案设计初期就要考虑,后期改起来很麻烦。

6.4 环境温度突变的影响

从室外冷环境进入室内暖环境,体温计本身温度还没平衡,这时候测量会不准。好的方案会检测环境温度,如果和环境温度差异太大,提示用户等待或者自动延长测量时间。环境温度检测可以用MCU内部温度传感器,也可以用外部NTC。内部传感器精度差但够用,外部NTC精度高但增加成本。

这个功能在北方冬天特别有用,用户从外面回来马上测体温,如果不做补偿,测出来会偏低。补偿算法可以根据环境温度和体温计自身温度的差值,对预测结果做修正。修正系数同样需要实测标定。

7. 方案扩展与选型建议

7.1 从体温计扩展到其他快速测温场景

这套主控芯片加ADC加MCU的架构,稍作修改就能用到其他快速测温场景,比如额温枪的接触式版本、奶温计、水温计。区别主要在温度区间和精度要求。奶温计关注40到60度,水温计关注0到100度,NTC选型和分压电阻要相应调整。算法框架可以复用,但预测参数要重新标定。

如果要做多通道测温,比如同时测多个点的温度,可以在ADC前面加模拟开关,轮流采集。但要注意模拟开关的导通电阻会影响分压比,选型时要选导通电阻小且一致的。另外,多通道切换后要有足够的建立时间,否则通道间会串扰。

7.2 主控芯片的国产替代考量

现在很多方案在考虑国产MCU替代,成本能降不少。但替换时要注意几个点:ADC的性能是否一致,特别是有效位数和噪声;LCD驱动的对比度是否够;低功耗模式下的唤醒时间和功耗;开发工具链是否成熟。我建议替换前先做小批量对比测试,用同一批NTC和校准工装,看温度一致性是否达标。

还有一点是供货稳定性。体温计是季节性产品,旺季需求量可能突然翻几倍,如果MCU供货跟不上,产线就要停。选型时要考虑厂商的产能和备货周期,不要只看价格。

7.3 方案开发的时间节点把控

一个完整的体温计方案开发,从选型到量产,通常需要三到六个月。前一个月做选型和原理图设计,第二个月做PCB和基础驱动,第三个月做算法和校准,第四个月做注册检和量产准备。如果算法需要大量实测数据标定,时间还要拉长。

时间上最容易失控的是算法标定和注册检。算法标定依赖实测数据,数据不够就得反复测。注册检要看标准的要求,提前把标准吃透,按标准设计测试用例,能省不少时间。我的建议是,原理图设计阶段就把注册检的要求考虑进去,比如电气安全、电磁兼容,不要等到最后再补。

注意:体温计属于医疗设备,不同地区的注册要求不同。方案开发前一定要确认目标市场的法规要求,包括精度标准、临床评估要求、电磁兼容等级等。这些要求会直接影响芯片选型和电路设计。

8. 写在最后的几点实操体会

做体温计方案这些年,最大的体会是:这个产品的技术难点不在单点,而在系统一致性。ADC选得再好,NTC再准,如果电源设计有缺陷、校准工装不一致、算法参数没标定好,最终产品的一致性就是不行。我见过太多方案,实验室里测几台都很准,一上量产就出问题,根源都是系统级的细节没抠到位。

另一个体会是,不要迷信高精度器件。16位ADC不一定比12位ADC做出来的产品准,关键看整个信号链的信噪比和校准。我做过一个方案,用12位ADC加精心设计的滤波和校准,一致性反而比另一个用16位ADC但电源没处理好的方案更好。器件的精度是上限,系统设计决定你能不能达到这个上限。

最后说一个容易被忽略的点:用户的使用习惯。体温计是给普通人用的,不是给工程师用的。如果操作太复杂,或者测量时间太长,用户就会用错。快速测温的价值不仅在于技术指标,更在于让用户愿意按照正确的方式去测。方案设计时多从用户角度想一步,很多问题在设计阶段就能避免。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询