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

从NTC103到PT100:手把手教你为Arduino和STM32选型与编程(温度传感器实战)

从NTC103到PT100手把手教你为Arduino和STM32选型与编程温度传感器实战在物联网和智能硬件项目中温度监测是最基础也最关键的环节之一。无论是恒温箱、环境监测站还是工业控制系统选择一款合适的温度传感器往往决定了整个项目的精度和稳定性。面对市面上琳琅满目的温度传感器NTC103热敏电阻和PT100铂电阻是两种最常见的选择它们在成本、精度、适用场景上各有千秋。本文将带您深入比较这两种传感器的特性并手把手演示如何在Arduino和STM32平台上完成从硬件连接到软件编程的全流程。无论您是创客爱好者还是专业开发者都能找到适合自己项目的解决方案。1. 传感器选型NTC103与PT100的全面对比1.1 基本原理与特性差异NTC103Negative Temperature Coefficient是一种负温度系数热敏电阻其电阻值随温度升高而降低。它的核心优势在于成本低廉单价通常在几元以内灵敏度高在常温范围内每℃变化可产生明显的电阻变化体积小巧适合空间受限的应用而PT100是一种铂电阻温度传感器其电阻值随温度升高而增加正温度系数。它的突出特点包括线性度好在-200℃~850℃范围内保持良好线性精度高A级精度可达±0.15℃稳定性强长期使用不易老化1.2 关键参数对比下表展示了两种传感器的典型参数差异参数NTC103 (10K)PT100测温范围-40℃~125℃-200℃~850℃典型精度±1℃±0.3℃25℃基准电阻10KΩ100Ω温度系数-4.4%/℃0.385%/℃线性度较差优秀单价1-5元20-100元是否需要放大电路通常不需要需要1.3 适用场景建议根据上述对比我们可以得出以下选型建议选择NTC103当项目预算有限、测温范围在-40℃~125℃之间、对精度要求不高±1℃可接受时选择PT100当需要高精度±0.3℃以内、宽温度范围尤其是低温测量、长期稳定性要求高时提示对于大多数创客项目和家用级应用NTC103通常已经足够而工业级应用和科研项目则更推荐PT100。2. 硬件连接与电路设计2.1 NTC103的连接方案NTC103的连接相对简单典型的分压电路如下Vcc (3.3V/5V) │ │ [R1] (固定电阻建议与NTC标称值相同) │ ├─── A0 (ADC输入) │ [NTC] │ GND关键设计要点分压电阻R1应与NTC在目标温度范围内的中间值接近如10K NTC用10K电阻避免使用过长的导线以免引入干扰如需提高精度可在ADC输入端添加0.1μF滤波电容2.2 PT100的连接方案PT100由于电阻值较低通常需要放大电路。推荐使用专用芯片如MAX31865简化设计PT100 ─── MAX31865 ─── SPI ─── MCU │ 3.3V │ GND配置要点选择适合的参考电阻通常为400Ω或1KΩ注意三线制或四线制接法减少导线电阻影响确保电源稳定噪声会影响测量精度2.3 两种传感器的PCB布局建议NTC103尽量靠近被测物体避免与发热元件相邻使用短而粗的走线PT100采用星型接地信号线采用双绞线远离高频信号线3. Arduino平台实现3.1 NTC103的Arduino代码实现#include math.h // NTC参数 #define R_NOMINAL 10000 // 25℃时的标称电阻值 #define B_VALUE 3950 // B值 #define T_NOMINAL 25 // 标称温度(℃) #define R_SERIES 10000 // 分压电阻值 void setup() { Serial.begin(9600); } void loop() { int adc analogRead(A0); float voltage adc * (5.0 / 1023.0); float resistance R_SERIES * (5.0 / voltage - 1.0); // 使用Steinhart-Hart方程计算温度 float steinhart; steinhart resistance / R_NOMINAL; // (R/Ro) steinhart log(steinhart); // ln(R/Ro) steinhart / B_VALUE; // 1/B * ln(R/Ro) steinhart 1.0 / (T_NOMINAL 273.15); // (1/To) steinhart 1.0 / steinhart; // 倒数 steinhart - 273.15; // 转换为℃ Serial.print(Temperature: ); Serial.print(steinhart); Serial.println( ℃); delay(1000); }3.2 PT100的Arduino实现使用MAX31865首先安装Adafruit MAX31865库arduino-cli lib install Adafruit MAX31865 library示例代码#include Adafruit_MAX31865.h // 使用软件SPI #define CS_PIN 10 #define DI_PIN 11 #define DO_PIN 12 #define CLK_PIN 13 Adafruit_MAX31865 thermo Adafruit_MAX31865(CS_PIN, DI_PIN, DO_PIN, CLK_PIN); void setup() { Serial.begin(9600); thermo.begin(MAX31865_3WIRE); // 根据实际接线选择2WIRE/3WIRE/4WIRE } void loop() { uint16_t rtd thermo.readRTD(); float ratio rtd; ratio / 32768; // 15位精度 // 转换为电阻值 float resistance ratio * 400.0; // 假设参考电阻为400Ω // 简单线性转换(精度有限建议使用查表法) float temp (resistance - 100.0) / 0.385; Serial.print(Resistance: ); Serial.print(resistance); Serial.println( Ω); Serial.print(Temperature: ); Serial.print(temp); Serial.println( ℃); delay(1000); }4. STM32平台实现4.1 NTC103的STM32实现HAL库#include math.h #include stm32f1xx_hal.h ADC_HandleTypeDef hadc1; float read_ntc_temperature(void) { uint32_t adc_value; float voltage, resistance, temp; HAL_ADC_Start(hadc1); if(HAL_ADC_PollForConversion(hadc1, 10) HAL_OK) { adc_value HAL_ADC_GetValue(hadc1); } HAL_ADC_Stop(hadc1); voltage adc_value * 3.3f / 4095.0f; resistance 10000.0f * (3.3f / voltage - 1.0f); // Steinhart-Hart方程 temp logf(resistance / 10000.0f); temp / 3950.0f; temp 1.0f / (25.0f 273.15f); temp 1.0f / temp; temp - 273.15f; return temp; }4.2 PT100的STM32实现使用硬件SPI#include stm32f1xx_hal.h SPI_HandleTypeDef hspi1; GPIO_TypeDef* CS_GPIO_Port GPIOA; uint16_t CS_Pin GPIO_PIN_4; float read_pt100_temperature(void) { uint8_t tx_buf[2] {0x80, 0x00}; // 读取RTD寄存器 uint8_t rx_buf[2] {0}; uint16_t rtd; float resistance, temp; HAL_GPIO_WritePin(CS_GPIO_Port, CS_Pin, GPIO_PIN_RESET); HAL_SPI_TransmitReceive(hspi1, tx_buf, rx_buf, 2, 100); HAL_GPIO_WritePin(CS_GPIO_Port, CS_Pin, GPIO_PIN_SET); rtd (rx_buf[0] 8) | rx_buf[1]; rtd 1; // 移除状态位 resistance (float)rtd / 32768.0f * 400.0f; // 400Ω参考电阻 temp (resistance - 100.0f) / 0.385f; return temp; }5. 精度优化与校准技巧5.1 NTC103的精度提升方法B值校准在不同温度下测量实际电阻值使用两点法重新计算B值B ln(R1/R2)/(1/T1-1/T2)ADC参考电压校准测量实际Vref而非假设为3.3V/5V使用内部参考电压源如果MCU支持软件滤波算法移动平均滤波卡尔曼滤波对于动态温度变化5.2 PT100的高精度实现查表法替代线性公式将标准PT100分度表存入数组使用二分查找法快速定位温度值三线制补偿测量导线电阻并补偿float compensate_3wire(float raw_resistance, float wire_resistance) { return raw_resistance - wire_resistance; }多点校准在冰点0℃和沸点100℃校准生成二次或三次校正曲线6. 项目实战恒温箱控制系统6.1 系统架构设计[温度传感器] → [MCU] → [PID控制器] → [加热元件] │ └─── [LCD显示] └─── [报警输出]6.2 PID控制实现STM32示例typedef struct { float Kp, Ki, Kd; float integral, prev_error; } PIDController; float pid_update(PIDController* pid, float setpoint, float input, float dt) { float error setpoint - input; pid-integral error * dt; if(pid-integral 100.0f) pid-integral 100.0f; if(pid-integral -100.0f) pid-integral -100.0f; float derivative (error - pid-prev_error) / dt; pid-prev_error error; return pid-Kp * error pid-Ki * pid-integral pid-Kd * derivative; }6.3 安全保护机制硬件看门狗定时器软件温度超限报警加热元件故障检测数据记录与异常分析在实际项目中我发现NTC103在快速温度变化时响应更快但PT100的长期稳定性明显更优。对于需要24/7运行的工业设备即使成本更高也值得选择PT100。而对于短期实验或原型开发NTC103的性价比难以超越。

