Arduino 负温度系数热敏电阻(NTC)测温

一直都用NTC作为温度传感器来测温,采用Arduino没有现成的例子用NTC测温的,LM35D温度传感器,这款传感器能够测量0-100摄氏度的温度,并以电压的数值输出。从0度开始温度每升高1度输出电压就会提高10mv。而NTC则不然,NTC根据温度变化产生电阻阻值变化,而且是非线性的变化,这就需要用上拉电阻或下拉电阻来选择分辨率较好的区间。

#define Pot A2			//电位器引脚命名

int PotBuffer = 0;		//AD读取数据缓存变量

void setup()
{
  Serial.begin(9600);   //初始化串口波特率为9600
}

void loop()
{
  PotBuffer = analogRead(Pot);	             //读取AD值
  float temp = -0.10581*PotBuffer+94.6374;   //浮点运算,根据拟合的温度与电阻曲线的斜率换算反函数
  Serial.print("TEMP = ");		             //串口输出“Pot = ”
  Serial.print(temp);		                 //串口输出temp的值
  Serial.print("; AD = ");
  Serial.println(PotBuffer);
  delay(500);				                //延时500ms
}

NTC的R25=100K,B=3950,选用50K作为上拉电阻,根据温度与阻值的真值表,求出待测范围如0-60℃的NTC实际电压值,0-5V等分1024份,求出电压值对应的AD值,以温度为X轴,AD值为Y轴做出曲线,并拟合成线性函数,求出此线性函数的反函数,最终得到【temp = -0.10581*PotBuffer+94.6374】。

Arduino 负温度系数热敏电阻(NTC)测温,布布扣,bubuko.com

时间: 2024-10-12 11:31:17

Arduino 负温度系数热敏电阻(NTC)测温的相关文章

利用单片机实现极简单的测温电路(转)

源:http://www.sinochip.net/TechSheet/67.htm 参考:http://www.docin.com/p-281643435.html 利用单片机实现极简单的测温电路 单片机在电子产品中的应用已经越来越广泛,在很多的电子产品中也用到了温度检测和温度控制,但那些温度检测与控制电路通常较复杂,成本也高,本文提供了一种低成本的利用单片机多余I/O口实现的温度检测电路,该电路非常简单,且易于实现,并且适用于几乎所有类型的单片机.其电路如下图所示: 图中: P1.0.P1.

燃太TN901红外测温模块LCD1602显示

山远的博客 学以致用 首页 旧版 首页 标签 留言本 单片机 文学 趣闻 美图 C#编程 燃太TN901红外测温模块LCD1602显示 燃太TN901红外测温模块LCD1602显示,可设置高温低温报警. 手工焊接电路板,使用STC89C52RC 单片机控制,红外测温模块非接触式测温. 可以设置高温和低温报警. 测量温度超出范围,蜂鸣器发出声音报警,两个指示灯分别表示高温和低温. Tags: TN901 红外测温模块 LCD1602 温度报警

[MSP430]实战 ADC使用, 内部测温使用

首先说说问题, 感觉这个Code Compose Studio 比较奇怪 #include "TFT\TFT_Driver.h" 找不到文件, 无法打开 没有include 仅在同一工程下就可以使用函数 每次运行程序结果不同 下面给出一个使用ADC的实例: ADC初始化函数: void ConfigureAdcTempSensor(void) { /* Configure ADC Temp Sensor Channel */ ADC10CTL1 = INCH_10 + ADC10DIV

千万别相信鲁大师的硬件测温和CPU测温功能!!

很多人本来随手安装的一个软件, 相信也信任得过它 , 这下让我测试对它失望了,没想到鲁大师这个测温功能实在太搓了!! 白白浪费了我一晚上,  搞来了硅胶 ,弄了几遍  , 还是一样, 还以为买了水货 !!就差点换风扇了 . 后来才发现是鲁某的问题 ! ψ(╰_╯) 不多说 直接上专业软件 AIDA64 和 Real Temp 与 鲁大屎 的真相对比图 ! 鲁某已经上90度报警 , 而身边两个软件还是50度左右. 这个是最新版的, 另外我换了一个老版本也同样有这个问题 . 搞了一晚上,  以后再也

DS18B20测温原理及逻辑时序

DS18B20测温原理: 图中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入, DS18B20内部的低温度系数振荡器是一个振荡频率随温度变化很小的振荡器,为计数器1提供一频率稳定的计数脉冲. 高温度系数振荡器是一个振荡频率对温度很敏感的振荡器,为计数器2提供一个频率随温度变化的计数脉冲. 初始时,温度寄存器被预置成-55℃,每当计数器1从预置数开始减计数到0时,温度寄存器中寄

测温补偿测试程序

#include<stdio.h>#include<math.h>#define uchar unsigned char#define R1 10000 // the value of standard resistor is 10000#define c 0.0001// theroy current#define Vref 2.5//refrence voltage#define PGA 2//gain char *Hex="0123456789ABCDEF"

基于51单片机的无线测温系统

本51项目基于STC89C52MCU,温度传感器为DS18B20,显示模块用的是LCD1602,无线模块用的是Nodemcu. 项目用到的编程语言:C,C++,Lua. 实现思路是这样,DS18B20测温,然后数据串行传送给51单片机,然后51通过串口将数据传送给Nodemcu,Nodemcu通过其WIFI模块将数据发送给上位机,上位机上的程序是用Qt编写的GUI.(这里无线传输采用的是无连接的UDP协议) 1.DS18B20温度测量模块 DS18B20是单总线器件,所以时序要求非常严格,程序编

基于51单片机DS18B20测温LCD1602显示可设时设温调时的项目

一.前言 1.基于51单片机DS18B20测温LCD1602显示可设时设温调时的项目包括用Keil软件编写单片机C语言程序和用Proteus软件仿真单片机外围电路 2.基于51单片机DS18B20测温LCD1602显示可设时设温调时的项目构思 (1).声明程序变量思维导图 (2).程序子函数思维导图 (3).程序主函数思维导图 二.基于51单片机DS18B20测温LCD1602显示可设时设温调时的项目的Keil软件编写的单片机C语言程序 1 #include<reg52.h>//声明51单片机

环网柜(开关柜)超高频UHF局放在线监测及无线测温2合1装置方案简介

环网柜(开关柜)超高频UHF局放在线监测及无线测温2合1装置方案简介一.局放监测的几种技术流派二.超高频局放的优势三.系统的设计方案1. 概述广州智昊电气IHPS-3300型开关柜局部放电及温升在线监测装置通过检测伴随局部放电而产生的电磁波辐射及开关柜接头温升现象,装置扫描10~100MHz频率范围内的电磁波辐射并自动确定现场局部放电的实际检测频率,随后将检测的局部放电脉冲簇数据和开关柜头温升数据上传DTU.高压开关柜是使用极广且数量最多的开关设备.由于在设计.制造.安装和运行维护等方面存在着不