今から始める電子工作 Step4 ① 温度センサ LM35失敗

 常温付近の温度を測る温度センサはたくさんあります。サーミスタが一番安価なので産業界ではよくつかわれます。今まで利用してきたI2Cバス用の温度センサは高額です。

 使い方が簡単なのがLM35と呼ばれる温度センサです。CPUなどの温度を測るには、トランジスタが使われていますが、トランジスタ1個だけでは、温度と電圧の関係が複雑です。

 このセンサ、とてもわかりやすいのです。次の写真のように5Vの電源をつないで、センサの出力をテスタで測ります。

 約196mVです。これは19.6℃のことです。25℃なら250mVという電圧が出力されます。0℃のとき0Vで、1℃あたり10mVの電圧が発生します。零下を測りたいときには、マイナス電源が必要です。

環境

  • Arduino IDE;2.3.5
  • Windows11;24H2
  • Arduino UNO R4 WiFi 

接続

 LM35の外観はトランジスタと同じTO-92 です。

 アナログ入力端子はA0につなぎます。

スケッチ

 5V端子はテスタで測りました。4.08Vです。

void setup() {
  Serial.begin(9600); 
  delay(1000);
  analogReadResolution(14);
}

void loop() {
int analogData = analogRead(A0);
float voltage =  analogData * (4.08 / 16384.0);
Serial.print(voltage *100.0);Serial.println("'C");
delay(3000);
}

 実行結果です。 室温は25~27℃なので、そうとう高めの値が出ています。

Arduino UNO R3を使う

 同じ条件で、LM35をArduino UNO R3につないで測定しました。こちらは、妥当な温度を表示しています。

 

 Arduino UNO R4 WiFiで、DC12Vの外部電源を使って5V端子を約5Vに上げても結果は変わりませんでした。

また、OPアンプをバッファにし、A3端子を測定しましたが、同様に高めでした。

 原因は不明です。

 確認のために、A0に基準電源発生器で100mVを入力すると、99.5~100.7mVでしたので、A-Dコンバータは正常に働いていることがわかりました。

前へ

今から始める電子工作 Step3 ⑥ Wi-Fi Webserver