ATmega1284Pが届いたのでsanguino化した

 お盆前に発注したら、店頭在庫切れで入荷待ち。というWebショップと在庫の連動ができていないパターンで、再入荷待ちだったATmega1284P DIPが届きました。

 早速ブートローダを書き込んでSanguino化。でもAVRISPMk2だと書けてるのかどうか分からず、ArduinoISPを作って焼き直し。

20130821_01

 この段階でもD13のLEDは点滅せず。プロトタイプの方の電力計ブレッドボードでBlinkのスケッチを書き込んだらLED点滅しました。
SangunoのbootloaderのHEXにはBlink部分は含まれてないのかな。前回もこんな感じだった様な記憶が蘇りました。
 ここにメモっておけば、次は大丈夫でしょう。

 これで実機とプロト版が同じマイコンになったので、コンパイル&書き込み時にマイコン種別を選択する手間が減ります。

 で、グラフ表示のテスト。昼休みに10分くらいで書いたものをプロト版に入れた。データは昨夜から本番機でデータを録りためているEEPROMを入れ替えて。
とりあえずグラフはでるようです。デザインとかはおいておいて。意外と塗りつぶさないrectangleで良さそう。
 20130821_02


ちょっとだけコーディング

 電力計のソフトウエア部分をちょっと。

 昨夜テストしたi2cのEEPROMに10分ごとの電力を記録するようにした。
 日が変わった時にクリアする実装はまだ。リングバッファ的な利用を考えるとクリアは要らないかな。分かれ目のポインタは現在時刻というものがあるから。

 明日、そこそこ時間がとれるくらいで帰ることができたら、1日のデータを読んでみましょう。別途mbedのマスターコントローラ経由でサーバにも上げているので比較してみるのも良い。

 旨く行っているようならデイリーの合計も毎日保存するようにして、電気代の計算&表示へとつなげます。

 1日のグラフとかは後回し。ツレにとっては電気代がどれくらいかが大事。払ってるのは私ですが。


i2c EEPROMテスト

 帰宅後、i2cEEPROMの書き込みと読み出し。物は秋月でも1個90円で売っている、マイクロチップの24FC256という32Kbyteのやつ。きむ茶工房さんのライブラリだと書き込んだあとすぐに読みだすとエラー。「delay(10)くらい入れると良い」というブログ記事を見かけたのでそのとおりにしたらOK。

 あとはintやらlongやらfloatやらもbyte *で渡してsizeof分操作を繰り返せばOKでした。使えそう。
 10分に1回保存すると1日で2byte x 144必要。1日毎は2ヶ月ぶん(4byte X 32)くらい、あとは1ヶ月毎に3年分(4byte X 36)くらいか。

そして、電気代計算の参考にするために東電のサイトへ。東電のサイトの電気料金の計算はわかりづらいね。「±」で表示している必要性がわからん。燃料費調整単価などの係数なりがマイナスになりゃええだけんじゃん。わかっててわかりづらくしてるんだと思うけど。


新電力計稼働開始

ただし、ハードウエア的に新なだけ。

20130818_01

 昨晩会社から帰宅後に、電力検出部分をハンダ付けしたので回路的にはできてる状態。

20130818_03

 プラ版で基板の裏側と表側を覆って完成。プラ版は在庫に良い厚さのものがなかったので、ビックカメラのおもちゃコーナーに行ったがイマイチで、フロム中武に行ったら7Fに模型屋さんを見つけたのでそこでゲットしてきた。どうやらドール屋さんでもあるようだ。

20130818_02

 配電盤にマジックテープで貼り付けて完了。

 家のマスターコントローラから呼ばれる時のXBeeのコマンドは以前と同じ。返す値のフォーマットも以前と同じ。なので、マスターコントローラ側は何も変更なしです。

 ハード的には、電圧センサ部をつけていなので、これを追って外付けする予定。ピンヘッダで、電圧と仮想グランドのピンは準備済み。

 ソフトウエアはいろいろ検討中です。電気料金の計算のた為の日付の計算がめんどくさいんだよね。


意外な誤算

 新電力計のマイコンとしてAtmelのATmega1284Pを使ってます。
 実機が稼働したあとのソフトウエア構築のサブとしてブレッドボードに回路を作ろうとして気づきました。

 うちにはATmega1284Pが1つしかなかった。ATmega644Pは2つくらいありますが。フラッシュメモリもSRAMも少ないのです。グラフィックLCDを使っているので、ビットマップ画像とか漢字フォントも入れようと思っていたのです。
 で、とあるショップに1つ発注していたのですが、在庫切れで入荷待ちとメールが来ました。Web上では在庫あったのだけど、実情が反映されてなかったそうです。仕方ないので入荷を待ちます。実機が完成するまではまだかかるので(平日はなかなか取り掛かれない)、まぁ大丈夫。

 あと、aitendoさんで買った雷探知器のキット。どうも電流がオーバーする様で早速LEDをが壊れてました。電源端子のコネクタのランドもはげちゃったし。マルツに別のキットを発注してみました。雷の可能性がある内にセンサ調整をしておいて、マイコンとつないでログを取れるようにしたいところ。まぁ、冬場に金沢に行って調整しても良いですけど。

 平日は無理みたいなことを書いたものの、XBee2つを実装しました。シリアルのデータのラインは裏側で接続。

20130813_01

 残すは、カレントセンサの部分。抵抗とダイオードなので垂直に実装すればそれほど基板の面積を使わないとは思う。


暑いけどハンダゴテ作業

 昨日の続きです。

 20130811_01

 Sanguinoとして動作する状況まで。かつ、i2cのRTCやグラフィックLCDは動作する状況。
 残りはXBeeの接続とこの基板のメイン機能のカレントセンサの部分です。今月中には旧センサと入れ替えできるんじゃないかなと思う。
 ソフトのブラッシュアップは9月でも良いので。ソフトのブラッシュアップ用にブレッドボードの試作回路を変更予定。XBeeは抜いて、RTCとi2cEEPROMはオンボードにした状態にしたい。