モノプラットホーム試作

モノプラットホーム試作基板

sakura.ioモデム販売終了に伴い、新しいモノプラットホームの試作基板を作りました。
入力はCT5個+日射センサ、マイコンはESP32です。
sakura.ioにあったDatastore機能が無いのでWebsocketで測定値を取得するだけですので、パソコンの受信プログラムを起動しているときにしか受け取れません。Datastore機能は検討中とのことなので、実装してもらえることを期待しております。複数データ送信機能を実装してくれたので、PC側の処理が楽になりました。これをsakura.ioと入れ替えてテストする予定です。

AVR32DA32

ATmega4808とピンコンパチらしいAVR32DA32も入手してみました。

 AVR32DA32

1ピンを左上にすると印刷が縦になったのでびっくりしましたが、これでいいようです。

mega4808はヒートガンで剥がして、同じところにAVR32DA32を付けましたが、ちょっとずれてしまってブリッジしているところがあり、最初電源が入らずあせりました。表面実装部品をヒートガンで剥がすのは2回目ですが、ハンダが溶けたあとにICを取り上げるのが難しいです。今回も飛んで行ってしまいました。目も見えないし手も震えるし、年取ると大変です。

プログラムは、4808とUSART関係のレジスタ名が違う以外はそのまま動きました。USART0、WDT0、TCA0、TCB0を使っています。共通なところが多いのは助かります。AVR DAシリーズは消費電力も少ないそうで、3.3Vでも高速で動くので、4808よりこっちの方がいいかもしれません。これで新しいAVRシリーズがサクッとはいきませんが、なんとか使えそうです。

mega4808が動いた

mega328Pで動かしていたプログラムをmega4808に移植して、やっと動くようになりました。
開発環境もやっとAVRStudio4からMicrochipStudioへ変更しました。

mega4808

GLCDとRS485が繋がった回路をそのまま使いましたが、タイマー以外は名前を変えるぐらいでできましたが、タイマーの使い方はまだあやしいです。オシロで時間を見ながら、無理やり合わせました。どこかの設定が悪いんでしょうから、これから調べることにします。

6pinのISPから3pinのUPDIになったのもスペースが小さくなって良かったです。

でも、これを使う案件が無いんですよね。

追記
TCB0のクロックソースにTCAを64分割で入れたら計算通りの0.1sec割り込みが作れました。

追記2

I2C液晶をAtmel StartのI2C_0で動かしたらかなり遅かったので、ソフトI2Cに変えたら前と同じぐらいの速さに戻った。ADC(MCP3424)のreadも1/4になっているようだったが、これもソフトI2Cで正常に読み取れた。Atmel Startで生成されるルーチンに問題があるかもしれません。

ストリングモニターを更新

太陽光発電のストリングモニターをATMEGA328P+ESP02からArduino UNO WiFi Rev.2に代えてみました。ADCもMCP3208からMCP3424に代えてみました。Arduino UNO WiFi Rev.2は下になっているので見えません。最近ADCの調子が悪くなって、オフセットが出るようになったので、新しいものに変更です。基板むき出しで設置しているので埃だらけになっているせいかと思いますが、今度はふたぐらいしておこうと思います。

ストリングモニター基板

Arduino UNO WiFi Rev.2は気象モニター用にも使おうと思ったのですが、プログラムが悪いのか、気象モニターの方はすぐハングアップするので、ストリングモニターのほうもちょっと心配です。これにはmega4809という新しいAVRが載っているということで、そろそろ328Pから乗り換えを画策中です。

LORAその2

友人に頼まれてI2エレクトロニクスのLRA1モジュールを使って簡単な警報器を試作しました。送信側のブレーカーが切れたら送信器が停止して、受信器で警報を出すという仕様です。今回はLRA1のハーフピッチDIP基板タイプを使用しました。最初、ファームのバグでBASICが書けなかったり、動かしている途中で止まったりといろいろありましたが、無事動作するところまで到達しました。

受信器

当初不安定だったのでTINY13Aでウォッチドッグを作って追加してあります。その後、対応済みのファームにしてからはウォッチドッグが動くこともなくなりましたが、無線関係は心配なのでこのまま付けておくことにします。アラームは秋月のカッコウワルツです。ケースはタカチのWSCシリーズのものをサンプルで頂き使ってみました。卓上に置くにはちょうどよい形で、これからも使えそうなデザインです。今のプラBOXは加工もしやすくていいですね。

