在写温度传感器驱动之前:热敏电阻的温度、电阻、电压的映射关系

简介: 本文介绍了温度传感器中NTC热敏电阻的温度、电阻、电压之间的映射关系,通过理论计算和实际测量验证了在特定温度下电阻值和电压值的对应关系,为编写温度传感器驱动提供了必要的理解和方法。

一、前言

  • 在日常的Soc驱动开发中,对于芯片的实际使用者,大多数时间所调试的是外围设备的驱动,或者说是自己新增设备的驱动。
  • 本文即介绍其中常用的一个小模组:温度传感器(NTC热敏电阻)的使用方法,关键是搞懂其中的映射关系是否正确:温度值、电阻值、ADC读取的电压值。当映射正确后,我们就可以很快的将它们组织成需要的温度曲线,或者填写各个温控阈值(在什么温度,干什么事情)。
  • 中学生略过、在读大学生略过……

二、准备工作

  • 温度传感器,常使用的核心器件就是NTC热敏电阻,其特性就是热敏电阻的阻值(欧姆)会随着温度的变化而变化,并且十分灵敏。而对于温度数据的采集,如本文所采用的全志H713 Soc芯片,实际上获得的一般是热敏电阻两端的实时电压(毫伏)。
  • 所以,对于软件开发人员来了说,首先要搞懂的就是几个变量之间的映射关系:温度–>电阻值–>电压值。

2.1 NTC规格书

  • 拿到设备后,首先需要阅读NTC热敏电阻的规格书,其中最重要的就是其温度-阻值的映射表
  • 最要注意的是,注意观察其阻值是不是一个相对线性的,或者说使用过程中给对温度的精度要求不是那么高,那么只要不是个别部分非线性差异过大,就可以接受,或者分段成若干线性的部分。
  • 本文针对的设备,是投影仪,对于这类设备,比较关注的是高温,不要因为高温而烧毁了LED灯珠或者LCD\DMD等关键显示器件,所以日常选择的温度区间,基本上,只要涵盖30°~90°即可
  • 从本文的NTC规格书中,可以得知30°~90°这个区间基本上是线性的,对于使用方法的讲解,以60°做个例子。

在这里插入图片描述

2.2 原理图

  • 获得了NTC的规格书之后,下一步要准备的就是温度传感器模块的原理图,下面黑线框部分,是对于软件人员更容易理解的一个电路简化,相关信息也可以咨询下硬件工程师。
  • 从这个电路图中,容易干扰的部分,就是R2电阻,它因为连接的是GPADC0(Soc的ADC引脚),这一路向硬件咨询,其实是一个高阻的线路,所以可以将其忽略,因此,继续简化后,就剩下一个R1和Rx(热敏电阻,相当于一个可变电阻器)的串联分压电路。
  • Rx两端的电压值Vx,就是ADC读取后反馈的数据,也可以通过实际测量获得(使用万用表的直流电压档位,红黑表笔连接热敏电阻的两端)。

在这里插入图片描述

2.3 新手的疑问

Soc的ADC引脚读取的是电压值,而规格书里面列出来的却是温度和电阻值的对应关系,电压值怎么和这个电阻值对应上呢?如何验证算法是否正确呢?这是软件人员经常困惑的地方,虽然物理学了那么多年了,但终归用得少,但通过楼上的简化电路,用初中的电路知识,就可以得出答案。

三、问题求解

此处有两个问题(双向验证,double check):

(1)一个是根据电阻值,算出理论上的Vx应该等于多少?

(2)另一个是,根据实际测量获得的Vx,倒推出理论的Rx热敏电阻的阻值是多少?

最终获得的数值,(1)和 (2)的阻值和电压参数应该基本一致

3.1 知道Rx, 求Vx的理论值

  • 在不测量具体Vx的情况下,通过公式计算出Vx的理论值

  • 查规格书,以60°为例,Rx = 2.4734 KΩ

  • 串联电路的电流相等

  • Vx/Rx = 1.8/(Rx+R1) ,其中单位:电阻为欧姆,电压为伏特,R1=3000欧姆

  • 即:Vx = 1.8Rx /(Rx+R1)

