マイコン一覧

新電力測定基板 なんとか完成

とりあえず表示はされるものの・・・

やっと完成して取り付け

 昨日も午後、ハード工作をしていたのですが、本日も午後から。ある程度完成したのでソフトウエアを焼いて、いざXBeeで通信ってトコでハマった。どうにも呼び出しに応答してくれない。XBeeからATmega328に届いていない感じ。単純シリアル通信してLCDに表示するソフトを焼き直して、PCから文字を送っても化ける。そのATmegaを秋月duinoにさしても同じ。なんとなく内部クロック8MHzが問題かなと思いつつ、いろいろやってみても駄目。やっぱ外部に16MHzのセラロックを付けようと、無理やり半田付けして、ブートローダも書き換えて、ソフトも焼き直して、XBeeでテスト。無事に応答が帰って来ました。

 上手く行ったので、ついでにLM35DZなんぞも基板のすみに取り付けて、LCDに温度表示。温度をXBeeのデータに載せるのは、また後日。

 で、分電盤に貼りつけるようにプラケースの蓋にインシュロックで羽交い絞めにして、面ファスナーを貼って。分電盤に取り付けて完了です。

 次は、シリアルJPEGカメラと大容量データのhttp postですな。mbedでやるかArduinoでやるか。


マイコン水槽カメラ計画

 年末に発注していた「シリアルjpegカメラ」が届いたので、ハード作る前にソフトを検証。カメラとの通信はすでに先人が作ったのがあるので後回し。
 で、問題が。mbedでRFC1867をやるコードが見つからん。仕方ないので、自前でソケット叩く様なコードを書く方向で。もう少し探してみるけど。画像ファイル受け取り側のサーバサイドのテストコードはphpでさくっと1分で書いて動作確認済み。
 もともとマイコンはメモリが少ない(mbedで32Kbyte,ArduinoのATmega328は2Kbyte、128は1Kbyte。ま、コードはフラッシュメモリ部分で直に動くので変数領域だけど。)ので、画像のアップロードとかはあまり先例がないのかしらん?まさか本当に無いとは思ってなかったので正月連休中に事前に作成する事もしてない。
 最初はローカルファイルを上げてみて、上手く行ったらカメラと通信しながら上げる感じです。それで大丈夫そうならmbedではなくArduinoでやっても良いかな。実はEthernet付きのArduino ProであるEthernet Proが届く予定ではあります。


新電力測定基板 設計変更

電力計測基板 実体配線図

 手持ちの部品をチェックしていた所、キャラクタLCDが5V系のSD1602HU系しか無かった。他のストック部品歯ストロベリーリナックスで売ってるi2c接続の液晶が3.3VでOKだったけど、バックライト無しの古いやつだった。うちの分電盤のトコは暗いのでバックライトは要るので却下。バックライト有り版をわざわざ買う程でも無いなと。ま、i2c接続だと配線が4本になるので楽ではありますが。

 なので、発注中のXBeeが載っかるC基板ではなく、普通の秋月のC基板で作成する事にした。XBeeの5V→3.3Vの電圧変換は、MTM07で買ってきたエキサードラボのXBee変換基板を使用。マイコンのATmega328は5V駆動の8MHz内蔵クロックとした。電源はサンハヤトのminiUSB基板を使って5Vをゲットする。なんか安定化回路入れといたほうが良いのだろうか?今月中に完成できると良いな。

 実はシリアルJPEGカメラ基板を買い付けたので、それをmbedに接続する予定もあるのです。水槽カメラを置き換えます。今はVAIO U3にWebカメラをつけてサーバに上げてるけど、VAIO U3もいつまで持つかわからんし、毎月Windows Updateするのも面倒になってきたのでね。画像にタイムスタンプを入れる部分は、mbedで出来ればやるし、重荷ならアップロード時にWebサーバ側でCGIでやれば良いかなと。パソコンでやらせてることをマイコンにやらせるのはなんか面白いもんですし。携帯電話のモジュールをマイコンから安く使える時代がきたら、さらに色々出来るようになるでしょうけど。

まぁ、そんな感じです。


新春お買い物で電力計測ステーション作り替え予定

 スイッチサイエンスとマルツに部材を幾つか発注してある。マルツは明日、スイッチサイエンスは明後日届くだろう。
