ブラウザの JavaScript がオフ(ブロックまたは許可しない)に設定されているため、このページは正常に機能しません。
disklessfun’s Wiki*
[
ホーム
]
一覧
最終更新
バックアップ
ヘルプ
Top
>
232logger
>
複製
?
ms
232logger をテンプレートにして作成
これらのキーワードがハイライトされています:
開始行:
TITLE:RS232Cロガー兼リピーター
RIGHT:初出 2006-8-18
RIGHT:最終更新 2006-9-21
RIGHT:製作時期 2006-5~2006-6
LEFT:
[[&ref(232logger_1_s.jpg);:http://wikiwiki.jp/disklessfun/?plugin=attach&pcmd=open&file=232logger_1_b.jpg&refer=232logger]]
RS232Cの出力経路の中間に挟んで、 データをそのまま記録していきます。
#br
普通、ロガーといえば、大量のメモリを積んでデータの取りこぼしがないように備えるのが常套手段ですが、
本機の場合は低速デバイスであるシリアルEEPROMに直接データを記録します。じゃ、データを取りこぼしちゃうぞ・・・
本機ではシリアル受信ポートのRTS制御をおこなうことにより、データの取りこぼしを防ぎます。
部品代は合計2000円くらい
#contents
** 機能 [#a0c35ef6]
||CENTER:操作|CENTER:機能|CENTER:説明|CENTER:備考|h
|1|赤ボタンを1秒以上押す|順方向出力|出力開始位置・以降のデータを送信ソケット側から出力|DCEとはストレートケーブル、DTEとはクロスケーブルで接続(出力ピンはジャンパで切替)|
|2|緑ボタンを1秒以上押す|逆方向出力|出力開始位置・以降のデータを受信ソケット側から出力|PCとストレートケーブルで接続することを想定、ソフトウェアTX|
|3|両ボタンを押した後3秒以内に赤ボタンを1秒以上押す|出力開始位置を設定|次の記録位置を出力開始位置に設定|設定可能な出力開始位置は1箇所|
|4|両ボタンを押した後3秒以内に緑ボタンを1秒以上押す|出力開始位置を消去|出力開始位置を初期化し、記録装置の先頭に設定||
|5|両ボタンを3秒以上押しつづける|データ全消去|||
-通信速度は9600bpsで固定
-記録容量は32Kバイト(Microchip 24LC256を使用)
-起動時、前回最後に記録した次の位置に出力開始位置が設定される
-受信したデータは同時に送信ソケット側から出力される
-受信すると緑LEDが1秒間素早く点滅
-書込み領域が満杯の状態で受信すると赤LEDが1秒間素早く点滅
-順方向出力中は赤LEDが点滅
-逆方向出力中は緑LEDが点滅
-出力開始位置・設定時は緑LEDが点滅
-出力開始位置・消去時は赤LEDが点滅
-全消去中は両LEDが交互に点滅
-いずれかのソケットでCTSオンを検出、もしくはボタン操作をするとsleepから復帰
-CTSオンを検出している間はsleepしない
-CTSオフを検出すると3分後にsleep
** I2C通信 [#m6a7c9b2]
今回はハードウェアでI2C通信をおこなう為に、MSSP(The Master Synchronous Serial Port)モジュールを持つ、PIC16F877Aを選びました。
でも、ソフトウェアでおこなっても大差ないのではないかとも思います。
[[PCから操作できる赤外線学習リモコン>ir-remocon]]ではRUUさんが開発されたソフトウェアI2Cルーチンを使用しています。
#br
実はByteRead、ByteWriteしか使用していません。
PageWriteを使えば書き込みが大幅に高速化できると思いますが、制御が複雑になるのは避けたいので(趣味の電子工作ですから)、PageWriteは使用していません。
** メーカーによるシリアルEEPROMの違い [#ua6412ec]
当初、Atmel製の24C256を使用していました。しかしAtmel製では、MicrochipのAppNotesから入手した書き込みサブルーチンを使用する限りは、1命令毎のwaitを10mS程度余計に取らねば正常に作動しませんでした。Microchip製の24LC256に変更したところ、余計なwai
** RTS制御 [#ibdc2685]
本機はRTS制御がうまく働く環境以外では使用できません。
出力側がWindowsPCの場合は多分問題ないと思いますが、その他の環境の場合は検証が必要です。
Linuxでは使用できないようです。[[こちら>picterm#rts-ctl]]を参考にして下さい。
** 基板 [#le86c89c]
[[&ref(232logger_2_s.jpg);:http://wikiwiki.jp/disklessfun/?plugin=attach&pcmd=open&file=232logger_2_b.jpg&refer=232logger]]
当初はADM3202は使わず、C1815を4個使用していましたが、対応電圧範囲が低いかも?と思いADM3202を導入しました。
でも特に対応電圧範囲に違いはないようです。
[[&ref(232logger_3_s.jpg);:http://wikiwiki.jp/disklessfun/?plugin=attach&pcmd=open&file=232logger_3_b.jpg&refer=232logger]]
変遷の為、大分汚くなっています。
** 電源 [#s9103f0a]
[[&ref(232logger_4_s.jpg);:http://wikiwiki.jp/disklessfun/?plugin=attach&pcmd=open&file=232logger_4_b.jpg&refer=232logger]]
電源ジャックはスイッチ付きではありませんが、プラグの抜き差しにより、電池、ACアダプタの2系統電源対応です。
クラムシェル式のケースは時計の化粧ケースの流用です。
** スペーサー [#y67f3171]
[[&ref(232logger_5_s.jpg);:http://wikiwiki.jp/disklessfun/?plugin=attach&pcmd=open&file=232logger_5_b.jpg&refer=232logger]]
小さなことですが、スペーサーを接着しておくと、素早く、基板の取り外し、再取り付けができます。
** 回路図 [#m2d4b43b]
[[&ref(232logger_circt_s.png);:http://192.168.0.5/disklessfun/index.php?plugin=attach&pcmd=open&file=232logger_circt_b.png&refer=testpage]]
#br
BSch3V形式(zip圧縮)
#ref(232logger_circt.zip,nolink);
&br;
|主要部品表|
|CENTER:部品名|CENTER:値段|h
|PIC16F877A|400|
|Microchip 24LC256|160|
|ADM3202AN|200|
** ソース [#gbb66dc7]
MPASM形式
#ref(232logger.asm,nolink);
※ieの場合、直接開けないことがあるようです。
#br
ソフトウェアTXルーチンは[[ELECTRONICS SHELVES:http://www4.zero.ad.jp/electronics/index.html]]から入手しました。
入手先で著作権の掲示はありませんでした。
#br
I2C関係ルーチンはMicrochipのAppNotesから入手しました。
個人使用用途でのみ使用が許されています。
#br
上記個所以外についてはBSDライセンスとします。
#br
#br
* ご要望、ご意見、質問を下のフォームにどうぞ&br;(でもここより、[[掲示板>board]]や[[書き込みフォーム>form]]のページに書いて頂いた方が気づき易いと思います。) [#j5a78285]
#areaedit(nofreeze,noauth,btn:[修正(書き間違った場合にご利用下さい)])
#comment
#areaedit(end)
終了行:
TITLE:RS232Cロガー兼リピーター
RIGHT:初出 2006-8-18
RIGHT:最終更新 2006-9-21
RIGHT:製作時期 2006-5~2006-6
LEFT:
[[&ref(232logger_1_s.jpg);:http://wikiwiki.jp/disklessfun/?plugin=attach&pcmd=open&file=232logger_1_b.jpg&refer=232logger]]
RS232Cの出力経路の中間に挟んで、 データをそのまま記録していきます。
#br
普通、ロガーといえば、大量のメモリを積んでデータの取りこぼしがないように備えるのが常套手段ですが、
本機の場合は低速デバイスであるシリアルEEPROMに直接データを記録します。じゃ、データを取りこぼしちゃうぞ・・・
本機ではシリアル受信ポートのRTS制御をおこなうことにより、データの取りこぼしを防ぎます。
部品代は合計2000円くらい
#contents
** 機能 [#a0c35ef6]
||CENTER:操作|CENTER:機能|CENTER:説明|CENTER:備考|h
|1|赤ボタンを1秒以上押す|順方向出力|出力開始位置・以降のデータを送信ソケット側から出力|DCEとはストレートケーブル、DTEとはクロスケーブルで接続(出力ピンはジャンパで切替)|
|2|緑ボタンを1秒以上押す|逆方向出力|出力開始位置・以降のデータを受信ソケット側から出力|PCとストレートケーブルで接続することを想定、ソフトウェアTX|
|3|両ボタンを押した後3秒以内に赤ボタンを1秒以上押す|出力開始位置を設定|次の記録位置を出力開始位置に設定|設定可能な出力開始位置は1箇所|
|4|両ボタンを押した後3秒以内に緑ボタンを1秒以上押す|出力開始位置を消去|出力開始位置を初期化し、記録装置の先頭に設定||
|5|両ボタンを3秒以上押しつづける|データ全消去|||
-通信速度は9600bpsで固定
-記録容量は32Kバイト(Microchip 24LC256を使用)
-起動時、前回最後に記録した次の位置に出力開始位置が設定される
-受信したデータは同時に送信ソケット側から出力される
-受信すると緑LEDが1秒間素早く点滅
-書込み領域が満杯の状態で受信すると赤LEDが1秒間素早く点滅
-順方向出力中は赤LEDが点滅
-逆方向出力中は緑LEDが点滅
-出力開始位置・設定時は緑LEDが点滅
-出力開始位置・消去時は赤LEDが点滅
-全消去中は両LEDが交互に点滅
-いずれかのソケットでCTSオンを検出、もしくはボタン操作をするとsleepから復帰
-CTSオンを検出している間はsleepしない
-CTSオフを検出すると3分後にsleep
** I2C通信 [#m6a7c9b2]
今回はハードウェアでI2C通信をおこなう為に、MSSP(The Master Synchronous Serial Port)モジュールを持つ、PIC16F877Aを選びました。
でも、ソフトウェアでおこなっても大差ないのではないかとも思います。
[[PCから操作できる赤外線学習リモコン>ir-remocon]]ではRUUさんが開発されたソフトウェアI2Cルーチンを使用しています。
#br
実はByteRead、ByteWriteしか使用していません。
PageWriteを使えば書き込みが大幅に高速化できると思いますが、制御が複雑になるのは避けたいので(趣味の電子工作ですから)、PageWriteは使用していません。
** メーカーによるシリアルEEPROMの違い [#ua6412ec]
当初、Atmel製の24C256を使用していました。しかしAtmel製では、MicrochipのAppNotesから入手した書き込みサブルーチンを使用する限りは、1命令毎のwaitを10mS程度余計に取らねば正常に作動しませんでした。Microchip製の24LC256に変更したところ、余計なwai
** RTS制御 [#ibdc2685]
本機はRTS制御がうまく働く環境以外では使用できません。
出力側がWindowsPCの場合は多分問題ないと思いますが、その他の環境の場合は検証が必要です。
Linuxでは使用できないようです。[[こちら>picterm#rts-ctl]]を参考にして下さい。
** 基板 [#le86c89c]
[[&ref(232logger_2_s.jpg);:http://wikiwiki.jp/disklessfun/?plugin=attach&pcmd=open&file=232logger_2_b.jpg&refer=232logger]]
当初はADM3202は使わず、C1815を4個使用していましたが、対応電圧範囲が低いかも?と思いADM3202を導入しました。
でも特に対応電圧範囲に違いはないようです。
[[&ref(232logger_3_s.jpg);:http://wikiwiki.jp/disklessfun/?plugin=attach&pcmd=open&file=232logger_3_b.jpg&refer=232logger]]
変遷の為、大分汚くなっています。
** 電源 [#s9103f0a]
[[&ref(232logger_4_s.jpg);:http://wikiwiki.jp/disklessfun/?plugin=attach&pcmd=open&file=232logger_4_b.jpg&refer=232logger]]
電源ジャックはスイッチ付きではありませんが、プラグの抜き差しにより、電池、ACアダプタの2系統電源対応です。
クラムシェル式のケースは時計の化粧ケースの流用です。
** スペーサー [#y67f3171]
[[&ref(232logger_5_s.jpg);:http://wikiwiki.jp/disklessfun/?plugin=attach&pcmd=open&file=232logger_5_b.jpg&refer=232logger]]
小さなことですが、スペーサーを接着しておくと、素早く、基板の取り外し、再取り付けができます。
** 回路図 [#m2d4b43b]
[[&ref(232logger_circt_s.png);:http://192.168.0.5/disklessfun/index.php?plugin=attach&pcmd=open&file=232logger_circt_b.png&refer=testpage]]
#br
BSch3V形式(zip圧縮)
#ref(232logger_circt.zip,nolink);
&br;
|主要部品表|
|CENTER:部品名|CENTER:値段|h
|PIC16F877A|400|
|Microchip 24LC256|160|
|ADM3202AN|200|
** ソース [#gbb66dc7]
MPASM形式
#ref(232logger.asm,nolink);
※ieの場合、直接開けないことがあるようです。
#br
ソフトウェアTXルーチンは[[ELECTRONICS SHELVES:http://www4.zero.ad.jp/electronics/index.html]]から入手しました。
入手先で著作権の掲示はありませんでした。
#br
I2C関係ルーチンはMicrochipのAppNotesから入手しました。
個人使用用途でのみ使用が許されています。
#br
上記個所以外についてはBSDライセンスとします。
#br
#br
* ご要望、ご意見、質問を下のフォームにどうぞ&br;(でもここより、[[掲示板>board]]や[[書き込みフォーム>form]]のページに書いて頂いた方が気づき易いと思います。) [#j5a78285]
#areaedit(nofreeze,noauth,btn:[修正(書き間違った場合にご利用下さい)])
#comment
#areaedit(end)
ページ名: