| |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| -> 嵌入式 -> stm32通过NTC采集温度,二分法查表,精度0.1℃ -> 正文阅读 |
|
|
[嵌入式]stm32通过NTC采集温度,二分法查表,精度0.1℃ |
|
NTC是指负温度系数的电阻器,电阻值会随着温度上升而减少,我们可以利用该特性,对温度进行采集和计算。 下面是NTC的规格和温度阻值表 标称阻值:10kΩ @ 25℃ 精度公差:±1% B值:3435K at 25/85℃ B值公差:±1%
我用的是查表法,所以在计算中不使用B值,B值直接忽略,只关心精度和温度阻值表。 我们先看看电路
STM32的ADC是12位的,我们根据电路图可以得到公式
?我们把温度阻值表代入公式,可借助EXCEL计算,可以得到温度对应的ADC值大小,然后定义数组,用于查表计算温度。 我选取的温度范围是-20℃~170℃,生成下列数组。
二分法查表,可以用循环的方法或者递归函数查找,我采用的是循环的方法,查找出ADC在列表中的位置,就可以知道对应的索引号,进而计算温度值,代码如下:
二分法查找的值是表中的索引号,我们还需要根据索引号和ADC值进一步计算温度值(精度0.1℃),代码如下:
main.c代码
我输入ADC值3010,输出值为-3,也就是-3*0.1℃=-0.3℃, 我用ADC换算成电阻值再去推算温度也是-0.3℃,算法正确,大家放心使用。 |
|
|
| 嵌入式 最新文章 |
| 基于高精度单片机开发红外测温仪方案 |
| 89C51单片机与DAC0832 |
| 基于51单片机宠物自动投料喂食器控制系统仿 |
| 《痞子衡嵌入式半月刊》 第 68 期 |
| 多思计组实验实验七 简单模型机实验 |
| CSC7720 |
| 启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
| STM32初探 |
| STM32 总结 |
| 【STM32】CubeMX例程四---定时器中断(附工 |
|
|
| 上一篇文章 下一篇文章 查看所有文章 |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| 360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年11日历 | -2025/11/28 6:00:20- |
|
| 网站联系: qq:121756557 email:121756557@qq.com IT数码 |