【ESP32】M5Atom GPSキット とか、便利ですね。いろいろ地雷もありますが。。【自家製計測器】

スポンサーリンク

計測器マニアシリーズ(笑)あるもんでシリーズか?

ESP32とArduinoがまぁまぁ使いやすくてよく使って遊んでいます。仕事でもSTMのプロセッサ組み込んだものの評価などもするので、似たような性能があるから面白いです。

で。。この前からとある測定器を作るかどうか悩んでいたんですが、軽くてGPS、SDカード、温湿度、電界磁界などなどが測れるもの。。 でもなかなかスペックがあうものがなかったり、まだ未知なものなので仕様が作れないということで、発注して作ってもらえない(笑)

じゃ、今あるやつで。。と思ってもなかなかピッタリなものがなく、バッテリーとかも考えるとなかなか難しくて(笑)。仕方ないので、簡単にできる範囲で。。ということで、やってみました。

【LoRa】LRA1 USB ドングルで少し遊んでみる。。【LRA1-EB-MICRO】
技適のあるLoRaモジュール 日本国内で使えるLoRaモジュールで、伝送距離実績があるものがあまりないのですが。。 ここのモジュール...
【ESP32】SDカードの読み書き CATALEX MicroSD Card Module 複数SPIで使う時の改造とか【SPI】
CATALEX MicroSD Card Module 小さいのもあるけど、何が違うんだろう? 上がバッファ回路と5V→3.3V...

無線送信バージョンも作ったんですが、技適の範囲でというと、なかなかにメインのものも無線で操作するので、それに負けてしまうことがわかり、無線バージョンを先送りにしようと。。あと温度の測定範囲とかも諦めたり、ADのサンプルや測定範囲を諦めると。。意外に簡単にできたというのが、本当のところですが。。

やりたいことが付いているボード探しをいろいろしていたのですが。。前に買ったものの中にありました(笑)

ESP32、GPS、SDカードホルダ がついてる。。ボード。。なかなかないんですが。よく見たら付いてたw (実は以前うまく動かせなかったんですけど。。)

m5-docs
The reference docs for M5Stack products. Quick start, get the detailed information or instructions such as IDE,UIFLOW,Arduino. The tutorials for M5Burner, Firmw...

温湿度気圧計も。。範囲少し足りないけど、まぁ今回の飛行範囲なら大丈夫っぽい。

m5-docs
The reference docs for M5Stack products. Quick start, get the detailed information or instructions such as IDE,UIFLOW,Arduino. The tutorials for M5Burner, Firmw...

ADもあるやん。。

m5-docs
The reference docs for M5Stack products. Quick start, get the detailed information or instructions such as IDE,UIFLOW,Arduino. The tutorials for M5Burner, Firmw...

でちょこっといじってみたら。。ハマるところも思い出しました(笑)

アマゾンでも手に入る!! って思ったけど。。

