注釈

こんにちは、SunFounderのRaspberry Pi & Arduino & ESP32愛好家コミュニティへようこそ!Facebook上でRaspberry Pi、Arduino、ESP32についてもっと深く掘り下げ、他の愛好家と交流しましょう。

参加する理由は?

  • エキスパートサポート:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。

  • 学び&共有:ヒントやチュートリアルを交換してスキルを向上させましょう。

  • 独占的なプレビュー:新製品の発表や先行プレビューに早期アクセスしましょう。

  • 特別割引:最新製品の独占割引をお楽しみください。

  • 祭りのプロモーションとギフト:ギフトや祝日のプロモーションに参加しましょう。

👉 私たちと一緒に探索し、創造する準備はできていますか?[ここ]をクリックして今すぐ参加しましょう!

2.13 - 温度計

温度計は、温度または温度勾配(物体の温度または冷度の程度)を測定する装置です。 温度計には、2つの重要な要素があります:(1)温度に変化が生じる何らかの変化が起こる温度センサー(例:水銀温度計の球根や赤外線温度計の焦電センサー); そして(2)この変化を数値で表示する手段(例:水銀温度計にマークされた可視スケールや赤外線モデルのデジタル表示)。 温度計は、テクノロジーと産業でプロセスを監視するため、気象学、医学、科学研究で広く使用されています。

サーミスターは、温度に強く依存する抵抗を持つ温度センサーの一種で、2つのタイプがあります: 負の温度係数(NTC)と正の温度係数(PTC)とも呼ばれ、NTCとPTCです。 PTCサーミスターの抵抗は温度とともに増加し、NTCの状態はそれに反対です。

この実験では、 NTCサーミスター を使用して温度計を作成します。

必要なコンポーネント

このプロジェクトには、以下のコンポーネントが必要です。

全体のキットを購入するのが便利です。リンクはこちら:

名前

このキットに含まれるアイテム

購入リンク

ケプラーキット

450+

Kepler Ultimate Kit

以下のリンクから個別に購入することもできます。

SN

コンポーネント紹介

数量

購入リンク

1

Pico Wを知る

1

購入

2

マイクロUSBケーブル

1

3

ブレッドボード

1

購入

4

ジャンパーワイヤー

数本

購入

5

抵抗器

1(10KΩ)

購入

6

サーミスター

1

購入

回路図

sch_temp

この回路では、10KΩ抵抗とサーミスタが直列に接続されており、それらを流れる電流は同じです。10KΩ抵抗は保護として機能し、GP28はサーミスタの電圧変換後の値を読み取ります。

温度が上昇すると、NTCサーミスタの抵抗値が減少し、それに伴い電圧も低下するため、GP28の値も減少します。温度が十分に高くなると、サーミスタの抵抗はほぼ0に近づき、GP28の値もほぼ0に近づきます。この時、10KΩ抵抗が保護の役割を果たし、3.3VとGNDが直接接続されて短絡するのを防ぎます。

温度が下がると、GP28の値は増加します。温度が十分に低くなると、サーミスタの抵抗は無限大に近づき、その電圧は3.3Vに近くなります(10KΩ抵抗は無視できる)。この時、GP28の値は最大値である1023に近づきます。

計算式は以下の通りです。

デジタル値 = (アナログ電圧 / 3.3V) * 1023

配線

wiring_temp

注釈

  • サーミスタは黒く、103と表示されています。

  • 10KΩ抵抗の色リングは赤、黒、黒、赤、茶色です。

コード

注釈

  • ファイル 2.13_thermometer.inokepler-kit-main/arduino/2.13_thermometer パスから開くことができます。

  • または、このコードを Arduino IDE にコピーしてください。

  • ボード(Raspberry Pi Pico)と正確なポートを選択した後、 アップロード ボタンをクリックすることを忘れないでください。

プログラムが実行されると、シリアルモニターに摂氏と華氏の温度が表示されます。

動作原理

各サーミスタには基準となる抵抗があります。 この場合、それは10kΩで、25度摂氏で測定されます。

温度が上がると、サーミスタの抵抗が減少します。 その後、A/Dアダプターによって電圧データがデジタル量に変換されます。

プログラミングにより、摂氏または華氏での温度が出力されます。

long a = analogRead(analogPin);

この行は、サーミスタの値を読むために使用されます。

float tempC = beta / (log((1025.0 * 10 / a - 10) / 10) + beta / 298.0) - 273.0;
float tempF = 1.8 * tempC + 32.0;

これらの計算は、サーミスタの値を摂氏度と華氏度に変換します。

注釈

ここでは、抵抗と温度の関係は以下の通りです:

RT = RN expB(1/TK – 1/TN)

  • RTは、温度がTKのときのNTCサーミスタの抵抗です。

  • RNは、評価温度TNでのNTCサーミスタの抵抗です。この場合、RNの数値は10kです。

  • TKはケルビン温度で、単位はKです。この場合、TKの数値は273.15 + 摂氏度です。

  • TNは評価ケルビン温度で、単位もKです。この場合、TNの数値は273.15+25です。

  • そしてB(ベータ)は、NTCサーミスタの材料定数であり、熱感度指数とも呼ばれ、数値は3950です。

  • expは指数関数の略であり、基数eは自然数で、おおよそ2.7と等しいです。

この関係式は、経験式です。温度と抵抗が有効範囲内の場合にのみ正確です。

このコードは、ケルビン温度を得るために、式TK=1/(ln(RT/RN)/B+1/TN)にRtを代入します。