news 2026/4/15 13:27:20

PT100(RTD)三线制四线制测量方案(升级版)。 本方案仅为开发者提供的快速原型机参考,并...

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
PT100(RTD)三线制四线制测量方案(升级版)。 本方案仅为开发者提供的快速原型机参考,并...

PT100(RTD)三线制四线制测量方案(升级版)。 本方案仅为开发者提供的快速原型机参考,并非可直接量产的产品,开发者请根据实际需求增删功能及模块。 本系统以stm32f103c8t6作为主控芯片,采集温度范围为-200℃~600℃,带4-20mA变送输出,通过液晶1602显示温度或pt100阻值,显示分辨率为0.01℃,四线制精度±0.3℃,三线制精度±1℃,可通过按键设置显示模式和设置温度量程,通过拨码开关切换三线制和四线制模式,带串口下载电路。 概述: 1.电源输入:24VDC; 2.温度测量原理:采用三线制和四线制测量方案,电流激励,获取AD值后计算出PT100阻值,通过查表获取当前的阻值对应的温度。 3.设计知识点: 3.1、基于AD7793的三线制和四线制测量电路设计; 3.2、按键驱动代码,带软件去抖和FIFO功能; 3.3、液晶1602驱动代码以及液晶显示菜单的简单框架; 3.4、使用查表方式获取pt100的温度值; 3.5、变送输出4-20mA电路设计; 3.6、串口下载电路。 注意: 原理图源文件和源码以百度网盘链接方式发货。

最近在搞PT100温度测量,发现三线制和四线制方案对精度影响挺大的。这次拿STM32F103C8T6做控制器,搭了个支持双模式的系统,实测四线制能到±0.3℃精度,三线制也稳在±1℃内,下面分享几个关键实现点。

硬件设计显细节

AD7793这货真是24位ADC里的性价比之王,接PT100时注意电流激励配置。四线制直接怼上V+和V-,三线制得用补偿导线电阻。硬件上搞了个骚操作:

// 切换测量模式代码片段 void AD7793_SetMode(uint8_t mode) { if(mode == FOUR_WIRE) { write_register(IO_MODE_REG, 0x0A); // 启用四线激励电流 } else { write_register(IO_MODE_REG, 0x09); // 三线模式补偿线阻 } }

这里寄存器配置的bit3控制电流方向,三线制得同时开两个电流源平衡线路电阻。硬件上记得在RTD引线端加TVS二极管,实测能防住现场感应雷击。

按键驱动玩花样

菜单切换用状态机实现,FIFO队列存按键事件比轮询靠谱多了:

#define KEY_FIFO_SIZE 8 typedef struct { uint8_t buf[KEY_FIFO_SIZE]; uint8_t head; uint8_t tail; } KeyFIFO; void Key_Scan_Task() { static uint32_t last_tick = 0; if(HAL_GetTick() - last_tick < 20) return; // 20ms扫描间隔 uint8_t key_val = Read_GPIO(); if(key_val != KEY_NONE) { fifo_push(&key_fifo, key_val); last_tick = HAL_GetTick(); } }

软件去抖直接放在定时中断里做,比delay循环优雅多了。每个按键事件带时间戳,长按功能轻松实现。

PT100(RTD)三线制四线制测量方案(升级版)。 本方案仅为开发者提供的快速原型机参考,并非可直接量产的产品,开发者请根据实际需求增删功能及模块。 本系统以stm32f103c8t6作为主控芯片,采集温度范围为-200℃~600℃,带4-20mA变送输出,通过液晶1602显示温度或pt100阻值,显示分辨率为0.01℃,四线制精度±0.3℃,三线制精度±1℃,可通过按键设置显示模式和设置温度量程,通过拨码开关切换三线制和四线制模式,带串口下载电路。 概述: 1.电源输入:24VDC; 2.温度测量原理:采用三线制和四线制测量方案,电流激励,获取AD值后计算出PT100阻值,通过查表获取当前的阻值对应的温度。 3.设计知识点: 3.1、基于AD7793的三线制和四线制测量电路设计; 3.2、按键驱动代码,带软件去抖和FIFO功能; 3.3、液晶1602驱动代码以及液晶显示菜单的简单框架; 3.4、使用查表方式获取pt100的温度值; 3.5、变送输出4-20mA电路设计; 3.6、串口下载电路。 注意: 原理图源文件和源码以百度网盘链接方式发货。

查表法提速秘籍

PT100分度表用二分查找比遍历快10倍不止。把-200℃~600℃按0.1℃间隔做成数组,实际存储时用uint16_t节省空间:

