IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 用STM32单片机ADC+NTC热敏电阻采集温度的设计思路 | 附参考电路 -> 正文阅读

[嵌入式]用STM32单片机ADC+NTC热敏电阻采集温度的设计思路 | 附参考电路

目录

前言

一、热敏电阻NTC

二、参考电路

?三、激励电压选择


前言

记录一些我在工作和学习过程中遇到的问题

NTC:在淘宝随便买的

单片机型号:STM32G030C8T6

目的:用单片机采集NTC温度

本文主要是介绍关于NTC激励电压的选择

一、热敏电阻NTC

? ? ? ?热敏电阻NTC(Negative Temperature Coefficient)直译过来就是负温度系数,表示其阻值随着温度的升高而呈指数下降。热敏电阻是无源器件,自身不能产生电气输出,需要激励电压或者激励电流来测量传感器的电阻,也就是用一个小电流流过传感器以产生电压,单片机ADC采集这个电压计算出此时NTC的阻值进而推出其温度值。

二、参考电路

? ? ? ? 用单片机和NTC热敏电阻测量温度的推荐电路,这是相对简单的电路,如果要考虑稳定性和抗干扰的问题最好加一个射级跟随器,我这里用运放完成,参考电路如下:

? ? ? ? ? 在PCB布局的时候,NTC的信号是模拟信号,要注意布局的时候与数字信号隔离开。

?三、激励电压选择

? ? ? ??

? ? ? ? ?以上电路设计出来,还要考虑一个问题就是激励电压Vcc的选择,这在之前是我一直忽略的一个问题,经过我经理的讲解才知道,要想单片机采集的温度更精确,激励电压是不能随便选择的。

? ? ? ? 首先我的单片机是12位ADC,但是在实际应用中,相信很多和我一样在电子行业经验不足的,设计出来的产品是很难匹配这个数值的,不论是器件本身的误差还是来自其他电路的干扰以及信号耦合的问题,都会导致单片机最终采集到的模拟信号存在误差。经理的意思是12位ADC就看成8位来计算,但是考虑到电路比较简单相对能出现干扰的部分不多所以我还是按照10位ADC来计算。

? ? ? ?关于精度的计算:假设单片机ADC的参考电压是0~3.3v,那么其采样范围也是0~3.3v,10位ADC分辨率为2^10 = 1024,我们可以理解成0~3.3v的电压分布在这1024个数字上,每一个数字变化的电压就表示他的精度,计算公式:3.3/2^10 = 0.003。

我简单拉了一个表格,懒得算的可以参考:(注:计算的时候要注意你设计的单片机参考电压范围)

参考电压

位数

分辨率

精度

3.3

6

64

0.0515625

3.3

7

128

0.02578125

3.3

8

256

0.012890625

3.3

9

512

0.006445313

3.3

10

1024

0.003222656

3.3

11

2048

0.001611328

3.3

12

4096

0.000805664

? ? ? ? ?通过简单的构思,我们不难分析出,要想NTC精度提高,我们电压变化的极值在满足单片机ADC采样范围的条件下,还要尽量靠近这个值。也就是说如果你测量的环境温度变化范围在0~99℃,那么你需要计算0℃和99℃时,其分别表示的电压在相减得出极值,看是否和单片机的ADC采样范围匹配。

? ? ? ? ?先用Vcc=5v电压来计算,不同型号的NTC在不同温度情况下其电阻是不一样的,具体的RT表格可以向你买的NTC厂家要,我的型号在0℃时电阻是33k,99℃时电阻是0.5k,可以得出其电压极值为:5*33/(10+33) - 5*0.5(10+0.5) = 3.6v,这个值是不满足单片机的采样范围的,所以5v及其以上电压我不能考虑。

? ? ? ? 再来看4.096v电压,同理计算极值4.096*33/(10+33) - 4.096*0.5(10+0.5) =?2.94,满足条件可以选择。

? ? ? ??极值满足我们还要看ADC的精度是否能达到要求,首先在电压4.096v的情况下得出的极值为2.94v,那么其0.1℃的精度为 2.94/1000 = 0.00294,参照上表单片机的精度表格,与10位ADC可以比较匹配,综合考虑下是可以选择4.096的作为Vcc激励电压的。

懒得算的,我也简单拉了一个表格,仅供参考:

激励电压电阻最小值(99℃)电阻最大值(0℃)上拉电阻99℃电压0℃电压变化极值1℃变化0.1℃变化
2.50.533100.1190476191.9186046511.7995570320.017995570.001799557
3.30.533100.1571428572.532558142.3754152820.0237541530.002375415
4.0960.533100.1950476193.143441862.9483942410.0294839420.002948394
50.533100.2380952383.8372093023.5991140640.0359911410.003599114

这就是关于用单片机和NTC采集温度的设计过程,如果有不对的地方欢迎纠正!

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-10-31 12:14:20  更:2022-10-31 12:18:57 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 16:20:29-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码