トラ技2026年6月号 サーミスタの温度測定で
トランジスタ技術2026年6月号 の特集記事第1章
MATLAB解析IoTクラウド!暑さ指数測定器の製作
ラズパイPico 2 Wで屋外ワイヤレス百葉箱!
おすすめクラウドThingSpeak!
この記事を見ていて・・・なぜそう書くのか?
という疑問。
大もとはラズパイPico2Wを使った温度測定回路。
電源側にサーミスタを入れて抵抗値を計り、
温度計算しています。
MycroPythoでプログラムされているんですが、
・ゼロ除算はダメ
・ゼロの対数もダメ
なのはいっしょ。
温度を求めているところ、
「スタインハート・ハート(Steinhart-Hart)方程式」
を使っているとのこと。
(a) まず、1/1023が出てきます。
…なんども言ってるんですがねぇ
ここで得られるvoltage値、サーミスタが
オープンだと0.0V。 短絡だと電源電圧の3.3V。
(b) サーミスタの抵抗値を算出してる式。
短絡=3.3VだとゼロΩ。
オープンだと「ゼロ除算!」 …あかんがな
(c) 対数変換
短絡=ゼロΩでは未定義。 …あかんがな
簡単にはA/D値としてゼロとフルスケールをチェック
するだけ。
短絡とオープンを検出したら異常表示しても良いし、
オープン:最低温度 短絡:最高温度
と処理してもかまわないでしょ。
ゼロ除算と関数の未定義処理だけは避けるべきです。
こんなプログラムを見せられるのはイヤです。
サーミスタでの温度測定、過去にもウダウダ言ってます。
・2024年5月13日:サーミスタでの温度測定、「inf」の出現に耐えられるか?
・2024年3月30日:ラズピコだと1/65535が出現
・2023年3月21日:A/Dコンバータでサーミスタの抵抗値を読む サーミスタをつなぐ場所は?
・2023年3月23日:Arduino サーミスタを使った温度測定で 【ゼロ除算問題】
サーミスタじゃないけど、こんなバグにも遭遇。
・2021年12月7日:湿度センサー「DHT11」がやってきた・・・けど!?
他人が作ったもの、うかつに信じゃちゃダメよという教訓。
教科書的書籍でもスカタンがあるんで。
| 固定リンク
「温度測定」カテゴリの記事
- ATtiny1614で屋根裏収納スペースの温度を記録する(2026.06.08)
- トラ技2026年6月号 サーミスタの温度測定で(2026.05.14)
- コテ先温度を読みたいゾ う~む。(2024.05.24)
- ハンディ熱電温度計 AD-5602(2024.05.21)
- サーミスタでの温度測定、「inf」の出現に耐えられるか?(2024.05.13)
「1023 vs 1024」カテゴリの記事
- トラ技2026年6月号 サーミスタの温度測定で(2026.05.14)
- tinyAVR2系のデータシートは「4096」「256」で(2025.12.26)
- ATtinyのデータシートに「1/1023」が出現(2025.09.26)
- Arduino、analogWriteは捨てちゃえ。ちゃんとしたPWMの例(2025.03.22)
- 1023 vs 1024:AVRマイコンとPICマイコンのデータシートより(2025.03.19)



コメント
サーミスタがつながっている限り、異常事態にはなりません。
でもねぇ。記事として発表するなら、そこらへんも考えておいてほしいわけで。
AD値の範囲をチェックして、最高温度か最低温度に
張り付けてしまうというのが簡単でしょう。
サーミスタ異常のアラームも欲しい。
投稿: 居酒屋ガレージ店主(JH3DBO) | 2026年5月15日 (金) 08時30分