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

NTC热敏电阻计算方法

分享一下自用的一个算法,通过NTC阻值来计算温度之公式法。

实例:

//实际应用intmain(void){unsignedshortt;ntc_typedef ntc;ntc.B=3950;//NTC常数,NTC规格书里面有ntc.T0=47;//NTC常温下的阻值ntc.ad=2048;//ADC采集的电压值t=calculate_ntc_temp(&ntc);//实际温度值需要除以100}

下面是具体函数:

typedefstruct{unsignedshortad;//ADC通道采集回来的AD值unsignedshortB;//B常数unsignedcharT0;//25摄氏度的阻值(千欧)}ntc_typedef;

定义一个结构体,这三个参数是必须要的,第一个是ADC NTC对应通道采集回来了的ADC值,第二个是B常数,NTC的规格书上面有,第三个就是标准温度下的NTC阻值,单位是千欧;

unsignedshortcalculate_ntc_temp(ntc_typedef*ntc){floatTemp=0;floatn_log=0;floatr;unsignedshortt;r=(((ntc->T0)*4096)/(ntc->ad))-(ntc->T0);Temp=298.15*(ntc->B);n_log=log(r)-log((ntc->T0));Temp=Temp/((ntc->B)+298.15*n_log);Temp=Temp-273.15;t=(unsignedshort)(Temp*100);returnt;}

这个函数返回的温度放大了100倍,精确到小数点后两位。(如果你的结果需要实际的温度,建议不放大加四舍五舍更准一点,或者放大64 、128、256这种倍数,之后在右移就好了)

20250317更新。。。。。。。。。。。。。。。。。。。。。

上面的代码是当时随手写给一个朋友的,后来自己用到了,发现并不实用,每次都需要配置结构体,属实麻烦,还因为结构体的操作增加了额外的开销。下面是新更新的代码,更加的简洁;

/**** * @brief 计算实际温度 * * @param[in]: * data :采集通道AD值 * * @return: 实际电压 *****/floatcalculate_actual_temp(unsignedintdata){floatn_log=0;floatr;floatt=0;floatr0=47.0;unsignedshortb0=3950;//r = r0 * 4095 / data - r0 ;r=192465.0/data-47;//n_log = log(r) - log(r0);n_log=log(r)-1.672098//t = 298.15 * b0 / (b0 + 298.15 * n_log) - 273.15;t=1177692.5/(b0+298.15*n_log)-273.15;returnt;}

对于这个函数的在不同的NTC电阻上的运用,我们只需要更改函数中的r0和b0,也就是在25℃环境中的阻值,单位是:千欧;以及NTC电阻的B常数;

http://www.jsqmd.com/news/529044/

相关文章:

  • 乐普云智:用AI+全场景心电产品,打通心血管诊疗最后一公里 - 品牌2026
  • G-Helper智能优化指南:华硕笔记本性能释放与卡顿解决全方案
  • 从新手到专家:OpCore-Simplify如何让黑苹果配置变得像点餐一样简单
  • 传导发射超标综合整改实操指南
  • 锂离子电池仿真、COMSOL仿真与锂电池仿真的研究
  • 省心之选:乐普云智健康一体机助力基层医疗新生态 - 品牌2026
  • 雪花算法-uuid
  • CentOS7断电后卡在登录界面?三步搞定XFS文件系统修复(附SELinux避坑指南)
  • 动态调整模糊分割系数
  • XBee 1.0 API模式C语言嵌入式通信库详解
  • 依然似故人_孙珍妮文生图教程:Z-Image-Turbo镜像在树莓派5+GPU扩展板上的轻量部署
  • Apache Storm并行度优化终极指南:如何最大化利用集群计算能力
  • 最近在折腾海康威视工业相机的二次开发,发现网上针对多相机管理的C#案例确实不多。直接上干货,分享几个关键点和踩过的坑
  • 如何快速掌握fastMRI:医学影像重建的终极入门指南
  • WuliArt Qwen-Image Turbo全流程解析:从输入Prompt到保存图片,一步步带你操作
  • 嵌入式OLED驱动库:SSD1306/SH1106轻量级显示解决方案
  • 终极指南:如何用XLNet在GLUE基准测试中实现多任务语言理解新高度
  • RN41/RN42蓝牙模块嵌入式控制库详解
  • Win10系统下ANSYS 18.2与Visual Studio 2012及Intel Fortran的协同配置指南
  • TeXMe:让Markdown与LaTeX无缝融合的自渲染解决方案
  • 5步焕新你的旧设备:OpenCore Legacy Patcher全攻略
  • Qwen2-VL-2B-Instruct数据库课程设计:构建多模态内容管理平台
  • 乐山美食推荐:五代传承的非遗老汤,藏在苏稽老宅里的跷脚牛肉 - 新闻快传
  • 如何用Path of Building轻松构建你的流放之路角色:从零到精通的完整指南
  • 3步搞定网页视频:猫抓工具的媒体资源高效获取方案
  • TensorFlow多类支持向量机终极指南:一对多策略实现详解
  • 明晚开播|PostgreSQL 18.3 x IvorySQL 5.3:开启 AI 数据库新纪元
  • Symfony Translation缓存性能终极比较:Redis vs Memcached vs APCu
  • 如何用Python实现多平台媒体内容自动化采集:从技术原理到实战应用
  • PDF补丁丁完整指南:掌握全能PDF编辑工具的终极教程