| |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| -> 嵌入式 -> 简易的NTC-10K-3950测温 -> 正文阅读 |
|
|
[嵌入式]简易的NTC-10K-3950测温 |
简易的NTC-10K-3950测温
一、概述??正是NTC温度传感器这些优势使它应用于各行各业中, 比如家用电饭煲、饮水机、冰箱、热水器和空调等家用电器, 因此学习电子技术是必须要掌握的。下图是一个外接式NTC-10K-3950温度传感器。
? 二、电路和原理1.电路图
? 2.原理概述??上图是一个简单的测温电路, 只需要NTC串接一个10K电阻并在电源两端, MCU的ADC采集RT_INT上电压再经过欧姆定律求出NTC的阻值, 通过温度表或公式就可求出温度值, 如果是通过公式计算是比较麻烦的且误差比查表大, 因此查表是一个不错的实现方式, 虽然会占用MCU的flash较多, 但以目前的MCU来说是九牛一毛。为什么先前说它精度和稳定性好, 主要它每摄氏度之间相差在几百Ω的距离, 因此外延线可较长, 不易受干扰。如果是PT100温度传感器, 每摄氏度之间相差不到1Ω, 易受电路和延长线干扰。? ??同时, 采集的温度精度还取决于MCU的ADC, 主要包括ADC的分辨率和参考电压, 每款MCU的ADC精度是不一样的, 具体精度误差需要查看手册看是否满足自己的需求, 如下图是灵动微MM32F0130系列的ADC精度表, 单位LSB指的一个12位分辨率的ADC共有4096数字位(2的12次幂等于4096)的其中一位。如综合误差在3.4LSB, 在3.3V参考电压下, 该误差电压是3.3V / 4096 * 3.4LSB ≈ 3mV, 再通过NTC温度表逆推看是否可忽略该误差。
? ??下图是NTC温度表其中的一段表值, 假如取39°C和40°C两个中间值变化对比, 在3.3V情况下, 39°C的ADC采样电压=3.3V * 5.531K / (10K + 5.531K) ≈ 1.1752V, 40°C的ADC采样电压=3.3V * 5.311K / (10K + 5.311K) ≈ 1.1447V, 两相减约得30mV是满足总误差3mV。假设最糟糕的情况下, 39°C的最小值与40°C的最大值两值的电压距离, 通过计算约得15mV, 也是足够的。如果还不能满足要求请校准ADC, 同时给ADC参考电压提供稳定和精度好的电压源, 可用专用的参考电压IC, 通常用TL431可调稳压管可节省成本。
? 三、程序设计1.程序代码
? 2.程序简述??调用ntc_get_temp()函数可获取温度值, GetAdcAverage()函数是ADC采集的数字量电压, 之后通过mid_filter()滤波。
上面 三条语句是获取NTC阻值的换算公式, 为何要这么写呢?这是推算的结果, 假设NTC通过10K电阻并在电源上的电压与ADC参考电压一致, 都是3.3V, 即 VCC = ADC_REF = 3.3V, 则ADC采集电压(电路图中RT_INT的网络号)ADC_V = VCC * RT / (10K + RT)。已知MCU的ADC分辨率是12BIT, 即最大数字量是4095, 则ADC_V = ADC_REF * ADC_DATA / 4095, ADC_DATA为ADC获取的数字量电压。将这两公式进行合并解方程求出RT阻值, VCC * RT / (10K + RT) = VCC * ADC_DATA / 4095, 最后公式得出RT = 10000000 / (4095000 / ADC_DATA - 1000), 简化出结果只受一个变量影响, 排除了电源电压相关变量, 精度更好了, 详细公式计算如下图。
? 四、总结??该电路简单有效, 只要配合少量代码便能准确读出被测物体的温度值, 在通常应用中是够用的, 如需精度更准, 应用环境恶劣要求稳定性更好, 可加运放和做温度补偿, 但一般这些情况下用数字温度传感器会更好。? 五、下载地址https://github.com/chengzidun/blog.git ?
|
|
|
| 嵌入式 最新文章 |
| 基于高精度单片机开发红外测温仪方案 |
| 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/29 22:02:59- |
|
| 网站联系: qq:121756557 email:121756557@qq.com IT数码 |