質問:
TMP35が奇妙な値を与えるのはなぜですか?
MICROexchange6
2015-11-05 04:27:16 UTC
view on stackexchange narkive permalink

TMP35 / 36/37は非常に高い電圧測定値を示しているため、高温測定値が得られます。シリアルモニターは次のようになります。 enter image description here

ご覧のとおり、センサー値は900年代、電圧はほぼ5、温度は400年代です。回路は非常に単純で、TMPを5Vに接続し、グランドとピンA0を接続するだけです。コードは次のとおりです。

const int sensorPin = A0; const float baselineTemp = 20.0; void setup(){Serial.begin(9600);} void loop(){int sensorVal = analogRead(sensorPin); Serial.print( "センサー値:"); Serial.print(sensorVal);フロート電圧=(sensorVal / 1024.0)* 5.0; Serial.print( "、ボルト:"); Serial.print(電圧); Serial.print( "、摂氏:");フロート温度=(電圧-.5)* 100; Serial.println(温度); delay(1000);}

これは非常に単純なプログラムであり、非常に単純な回路であるため、何が起こっているのかわかりません。たぶん問題はセンサー自体です。他の複数の回路やプログラムでこのセンサーを試しましたが、同じことが起こります。

誰かがこれについて何か知っているなら、助けがあれば素晴らしいです。

電圧計をTMPのVoutに接続できますか?電圧が実際にそれほど高い場合は、はい、壊れた部品があります。別のTMPセンサーを試してください。これは、arduinoを除外するためのものです。
電圧計をTMPに接続すると、5Vと表示されます。だからそれはその一部でなければなりません。
ええ、どういうわけか破損しているに違いありません。徹底するために、次のことができます。1。回路を再確認します。2。TMPの方向を再確認します(以前に逆方向に接続しました)。3。電源電圧を再確認し、2.7vの間にあることを確認します。および5.5v(データシートによる)。しかし、あなたはおそらくすでにこれらのことをしました。念のために言及すべきだと思っただけです。
コメントありがとうございますが、はい、私はこれらすべてを何度もチェックしました。残念ながら、スターターキットにはTMPが1つしかありません。
ただ好奇心が強い: `-.5`はどこから来たのか、`フロート温度=(電圧-.5)* 100; `? TMP35は10mv / degCを出力し、0devは0degCです。 (これがコーディングエラーの場合に役立つわけではありません。結果が50℃高く見えるようになります。)
二 答え:
SDsolar
2018-05-04 07:21:21 UTC
view on stackexchange narkive permalink

私は分圧器をよく使用しますが、これは以前に見たことがあります。

すべての測定値が高いにもかかわらず、予測どおりに変化するすべての場合(ソーラーパネルのように、日中は上昇し、夜間は下降します)、常に非常に高いことが証明されています。単純な単一の原因。

アース線の抵抗。

ブレッドボードの穴に差し込まれていて、しっかりと保持されていない場合や、私がそれを拡張し、途中で接続がある場合。

それが、私が最初に探すことです。


とは言っても、測定値が非常に高く、予測どおりに変化しない場合は、切断されたアース線を探します。


すべての接続は良好ですが、それでも誤動作するため、パーツ自体に問題がないことを確認するために、別の接続と交換します。

MICROexchange6
2015-11-08 08:55:59 UTC
view on stackexchange narkive permalink

一部が壊れているようです。電圧が異常に高い。

それを投げる前に、別のADCピンを試す価値があります。また、いくつかの抵抗で分周器を作成し、ADCから値の範囲を取得できることを確認します。また、ランダムトランジスタではなくセンサーがあり、アースが接続されていることを含め、配線が正しいことを確認してください。
おかげで、さまざまなADCピンを試しましたが、すべて同じ結果でした。それは間違いなく温度センサーであり、ワイヤーは正しいです。 ADCをテストするために分周器を作成しようとしますが、他のピンでも同じ結果が得られました。


このQ&Aは英語から自動的に翻訳されました。オリジナルのコンテンツはstackexchangeで入手できます。これは、配布されているcc by-sa 3.0ライセンスに感謝します。
Loading...