迷走の果て・Tiny Objects

迷走する日々の覚え書きです。自分で分かってることは省略してますので、念のため。

非接触温度センサTMP007を試す(6)LCDをつける

スイッチサイエンスさんの小型LCDボード(3.3V版)があったので、取り付けてみました。
コントラストを調整する必要がありますし、取り付ける向きもよくないんですが、これで電池動作できます。
上が対象温度、下がダイ温度。とりあえず単位は表示してません。


スケッチは後ほど・・・。
スケッチです。
ControlEverything.comのスケッチスイッチサイエンスさんのスケッチを合わせました。小数を表示する部分は逆引きArduinoを参考にしました。
ほとんど他力本願^^;;;

先の写真では小数点以下2桁ですが、このスケッチでは1桁にしてます。
40行はコメントアウトしてますが、Transient Correctionをオフにする場合はコメントアウトを外し、代わりに39行をコメントアウトします。
スイッチで切り替えてTransient Correctionをオン・オフさせて違いを見られるようにするつもりです。
スポンサーサイト

非接触温度センサTMP007を試す(5)覚え書き

自分のための覚え書きです。TMP007の解説ではありません、そんなこと出来ません^^;;

変換時間についてはTMP007データシート13ページにあるように250mS。
conversionCycle.jpg

”Bits CR2 to CR0”についてはTMP007データシート28ページ、Configuration Registerのbit12からbit10。
ConfigurationRegister.jpg

Configuration Registerのbit6 "TC"についてはTMP007データシート23ページ。
TransientCorrection.jpg
過渡応答を改善するためのようで、周辺温度変化が1.5度/分以上ならTCをオンにしておけ、とあります。

実験していて分からなかったのが読み出しのタイミング。
実のところ、変換終了を待ってから読み出してるんだろうと思ってましたが、どうも違うようです。
確認のためcontroleverything.comのサンプルスケッチを改造しました。
Adafruitのサンプルスケッチはライブラリーを使ってるので何をやってるのかよくわからんのです。
ちゃんとライブラリーを読めばいいのでしょうが、探したらライブラリーを使用していない上記のスケッチが見つかったのでそれを使ったわけです。読んでみると変換終了を待ってはいないようです。

テストスケッチです。41行目で CR=4 としてますので、変換に約1秒かかります。


実験では71行目のディレイを
delay(100);
として約0.1秒ごとに読みだしてCPLTでグラフ化してみました。
横軸は10sample/divとしましたので約1秒/divということになります。

TMP007_CPLT.jpg

約1div間、読み出し値は変化してません。どうやら変換終了を待つ必要はなく、読み出した時点での最新データが出てくるようです。

LCR-T4(MTester)を試す(3)リンクとケース入れ

LCR-T4(MTester)関係のリンクを張っておきます。

エアーバリアブルさん
格安なのに高性能「部品アナライザー」購入
コントラスト調整と校正の方法が述べられてます。

さらにこの記事のコメントから知ったのが、
nobuさん
トランジスタテスターを作ろう
最初は16x2行のキャラクタディスプレイを使っていたようです。
リンクをたどっていくと回路図からソースコードまであります。

おんにょさん
マルチテスターLCR-T4をケースに入れる
PMC-115HのDC重畳インダクタンス
マルチテスターLCR-T4を試してみる
トランジスタやFETを多数測定されてまして、大変参考になります。


