マイコン一覧

いろいろ届いた

20130207_01 20130207_02

 digi-keyに発注したAVR Dragonとその他ICが届きました。日曜発注で木曜着。というか、日本の日曜夜に発注してしまったので、ちょうど現地の日曜日を挟む形で丸1日以上発送開始まで時間がかかってました。実質は3日程度でしょう。これからは円安がツライなぁ。まぁ、国内で手に入る物は国内のショップの方が意外と安かったりもしますし。
 で、AVR Dragonが火を噴く事の対策としてbuffer ICその他を秋月に火曜日夜に発注。それも今日届いた。74HC540の1セット20個レールを買ったらマジに1本レールで届きました。なんか届いてる箱が長いなぁと思った。いつもの秋月の白い箱じゃなくmicro chipのpicのレールの納品箱でした。

 で、届いたものはまだ使わず。まず三連休はベランダ雨センサをベランダ気象台センサで中継して室内のmbedのマスターコントローラで値をゲットする形に持って行きたいと思っています。
 今はArduinoのEthernet対応版(sparkfunのEthernetProです。もう売ってませんね。)で雨センサのデータを受けてますけど、たまに詰まって止まるんだよこれ。金魚画像のも同じボードなのでたまに止まります。しかし打って変わってmbedの方は恐ろしく安定してて、コード改善以外のリブートが無いですね。ということで基本mbedが各デバイスにリクエストして値を返してもらう形にして行きます。行きますったって雨センサ以外はもうその形式になってます。雨センサは電源が太陽電池&バッテリーなので、できるだけスリープしておいて適宜起きてデータを発信する形式なので仕方ない。電源が自由ならそりゃ常時待受で作りますがな。


雨センサ難しいね

 今夜も雨センサの調整。TRのベースからグラウンドへの経路が無かったので22KΩで追加した。
 これで安定してくれると良いが。結露センサーを使うパターンも考慮しないと、というか結露センサーをどう入手するかになりますね。やっぱ雨は転倒ますが普通なのだろうか?否、電源を確保して交流測定のパターンもやってみたいですね。


ログ表示器実験

20130201_01

 今日は1時間ほど残業をして帰ったのと、明日土曜当番で出勤なので軽めの作業。

 FXMA108のレベルコンバータ基板を挟んで、5VのUSB-UART変換機を接続。mbed側のシリアルは3.3Vです。(mbedは5Vトレラントだとかそうじゃないとか話があるけどいまいち正解にたどり着けて無いのだよね。壊すと痛いので無理せずレベルコンバート)

 プログラムはシリアルでもらった入力を液晶の文字表示のフォーマットにして出力するループ。1文字でも5byteの出力になるので、フロー制御しないとこぼれますね。LCD側の通信速度を早くすれば良いかと思ったけど、38400bpsより上はなんかうまく動かなかった。\n来るまでバッファリングしてから渡すようにするとか改善の余地はありますね。まぁ、使えそうなのがわかったのでOKOK。


雨センサ調整中

 どうも、冷えてきちゃうとオンになってしまってた雨センサを調整中。

 素人なのでお風呂ブザー的に、晴れならLow、雨ならHighを考えていたのだけども、どうもそれじゃまずそうで。
 世の中のマイコンのIOピンがなぜデフォルトでプルアップされてるかというと、プルダウンより電力を食わないらしい。理屈はもう少し経験と理論学習を積めばわかると思う。
 で、XBeeもマイコン使ってるから同じくデフォルトプルアップ。
 今は、デフォルトプルアップを解除して、抵抗を挟んだプルダウンデフォルトにして、雨が降ったらダーリントンからHighになるようにしたのだが。夜間に冷えるとHighになるのを改善スべく調整を繰り返すうちにバランスが崩れてセンサーが濡れて導通してもLowになってる状態。まぁ、それでも太陽電池によるリチウムイオンバッテリー駆動の電圧確認記録はできているので無駄ではない。

 で、それらを改善すべく、次の回路テストの為にXBeeコーディネータ配下のネットワークにEnd DeviceのXbeeを1個追加。単にテスト用なのでその追加したEnd Device XBeeから一定タイミングで送られてくるiosampleをコーディネータXBeeが受信して、SoftwareSerialのコンソールに出力するだけ。こんなのは今の不完全な雨センサーのアップローダのコードににちょいと追記するだけでOKです。(追記しなくても送信元XBeeのアドレスは表示させてるのでわかるのだけども)

 で、改善回路は探します。水分で導通したらLowになるNot回路で良いんですけどね。トランジスタでなくNMOSのFETの方が良いのかしらん?在庫あったかな?1個まえのデジトラで動かしてた雨センサが負論理になってたのだけど、よく原理がわからんまま使ってただけだからなぁ。ちょっと勉強しなくては。


雨センサー用のXBee中継モジュールを検討

 昨日改良した雨センサー。XBeeでプッシュタイプでデータを送ってくるので、家のメインプルタイプのコントローラは介せずに、別途、SparkfunのEthernetProで受信しつつ、ネットにアップロードしてます。

 メインのmbedのコントローラを改良しても良いのですが、ベランダ気象台をやってる奴にやらせようかとか。
1.雨センサー側のXBeeネットワークのデータ(降雨状況、バッテリー電圧)の受け取り。
2.気温・照度・気圧・湿度の観測とメインへの回答。
3.降雨状況、雨センサーのバッテリー電圧のメインへの回答。

 これをやらせるという感じ。

 XBeeを2台載せることに関しては、ハードウエアシリアルが1つしか無いATmega328pだとsoftware serialを併用する事になります。
software serialでのXBee駆動はすでに水槽データ管理マイコンでやっているので問題ではない。ATmegaをそれぞれのXBee用に1個づつ2個載せて、各ATmega間でi2cでデータやりとりしても良いしね。
 ついでに、ベランダ気象台をXBee Proのしっかりしたアンテナの奴に置き換えると、湿度の高い時に無線通信が出来ない事があるのが改善されるかも。

 LEDイルミネーションは、プロトタイプの検証はできているので、あとまわしにしちゃって、こっち関連をやりましょう。
あーでも、本来はすべて同一ネットワークにして、メインのmbedでコンカレント処理するのが綺麗だけどなぁ。


雨センサーの改造実施

 自宅のベランダの雨センサーの改造を実施しました。

 ・電源を太陽電池およびそこから充電したリチウムイオン充電池経由とする。

 基本これだけ。ベースはSeeedstudioのGROVE Beeキャリアです。一昨年くらいにかって温存してたもの。

 ついてに、雨センサーの部分も変えました。2SC1815のダーリントンという昔ながらの回路で。しかし、午前中何をぼけていたのやらトランジスタで増幅される電源の元がエミッタ、電源が出てくる側がコレクタと思い込んでいた様で、ブレッドボードでいろいろテストしてて頭に「?」が沸きまくってました。ふとエミッタとコレクタ逆じゃんと気づいて、直したら正常動作を確認。オン・オフが今までと逆になったので、受信側のソフトも変更した。

20130119_02

 上記のようなブレッドボードで試してみてOK。その後も、抵抗値を調整しつつで、8×4の基板に作りこんで、配線して完成。まだ、防水加工した部分が乾いていないので稼働は明日かな。