ようこそNICのホームページへ(なが〜い試運転中 from 2001/5/12)   
HP パソコン 健康 落語 海外 思うまま 電子工作



データーロガーを作りたいとおもった。(2008/1/10頃)
Last update:2015/01/10   Build:2008/04/04


(2015/1/10 追記 
 リンク切れをいくつか発見。
 RCDライターキット販売(Halfmatさん)は発見できず。
 feng3さんのページはリンクを張り直しました。
 久世さんのページが該当するページを発見できず、2008と2010というページにリンクを張りました。
 2015/1/10追記ここまで)

結論を先に書きます。試行錯誤に興味のある方はこの後を見てください。
あくまで自己責任でお願いします
また、リンク先には了解を取っていません。ご都合が悪いようでしたらリンクを解除します

PIC 12F683を使った4チャンネルデータロガー(十川さんの回路図で製作)

PIC用のプログラム(MikroC利用)

エクセルからシリアルポートを通してデータを読むプログラム
 (easycommを利用してVBを使った)
エクセルそのものも乗せておきます
以上で完成です(2008/4/4)



以下は試行錯誤の顛末です。


1.回路図を探す
googleで検索
ここを見つけたが、AVRを使い、プログラムの書き込みが必要とのこと。
あきらめた。


いろいろ検索して十川さんのPICを用いた回路図を見つけた。
excelでデータ収集が可能という。
作ってみることにした。
部品を通販で仕入れる。

thumb-080404-data-logger.jpg(18011 byte)
データロガー完成
と思ったが、動かない。???


2.ソフトウェアが必要
よくよく調べてみるとPIC12F683を使っているので
AVR同様にプログラムが必要であることがわかった。
(何をいまさら・・PICも当然プログラムが必要!!)
秋月のPICライターを買おうか?(高い!!)


ん〜〜!


3.PICライターが必要
再びgoogleで検索
PICライターを探す。

feng3さんのページを見つける
RCDライターのバージョン2.5の回路図に基づき製作した。


なんどもなんども通販で部品を購入。
部品1個を買うのも気が引けるし、送料、振り込み手数料も変わらないので
部品を何個かまとめて買うことに


ここまでで既に2万円(部品だけでなく工作道具も含めてですが・・)。

0.1μFのセラミックコンデンサーを買ったつもりが
容量は同じながらチップコンデンサーが到着・・・


またしても送料、手数料を払ってセラミックコンデンサーを通販で購入。
thumb-080404-RCD-writer.jpg(18944 byte)
RCDライターが完成。

キットを購入した方が安いです(2015/1/10追記 リンク切れ 追記ここまで)
書き込みプログラムはフリーのPICProg4Uを利用させていただくことにしました。


4.プログラムは何で書く??
プログラムは何を書くのか全く見えず。
PIC12F683を使って、Cで書ける例をさがす。


当然googleで探す
「PICとMikroC」さんのページを発見

「久世に訊け」さんのページも発見

俄然やる気が出てきた、この2つのページは非常に参考になりました。


5.RCDライターは完成
「PICとMikroC」さんのページにかかれている回路図を
ブレッドボードでつくり、PIC12F683に書き込み実験する。
たとえばここです

いずれもうまく動作した
  →RCDライターはうまく動いていることを確認した


6.データロガーのハードも完成
「PICとMikroC」さんと「久世に訊け」さんのプログラムを参考に
MikroCでデーターロガーからデータを取るプログラムを試作。
文字出力ができず。??
うまい手がないかとgoogleで探す

アセンブラーでかかれたページを発見
4入力 => PC出力 電圧測定器(12F683)
 
 プログラムソース(MPLAB用)をダウンロードして
 PICに焼き込み実験してみると文字が返ってくる。
 すごい!!
   → これでデータロガーもハード的に完成していることを確認した


7.UARTをCで使いたい!!
しかし、決まった手続きを行うプログラムであり自分の思い通りにならない
今後プログラムをアセンブラーで書くには荷が重い。
もう一度MikroCで何とかならないか調べる。

googleで調べていると、偶然にmikroBasicでかかれたページを発見。
ここにはSoft_UART_writeなどソフトでUARTを扱う関数が用意されていた。
ひょとしてmikroCにも同様な関数があるのではないかと思い
12F683のマニュアルをダウンロードして調べると
 Soft_Uart_Read(er)
 Soft_Uart_Write(data)
 というソフトでRS232Cを扱える関数を発見。
 これはハード的にUARTを持たないPICに対しても使えるとのこと。
ラッキー!!!
これをつかって書いたテストプログラムが
  →ここです。TEST−03

入れた文字が返ってきた。嬉しいものです。


チャンネル0〜3のすべてのデータを取り込むようにしたのが
  →TEST02_1 です。


8.エクセルでダータを取り込む工夫
次にエクセルにデータを取り込むための工夫です。

再びgoogleで検索
エクセルからVBを使って、シリアルポートを使えるようにする
フリーソフト、easycommを発見(追記2015/1/10 提供終了 追記ここまで)
これを使わせてもらうことにする。


試行錯誤してこのようなマクロを書いた。
これにともない、PICのプログラムを変更。CRを必ず入れるように変更した。
  test02_2

これで何とか動くようになった。


参考ページ
「PICとMikroC」さんのページ

「久世に訊け」さんのページ

EasyComm: excelでRS232Cを利用
 http://www.activecell.jp/ec/index.htm

VBで待機するwait
 http://snyc.s28.xrea.com/contents/003.htm

RCDライターキットを販売するのハーフマットさんのページ
 http://halfmat.ocnk.net/product/52


電子工作のことへ     HomePage     このページのトップ