H8-3069ネット対応マイコンにMESを入れる > 応用編 (番外編1)PICNICを使った温湿度計測制御

(番外編1)PICNICを使った温湿度計測制御

1.概要と目的

通っていた職業訓練校の卒業研究で、PICNICを使った温湿度計測制御をテーマに製作しました。発表は終わったのですが、折角作ったのでこのページでも発表したいと思います。

秋月電子で発売しているPICNIC(トライステート社)

 この度、私達の班は秋月電子から発売されている、PIC Network interface Card Kit(通称:PICNIC)を使った温湿度計測制御システムを製作した。このシステムを作った目的は、離れた地点(例えば、校舎屋上など)の温湿度を部屋にいながらにして観測できるようにすることである。
 さきの授業において、PICマイコンを使った温度測定は行っていた。しかし、それは実験者と同じ地点における測定である。では、離れた地点の温度(または湿度)を測るにはどうしたらよいのか、何を使えば実現することができるのかを考えた。
 以下に考えた方法を3つ挙げる。いずれもLANを使ってデータを送受信できるボードである。
1.PICNIC
2.AKI-H8/3069FフラッシュマイコンLANボード
3.他のボード(XPortやProDigio)
 私達はこの3つの選択肢の中から、1のPICNICを選んだ。理由は、一番簡単で取り組みやすいからである。
 このシステムの要となる、LANのインターフェースの詳細がうまく隠蔽されて作られているのがこのPICNICなのである。 さらに、今回はPICNICとPC間のLANを無線化することで、すっきりとまとまったシステムになった。

2.PICNICについて

PICNICの特徴として、とかく扱いやすいという点が挙げられる。PICNICの製作者である、落合正弘氏はこのPICNICを「外付けハードウェアを今までとは違った方法で、簡単に制御できれば面白いだろうと考え」製作されたとのことである。落合氏のこのコメント通り、PICNICはユーザーに簡単な命令しか見せず(LANのインターフェースのことを隠蔽した状態で)、簡単にLANを経由したデータの送受信ができるようになっている。表1に、PICNIC[Ver.2]の仕様で主なものを示す。
 このPICNICの最大の特徴は、Microchip社のPIC16F877マイコンでLAN制御をしている点である。PIC16F877は授業で温度をVBに取り込んで表示した際に使ったので私たちにとって大変馴染みがあるマイコンである。しかし、PICNICは扱いやすい反面、欠点がある。このPIC16F877に私達が作ったプログラム(ユーザー・プログラム)を書き込むことは難しい。PICNICのCPU(PIC)にはLANを制御するためのプログラム(ファームウェア)が容量ギリギリまで書き込んであるためだ。

表1.PICNICの仕様(主なものを抜粋) PICNICの仕様(主なものを抜粋)

 では、どうやってユーザープログラムを動かすのか?それは、PICNICの製造元であるトライステート社で公開しているActiveXコントロールモジュールを使い、VisualBasic上から制御する方法をとる。
 このActiveXコントロールを使う際の命令は何種類か用意されている。今回私達は、この命令を使って、温度センサや湿度センサをPICNICに取り込んだデータをA/D変換に掛け、VB上で処理している。
 もしくは、ウェブ・ブラウザからI/OをON・OFFすることもできる。しかしこの場合は、既にファームウェアに書き込まれているウェブページを使ってアクセスすることになる。そのため、自分の好きなウェブページに改変することは即ち、ファームウェアを書き換えることになる。
 なお、ファームウェアを書き換えること自体は難しいが、不可能ではない。実際に、信州大学・大学院の授業ではPICNICのファームウェアを書き換える授業が行われているとのことだ。しかし、今回の製作の意図(簡単にLANアクセスをする)から外れるため、今回は製作過程から除外した。

3.全体図と仕組み

 回路図、レイアウト図、パターン図、部品表は別添する。ここでは全体の仕組みを簡単な図にて表す。

製作したLAN対応温湿度計測制御システム

 ※1 PIC間通信を行った理由について
 PICNICに搭載しているPIC16F877で使用できる出力ピンは、付属の液晶表示にその大部分を使われているので、これとは別にPIC16F877を用意した。そしてこのPORTB1〜3(RB1〜RB3)をリレー出力に充てた。
 また、温湿度の取り込みは全部で4点である。取り込んでいるチャンネルは以下の通りである。
・ 温度CH0(外気温) → PORTA0(RA0)
・ 温度CH1(土中温度) → PORTA1(RA1)
・ 湿度CH2 → PORTA2(RA2)
・ 温度CH5(基板温度) → PORTA5(RA5)
 温度センサはLM35DZ、湿度センサは高分子湿度センサHS15PFを用いた。
 PICNICとPIC間のやりとりはそれぞれの送信ピン(PORTC6 / RC6)、受信ピン(PORTC7 / RC7)を直接つないでいる。
 さらに、PCとPICNIC間は無線LANブロードバンドルータを使い、配線をなくした。これにより、配線の引き回しを考えることなく、システム本体をPCから離すことができる。

※2 リレーの接点をON・OFFする場合の手順
 リレー3点は交流用ソリッド・ステート・リレーを用いた。リレーの動作確認は100V電球を取り付けて確認した。後にこのリレーには散水用モーターをつなげる予定である。リレーの接点をON・OFFしている仕組みは次のとおりである。
 1.VBから任意の文字コードを一文字送信する。
 2.PCから無線LAN、PICNICを介してPIC16F877にPIC間通信が行われる。
 3.PIC16F877では、受け取った文字コードの種類に応じて、処理を振り分ける(どのリレーを制御するかを決める)。

 他、VBでのソフト処理については割愛する。

次は(番外編2)PICNICを使った温湿度計測制御(つづき)です。>> 






[PR]多忙でも今日の特売check:特売情報を無料でGET!