デジタルテスター「FLUKE 87IV」の赤外線通信ユニット完成
2022年6月29日:デジタルテスター「FLUKE 87IV」の赤外線通信
で、「こりゃ作らなあかんなぁ~」と思い立った
「IrDAによるデータ吸い上げユニット」、できました。
秋月のIrDAモジュール:AE-RPM851A と
USBシリアル変換モジュール:AE-CH340E-TYPEC 。
それに 「MCP2122」と 「ATTINY841」 マイコン。
クロックは水晶発振子。
通信速度が9600BPSだけということで、4.9152MHz。
16MHzで動いているArduino-UNOの処理速度、
けっこう速く感じますが、4.9152MHzだと
「ちょっと遅いな~」っという感じがします。
小さなプラケース(ダイソーで入手したけど、もう売ってない)
に入れました。
赤外線部は穴をあけなくてもプラケースを通してやりとり
できています。
50cmほど離しても大丈夫。
でも、1mは届きません。
電源はUSBから供給。
PCを起動しなくてもSDカードでシリアルデータロガー
が使えるように、TTLレベルでも出力しています。
通信している間は、テスターのオートパワーオフは延長されていて
勝手に電源が切れるということはありませんでした。
・起動メッセージ タイトル表示
# FLUKE model 87IV IrDA com reader
# Op-key (2022-07-05)
# 1 : Start measure ←PCでのキー操作は0,1,2の3つ
# 2 : Stop
# 0 : Clear cyc counter
# FLUKE 87, V1.01,75530000 ←IDコマンドで機種名取得
0 +0.0576 V AC ←勝手にデータ取得開始
1 +0.0576 V AC
2 +0.0576 V AC ←1秒サイクルで読み出し
3 +0.0576 V AC
4 +0.0576 V AC
# Stop. ←「2」キーで停止
# Start. ←「1」キーで再開
12 +0.0575 V AC ←停止中もサイクル秒値を進めてる
13 +0.0575 V AC
14 +0.0575 V AC
# Clr cyc. ←「0」キーでサイクル秒値をクリア
0 +0.0576 V AC ←測定は継続
1 +0.0576 V AC
2 +0.0576 V AC
# Stop. ←停止
# Clr & Start. ←クリアして測定再開
0 +0.0577 V AC
1 +0.0578 V AC
2 +0.0578 V AC
3 +0.0578 V AC
4 +0.0578 V AC
5 +0.0708 mV AC ←途中でレンジを変えている
6 +30.080 mV AC
7 +24.909 mV AC
8 +40.721 mV AC
9 + Out of range. V DC ←オーバーレンジの表示
10 +0.0000 V DC
11 +0.0000 V DC
12 +0.0000 V DC
13 +0.0000 mV DC
14 +00.022 mV DC
15 +00.023 mV DC
16 +00.023 mOhms
17 + Out of range. kOhms
18 + Out of range. MOhms ←抵抗レンジ オープンだ
19 + Out of range. MOhms
20 +01.474 mV DC
21 +01.758 mV DC
22 +0.0008 V DC
23 +0.0008 mV AC
24 +40.148 mV AC
# Err ←通信遮断でエラー表示
41 + Out of range. mV AC ←通信回復で自動的に測定再開
42 +43.682 mV AC ←サイクル秒値を見ればエラーが
43 +43.174 mV AC 生じていた時間が分かる
・起動直後、テスターとの通信
赤外線でやりとりできるか?
機番を読めるか? をチェック
(太字がテスターからの応答)
<CR> 「0x0d」を送って応答を見る。
1
<CR> 4回実行
1
<CR>
1
<CR>
1
ID<CR> 「ID」コマンドを送って機番を待つ
0
FLUKE 87, V1.01,75530000
QM<CR> 測定開始「QM」コマンドでデータ要求
0
QM,+0.0434 V AC
QM<CR>
0
QM,+0.0435 V AC
QM<CR>
0
QM,+0.0435 V AC
応答文字の「0」と「QM,」を除いてから、
測定データとしてPCに送信しています。
起動直後あるいは測定中に、テスターとの通信が失敗しても
1秒ごとに「QM」コマンドを送っています。
テスターから応答が返ってくればそこから自動的に測定が
再開されます。
※制御プログラム
Atmel studio 7.0を使いました。
ソースは「main.c」1本。
関連ファイルといっしょに圧縮しています。
ダウンロード - fluke87_irda_tn841.zip
割り込み処理しているのは2つのシリアル送受だけ。
タイマーはフラグを見ています。
メインの中でタイムアップをチェックして計時処理。
| 固定リンク
「ツール」カテゴリの記事
- 初めて買ったArduino UNO・・・今は(2023.05.25)
- 電池ホルダーから電源供給するためのアダプタ(ダミー電池)#2(2023.03.24)
- 電池ホルダーから電源供給するためのアダプタ(ダミー電池)(2023.03.23)
- 基板ショート・チェッカ、役に立つ(2023.02.14)
- Arduino UNOで0.00~40.00mA定電流負荷回路(2023.01.13)
「IrDA」カテゴリの記事
- FLUKE 87IV デジタルテスターのデータをIrDAで吸い上げる(2022.11.15)
- 周波数つながりで、赤外線受光モジュールのBPF周波数(2022.07.23)
- 手持ちの赤外線リモコン受光モジュールを発掘してみたら・・・(2022.07.08)
- シリアル通信ボーレートとクロック周波数(2022.07.07)
- 「糸ようじ」のプラケースを使うシリーズ:赤外線リモコンチェッカー(2022.07.07)
「AVRマイコン」カテゴリの記事
- ATmega4809のシリアルポート(2023.01.18)
- PWMでD/A変換:アナログマルチプレクサの応用で(2023.01.02)
- ガレージのLED表示デジタル時計がダウン(2022.12.20)
- FLUKE 87IV デジタルテスターのデータをIrDAで吸い上げる(2022.11.15)
- 数値をBCD出力(表示)するルーチン(2022.10.08)
コメント