极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 400|回复: 0

【更好用的单片机】Stduino学习(五)热敏电阻模块

[复制链接]
发表于 2020-8-12 20:23:43 | 显示全部楼层 |阅读模式
关键词:51 stm32 arduino stduino 单片机 stduino UNO&Nano 热敏电阻模块

说明:
热敏电阻按照温度系数不同,可以分为正温度热敏电阻器(PTC)和负温度热敏电阻器(NTC)。

热敏电阻1.jpg

热敏电阻典型特点是对温度敏感,不同的温度下表现出不同的电阻值,因此其两端电压随温度变化。正温度系数热敏电阻器(PTC)在温度越高时电阻值越大,负温度系数热敏电阻器(NTC)在温度越高时电阻值越低。
NTC的电阻随温度的变化,可以利用Steinhart-Hart方程来表示:

05-ST公式.png

注意:T 为热力学温度,单位为开尔文(k);R 为电阻,单位是欧姆(Ω)。

热力学温度与摄氏温度(t,单位为摄氏度,℃)存在这样的关系:

t=T +273.15

则可知,当前温度(Tsteinhart)的计算公式在C语言中的表达为:

Tsteinhart = 1/(A+B*log(Rth)+C*pow(log(Rth),3))-273.15

这里: T 为绝对温度K(开尔文温度),R 单位是欧姆。

其中系数A\B\C由热敏电阻本身性质决定,本模块采用103电阻(10KΩ),其A\B\C分别为:0.001129148;0.000234125;0.00000008760741。

至于热敏电阻的当前阻值,需要利用欧姆定律来计算。A0测得的是其分压,则有

A0的范围为0~4095,而V总为5V,定值电阻R0为10KΩ,若A0测得数值为RawADC,则R0两端电压为:

05-R0.png

则利用欧姆定律可以求得热敏电阻大小为:

05-V0.png



实验目的:
利用热敏电阻器,监测环境温度变化。

实验器材:
Stduino Uno/Nano;热敏电阻模块

电路连接:

热敏电阻电路连接图.png


代码展示:

  1. #include <math.h>
  2. double Thermister(int RawADC)
  3. {
  4.     double Temp;
  5.     Temp = log((10240000/RawADC)-10000);
  6.     Temp = 1 / (0.001129148 + (0.000234125 + (0.0000000876741 * Temp * Temp))* Temp);
  7.     Temp = Temp - 273.15;
  8.     return Temp;
  9. }
  10. void setup()
  11. {
  12.     pinMode(A0,INPUT_ANALOG);
  13.     Serial.begin(9600);
  14. }
  15. void loop()
  16. {
  17.     Serial.print("当前温度:");
  18.     Serial.print(Thermister(analogRead(A0)));
  19.     Serial.println("c");
  20.     delay(500);
  21. }
复制代码

实验效果:

温度.png

布局.jpg

热敏电阻接线图.png


Stduino IDE是一款面向32位处理器快速入门学习的集成开发平台,目前已经支持Arduino_Core_STM32框架,集聚快捷、高效、免费、开源、易得于一身,软件还集成了GDB调试功能。IDE当前支持的功能有:

    GDB调试
    封装库下载安装
    代码自动补全提示
    中英文模式
    UTF-8\GBK编码格式
    代码快速格式化
    SWD\串口程序下载&调试(已验证)
    DFU程序下载方式(待验证)
    USB HID程序下载方式(待验证)
    maple DFU程序下载方式(待验证)
    maple DFU2程序下载方式(待验证)
    MassStorage程序下载方式(待验证)

更多功能细节请点击图片上水印显示的网址进行了解

已经支持的芯片&板型列表:

    Stduino UNO&Nano
    Nucleo 144 boards
    Nucleo 64 boards
    Nucleo 32 boards
    Discovery boards
    Eval boards
    STM32MP1 series coprocessor boards
    Generic STM32F0 boards
    Generic STM32F1 boards
    Generic STM32F3 boards
    Generic STM32F4 boards
    Generic STM32H7 boards
    Generic STM32L0 boards
    3D printer boards
    LoRa boards
    Electronic Speed Controller boards
    Generic flight controllers
    Garatronics boards
    Midatronics boards

更多功能集成正在进行中~


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊 ( 浙ICP备09023225号 )

GMT+8, 2020-9-20 13:34 , Processed in 0.049967 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表