相关文章:

从NTC103到PT100:手把手教你为Arduino和STM32选型与编程(温度传感器实战)

从NTC103到PT100:手把手教你为Arduino和STM32选型与编程(温度传感器实战) 在物联网和智能硬件项目中,温度监测是最基础也最关键的环节之一。无论是恒温箱、环境监测站还是工业控制系统,选择一款合适的温度传感器往往决…...

从CRUD到高薪:收藏这份程序员升级大模型学习指南,抓住AI时代红利!

作者分享个人从普通程序员通过学习AI大模型实现薪资翻倍的经历。文章指出,AI时代程序员最危险的不是被AI取代,而是重复低水平代码工作而不自知。作者从ChatGPT出现后的警醒,到深入学习大模型应用与算法,最终实现职业突破。强调普通…...

2026年盲审前论文降AI攻略:盲审提交前AIGC超标免费4.8元知网达标完整处理方案

2026年盲审前论文降AI攻略:盲审提交前AIGC超标免费4.8元知网达标完整处理方案 答辩前三天,AI率还有74%。 翻遍论坛找方法,最终用嘎嘎降AI(www.aigcleaner.com)把74%降到6.8%,4.8元,当天搞定。…...

明日方舟自动化助手MAA:3步解放双手,让游戏回归乐趣