const uint16_t PT100_Table[] = { 1852, // -200℃对应电阻值18.52Ω 1892, // -199.9℃ ... // 中间省略 3902 // 600℃对应390.2Ω }; float Get_Temperature(uint16_t adc_val) { uint16_t resistance = (adc_val * 0.12207); // AD7793的LSB=0.122μV int low=0, high=TABLE_SIZE-1; while(low <= high) { int mid = (low+high)/2; if(resistance < PT100_Table[mid]) high = mid -1; else low = mid +1; } return -200.0 + (high * 0.1) + (resistance - PT100_Table[high])*0.1/(PT100_Table[high+1]-PT100_Table[high]); }

查完表再用线性插值补偿,0.01℃分辨率就有了。注意表格数据要校准过,实测拿Fluke干井炉标定比直接查IEC标准表更准。

4-20mA输出小技巧

XTR115芯片搭的变送电路,PWM转电压用RC滤波要注意纹波。代码里配置TIM1的PWM模式,动态调整占空比:

void Set_Current_Output(float temp) { float range_span = (max_temp - min_temp); float current = ((temp - min_temp)/range_span)*16.0 + 4.0; uint16_t duty = (uint16_t)((current -4.0)/16.0 * 4095); // 12位DAC TIM1->CCR1 = duty; }

关键点是在运放输入端加了个电压跟随器,消除DAC输出阻抗影响。调试时拿精密电阻配万用表校准零点和满量程,别相信理论计算值。

整套方案源码里藏着个骚操作——用ADC内部基准源反推供电电压波动,补偿测量误差。这比外接基准芯片省了2块钱成本,实测有效。需要完整电路和代码的老铁记得找资料里的网盘链接,这里就不贴了(怕被吞)。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/10 20:44:42

UI-TARS-desktop效果展示:自然语言控制电脑惊艳案例

UI-TARS-desktop效果展示&#xff1a;自然语言控制电脑惊艳案例 1. 引言&#xff1a;从指令到行动的智能跃迁 在人机交互演进的历史长河中&#xff0c;我们正经历一场由多模态大模型驱动的范式变革。传统的图形用户界面&#xff08;GUI&#xff09;操作依赖于精确的鼠标点击与…

作者头像 李华
网站建设 2026/4/9 0:43:12

MiDaS模型性能测试:CPU环境下秒级推理实战

MiDaS模型性能测试&#xff1a;CPU环境下秒级推理实战 1. 技术背景与应用场景 随着计算机视觉技术的不断演进&#xff0c;单目深度估计&#xff08;Monocular Depth Estimation&#xff09;逐渐成为3D感知领域的重要研究方向。传统立体视觉依赖双目或多摄像头系统获取深度信息…

作者头像 李华
网站建设 2026/3/29 15:29:07

CloudFlare:零成本搭建个人图床

Cloudflare Pages 部署 Cloudflare Pages 是推荐的部署方式&#xff0c;提供免费托管、全球 CDN 加速和无需服务器维护的优势。 &#x1f4c2; 第一步&#xff1a;Fork 项目 访问 CloudFlare ImgBed 项目点击右上角的 “Fork” 按钮选择您的 GitHub 账户确认 Fork 完成 &am…

作者头像 李华
网站建设 2026/4/11 12:24:32

UI-TARS-desktop手把手教学:预置环境免折腾,1小时1块速成

UI-TARS-desktop手把手教学&#xff1a;预置环境免折腾&#xff0c;1小时1块速成 作为一名在AI大模型和智能硬件领域摸爬滚打超过十年的“老司机”&#xff0c;我太理解那种在重要场合前夜&#xff0c;面对一堆报错、依赖冲突时的绝望了。特别是像培训机构讲师这样的角色&…

作者头像 李华
网站建设 2026/4/15 6:01:05

TensorFlow-v2.9游戏AI:AlphaZero简化版实现

TensorFlow-v2.9游戏AI&#xff1a;AlphaZero简化版实现 1. 技术背景与问题提出 近年来&#xff0c;深度强化学习在游戏AI领域取得了突破性进展。以DeepMind提出的AlphaZero为代表&#xff0c;该算法通过自我对弈和蒙特卡洛树搜索&#xff08;MCTS&#xff09;结合深度神经网…

作者头像 李华
网站建设 2026/4/13 16:29:02

YOLO11版本升级:从YOLOv8迁移到YOLO11完整指南

YOLO11版本升级&#xff1a;从YOLOv8迁移到YOLO11完整指南 近年来&#xff0c;YOLO&#xff08;You Only Look Once&#xff09;系列在目标检测领域持续引领技术前沿。随着YOLO11的发布&#xff0c;该系列在精度、速度和模型可扩展性方面实现了显著提升。相比YOLOv8&#xff0…

作者头像 李华