で、まずやることは、分電盤の電力センサーを1枚基板に置き換えます。今はArduino UNO+XBeeSheild+LCDSheildの3段重ねです。昨年スイッチサイエンスで「XBeeの載るC基板」ってのを売りだしたので、三段重ねをこの基板1枚にまとめようと思っております。電源を今のまま5Vで行くか3.3Vにするかは要検討。どのみち商用電源からUSBアダプタで5V取るからXBeeとのやり取りをレギュレータと分圧抵抗で凌ぐ感じですかね。ただ、全体を3.3V駆動にすれば、AVRの10ビットADCの1ビットの単位が小さくなるから、細かい値が出せますけど。どっちにしようかなぁ。

電力計測基板想定図

 Fritzing(eagleと並ぶ神アプリ)でいじっていましたが、おおざっぱに構想するとこんな感じですかね(LCDまわりや電源まわりは配線省いてますが)。サンハヤトのminiUSBコネクタ基板が結構でかくて困る。電気工事士の免許がとれたら、分電盤から電気が取れるのでもう少し違ったやり方も出来るのだが。電気工事士は春夏試験を目指してみます。
 んで、ソフトウエア的にはあまりいじる気はないのですが、ロングスパンの移動平均値もLCDに表示させようかな。また、MTM07で買ってきた音声合成LSIもつないで「電気の使いすぎです」と警告を喋らせるとか。基板に余地が無いので、そういうのは別途各センサーと通信する集中コントロール基板でやらせよう。
さらに今年のクリスマスリースはXbee載せて面白いことをさせようかな。とか夢が広がるな。


水槽温度計稼働開始と電子部品整理

 って、シリコンが乾いたセンサーをポチャンと水槽に入れただけですがw。すでにpachubeには配信してたのでそんだけ。これで水槽水の電気伝導度と水温との相関がとれる。室温との比較でも反比例してるのは分かっては居たので。もし浸水して壊れても、LM61の替りはあるさ。秋月で4個200円だったのでシリコン乾かす時間がかかるくらい。

部品ケース

 あと、Amazonで部品ケースを買ったので、引き出しに秋月通販袋に種類別にわけてあるパーツを移動します。


水槽温度センサー設置準備

 水槽の水温計(GEXのチャームで安売りしてた奴)はつけてるけど、時系列のデータが取れるものでは無いので別途センサーを設置することにした。

LM61での温度測定のテスト

 先週、事前に上記画像の様に実験して、XBeeのADCで行ける事は確認しておいた「LM61温度センサーによる水槽の水温測定」。LM61を選んだのは、LM35は電源に4V以上必要なので却下(XBeeは3.3Vなのです)。出力信号がLM60は6.25mV/℃でLM61は10mv/℃。ADCにかけるから1℃あたりの電圧幅がデカイ方が細かい温度が測定できるのでLM61を選択って事です。XBeeシリーズ2のADCは1.2V MAXの10ビット(vrefが効くかと思ったけど3.3Vで試して効かなかったし。どうもシリーズ2で使われてるマイコンの仕様らしい。)なので1ビットあたり0.001171875V(=1.171875mV)の分解能。つまり温度を0.1171875℃単位で測れると。実際はLM61のセンサーのリニアリティとか誤差とかありますけどね。LM61にはVCCとGND間に0.1μFのパスコンを設置。シグナルとGND間は処置せず放置した。

 んで、本日、水槽に付けるための防水用にシリコンシーラントを買い出して来た。コニシの「バスボンドQ」とセメダインの「バスコークNクリア 水槽鏡まわり」とあったけど、後者を購入してきた。で、半分に割った太めのストローをガイドに以下のように包埋。
 

LM61 シリコン漬け

固まるまで時間がかかるので放置しつつ、mbedのプログラムを修正。pachubeのID 4に入れ込み。今までID 4を使っていたmbed付近のI2C温度センサーはID 9へ移動。このmbedの☆ボードオレンジにつけてるI2C温度計。場所が悪くてPCやLCDモニターの排熱の上昇気流をあびて高めの温度となってる。ま、さておき、今回作成したLM61のセンサーはかわききるまでは室温センサーとなってます(苦笑)。