资讯详情

传感器入门:分类、原理与温度采集链路实战

📅 2026/10/29 16:34:34 | 华诺云谱 👁 阅读
传感器入门:分类、原理与温度采集链路实战
先说个现场的事。几年前跟一个做恒温测试箱的项目样机装完温度读数和标准表差了两度多而且越往高温段偏得越厉害。硬件同事第一反应是传感器坏了换了两支新的曲线几乎没变。后来顺着线缆查问题出在三处两线制接线带来的线阻、热电偶冷端没有做补偿、前端放大倍数按理论值算但电阻用了5%精度。这三件事没有一件是传感器本身的锅但表现出来全是传感器不准。传感器基础入门这件事绕不开分类、核心原理、常见应用这三块但真正让新手卡住的往往不是背不下分类表而是站在选型表前面不知道从哪一栏开始看。我理解的入门是能拿到一个测量需求快速判断该用哪一类传感器、输出信号怎么接、精度够不够、现场会不会出问题。这篇文章就是按这个顺序写的先讲清楚传感器在系统里的位置再把分类拆成查表时真好用的几个维度然后挑几类最常用的讲透物理机制接着是信号调理和ADC这些容易被跳过但决定成败的环节最后给一条完整的温度采集链路实操和一份排查速查表。刚入行的硬件、嵌入式、自动化方向的读者应该都能直接拿去用。1. 先搞清楚传感器在系统里到底是什么角色1.1 从一次读数偏高两度的现场说起那次排查让我印象很深。标准表显示80.0℃我们的系统读82.3℃。拆开看链路传感器是两线制铂电阻线长大概十五米用的是普通0.5平方铜线来回三十米按每米0.0175Ω估算回路多出0.5Ω左右。铂电阻在100℃附近每摄氏度大约变化0.385Ω0.5Ω的额外电阻折算下来就是1.3℃的偏差。剩下的偏差来自热电偶那一路的冷端接线端子直接压在机箱上机箱温度比室温高五六度冷端补偿按室温算又偏了将近一度。这个案例说明一件事传感器给出的从来不是被测物理量本身而是一个经过敏感元件、转换元件、信号调理电路、线缆、采集前端层层传递之后的电信号。中间任何一环引入误差最后都会被记在传感器不准这个账上。所以我一直建议新手在动手之前先把整条链路的误差来源列一遍而不是只盯着传感器的精度指标。顺带说一个判断技巧如果偏差是固定偏移多半是零点或冷端问题如果偏差随被测量线性增长多半是灵敏度或标定问题如果偏差随环境温度变化多半是温漂或者线阻的温度系数在作怪。这三条经验能帮你把排查范围砍掉一大半。1.2 传感器的三件套敏感元件、转换元件、信号调理教科书上把传感器拆成敏感元件和转换元件两部分实际产品里通常还有第三块信号调理。这三块对应三个不同的失效模式分开理解很有必要。敏感元件负责感知。它的任务是把温度、压力、光强这类物理量转换成某种可测量的中间量比如电阻变化、电荷积累、电容变化。敏感元件的短板通常是非线性和一致性同一批次的两支NTCB值可能差几十换一支就得重新标定。转换元件负责变成电信号。应变片靠电阻变化压电陶瓷靠电荷输出热电偶靠塞贝克效应直接出毫伏电压光电二极管靠光生电流。这一环的短板是微弱满量程输出常常只有几毫伏甚至几微伏非常容易被噪声吞掉。信号调理负责整理成能被采集的样子。放大、滤波、线性化、隔离、转换成4-20mA或者数字总线。这一环的短板是设计质量参差不齐便宜模块和好模块的差距很多时候就在这一块而不是传感器本体。理解了这三层你在看数据手册的时候就知道哪些指标是本体决定的哪些是模块决定的。比如一个温湿度模块标称湿度精度±2%RH这个数字往往包含了调理电路和出厂标定的贡献而不只是湿敏电容本身的水平。1.3 选型时最先问自己的四个问题我在选型表上翻来覆去这么多年最后浓缩成四个问题按顺序问下来能排除掉八成不合适的选项。第一个问题测什么量量程多大。量程不是够用就行而是要留出余量。压力传感器长期工作在满量程的80%以上蠕变和疲劳会明显加速但余量留太大比如实际只用满量程的5%那有效分辨率就被浪费了。我的习惯是把正常工作点放在满量程的30%到70%之间。第二个问题精度要求多少允许多大的不确定度。这里要区分分辨率和精度。一个24位ADC理论上能分辨到微伏级但如果传感器本身的重复性只有0.5%那多出来的位数只是在放大噪声。精度由最弱的一环决定链路里最差的那个环节定了天花板。第三个问题现场环境什么样。温度范围、湿度、粉尘、油污、振动、电磁干扰、腐蚀性介质、是否需要防爆。这些问题会直接否掉一批方案。比如车间里有变频器和大功率电机那模拟电压输出基本不用考虑了老老实实上4-20mA或者差分总线。第四个问题信号给谁接口怎么接。是给PLC、给单片机、给采集卡还是走无线。接口决定了你是选带调理的成品模块还是选裸敏感元件自己设计前端。新手最容易在这里踩坑买了个裸的热电偶以为接上ADC就能读结果发现还得自己搞冷端补偿和放大。把这四个问题的答案写在纸上再去翻选型表效率完全不一样。2. 传感器分类别按课本背按用的时候怎么查2.1 按被测量分类物理量、化学量、生物量这是最传统也最直观的分法好处是查资料时对着目录找就行。物理量是最大的一类包括温度、压力、力、扭矩、位移、速度、加速度、流量、液位、光强、磁场、声压。工业现场九成以上的传感器都在这类里。化学量包括气体浓度、pH值、离子浓度、湿度严格说湿度也算物理量但检测原理常常涉及化学过程。这类传感器的共性是寿命有限、需要定期标定、交叉干扰明显。一支电化学一氧化碳传感器两三年后灵敏度下降是正常现象不是质量问题。生物量包括酶、抗体、微生物、DNA等多见于医疗和食品检测。这类传感器对使用环境要求苛刻往往是一次性或需要冷链保存普通工程项目很少碰。对新手来说按被测量分类的主要价值是建立检索路径知道要测什么就知道去哪个大类里找。2.2 按输出信号形式分类模拟、开关、脉冲、总线这个维度才是真正影响你电路设计和代码结构的。我在实际项目里更看重这一层。输出类型典型形式优点短板常见场景模拟电压0-5V、0-10V、0.5-4.5V接口简单直接进ADC抗干扰差长线衰减板级、短距离模拟电流4-20mA、0-20mA抗干扰强断线可检测需要采样电阻功耗略高工业现场开关量NPN/PNP、干接点、继电器便宜直接进IO只有通断无连续信息限位、计数脉冲频率方波、频率随被测量变化抗干扰好易隔离需要定时器或捕获流量计、转速数字总线I2C、SPI、UART、RS485、CAN多参数、可寻址、带诊断协议复杂需要处理时序模块化产品4-20mA之所以在工业里活得这么久核心原因是它在电流环路上传输线路上的分布电阻不影响读数只要环路总阻值在驱动能力内而且0mA可以判定为断线这是电压信号做不到的。2.3 按接线方式分类两线、三线、四线这个分类看似琐碎实际上直接决定你的误差水平尤其是电阻型传感器。两线制最简单两根线既是供电也是信号。缺点非常明确线缆电阻直接串进测量回路。铂电阻用两线制线阻加多少读数就偏多少前面那个两度的案例就是这么来的。三线制是在电阻体一端引出两根线配合恒流源和差分测量可以抵消掉大部分线阻。工业铂电阻基本都用三线制。它假设两根引线电阻相等如果线径不一致或者接触电阻不同还是会有残差但比两线制好一个数量级。四线制是开尔文接法两根线通电流两根线测电压电压线上几乎没有电流流过所以线阻完全不影响读数。精度要求高的场合比如实验室、计量、应变测量就该用四线制。选型时一个很实用的判断测量量本身的相对变化量如果和线阻引起的相对变化量在同一量级就必须上三线或四线。铂电阻从0℃到100℃阻值只变化38.5%线阻在这里就是实打实的误差来源。2.4 按是否需要外部激励分类无源与有源无源传感器自己会产生电信号不需要外部供电。热电偶靠温差发电压电陶瓷受力产生电荷光电二极管受光产生电流磁电式转速传感器靠线圈切割磁感线。这类传感器的一个共同特点是输出能量很低后级必须高阻抗输入否则信号被吸走。有源传感器需要外部激励才能工作。铂电阻需要激励电流应变片需要桥压电容式传感器需要激励信号霍尔元件需要偏置电流。有源的好处是输出幅度可以通过激励强度调节坏处是激励源的精度和稳定性会直接进入测量结果。这一点很容易被忽略。用恒压源给铂电阻供电激励电流随温度变化自热效应随之变化读数就会漂。所以正经的做法是用恒流源电流恒定输出电压和电阻严格成正比。这类看起来是细节的地方往往就是模块和模块之间差几倍价格的原因。3. 核心原理几类最常用传感器的物理机制3.1 电阻式应变片、热电阻、湿敏电阻电阻式的共同逻辑很简单被测量变化导致电阻变化测量电阻就反推出被测量。难点在于电阻变化量通常很小需要精心设计前端。应变片的原理是金属丝受拉伸时长度增加、截面积减小电阻变大。关系式是 ΔR/R K·εK是灵敏系数金属箔应变片大约2半导体压阻式能到100以上。用350Ω应变片、5V桥压满量程应变1000微应变时输出大约 5V × 2 × 1000e-6 10mV。10mV要送进3.3V量程的ADC不放大根本没法用一般要放大200到500倍。这也是称重传感器模块里那颗运放存在的意义。热电阻以铂电阻为代表0℃时100Ω100℃时138.51Ω平均每摄氏度0.385Ω。它的优点是线性好、长期稳定性好、可互换缺点是阻值变化小、有自热效应、怕振动。热敏电阻NTC阻值变化大、便宜、灵敏度高但严重非线性而且一致性差必须逐支标定。NTC用B值公式描述R R0 × exp(B × (1/T − 1/T0))B值典型3950这里的温度必须是开尔文。湿敏电阻靠高分子材料吸湿后离子导电性变化阻值随湿度下降。它便宜但有迟滞和漂移长期泡在高湿环境里会失效工业上现在更多用湿敏电容。3.2 电容式接近检测、压力、加速度都靠它电容式的基本公式是 C ε·S/d介电常数、极板面积、极板间距三个量里任意一个变化电容就变。这一个公式撑起了非常多的产品。电容式接近开关手指靠近时改变了极板间的介质和边缘电场电容增加检测电路把这个变化转成开关量。检测的分辨率可以做到飞法级所以隔着几毫米的塑料外壳也能感知。电容式压力传感器一层薄膜作为可动极板压力让它变形间距d变化电容变化。这种结构灵敏度高、功耗低MEMS压力传感器里很常见。电容式加速度计质量块两侧各有一组梳齿电极加速度让质量块偏移一侧电容增大另一侧减小差分量正比于加速度。这个差分结构能很好地抵消共模温漂是MEMS加速度计能做到几毫克分辨率的关键。电容式的通病是容易受环境湿度和寄生电容影响所以PCB布局上要特别小心敏感走线要短、要 guard ring 包围、要远离其他信号。3.3 压电与热电动态测量是它们的专长压电式利用某些晶体石英、PZT陶瓷受力时表面产生电荷的效应。它的特点是只能测动态量。因为电荷会通过后级输入阻抗和材料自身漏电慢慢泄放静态力产生的电荷留不住读数会衰减到零。所以压电传感器适合测振动、冲击、动态压力不适合测静态重量。后级必须用电荷放大器把电荷转成电压本质是一个高输入阻抗的反相积分器。用普通运放直接接压电片信号会被输入阻抗吃掉测出来几乎没反应。热电式包括热电偶和热堆。热电偶是两种不同金属焊接两端有温差就产生电动势K型热电偶大约41微伏每摄氏度。它的优点是测温范围宽可以到上千度、响应快、结构简单、耐振动缺点是输出极小、必须做冷端补偿、非线性需要查表或多项式拟合。冷端补偿这件事新手经常忽略。热电偶测的是热端和冷端的温差不是绝对温度。如果冷端就在室温环境里那必须测出冷端温度再加回去。很多便宜的采集板不测冷端直接按25℃固定值补环境温度一变就偏。3.4 光电与霍尔非接触测量的两大主力光电式涵盖面很广。光敏电阻阻值随光强下降简单便宜但响应慢、有记忆效应光电二极管输出光生电流线性好、响应快配合跨阻放大器可以得到正比于光强的电压光电开关靠遮挡判断有无ToF传感器通过测量光的飞行时间得到距离光电编码器通过码盘遮挡产生AB相脉冲用于测转速和角度。用光电二极管时有个常见坑光电流方向。光电二极管在光伏模式下输出电流方向与光强成正比但在光导模式下需要反偏两种接法的电路完全不同接错了波形就是反的或者根本没信号。霍尔式基于霍尔效应电流沿半导体薄片流过垂直方向加磁场载流子受洛伦兹力偏转在侧面产生霍尔电压 VH KH × I × B。线性霍尔可以测磁场强度配合磁环可以测转速配合聚磁环可以做成电流传感器——测导线周围的磁场就等效于测电流。霍尔电流传感器的好处是隔离测量被测回路和输出回路没有电气连接这在大电流场合非常重要。闭环霍尔比开环贵但线性度和温漂都好得多因为闭环用补偿绕组把磁芯磁通拉回零避开了磁芯的非线性区。3.5 MEMS把机械结构做在硅片上MEMS是Micro-Electro-Mechanical System本质上是用半导体工艺在硅片上刻出可以动的微机械结构。它不是一个单独的传感器门类而是一种制造方式加速度计、陀螺仪、压力传感器、麦克风、气体传感器都能用MEMS做。MEMS加速度计的核心是一个悬空的硅质量块加梳齿电容前面讲过。MEMS陀螺仪靠科里奥利力驱动质量块做高频振动绕轴旋转时产生垂直于振动方向的科氏力检测电容测出这个位移就得到角速度。MEMS麦克风是硅振膜加背极板构成电容声压让振膜振动。MEMS的优势是体积小、成本低、可批量、易集成短板是精度和长期稳定性不如传统机械结构。消费级加速度计的零偏可能在几十毫克量级而工业级的能好一到两个数量级价格差距摆在那里。用MEMS器件要注意一点零偏需要现场校准。出厂标定是在特定条件下做的焊到板子上、装进外壳里应力变化会让零偏跑掉。加速度计做倾角测量时如果不做现场零位标定几度的静态误差很常见。4. 模拟链路的硬功夫信号调理与ADC前后那点事4.1 三种基本前端分压、电桥、恒流源分压电路最简单一个上拉电阻和一个可变电阻串联中间取电压。NTC热敏电阻、光敏电阻都用这个。缺点是输出对被测电阻是非线性的而且上拉电阻的精度直接影响读数。设计时要让上拉电阻等于被测电阻在工作点附近的几何平均值这样灵敏度分布最均匀。惠斯通电桥用于测微小电阻变化应变片和压力传感器标配。四个臂一个或多个是敏感元件输出是差分电压。满量程输出常用mV/V表示意思是每伏桥压对应的毫伏数。2mV/V的传感器配5V桥压满量程输出就是10mV。电桥的优势是差分输出天然抑制共模温漂四个臂同温变化时输出不变。恒流源用于铂电阻这类需要严格线性关系的场合。1mA恒流流过PT1000℃时输出100mV100℃时输出138.51mV电压和电阻完全成正比。恒流源的精度直接变成测量精度所以要用低温漂的基准源加运放搭建。这里有个必须算清楚的参数自热效应。1mA流过100Ω电阻功耗是 I²R 0.1mW。这个功率会让敏感元件自身升温在静止空气中温升可能有零点几度。如果测量要求到0.1℃那就得减小激励电流或者采用脉冲激励。4.2 放大、滤波、屏蔽与接地噪声从哪来微弱信号放大最容易出问题我总结成三句话放大倍数分配要前置、滤波要放在放大之后、屏蔽和接地必须单点。放大倍数不能一次性给到500倍否则带宽会塌得很厉害噪声也一起放大。通常是第一级仪表放大器给20到50倍第二级再给10倍。第一级用仪表放大器是因为它输入阻抗高、共模抑制比好能扛住电桥的共模电压。滤波分模拟和数字两层。模拟侧用RC低通把高频噪声挡掉截止频率按信号带宽的5到10倍设数字侧用滑动平均或者一阶低通做二次清理。采样率按采样定理至少是信号最高频率的2倍工程上取5到10倍留足余量给滤波器。接地是最容易被低估的环节。模拟地、数字地、功率地不能乱连通常做法是各自铺铜在ADC芯片下方单点连接。屏蔽线只在一端接地两端接地会形成地环路反而引入干扰。这套东西说起来老生常谈但现场九成的噪声问题都能在这几条里找到答案。4.3 ADC选型位数、有效位数和参考电压ADC选型最容易犯的错是只看位数。一个标称16位的ADC有效位数ENOB可能只有13位剩下三位是噪声。数据手册里如果有ENOB或者有效分辨率曲线一定要看。第二个容易犯的错是忽略参考电压的精度。ADC的转换公式是 数字量 输入电压 / 参考电压 × 满量程码值。参考电压如果漂了1%读数就漂1%。所以精密测量要用外部基准而不是直接用电源电压。电源电压作为参考纹波和负载变化会原封不动地进入测量结果。第三个容易犯的错是忽略输入阻抗。SAR型ADC在采样瞬间需要一个充电电流给内部采样电容充电如果前级源阻抗太高采样电容充不满读数会偏低。解决办法是在ADC前面加一级运放做缓冲或者选内置缓冲器的型号。这一点在测高阻抗信号比如分压电路上拉电阻取得很大时特别关键。算一个具体例子。12位ADC参考5V1个LSB对应 5/4096 ≈ 1.22mV。如果测的是4-20mA经250Ω采样电阻得到的1-5V信号那么 4V量程对应4096个码每码对应 4V/4096 ≈ 0.977mV折算成电流是 0.977mV/250Ω ≈ 3.9微安。20mA满量程除以3.9微安理论分辨约4096分之一看起来不错。但如果这个电流信号对应的是0到100℃的温度那单码对应温度 100/4096 ≈ 0.024℃理论分辨率够用实际精度则完全由传感器和采样电阻的精度决定。4.4 两个必须会的参数计算第一个PT100的ADC分辨率够不够。假设还是12位ADC、5V参考、1mA恒流激励。PT100在0℃时100mV100℃时138.51mV跨度38.51mV。5V参考下1个LSB是1.22mV那38.51mV只能分出大约31个码对应100℃量程单码就是3.2℃。这个分辨率对温度控制完全不够。解决办法要么换24位ΔΣ ADC要么先放大再采集比如放大50倍38.51mV变成1.93V12位下能分出约1560个码单码0.064℃。这个计算是所有温度采集设计的第一步跳过它直接画板子后面一定返工。第二个NTC分压电阻怎么选。假设NTC在25℃时10kΩB值3950工作范围0到100℃。上拉电阻取10kΩ时25℃输出是电源的一半灵敏度在这一点附近最高但0℃时NTC阻值约33kΩ输出降到了电源的24%100℃时NTC约0.97kΩ输出是电源的9%。为了在两端都有合理分辨率上拉电阻取10kΩ是常见折中。如果要更均匀的响应可以对分压结果做对数变换或者查表线性化。顺便说一句NTC的B值公式在宽温区误差不小要求高的场合要用Steinhart-Hart三项式1/T A B·ln(R) C·(ln(R))³三个系数靠三点标定解出来。5. 实操从零搭一条温度采集链路5.1 硬件选型和接线这个例子用三线制PT100要求0到200℃测量误差目标±0.5℃。链路是PT100三线 → RTD专用前端内置恒流激励和差分放大 → 24位ΔΣ ADC → 单片机。选三线而不是两线是因为200℃时PT100阻值约175.86Ω线阻0.5Ω相当于1.3℃误差两线制直接不达标。选专用前端而不是自己搭恒流源是因为集成的匹配电流源和差分放大器能省掉大量调试时间而且内部有断线和短路检测。24位ADC看起来奢侈但实际有效位大概18位左右留给标定和滤波的余量刚刚好。接线上的两个硬要求一是三根引线必须用同规格、同长度且尽量走同一根线缆这样温度变化时三根线的阻值同步变化共模抵消二是屏蔽层接机壳只在采集端接地。现场如果有变频器信号线必须和动力线分开走交叉时垂直交叉平行走线距离至少留30厘米。PCB布局上RTD前端到接端子的这段走线要短、要对称两颗差分输入走线等长。基准电阻决定了激励电流大小要用低温漂的金属膜电阻温漂控制在25ppm/℃以内这个器件选错整个系统的温漂就白做了。5.2 固件侧的采样和滤波采样率定在10Hz对温度这种慢变量远远够。滤波分三层中值滤波去脉冲、一阶低通平滑、最后做标定换算。#define ALPHA 0.15f /* 一阶低通系数截止频率约0.25Hz10Hz采样 */ #define MED_N 5 /* 中值滤波窗口 */ static float s_lpf 0.0f; static float s_buf[MED_N]; static uint8_t s_idx 0; /* 中值滤波去掉偶发的尖峰常见于电机启停、静电放电时刻 */ static float median_filter(float x) { s_buf[s_idx] x; s_idx (s_idx 1) % MED_N; float tmp[MED_N]; for (int i 0; i MED_N; i) tmp[i] s_buf[i]; /* 插入排序5个元素足够快 */ for (int i 1; i MED_N; i) { float key tmp[i]; int j i - 1; while (j 0 tmp[j] key) { tmp[j 1] tmp[j]; j--; } tmp[j 1] key; } return tmp[MED_N / 2]; } /* 一阶RC低通y a * (x - y) */ static float low_pass(float x) { s_lpf ALPHA * (x - s_lpf); return s_lpf; } float read_temperature(void) { float raw adc_read_rtd_ohms(); /* 前端换算出的电阻值 */ float f median_filter(raw); f low_pass(f); return calib_apply(f); /* 两点标定换算成摄氏度 */ }这里有几个参数要解释清楚。ALPHA取0.15对应的时间常数大约是 1/(2π×0.25Hz) ≈ 0.64秒也就是阶跃响应到63%要0.64秒。这个响应速度对一个恒温箱够用但如果要测快速变化的温度就得把ALPHA调大代价是噪声变大。响应速度和噪声是一对必须权衡的矛盾不存在两个都最优的取值。中值窗口取5能吃掉连续4次以内的异常点。如果现场干扰更密可以拉到7或9但每次都要多排几个样本延迟也会增加。5.3 标定两点标定和分段线性化出厂标定只能保证器件本身的一致性装到板子上、接上长线之后系统误差必须现场标定。做法是把探头和标准温度计一起放进恒温槽至少取冰水混合物0℃和沸水约100℃按当地气压修正两个点或者直接取工作范围的低温和高温两端。两点标定的公式很朴素k (T2 - T1) / (R2 - R1) b T1 - k * R1 T k * R bR1、R2是实测电阻或ADC原始码值T1、T2是标准表读数。这样做能同时修掉增益误差和零点误差。如果非线性明显比如用了宽温区的NTC就在中间再插一到两个点做分段线性每个区间用各自的k和b判断区间按原始值落在哪一段。标定的实操细节每个点至少等五分钟热平衡读数取一分钟的平均值而不是抓一次。恒温槽的均匀性也要注意探头和标准表的位置要尽量靠近否则测的是两个不同的温度。标定完把k、b和标定日期写进EEPROM后面现场返修可以直接读出来看有没有动过。5.4 数据验证和现场记录标定完不能就这么交差还要做三项验证。第一项重复性。同一个温度点来回测五次看极差。如果极差大于目标误差的三分之一说明噪声或漂移还压不下去得回去查滤波参数或者激励源。第二项回程一致性。从低温升到高温再从高温降回低温同一温度点两次读数之差就是迟滞。铂电阻本体的迟滞很小如果测出来偏大八成是热传导路径的问题比如探头没插到底、导热硅脂干了。第三项长时间漂移。放在固定温度点上连续跑八小时看读数有没有缓慢爬升。有爬升通常是自热效应或者环境温度影响了前端基准这时候要把激励电流降下来或者给基准加恒温措施。现场记录我习惯用一个简单的表把每个样本的时间、标准表读数、系统读数、偏差记下来。这份记录后面查问题时非常有用尤其是那种偶尔偏一下的疑难杂症靠回忆根本说不清。6. 常见应用场景拆解6.1 工业现场4-20mA、总线和隔离工业现场的第一原则是抗干扰优先于精度。车间里变频器、伺服、接触器一堆电磁环境比实验室恶劣得多。所以现场传感器主流输出是4-20mA和RS485/CAN这类差分总线模拟电压基本只在控制柜内部用。4-20mA的接线要点采集端用250Ω精密电阻转成1-5V这个电阻的精度直接进误差预算至少用0.1%的环路总阻值要算清楚24V供电下24V − 最低工作电压/ 20mA 就是允许的最大环路电阻超过这个值传感器就带不动了。常见的两线制变送器最低工作电压12V那 (24−12)/0.02 600Ω扣除采样电阻250Ω还剩350Ω线缆电阻只要不超过这个数就没问题。RS485要注意的是终端电阻和共模电压。长距离通信两端各接120Ω终端电阻中间节点不要接。如果设备之间地电位差大差分收发器可能超出共模范围这时候需要加隔离。CAN总线更严格终端电阻、拓扑、支线长度都有规定随便拉星形拓扑很容易通信不稳。隔离这个问题我在项目里踩过坑。一次现场两块板子分别由不同的开关电源供电地电位差有几伏模拟信号接过去之后读数一直跳加了隔离放大器就干净了。只要信号的参考地和采集端的参考地不共地就必须考虑隔离这不是可选项。6.2 消费电子和可穿戴低功耗是第一约束消费类产品的设计逻辑完全不同功耗和成本压倒一切。一颗纽扣电池要撑一年那平均电流得控制在微安级。这类场景的典型做法是传感器选低功耗型号采集时唤醒采完立刻休眠用MCU的定时器或者传感器的中断引脚来触发。加速度计做计步时不用一直开着而是配置运动唤醒阈值只有超过阈值才产生中断唤醒MCU。可穿戴设备上的PPG心率传感器是个好例子。它用绿光LED照射皮肤光电二极管接收反射光血容积变化导致吸收率变化光电流随之波动。难点在于运动伪影戴着手表跑步时手臂晃动产生的信号幅度可能远大于心率信号本身所以需要加速度计做参考用自适应滤波把运动分量减掉。这也是为什么早期手表的运动心率经常不准。消费类的另一个特点是标定成本敏感。工厂不可能给每台设备做多点标定所以往往采用出厂一次性标定加软件补偿精度目标定在体感正确而不是计量级。6.3 汽车和新能源可靠性和功能安全车规传感器的要求和消费级完全是两个世界。温度范围从零下40℃到125℃甚至更高要抗振动、抗盐雾、抗电磁兼容测试寿命要求十五年。功能安全还要求传感器能自诊断出问题时能报出来而不是悄悄给个错值。动力电池包里用的温度传感器典型是NTC每几个电芯配一支采集板做多点扫描。这里的设计要点是开路和短路检测。NTC开路时读数是负无穷大温度短路时是正无穷大固件必须能识别这两种状态并上报故障否则BMS可能把一个失效通道当成正常值继续用后果很严重。电流检测在新能源里用霍尔或者分流器。分流器精度高、成本低但要做隔离霍尔天然隔离但温漂和零偏需要补偿。实际产品里两种都有看具体位置和精度要求。车规传感器选型时数据手册里的AEC-Q系列认证是硬门槛没有这个认证基本不用考虑量产。这一点和消费电子完全不同消费类更看价格和供货。6.4 农业、环境和家居长期无人值守的考验这类场景的特点是部署分散、维护困难、要求长寿命。一支土壤湿度传感器埋在地里可能一埋就是一年中间没人管。土壤湿度常用的是电容式或者频域反射式。电阻式两根电极通电测电阻最便宜但电极会电解腐蚀几个月就废了而且土壤盐分变化会直接影响读数。电容式的探针不直接接触土壤导电寿命长得多但需要做土壤类型的标定因为不同土质的介电常数差别不小。空气质量检测里PM2.5常用激光散射原理是颗粒物经过激光束产生散射光光电二极管接收散射强度反推浓度。这类传感器的难点是长期漂移光学腔里积灰会让读数虚高所以正经产品都要加风扇做鞘气保护或者设计可拆卸清洁结构。家居场景的传感器更看重免维护和误报率。一个红外人体感应器如果误触发太多用户直接把它关了。所以PIR传感器的设计里菲涅尔透镜的形状、延时时间、灵敏度档位、光照阈值这些参数都要调单纯堆硬件没用。7. 常见问题与排查速查7.1 数值跳动、漂移、卡死三类现象怎么分数值跳动通常指向噪声。先看跳动的频谱特征如果是50Hz工频干扰多半是接地或者屏蔽问题如果是随机白噪声那是热噪声或者量化噪声靠滤波和平均解决如果是偶发尖峰找附近的继电器、电机、静电放电源。缓慢漂移通常指向温度或者应力。检查三件事基准源的温度系数、敏感元件是否受到安装应力、以及是不是有自热。有个很简单的判别方法用手摸一下传感器外壳或者前端芯片如果读数立刻跟着变那就是温漂路径没处理好。数值卡死最危险因为系统看起来在正常工作。常见原因是通信断了但协议层没做超时检测固件一直在读缓存里的旧值或者是ADC输入饱和一直输出满量程码或者是浮点数溢出变成了NaN显示逻辑没处理。凡是采集程序必须有合理性检查值是否在物理可能范围内、变化率是否合理、通信是否超时。这三条能挡住大部分假数据事故。7.2 干扰问题的排查顺序我一般按这个顺序走从便宜的检查开始逐层深入。第一步看现象是否与特定设备启停相关。如果变频器一启动读数就跳那基本锁定传导或辐射干扰。第二步查接地。用万用表量一下信号地和机壳地之间的电压如果超过几百毫伏说明有地电流需要处理。信号地应该单点接机壳不能多点。第三步查线缆。信号线是否和动力线平行走了很长距离屏蔽层接了几端有没有用双绞这三项改完多数问题会明显改善。第四步才是加硬件。加共模电感、加RC滤波、加隔离放大器、换差分传输。硬件手段有效但成本高应该放在最后。这里有个反直觉的经验有时候把采样率降下来比加滤波器更有效。因为很多干扰是周期性的降低采样率配合合适的采样时刻可以让干扰落在被平均掉的区间里。当然这招要看干扰的性质不能乱用。7.3 长线传输和接地环路长线传输的三个敌人是线阻、线容、地电位差。线阻影响电阻型传感器前面讲过用三线或四线制解决。线容影响高频信号长线相当于一个低通滤波器脉冲信号会变圆、上升沿变缓严重时通信误码。解决办法是降低速率或者用差分传输。地电位差是模拟信号长距离传输最大的坑。两个设备分别接在不同的电源上地线之间有电流流过产生电位差。单端信号以地为参考这个电位差会直接叠加到信号上。解决办法只有两个一是隔离二是改成差分或电流传输。判断有没有地环路可以临时断开一端的信号地如果安全的话看读数是否变化。如果变化明显那就是地环路问题。这个测试要小心不能在有高压的场合做。7.4 排查速查表现象最可能原因优先检查项处理手段读数整体偏移固定值零点未标定、线阻、冷端补偿错误标定记录、接线方式、冷端温度两点标定、改三线制、测冷端读数随温度线性偏移基准温漂、桥路温漂、灵敏度温漂基准器件温漂、电阻精度换低温漂器件、软件温度补偿读数周期性波动工频干扰、电源纹波屏蔽接地、电源纹波单点接地、加RC滤波、换LDO偶发尖峰继电器/电机启停、静电附近干扰源、TVS管中值滤波、加TVS和磁珠读数卡死不变通信超时未检测、ADC饱和、数值溢出通信日志、原始码值加超时和范围检查、修饱和逻辑高温端/低温端偏差变大传感器非线性未处理标定点分布、线性化方式分段线性、Steinhart-Hart长线后信号变小线阻分压、线容衰减线径、线长、输入阻抗提高输入阻抗、四线制、差分传输多台设备互相影响地环路、共模电压超限地电位差、共模范围加隔离、单点接地上电后一段时间才准自热、热平衡未到激励电流、热设计降低激励、延时报稳换一支同型号就偏一致性差、未逐支标定批次一致性、标定流程逐支标定、选高一致性型号8. 几个踩过坑之后才明白的道理干了这些年我觉得传感器这块最容易走弯路的地方不在原理而在顺序。很多人上来就研究哪家的芯片好、哪个方案先进结果板子画完才发现量程选小了或者分辨率根本不够。正确的顺序应该是先把量程、精度、环境、接口这四个问题定死算出误差预算再倒推需要多少位ADC、多大放大倍数、什么类型的传感器。误差预算这个动作花不了半小时但能省掉几轮改板。第二个体会是永远不要相信应该没问题。线阻应该很小、冷端应该接近室温、基准应该够准这些应该在实验室里通常成立到了现场全都不成立。我现在做设计凡是可能引入误差的环节一律实测一遍哪怕只是拿万用表量一下。量完心里踏实后面出问题也知道该往哪查。第三个是标定这件事不能省但要算清楚值不值。一支传感器做五点标定成本可能是器件本身的好几倍。所以要先算不标定的误差是多少标定能挽回多少客户能不能感知到这个差别。量级够用就出厂标定不够就现场标定别为了看起来专业上一堆没人维护的标定流程。最后分享一个小习惯我现在每做一个采集项目都会在固件里留一个原始值直出的调试通道能绕过所有滤波和标定把ADC原始码值打印出来。这个通道平时关着出问题时打开能快速区分是传感器的问题还是算法的问题。这个习惯帮我省过很多次争论——数据摆在那里谁也不用猜。
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。

↑