以下はあんまり参考にならない記事です(汗

手持ちに秋月のABS樹脂ケース(蝶番式・大)があったので、ゴム足を付けて置いてみました。
穴あけせずに置いただけです。
Mtesterケース入れ

最初は基盤にある穴にゴム足をねじ止めしていたのですが、それだとスイッチを押したり部品を交換したりすると基盤の奥が浮き上がってしまうので、下の写真のように手前のゴム足を両面テープで付け直しました。穴あけが面倒なので^^;;
ABS樹脂ケース(蝶番式・中)でも入るでしょう、たぶん(念のため、未確認)
Mtesterゴム足


LCR-T4(MTester)を試す(2)

前の記事で、電圧6.5V以下で警告が出てシャットダウンすると書きましたが、5Vにしてみると下のような表示になりました。
測定もそれらしい表示が出てしまいます。
今のところ自作電源で試してるのですが、006Pで使ってればこのようになる前に電池がへたってしまうでしょうから、問題にならないでしょう。でも単三電池6本だったらどうなるんでしょうか。試す気はありませんが。


温度センサーLM35をつないでみました、当然ながら無理でした^^;;
MTester_LM35.jpg

マイクロインダクタ3.3μH。インダクタの測定下限が10μHのようで、それ以下だと抵抗とみなされてしまうようです。
MTester_3u3h.jpg


LCR-T4(MTester)を試す(1)

アマゾンでLCR-T4(MTester)を購入しました。
昨年の12月29日に注文、1月7日には郵便受けに投函されてました。
手持ちに006Pが無かったので、自作電源から9Vつないで見ました、バッテリ電圧を表示するのがいいですね。
Mtester表

ATMega328Pが使われてます。三端子レギュレーターは78L05です。
Mtester裏

手持ちの古いダーリントントランジスタ2SC982の測定、さすがにhFEが大きい。
2SC982.jpg

これは2SC2500C、ストロボフラッシュ用、飽和電圧が低いのが特徴。このテスターではそこまで判りませんが。
2SC2500C.jpg

以前、某ショップで安売りしていた2SC2320、hFE低めですね。
2SC2320.jpg

電圧が6.5V以下だと警告が出てシャットダウンします。なかなかよく出来てます。
消費電流ですが、9Vで約20mA、7Vで約18mAでした。
MtesterLowBatt.jpg

コントラスト調整や、校正も出来るようです。
詳しくはこちら



非接触温度センサTMP007を試す(4)ひとまず終了

TMP007は5Vで動かしてたのですが、スケッチを読んでみると3.3Vで使え、とあるので変更しました。
スケッチのコメントには
// Connect VCC to +3V (its a quieter supply than the 5V supply on an Arduino
とあります。
今回のスケッチ、オリジナルをちょっと変更しただけです。

/*************************************************** 
 This is an example for the TMP007 Barometric Pressure & Temp Sensor

 Designed specifically to work with the Adafruit TMP007 Breakout
 ----> https://www.adafruit.com/products/2023
 
 These displays use I2C to communicate, 2 pins are required to  
 interface
 Adafruit invests time and resources providing this open source code,
 please support Adafruit and open-source hardware by purchasing
 products from Adafruit!

 Written by Limor Fried/Ladyada for Adafruit Industries.  
 BSD license, all text above must be included in any redistribution
****************************************************/

#include <Wire.h>
#include "Adafruit_TMP007.h"

// Connect VCC to +3V (its a quieter supply than the 5V supply on an Arduino
// Gnd -> Gnd
// SCL connects to the I2C clock pin. On newer boards this is labeled with SCL
// otherwise, on the Uno, this is A5 on the Mega it is 21 and on the Leonardo/Micro digital 3
// SDA connects to the I2C data pin. On newer boards this is labeled with SDA
// otherwise, on the Uno, this is A4 on the Mega it is 20 and on the Leonardo/Micro digital 2

Adafruit_TMP007 tmp007;
//Adafruit_TMP007 tmp007(0x41);  // start with a diferent i2c address!

void setup() {
 Serial.begin(9600);
 Serial.println("Adafruit TMP007 example");

 // you can also use tmp007.begin(TMP007_CFG_1SAMPLE) or 2SAMPLE/4SAMPLE/8SAMPLE to have
 // lower precision, higher rate sampling. default is TMP007_CFG_16SAMPLE which takes
 // 4 seconds per reading (16 samples)
 tmp007.begin(TMP007_CFG_16SAMPLE);
 if (! tmp007.begin()) {
   Serial.println("No sensor found");
   while (1);
 }
}

void loop() {
  float obj_temp = tmp007.readObjTempC();
  Serial.print(obj_temp);Serial.print(",");
  float die_temp = tmp007.readDieTempC();
   Serial.println(die_temp);
  
  delay(4000); // 4 seconds per reading for 16 samples per reading
}

続きを読む »

非接触温度センサTMP007を試す(3)

ブレッドボードのままでは扱いづらいのでユニバーサル基盤の切れ端に作り直しました。
TMP007_arduino作り直し
次のような実験をしてみました。直径約10センチの金属缶に60度ほどの湯を入れ、TMP007モジュールで缶の温度を測ります。
TMP007湯温の測定1

湯温は自作のサーミスタ温度計で測ります。
TMP007湯温の測定2

缶との間隔をあれこれ変えて測ってみたのですが、1センチより5ミリのほうが温度が低く測定されてしまいます。
わかりにくいグラフですが、上の数字は間隔です。縦軸は温度、横軸は秒です。ここでは1秒間隔で測定するようにスケッチを変更しました。
湯温は測定開始時約50度、終了時約39度でした。
90秒から130秒と280秒にある落ち込みは缶とTMP007の間に遮蔽物(本)を挟んでみたからです。
間隔を5ミリとした時の落ち込みの理由がわかりません。
TMP007湯温の測定グラフVCC5V

非接触温度センサTMP007を試す(2)闇雲にあれこれと

実験してますが、どうにも難しいです。

TMP007モジュールの裏面に指を1ミリ程度にまで近づけたら表示温度が低下するではありませんが。
最初は電磁ノイズを疑い、シールド版を裏面に張りましたが、効果なし。原因は別のところにあるようです。

赤外線サーモパイル・センサTMP007を使って、筐体(ケース)温度を測定!
から引用します。下図は動作原理ですが、赤外線が正面からではなく裏面から入ったのでサーモパイルが”逆”の動作をしたのではないかと思います。
【2017/01/05】この表現は自分でもおかしいと思います。裏面の温度変化によりダイ温度が変化し、冷点補償が間に合ってない(これもおかしい表現ですが)のではないかとここ数日の実験から思います。

TMP007の動作原理


応答速度は速いです。
LM35やサーミスタ等々温度センサはあれこれといじってきましたが、TMP007は対象物に向けると瞬時に反応するという感じです。
実際には使ったサンプルスケッチが4秒周期なので瞬時とはいえませんが・・・。
スケッチを書き換えると1秒にできますが、精度は落ちるようです。


測定温度範囲について
TMP007データシートにはOperating temperature rangeが最大125度となってるので、てっきり測定温度上限も125度と思ってたのですが、加熱した半田ごてを近づけたら200度超えました。
TMP007測定上限

255.97度が測定上限のようです。もちろんこのまま放っておけばダイ温度が上昇しすぎて壊れるでしょう。


視野角について
TMP007データシート
より引用します。下のグラフはTMP007の視野角です。
TMP007視野角
真正面からの赤外線にだけ反応し視てくれればいいのですが、真横(90度)でも反応します。
これは測定対象外からの赤外線も拾ってしまうことになり、誤差になります。
視野角を狭めたいところです。

これについては下のYouTube動画にありますが、金属カバーを作って乗せればいいようですが、こんなの私には作れません(涙


結局のところ、対象物にできるだけ近づけるのが一番簡単なようです。
先に引用した
赤外線サーモパイル・センサTMP007を使って、筐体(ケース)温度を測定!
には

補足情報ですが、センサと測定対象物の距離は、対象物の半径の1/2以内であれば測定感度が高いです。


とあります。
離れたところから温度測定というのは簡単ではないようです。

アマゾンなどでは非接触温度計が2000円ぐらいから売ってますが、中身はどうなってるんでしょうね。

非接触温度センサTMP007を試す(1)

マルツオンラインで非接触温度センサーTMP007モジュールを入手。
ちょっと前にデジットで1900円で売ってるのをみたのですが、調べたらマルツが一番安かった。
仕事帰りにデジットの目と鼻の先にあるマルツ日本橋店で購入しました。

早速Arduinoで実験。
Arduino用ライブラリはこちら
接続はいたって簡単。ライブラリにあるサンプルスケッチをそのまま使いました。
TMP007_arduino1.jpg

TMP007_arduino2.jpg

冷凍庫に入れたままの保冷剤を測ってみました。
保冷剤測定

このときの室温は自作の温度計によると約15度でした。
あってるんでしょうか?
保冷剤温度

手のひらを広げてセンサの前1センチぐらいに置くと40度??そんなに体温は高くないのですが(汗
データシートをまったく読まず、サンプルスケッチを走らせただけなので、ちゃんと使い方を調べないといけないようです。

1999表示LCD20V電圧計モジュールを試す(3)改造編(2)

末尾に追記しました。

簡単改造編です。
先の記事ではDCDCコンバータを使いましたが、これは006Pだけです。
左下の小さなチップは外したダイオードです。
TY3150-DV改造006P表

TY3150-DV改造006P裏
回路図、というほどのことはありませんが。
逆接続保護用のダイオードを外し、006Pをつないだだけです。
TY3150-DV回路図3

006Pの代わりに自作電源で動作をチェックしました。6.4V以上で動作します。電流は2.3mAでした。
先の実験では動作電流は約0.4mAでした。このモジュールで使ってる三端子レギュレーターは78M05ですが、最小動作電圧と入力電流がこのLCD電圧計モジュールには大きすぎます。
もっと低ドロップアウトで低消費電流な三端子レギュレーターに変えれば電池の持ちもよくなるはずです。
手持ちにないのでとりあえず実験はここまで。

【追記】
三端子レギュレータをXC6202P502TBに変更。
5.1V以上で動作し、電流は0.4mAでした。
006Pの容量を200mAh と仮定すると単純計算で20日ほど動くことになります。やってみなければわかりませんけど。

XC6202P502TB.jpg

 | HOME |  古い日記に行く »

文字サイズの変更

プロフィール

edy

最新記事一覧(サムネイル画像付き)

非接触温度センサTMP007を試す(6)LCDをつける Jan 16, 2017
非接触温度センサTMP007を試す(5)覚え書き Jan 14, 2017
LCR-T4(MTester)を試す(3)リンクとケース入れ Jan 10, 2017
LCR-T4(MTester)を試す(2) Jan 09, 2017
LCR-T4(MTester)を試す(1) Jan 08, 2017
非接触温度センサTMP007を試す(4)ひとまず終了 Jan 03, 2017
非接触温度センサTMP007を試す(3) Jan 02, 2017
非接触温度センサTMP007を試す(2)闇雲にあれこれと Dec 23, 2016
非接触温度センサTMP007を試す(1) Dec 17, 2016
1999表示LCD20V電圧計モジュールを試す(3)改造編(2) Dec 11, 2016

全記事表示リンク

全ての記事を表示する

ブログリンク

リンク

このブログをリンクに追加する

月別アーカイブ

01  12  11  10  09  08  07  06  05  04  03  02  01  12  11  10  09  08  07  06  05  04  03  02  01  12  11  10  09  08  07  06  05  04  03  02  12  11  10  09  07  05  04  03  04  03  01  12  11  10  08  07  06  05  03  02  01  12  11  10  09  08  07  06  05  04  03  02  01  12  11  10  09  08  07  06  05  04  02  01  12  10  09  08  07  06  05  04  03  02  01  12  11  10  09  08  07  06  05  03  02  01  12  11  10  09  08  07  06  05  04  03  02  01  12  10  09  08  07  06  05  04  03  02  01 

カテゴリ

プログラミング (0)
freescale (1)
AVR (3)
テルミン (16)
緊急警報放送 (3)
78K (1)
PSoC (295)
地上デジタル放送 (2)
電子工作 (377)
HX711 (2)
ACS712 (6)
数学 (6)
パソコン (12)
PLC (14)
未分類 (39)
ブログ関係 (20)
スカイプ (37)
ロボット (1)
LTSpice (8)
OCXO (0)
arduino (28)
maxima (1)
フランクリン発振回路 (3)
GPS (3)
DTMF (1)
Linux (1)

タグリスト

最近のコメント

最近のトラックバック

メールフォーム

名前:
メール:
件名:
本文:

検索フォーム

アクセス

RSSリンクの表示

フリーエリア

まとめ

Template by たけやん