データ-ロガー vega 2003.04.01
2003.04.21
2003.10.24
一定時間間隔でAD変換し、内蔵EEPROMにデータを格納します。
電圧ならそのまま、温度センサを使用すれば温度変化が測定できます。
測定にパソコンは不要です。
リアルタイムで、パソコン(Excel)に記録するならこれでなく、chanさんのが参考になると思います。
格納データ数 : 246個(10ビット)、492個(8ビット)
格納間隔 : 1秒〜32767秒使用ポート
PA0 : AD変換入力
PB0 : LED(記録モニター用)
PB1 : 測定開始SW
PD0 : RXD (9600BPI)
PD1 : TXD (9600BPI)
AT90S8535書きこみ用ファイル(Chanさんのライター使用)
dtlog.lzh Ver 0.1最初パソコンを使用して条件を設定します。条件は、EEPROMに保存されるので、電源を切っても
保存されます。
記録の開始は、パソコンからと、基板のSWを使用する方法があります。
記録が始まれば、パソコンは不要です。
データは、内蔵のEEPROMに格納されるので電源を切ってもデータは消えずに残ります。
(EEPROMは10万回書き換え可能)
測定の終了後、Tコマンドで表示時後パソコン(ターミナルソフト)に取りこみます。(カット&ペースト)
後は、Excelなどに取りこんで使用(グラフ作成など)できます。
記録中は、PB0に付けたLEDが点滅します。
データロック(後述)中や、EEPROMがデータで満杯になった場合は、点滅が止まります。(点灯したまま)
SWを1秒以上押しても測定開始可能です。この方法は測定条件を事前にパソコンで設定しておけば、
測定開始にパソコンは不要です。
(1)オペレーション
ターミナルソフト(ハイパーターミナル)を使用します。(4Mhz で 9600bpi)
キーボードからコマンドを入力します。
下記は実行例です。測定開始時
C60I 測定のインターバル60秒 (CnnnnnI のnnnnn を指定する)
K データクリア(測定開始)
L データロック(次回の起動時のデータロック)
S 現在の時間(インターバル、経過時間、データロックの確認)
T 記録データの表示
データ格納でEEPROMが満杯になると、格納は停止します。
測定終了後 (電源は一旦切っても、そのままでも良い)
T 測定データを表示する。
次回測定開始時(データロックを解除)
C60I インターバル60秒(前回と同じなら不要)
U データロック解除
W マイコンリセット
K データクリア(測定開始)
L データロック(次回の起動時のデータロック)
(2)表示
・起動と同時に下記が表示されます。
条件が合えば、記録も始まります。
data logger
mode : X 表示されない場合は、X,Y,Zいずれか入力が必要
10bit データ格納精度
* 444 記録されない測定値(1秒間隔で表示)
* 333
1 555 記録番号と測定値(保存される)
* 333
* 233
* 343
* 933
2 765 記録番号と測定値
* 533
* 333
* 333
・コマンド入力時の表示例(Tコマンド、Sコマンド)
T
intv : 60 データ記録間隔
0 333 データ番号 と 測定値
1 1000
2 243
3 454
DATA LOCK NOW !! 現在データがロックされている場合
これが出ている場合はデータは記録されません。
DATA LOCK NEXT !! 次回の起動でデータがロックされる場合。
これが出ない場合は、次回の起動(リセット)で
データが上書きされます。
S
sec : 33 データ記録後の経過時間
intv : 60 データ記録間隔
max : 4 記録したデータ数
DATA LOCK NOW !! 現在データがロックされている場合
DATA LOCK NEXT !! 次回の起動でデータがロックされる場合
10bit データ格納精度
・ コマンド一覧
全て大文字です。C ・・・ 数値入力データクリア
nnn ・・・ 数値入力(最大32767)
I ・・・ 記録インターバル設定 (C60I などと設定)
K ・・・ データクリアし測定を開始する。
データロック状態なら測定は開始されない。
W ・・・ マイコンをリセットする
L ・・・ データロック(次回の起動でデータロック)
U ・・・ データロック解除(リセット後有効)
T ・・・ データ一覧表示
S ・・・ インターバル時間その他状態表示
B ・・・ データ精度を8ビットにする。
F ・・・ データ精度を10ビットにする。
D ・・・ EEPROM のダンプ
X ・・・ クリアモードX
起動時にデータクリアなし
データの記録は追加される
Y ・・・ クリアモードY
起動時に記録データ数のみクリア
データクリアなし
Z ・・・ クリアモードZ
起動時に記録データ数のクリア
データもクリア・ PB01は、内部でプルアップされています。
SWを1秒以上押し続けると、測定がスタートできます。
現在がデータがロックされている状態でも、測定スタート可能です。
SWが受け付けられた場合は、3秒間速いLEDの点滅あります。
格納されているデータを全てクリアし、測定が始まります。
・次回起動でロックがかかっていない場合でもEEPROMが一杯になった場合は、
データのロックがかかり、次回の起動時にデータが保護されます。・Kコマンドでデータをクリアする場合でデータがロックされていない場合は、
サンプリング時間の値によらず、最初の記録は直ちに行われます。
回路図はこちら。
EEPROMの初期状態(書きこんだ状態)
・サップリング周期
・・ 5秒
・データ精度 ・・ 10ビット
・クリアモード
・・ X
・データロック
・・ なし
温度センサー
LM35(温度センサー)と上記を使用して、温度を計る計画。
LM35は温度に比例した電圧を出力します。
そのままでは、20℃で200mVと電圧が低いので下記で電圧をUPします。
ゲイン=(R1+R2)/R1 でゲインを調整できます。(R1は200Ω程度)
ただしLM35は、GNDとVCCの間が4V以上が規格なので、無理して5Vの使用では、
、A点とVCC間の電圧が規格外になりあまりゲインを多く取れません。(温度により変化しますが)
測定温度の上限と相談してゲインを決める必要があります。測定値が2.0V以下なら何とか使えそう。でも規格外だから、誤差が大きいかもしれません。
高い電圧があればそれを使った方が賢いと思います。LM35は秋月で売ってます。
![]()
上記の回路で
R1=220 Ω R2=658 Ω C=0.1μF
としたとき下記のようにおおよそ直線になりました。
規格外の電源電圧でも、精度をうるさく言わなければ、常温で使えそうです
係数を乗ずるだけで、0.5℃程度の精度になりそうです。
R2=900Ωでは、グラフが部分的に不連続になり 使えませんでした。(横軸:温度(℃) 縦軸:AD変換値(最大1023))
温度の測定例です(横軸は分、縦軸は℃)