明日方舟自动化助手MAA:3步解放双手,让游戏回归乐趣 【免费下载链接】MaaAssistantArknights 《明日方舟》小助手,全日常一键长草!| A one-click tool for the daily tasks of Arknights, supporting all clients. 项目地址: ht…...

人机协同中AI的示弱策略

在人机协同中,AI的“示弱策略”并非指AI真的能力不足,而是一种主动暴露自身局限性、不确定性,从而激发人类智慧、建立信任并优化整体协作效能的高级策略。这种策略的核心在于打破人类对AI“全知全能”的盲目崇拜或恐惧,将人机关系…...

自主Agent的下一代智能系统

如果说上一代AI是“单打独斗”的数字大脑,那么自主Agent(智能体)的下一代——“人机环境系统智能”,就是“人机共生”的实体生态。它标志着AI正在从虚拟的比特世界,跨越到与人类、物理环境深度融合的现实世界。我们可以…...

基于牛顿–拉夫逊法的 IEEE 9 节点电力系统潮流计算实现与分析(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 &#x1f381…...

【Perplexity心理健康资源权威指南】:20年临床IT专家亲测的5大高隐蔽性心理支持工具揭秘

更多请点击: https://codechina.net 第一章:Perplexity心理健康资源的临床价值与技术定位 Perplexity 作为一款基于大语言模型的实时信息检索与推理引擎,其在心理健康领域并非直接提供诊疗服务,而是通过增强临床决策支持、辅助心…...

麦肯锡AI揭秘:AI的真正价值不在算法,而在重构组织与结构竞争力

【摘者按:麦肯锡在《The State of AI 2025》报告中深刻指出,AI的真正价值早已超越了单纯的算法性能,其核心在于通过“重构”来重塑企业的组织与结构竞争力。当企业走出“试点炼狱”,不再将AI视为简单的技术堆砌,而是将…...

主从结合,安全互联:Anybus工业通信解决方案全栈升级

HMS亮相2026 PROFINET技术路演杭州站,展出全新Anybus SoM及全栈PROFINET方案,助力设备商应对CRA与机械法规双重合规挑战。 5月14日,由PI China主办的2026 PROFINET技术路演(杭州站)在西玥酒店圆满举行。HMS华东区OEM销…...

视听融合新范式!黎阳之光打破视觉边界,声影协同赋能全域智慧管控

长久以来,图形图像可视化技术早已成为智慧安防、低空管控、工业监测领域的主流应用,依托高清视频、三维实景、数字孪生图形图像能力,实现场景直观呈现、目标可视追踪、环境全景复刻,为各行各业搭建起可视化智慧管理体系。深耕图形…...

为什么你的Perplexity搜不出科学健身计划?NIST认证信息检索模型原理首度公开

更多请点击: https://intelliparadigm.com 第一章:为什么你的Perplexity搜不出科学健身计划? Perplexity 作为一款以“实时网络检索大模型推理”为特色的AI搜索工具,其底层机制决定了它并非专为结构化健康决策而优化。当你输入“…...

智绘低空新图景:黎阳之光以数智技术赋能低空经济高质量发展

在长三角一体化战略纵深推进、新质生产力加速培育的时代浪潮中,低空经济正成为驱动区域经济转型升级的重要引擎。华东师范大学大虹桥低空经济研究院的成立,为行业搭建起“理论实践技术人才”的全链条创新平台;而北京黎阳之光科技有限公司&…...

AI技术总监的晋升密码:搞定这6件事,你也能领导AI团队

在AI技术重塑各行各业的当下,软件测试从业者正站在职业转型的关键路口。从测试工程师到AI技术总监,不仅是职位的跃迁,更是能力模型的全面升级。想要在AI浪潮中脱颖而出,成为引领团队的技术掌舵人,你需要搞定这6件事。一…...

2026年唯一通过广电AIGC内容安全认证的3款视频生成工具(附检测报告编号+审核链路图解)

更多请点击: https://kaifayun.com 第一章:2026年AI视频生成工具排行榜 2026年,AI视频生成技术已迈入“语义帧精控”与“跨模态时序对齐”新阶段。主流工具普遍支持 毫秒级动作锚点标注、 物理引擎协同渲染及 多镜头逻辑自动剪辑&#xff0c…...

加速3DGS生成与数字孪生开发:不可错过的8款效率工具盘点

一、行业核心技术科普:3DGS数字孪生开发的工具链概览一个高效的3DGS数字孪生开发流程,离不开一套完整的工具链。从数据采集、模型生成、格式优化到应用开发与部署,每个环节都有其专用的工具。其域创新围绕“感知—重建—理解—创造”的技术路…...

快速上手3DGS数字孪生开发:一份必做的技术动作盘点清单

一、行业核心技术科普:3DGS数字孪生开发的关键技术节点从零开始构建一个基于3D高斯泼溅(3DGS)的数字孪生应用,涉及多个关键技术节点。每个节点的执行质量,都直接影响最终应用的性能与用户体验。其域创新推出的LCC格式&…...

从点击到意图:鸿蒙 App 的 AI 进化

子玥酱 (掘金 / 知乎 / CSDN / 简书 同名) 大家好,我是 子玥酱,一名长期深耕在一线的前端程序媛 👩‍💻。曾就职于多家知名互联网大厂,目前在某国企负责前端软件研发相关工作,主要聚…...

《利红AI企业级应用新标准等级体系》正式发布

各相关单位及合作伙伴: 为助力企业推动人工智能技术在实体经济中的科学落地,经公司研究决定,现正式发布《利红AI企业级应用新标准等级体系》(以下简称"本标准")。现将有关事项公告如下: 一、新…...

vscode格式化插件

1、在vsocde里安装这个插件2、下载 clangllvm 适配 windows 链接地址:https://github.com/llvm/llvm-project/releases/tag/llvmorg-18.1.83、添加环境变量 将下载的安装报解压到 C:\Users\你的用户名\AppData\Local\Programs 复制C:\Users\你的用户名\AppData\Loca…...

STM32 SPI驱动W25Q128避坑指南:CubeMX配置、时序模式与读写超时那些事儿

STM32 SPI驱动W25Q128实战避坑指南:从时序陷阱到性能调优 1. 当SPI遇上Flash:硬件工程师的暗礁地带 在嵌入式存储解决方案中,W25Q128系列SPI Flash凭借其紧凑封装和简单接口,已成为众多STM32项目的标配外设。但看似简单的四线接口…...

从‘拍脑袋’到‘有框架’:我是如何用MECE给团队Bug根因分析会‘降噪’的

从‘拍脑袋’到‘有框架’:我是如何用MECE给团队Bug根因分析会‘降噪’的 作为技术团队的负责人,你是否经历过这样的场景:Bug复盘会上,大家七嘴八舌地讨论着"测试没覆盖到"、"代码写得有问题"、"需求理解…...

告别JNI内存泄漏:实战中那些容易踩坑的字符串与数组操作(附完整代码示例)

告别JNI内存泄漏:实战中那些容易踩坑的字符串与数组操作(附完整代码示例) 在Android NDK开发和高性能Java服务中,JNI(Java Native Interface)作为连接Java与C的桥梁,其重要性不言而喻。然而&…...

海底管道电伴热机理及系统建模与控制策略【附程序】

✨ 长期致力于电伴热、集肤效应、Hammerstein模型、参数辨识、约束广义预测控制算法、功率调节、场路耦合法研究工作,擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流,点击《获取方式》 (1&#…...

从COCO到Cityscapes:实例分割指标mAP和mIOU在不同数据集上的表现差异与陷阱

从COCO到Cityscapes:实例分割指标mAP和mIOU在不同数据集上的表现差异与陷阱 当你在COCO数据集上训练的Mask R-CNN模型取得了0.85的mAP,满怀信心地将其部署到自动驾驶项目的Cityscapes数据集上时,却发现mIOU从预期的0.75骤降到0.52——这种&qu…...

大模型注意力机制深度解析:从Dot-Product到Flash Attention的演进之路

引言如果让你用一句话概括过去七年人工智能领域最重要的技术突破,答案几乎毫无悬念——注意力机制(Attention Mechanism) 。2017年,Google团队在论文《Attention Is All You Need》中首次提出Transformer架构,彻底摒弃…...

2026亚洲消费电子展6月来袭,观众预登记

2026亚洲消费电子展筹备工作进入关键阶段,本届展会定于2026年6月10日至12日在北京举办,运营方赛逸品牌管理有限公司正式对外宣布,展会专业观众线上预约通道同步启动,行业采购人士、技术从业者及科研机构可提前完成预登记&#xff…...

2026年AI数字人产量有上限吗?批量制作全揭秘

2026年AI数字人产量有上限吗?批量制作全揭秘 【导语】 用AI数字人做视频,一天到底能产多少条?是24小时不停机吗?批量制作有没有数量限制?这些问题,今天一次说清楚。01 AI数字人的产量到底有没有上限&#x…...

Skill 不是 Prompt 模板,而是 Code Agent 的领域知识接口

很多人第一次把 Code Agent 接进老项目,都会经历一个落差: Demo 里它能十分钟写完一个 CRUD;一进真实业务系统,它开始犯一些“刚入职新人”才会犯的错。 它能看懂 Controller,却不知道这个字段为什么不能改&#xff…...

3种创新技术突破Cursor AI编辑器限制:cursor-free-vip深度解析

3种创新技术突破Cursor AI编辑器限制:cursor-free-vip深度解析 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached …...