サーミスタで温度を測る

概要

おそらく最も安価に温度を計測することができるNTCサーミスタによる温度計測。

外観

外観図

回路

回路図

部品

サーミスタ 10kΩ (10本入)¥150
https://akizukidenshi.com/catalog/g/gP-17250/

プラグラム(MicroPython)

import machine
import utime
import math
adc = machine.ADC(machine.Pin(33))
adc.atten(machine.ADC.ATTN_11DB)
# サーミスタの設定
B = 3960 #B定数
To = 25 #基準温度
Ro = 10000 #基準温度時の抵抗値
# 回路の設定
Vcc = 3.3 #入力電圧
R1 = 10000 #分圧抵抗

Vout = adc.read_u16()* 3.3/65535
R = R1 * Vout/(Vcc-Vout)
T = 1/(1/(To+273.15)+math.log(R/Ro)/B)-273.15

print("Temp: " + str(T))

直線近似

上記のプログラムは、下式に基づくため、対数計算を行っている。

関係式

PIC等のマイコンの場合は、対数計算が手間であるため直線近似をすることが常用されるとのこと。

直線近似

算定のためのエクセルファイル
thermistor_linear_approx.xls

補正

実際にDHT20の温度と測ってみると、結構ずれるため、補正が必要と思われます。

関係図

y = 0.0922*(x**1.6365)

または

y = 1.2763*x-13.905

これは一日試しに外気温を測定した結果のため、いつかちゃんと校正用のデータを取りたい。。。

詳細

MicroPythonでサーミスタから温度取得
https://tiblab.net/blog/2022/12/use_thermistor_by_esp32_micropython/

参照サイト

5ドル!ラズパイ・ゼロ(Raspberry pi Zero)でIoT (22) アナログ温度センサ4 サーミスタ
https://www.denshi.club/pc/raspi/5raspberry-pi-zeroiot-4.html

ページトップへ