送信器を家の窓際に置いて、受信機を持って移動してみましたが、1km程度は届きそうでした。ワイヤーアンテナで心配でしたが、けっこう飛びそうです。外部アンテナも試してみたいところですが、マルツではワイヤーアンテナのタイプしか売っていません。今後のシリーズの充実を期待したいです。

簡易気象観測ステーション

Weather Meter Kitを使って簡易の気象観測ステーションを作りました。

入力回路はSparkFun_weather-bitの通りですが、風向計はWeather_Sensor_Assembly_Updatedに載っている回路に変更しました。気温、湿度、気圧はBME280で計測しています。簡易な計測なので誤差を含んでいます。

最初、ESP32DEVで入力回路を作ってみたのですが、パルスの入力が複数入ってしまい、うまくできなかったのでArduinoProMiniに入力して、それをESP32DEVのWiFi経由で自宅LANに繋ぎ、Ambientにアップロードしました。日射センサは小さい太陽電池を抵抗で短絡して、両端電圧を測る簡易のものです。

Weather Meter Kitにはかわいい雨量計が付いているので、本当に測れるのか楽しみです。

Ambientで遠隔観測その2

LORA評価ボードのLRA1-EBを使って温度センサを無線経由にしてみました。懐かしのBASIC内蔵で、すごく簡単にリモート動作をするようにできます。ほとんどサンプルプログラムのままです。受信側は受信データをSerialに流し、ESP32で受信してAmbientに送ります。

Exif_JPEG_PICTURE

受信側で受信できるとLEDが点滅するので受信できたのがわかります。送信側を家に置いて、受信側を持って車でどこまで届くかやってみましたが、田舎で何もないところですが、2kmぐらいは届くようです。sfをもう少し大きくすると距離が延びるらしいです。データは10byteほどなので、今度は距離にトライしてみるつもりです。

Ambientで遠隔観測

Ambientというデータ保存+グラフ化サービスを利用して遠隔観測をしてみようと思っています。まずは自宅にセンサを置いて、アップロードしてみました。

センサはBME280、マイコンはESP32-DevkitCを使いました。10秒毎に測定して液晶表示して、10分毎にAmbientに瞬時値をアップロードします。

なんと、こんなグラフがちょいちょいと作れてしまいました。ここまでは無料の範囲です。リミット越えでメールが送れればsakura.ioでやっていることと同様のことができそうです。ただ、AmbientはWANに接続されたゲートウェイが必要ということが違います。センサとゲートウェイ間はLORAという広域無線通信で接続します。最終的にはTheThingNetworkの利用まで行きたいと思っていますが、Ambientで可能なところまでやってみたいと思います。次はセンサをLORAで飛ばしてどこかに置かせてもらおうと計画中です。

sakura.ioのDatastoreV2対応

sakura.ioのモジュール不良は無事対策完了したようで良かったです。その後、Datastore機能がV2になるとの連絡があり、早速1ヶ月保存の無料タイプを追加登録しました。

データ取得プログラムは前のままではデータが取れず、フォーマットが変更になっていました。最初は何が変わっているのかよく理解できず、json.dllのエラーの意味もよくわからず、四苦八苦しましたが、channelsが配列になったことがわかりました。その後はすんなりと進み、元のようにデータを取れるようになりました。同じ時に送ったchannelデータをまとめてくれるので、V2の方が簡単に処理できます。最初からこうしてくれていればいいのに…最初に苦労したのを思い出しました。

今日もいい天気で、よく発電していますね。(我が家では無いですが)

追加

非力なStickPCで動かしていますが、以前はデータ取得に時間がかかるのが気になっていたのが、早く終了するようになりました。V2のおかげでしょうか。

IVカーブ測定

久しぶりにIVカーブ測定プログラムを動かしてみました。kikusuiのPLZという電子負荷に測定用のシーケンスを書き込んでスキャンし、PLZの測定機能でIVを測定する方式にしてあります。そのため、1回のスキャンに数十秒かかってしまうので、曇りの日には向かないです。以前、オシロでIVを取得する測定システムを作ったことがあるので、そんな方式か、CONTECのADで取得する方式かにしたいところです。

オフグリッド用に使っているシステムのバルク充電中の出力がやや低いので、IVカーブを取ってみたかったのですが、やっぱりIVカーブで測った方がPmaxが大きいので、チャージコントローラがPmaxをうまく探せていないような感じです。ソーラーパネルのコネクタが古いタイプで、手持ちのものと違うので、簡単に測れない。どこかに売っていないか探してみることにしよう。