计算: Vx = 1.8 * 2473 / (2473 + 3000) = 0.813 v

3.2 实测得知Vx,求Rx的理论值

  • Vx可以通过测量直接获得,而NTC的规格书上只有温度和电阻的MAP,所以如何确定电压和当前温度的对应关系呢?
  • 串联电路的电流相等
  • Vx/Rx = 1.8/(Rx+R1) ,其中单位:电阻为欧姆,电压为伏特,R1=3000欧姆
  • 即: Rx = Vx*R1/(1.8 - Vx)
  • 实际抓打印:zs, gadc_thermal_adc_to_temp temp=60000, val=813
  • 实际测量Vx = 0.813v 和=打印的ADC读数一致

计算:Rx = 0.813*3000 / (1.8-0.813) = 2,471.12 Ω

3.3 综上

从3.1和3.2的计算结果可知,60°时候的电压、电阻的映射关系是正确的。后续通过进一步的对其他值抽样,可以做再次的确认。

四、篇尾

每当搞起热敏电阻类似的简单电路器件,写它们的控制驱动时,总会痛心疾首,当年大学为啥不好好学物理,不好好学习模电和数电,……,总算知道啥都有用了吧!书到用时方恨少!

相关文章
|
5月前
|
传感器 编解码
振动电阻式传感器测量模块的传感器接口
振动电阻式传感器测量模块的传感器接口
振动电阻式传感器测量模块的传感器接口
|
5月前
|
传感器
什么是振动电阻式传感器测量模块RM501/502
RM501/502是一种振动电阻式传感器测量模块,用于测量物理量。它采用了差动电阻式传感器,通过两个电阻的比值来反映被测物理量。该传感器可以抵消环境温度影响,采用五线制测量方式,可以消除传感器线缆电阻的影响。
什么是振动电阻式传感器测量模块RM501/502
|
5月前
|
传感器
振动电阻式传感器测量模块用于测量物理量
振动电阻式传感器测量模块,用于测量物理量。它采用了差动电阻式传感器,通过两个电阻的比值来反映被测物理量
振动电阻式传感器测量模块用于测量物理量
|
6月前
|
测试技术
SMU可以供电的同时测量电流和电压
SMU可以供电的同时测量电流和电压
61 0
|
6月前
|
传感器 存储 前端开发
电源常用电路:采样电路
在之前的帖子中,我们已经介绍了数字电源及其核心控制器PPEC。当然,数字电源除了包含电源拓扑电路以及数字控制核心外,还包括采样、驱动和通讯等外围电路。 本篇就先对电源的ADC采样原理和常用的采样调理电路进行介绍吧。 一、ADC采样原理 ADC(模数转换器)采样是将模拟信号按照一定的采样频率进行离散化,然后转换为数字信号的过程,通常包括采样、保持、量化和编码四个步骤。 ▍采样 采样主要实现模拟信号的离散化处理,即将连续的模拟信号转换为一系列时间间隔相等的模拟信号。 采样的间隔由采样频率决定,频率越高采样得到的信号越接近原始信号。但较高的采样频率会使得数据量增加,同时对系统的转换速度要
129 4
MCU ADC如何测量超过VCC的电压?
MCU ADC如何测量超过VCC的电压?
DC电源模块如何调节电源输出电压和电流
DC电源模块是一种电源转换器,在电子设备中广泛使用。它可以将交流电转换为直流电,或者将低电压直流电转换为高电压直流电。 DC电源模块通常可以调节输出电压和电流,以满足各种电子设备的不同需求。
DC电源模块如何调节电源输出电压和电流
|
前端开发
电路设计中电阻的选择及其作用
电路设计中电阻的选择及其作用
127 0
几种常见的电源防反接电路
几种常见的电源防反接电路
162 0
|
存储 传感器 编解码
51单片机--DS18B20温度感应器
51单片机--DS18B20温度感应器
172 0