你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【更好用的单片机】【Stduino】37种传感器(五)热敏电阻...

[复制链接]
stduino 发布时间:2020-7-22 21:05
37种传感器(五)之热敏电阻传感器模块+Stduino Nano&UNO2 L2 U# P( Z0 I# t; A" t+ `6 t3 D
* Y  }8 e8 P& c: e0 B; ]
本文转载自:http://www.stduino.com/forum.php?mod=viewthread&tid=27&extra=page%3D1=: A6 A: h2 i/ U. B) j
8 q6 E8 N$ Z) P/ R! {' M$ A0 U5 U
关键词:; Q0 Z/ R1 e) l4 l: R
51、stm32、arduino、stduino、单片机、stduino UNO&Nano、热敏电阻模块8 F4 Q4 g# \1 ]8 C) r1 ?7 t( s6 r
2 p% U% \- s- W1 S3 C+ ?
说明:/ W) S3 l. \6 T/ i+ C
热敏电阻按照温度系数不同,可以分为正温度热敏电阻器(PTC)和负温度热敏电阻器(NTC)。
0 `( z9 {# c3 b" h4 R/ W热敏电阻典型特点是对温度敏感,不同的温度下表现出不同的电阻值,因此其两端电压随温度变化。正温度系数热敏电阻器(PTC)在温度越高时电阻值越大,负温度系数热敏电阻器(NTC)在温度越高时电阻值越低。' ?* e* N# l0 R* z' o9 n+ h& H
NTC的电阻随温度的变化,可以利用Steinhart-Hart方程来表示:# i% I: a* S5 G4 Y
6 k  N& l4 _9 R" |% [: w
1/T = A + B•ln® + C•[ln®]- U) P1 }: p3 T. e2 u: y3 I

. Q/ X" v1 E- N+ m  y" N8 W注意:T 为热力学温度,单位为开尔文(k);R 为电阻,单位是欧姆(Ω)。2 g* @9 ^* V; A
热力学温度与摄氏温度(t,单位为摄氏度,℃)存在这样的关系:
$ n3 l1 u0 _8 t. T- E- U  f0 ^- Z& _6 r
t=T +273.15% u  ?+ G: l3 c* {+ y7 e: |/ `% |( X

* \) [5 @& T8 M( S+ f6 B则可知,当前温度(Tsteinhart)的计算公式在C语言中的表达为:
" Y, ^9 J) c; P% }* u
# Q# {1 P+ Q0 h, z+ R; O9 ]Tsteinhart = 1/(A+Blog(Rth)+Cpow(log(Rth),3))-273.15
& d4 h# B9 X* }0 z! g* E9 a# v+ O1 m4 [( T
这里: T 为绝对温度K(开尔文温度),R 单位是欧姆。" n  j& M! A5 F7 f+ |
其中系数A\B\C由热敏电阻本身性质决定,本模块采用103电阻(10KΩ),其A\B\C分别为:0.001129148;0.000234125;0.00000008760741。
* c" x- w+ r- m. ^至于热敏电阻的当前阻值,需要利用欧姆定律来计算。A0测得的是其分压,则有
# Q% s9 i6 P" S  x6 K: | 热敏电阻两端电压01.png 9 h3 ?' U- X) C9 W% y3 l. [: ~& e. @
A0的范围为0~4095,而V总为5V,定值电阻R0为10KΩ,若A0测得数值为RawADC,则可得:5 S' Z; [5 _, s6 `# M- k
热敏电阻两端电压02.png
8 ^) C3 }4 K( |$ R4 K' \' w; w+ ?  G2 y3 ^1 x* T
热敏电阻.jpg & m& x9 |; D( H, i2 i" R7 g
; N# l; @, u5 W/ Y8 p: G, a) _0 u

实验目的:9 r6 f. q2 B$ ?' ]7 h8 f4 [
利用热敏电阻器,监测环境温度变化。

实验器材:% V  D& [. ^% I4 I% A
Stduino Uno/Nano;热敏电阻模块。

电路连接:

热敏电阻电路连接图.png ( p" Z1 d) l" q( R/ A, S% C2 d7 [# d

, ~# a7 ~8 d3 ?; @代码展示:
' {; j# Q/ p. D2 c8 |/ _+ C0 ^5 h. v  f
  1. #include <math.h>( c5 r" m9 q- W, b8 P
  2. double Thermister(int RawADC), \/ w/ ^% H5 Y
  3. {' N: x, n0 V8 B1 ?/ B8 ?3 H4 v
  4.     double Temp;
      L' [5 t! ?  T9 _
  5.     Temp = log((10240000/RawADC)-10000);
    ( d1 ~# X' v( q. y- x4 q
  6.     Temp = 1 / (0.001129148 + (0.000234125 + (0.0000000876741 * Temp * Temp))* Temp);: v* v5 r5 \5 ^' e7 y7 s
  7.     Temp = Temp - 273.15;( D& s$ ?8 Q% S
  8.     return Temp;
    5 ]. u% R5 E% E
  9. }2 P% s/ b- q2 r
  10. void setup()
    9 a: e5 K4 r2 m1 y. `) T
  11. {
    2 Y" W2 ]) [  h; Y* G
  12.     pinMode(A0,INPUT_ANALOG);) `' ]5 L0 `9 t; V, {
  13.     Serial.begin(9600);
    ' _* A: c) Q8 a6 B+ s
  14. }
    ; Y) n" f  s1 w; j  F
  15. void loop()
    ( }+ o7 \0 [2 D" }" {; ~: y" f. ?& J
  16. {
    : l( x; a8 t, o. R( S
  17.     Serial.print("当前温度:");
    5 w1 o0 |/ w; x- W
  18.     Serial.print(Thermister(analogRead(A0)));
    , b" b2 Q1 H7 S: E
  19.     Serial.println("c");
    ) r& @3 Y/ n7 D; a* G- ^, W9 h
  20.     delay(500);
    + r9 ?: Z- D4 P2 h- u
  21. }
复制代码
) ^3 T0 N4 F' h( e8 |1 P( j
: G  r  y% V% p. w# s9 `7 ?9 ]6 G
" K5 l- E" |- G0 f( x0 S8 ^( O
实验效果:! @7 B, a/ M, w# w$ V  H8 h! f; T
打开串口监视器,可以看到现在的温度是23.7℃。此时室外温度是27℃。( u5 w2 M. C. k$ n- D. ~
热敏电阻-串口通信示数.png & u) f' Y5 g  B  N$ \# X
微信图片_20200525100216.jpg
& B1 A7 L& @" C  k5 q; P这是整个IDE布局:
7 I8 v: ~. c/ ?. b) f+ w& f4 y 布局.png 8 }8 ?& U: u* P% q

# @9 E. T( z, B9 \( g3 b% u

: p2 U1 X2 l5 H$ e0 X% z附:你也可以采取自己搭件电路的方式。, X. e+ j; x- @( c/ N3 {
热敏电阻接线图.png   l0 ]' I7 e! M2 m2 L
, V, Y/ d, B3 E1 b
* W, a" a2 ~' [2 {2 [- r
# a+ a4 V: K# a+ R% i

2 C8 [& E9 _9 ]7 a$ x( F5 I7 i/ w
1 d4 w8 F. v; a8 o4 l2 t
室温.jpg ; n9 S0 y' ]2 p  s5 P! Y, H" O, A

: a. S0 K9 G' |' c# u# s) I: O
公式3.png
赞 收藏 1 评论0 发布时间:2020-7-22 21:05

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版