アマゾンじゃ売ってなくなってますね(^^;

created by Rinker
スイッチサイエンス
¥2,382 (2024/04/30 04:43:03時点 Amazon調べ-詳細)
created by Rinker
M5Stack
¥2,600 (2024/04/30 04:43:04時点 Amazon調べ-詳細)

本家も、Out of stockだし。。

ちょっと前に気がついたんですが、在庫があるところからいろいろ購入していたら測定とかも始まってしまって。。。今頃、全部が到着。

バッテリーとか電源とか

実は、こういうCPUやセンサは小さく軽くなっていますが、使用する時間とか気温とか重さとか考えると、なかなかに難しい。どれくらいの電流流れるかも起動時と定常時で違うので、買ってやってみるしかなく。。 こんなやつにつないで消費電力を測ってます。

こういうの便利ですね。テスターで電圧図りながら。。電流も測ってというよりは簡単。。

で、全部つないで動くと、起動時には、150mAくらい。通常で100mAくらい。 ほとんどが、GPSとM5Atomの起動、SDの書き込みも電気食うみたいですね。

だいたい一日、1時間~12時間動けばいいので、バッテリー2000mAくらいのバッテリーだと軽量にできそう。。

スマホ用のリチウムイオンバッテリー(モバイルバッテリー)が使えるので、物色。。あんまり軽いの最近ないのね。。

を一応、買ってみる。。 低温時にどれだけ電力出せるかわからないので、少し大きめです。

上が60g、下が100gでした。これは実際に使ってみて考えるしかなさそうですけど。。

重量

前に作ったのが、ブレッドボードで作ったので、450gもありました。(無線機能も付いていましたが。。)

とりあえず、5000mAhバージョンでは、160g 2500mAhバージョンで110gというところ。ほとんどがバッテリーの重量ですね(笑)

こっちも消費電力もそれほど変わらないですが、常時150mAくらいになります。重量は10gほど増えるだけ。。I2CのHubもつけています。あと1個なんかセンサつけられますね。

とりあえず、こういう構成でできるとわかれば、部品などで基盤も作れば、あと2~30gくらいは軽量化できるかと。。。そこに力を入れるかどうかは別として。。

さくさくっと作って試す

便利な世の中になりましたね。昔だったら、こういうの、ちょちょっと簡単な仕様書けば、作ってくれるところがあったんですが、これだけ簡単に誰でもがやれると、やってくれるところがないっていうことも。。少し理解w

ハマりどころは、下にまとめますが。。 さくさくっと作って。。テスト

ちゃんと緯度経度、高度、温湿度、気圧、電圧が、250msecくらいのサンプルでBluetoothでスマホで見ながら、SDにも保存して測定できました。

作ったプログラムは、こちらです。

lightningUAVs/GPSTEMPHUMPRESS at main · tom2rd/lightningUAVs
Lightning observation, UAV flight, Sensors, and so on - tom2rd/lightningUAVs

AD付きと、なしで2種類あります。 電源入れると、RGB-LEDがぐるぐるして、GPSを捉えるまで、赤点灯です。GPSを捉えると、グリーンが点灯し、ファイル名を日付時刻で生成して、SDに位置情報付きで保存されるようになってます。SDが動くと、黄色・グリーンに変わるけど、目では、薄黄緑に見えます(笑)

M5AtomとUnitのハマりどころ

GPSのサンプル

サンプルもちゃんとついてて、いいのですが。。M5Stack全般にいろいろやらかしてくれるので、面白いです。

M5Atom/examples/ATOM_BASE/ATOM_GPS at master · m5stack/M5Atom
M5Stack Atom Arduino Library. Contribute to m5stack/M5Atom development by creating an account on GitHub.

これ、動くには動くんですが。。 いろいろエラーでますし、高度も取れないし。。ちょっと変更すると動かなくなります(笑)

なので、素直に、TinyGPS++のライブラリ使いましょう。 GPSはUARTで動いているので、ほとんど、どれも動いてくれます。

GitHub - codegardenllc/tiny_gps_plus: TinyGPS++ Library
TinyGPS++ Library. Contribute to codegardenllc/tiny_gps_plus development by creating an account on GitHub.

使い方は、僕のHPでも検索するとでてきます。。

これ知らないと、なかなかに手強い開発ボードですね。

ADCのライブラリー

これ動くところまでは、サンプルで動きます。

https://github.com/m5stack/M5Stack/tree/master/examples/Unit/ADC_ADS1100

が。。。 Sampleを128spsにするとコンパイル通らない(笑)

M5_ADS1100.hに、タイポミス?

RATE_1288ってなってる(笑)

あと、これで測った電圧。。何でてるか?わからないと思うので、データシートみないと駄目ですね。ADCはみんなそうですけど。。VDDがわかってないととか?

で、信号発生器を取り出して、だいたいどんなもんか測ってみます。。

使うかどうかわからない機能なので、とりあえず、今は素のデータで出しておいて、時間ができたら、系全体で、校生しましょう。 どことどこを測るのかも、あまりまだ決まってないようですので。。それらを決めるために、こういうので測ってみるといいかと、

SPSや、Singleエンドで測るか?Differencialで測るか? それによっても違いますし、これ、16bitの深さなんですが、128SPSで測ると、8bitの深さになるんですね。。

その他。。M5Stack系だと、printfで%fが使える??

Arduino系では、%f系は使えないはずですが。。

なぜか。。使えちゃいますね。

M5atom.hをちゃんと読んでみよう!(笑)

簡単な計測機器は自分で作る時代ですかねぇ??

僕にとっては、嬉しいんですが、ある意味、昔よりハードル高くなってるかも。。仕様が適当でも、あるものでしかできなかったことと、こういうものの専門家の人もたくさん居たような気がします。

専門家がいなくなってて、こういうのちょっと作って、そこそこちゃんと動かすまで、なかなかに大変ですね。バッテリーの温度のことしかり、機器の温度条件しかり、電波干渉しかり、普通のところでは動いてしまうので、実際に本当に動かさないと、わからない。。

こういうノウハウ。。 あんまり高く売れないでしょうしねぇ~

発注ございますと、こういうの作ると、僕なら、100万円くらい請求するかな?(笑)

データ取得サンプル

こんな感じで取れます。

スポンサーリンク