前回の記事からピッタリ丸1年ぶりの記事です...
気が付けば2023年も残り1ヶ月を切っていて、そういえばアドベントカレンダーの季節だなぁ...と思い「防災アプリ開発 Advent Calendar」を覗いてみると たまたま去年と同じ12/7が空いていたので滑り込みで7日目として参加させていただきます。
現在、日本全国には地震を観測するための震度計を設置した地点「震度観測点」が4371地点存在しています。
この震度観測点は気象庁、地方公共団体、そして防災科学技術研究所が設置したもので、各震度観測点での計測データを元に緊急地震速報や各地の震度などが発表されています。
この震度観測点ですが、人口の多い都市部を中心に全国を網羅するように整備されているものの、よく見ると疎な地域も存在します。
例えば、熊本地方気象台のある熊本地方合同庁舎の敷地内に気象庁の震度観測点「熊本西区春日」がありますが、地図を見ても分かるとおり目と鼻の先の白川を渡った先は熊本市中央区です。
しかし、震度観測点から熊本西区役所までは直線で約3.9km、金峰山西側の河内町付近までは約10km離れています。(東京都心部には1〜3km間隔で設置されているのに...)
さて、そんな震度観測点から離れた場所に住んでいる方やマンションの高層階に住んでいる方、その他「気象庁発表の震度と体感が違う...」と感じる方、あるいは自宅の詳細な震度が知りたいという地震マニアの方向けに... コンパクトで、見た目が整っていて、データも取れて、なるべく安価な震度計を提供できないだろうか、と考えて作ったのが「地震計開発キット EQIS-1」です。
前置きが長くなりましたが... 今回はEQIS-1の開発から販売までのお話を記録も兼ねて書こうと思います。
色々ある(あった)けど決定版がない個人向けの地震計
昨年、同人ハードウェアとしてRaspberry Pi Picoを使用した「PiDAS」が登場していましたが、組み立ての手間が大きいことに加えて公式ファームウェアにバグが存在しており、メンテナンスされていない状況が続いています。
そこで、公式リポジトリにissueを立てていたNoneType1氏、PiDAS向けの改良ファームウェア(PiDAS Plus)を製作していたingen084氏、そして...
これで基板起こして、いい感じのケースに入ってたらどうだろうか? https://t.co/vps3Rk81xv pic.twitter.com/ewwUmGKRbD
— けーいち (@9SQ) March 8, 2023
という私のツイートに対して
一緒にやりませんか
— けーいち (@9SQ) March 8, 2023
反応してもらったcompo031氏に声を掛け、地震計開発プロジェクトをスタートしました。
目標は前述の通り、小型、ケース入り、データが取れる、なるべく安価であり、個人でも購入できること、としました。また、文字を表示できる表示器(OLED)を搭載し、Wi-Fi接続とインターネットへのデータ送信に将来的に対応できる構成を目指しました。
加速度センサーの選定
当初、アナログ加速度センサとA/Dコンバータという構成を考えていましたが、手頃な12〜16bitのADCが軒並み在庫切れ&価格高騰しており、当初使用予定だったKionix社(現ローム)のアナログ加速度センサも生産終了で将来的な部材確保に懸念があったため、デジタル加速度センサを使用することにしました。
最初は手頃で入手性に優れるSTMicroelectronics製のLIS3DHを使用することを検討していましたが...
LIS3DHのデータが間違ってたので修正版
— こんぽ (@compo031) April 2, 2023
ADXL345とLIS3DHはノイズが大きすぎて微妙で、センサのコスパ考えるとIIS3DHHCがだいぶ良い pic.twitter.com/T8YsccL6cH
compo031氏による検証の結果、震度2以下を判別するのが厳しいということが分かり、NoneType1氏から提案されたSTMicroelectronics製のLSM6DSO(X)を検討に加え、最終的にコストと精度のバランスからLSM6DSOを採用しました。
この辺りの検証については、compo031氏による12/2の記事「地震観測を目的とした加速度センサ5種の性能比較」で詳細にまとめられていますので、併せて読んでいただければと思います。
XIAO拡張基板としてのボード設計
使用する加速度センサが決まったら、次はマイコンの選定です。
当初、Wi-Fi接続できるESP32シリーズやRaspberry Pi Pico RP2040などがワンボードになったものを作ろうと考えていましたが、枯れていて良さそうなESP32-WROOM-32はNRND(新規設計非推奨)で、出たばかりのESP32-S3はノウハウが足りていないため開発に時間が掛かることが予想され、RP2040は周辺回路が地味に面倒... ということで、マイコン周りの回路設計期間を短縮しつつ、これらの選択をユーザーに任せることができるよう、Seeed XIAOシリーズを搭載できる加速度センサ搭載拡張基板という建て付けで進めることにしました。
XIAOシリーズの拡張基板として設計することで、USB-Cコネクタや電源周りについて考える必要がなくなり、フォームファクタが統一されているため今後登場するかもしれない新しいマイコンを搭載したXIAOに対して(基本的に)特別なハード的変更を加えることなく自動的に対応する(別途ソフトの対応は必要)というメリットがあります。ただし、Seeed社がXIAOシリーズの販売を辞めてしまった場合は共倒れになる可能性もあるので諸刃の剣ではありますが... 今はXIAOが息の長い製品群であることを祈りながら乗っからせてもらいました。
既製品のマイコンボードを使ってしまえば、ここに繋がるセンサの回路だけを考えれば良いので非常に楽ちんです。
今回は、LSM6DSOをSPIで、震度を表示する表示器をI2Cで接続し、ケースの外からアクセスできる設定用ボタンとして2つのタクトスイッチも搭載することにしました。
表示器は制御チップSSD1306を搭載した0.96インチのOLEDを採用しました。
XIAOを使用したことで基板が2段重ねになり全体のフットプリントを小さくすることができたため、これに合うようなコンパクトかつ固定しやすい形状のケースを探します。
今回は、タカチ電機工業のプラケースの中から、固定に便利そうなフランジ足付きプラスチックケースTWF4-2-5を採用しました。TWFシリーズの中では最小サイズのものです。
ケースの図面PDFに記載の推奨基板形状を元にざっくりと基板外形をKiCadのEdge.Cutsレイヤーに描き、ざっくりと部品を配置、最終的にはケースの実寸をベースに調整をして基板形状を確定させました。
OLEDはデフォルトでピンヘッダがついているため、これを挿すだけで接続できるようにピンソケットを基板側に用意する形にしました。
あとは都合が良いように部品を配置しつつ配線し、シルク印刷がカッコ良くなるようにお絵描きしたら基板の設計は完了です。
3Dビューアーで見た時の完成図はこんな感じ。OLEDの基板も含めると3階建てのような内部構造となりました。
ケースの加工
基板と部品配置からTWF4-2-5に開ける穴の位置を決めていきます。
タカチ電機工業のサイトからSTPファイルをダウンロード(要会員登録)し、KiCadから書き出したSTEPファイルと一緒に3D CADに読み込み、それぞれの位置を合わせた後に穴を開けます。
当初、OLEDの窓部分は切削したままの形でしたが、3D CAD上でテーパーをつけてレンダリングしてみたところ、テーパー有りの方が見やすいのでは...?ということでテーパー加工を追加しています。
同じ角度から見た図で比較すると、テーパーがある方がOLED表面が見える面積が広い
このテーパー加工費が地味に高く、発注個数によりますが初回ロットでは1個あたり200円程度のコストが掛かっています... (千石電商で未加工品のTWF4-2-5が1個買えてしまう...)
また、内部で基板とXIAOの2階建てにしたことで、USB-Cコネクタ穴の位置がケース側面の中央付近になり、ケースにわずかな傾斜(抜き勾配)がついているためUSB-Cジャックの端面(差し込み口)がケース外側に向かって迫り出す形となって、結果的にUSB-Cケーブルのコネクタの長さを気にせずに接続できるようになりました。当初、ケースの厚みが結構あるため、コネクタ部が長いUSB-Cケーブルを別途用意する必要があるかもしれない...と思っていたので、XIAOを採用して2段重ねにしたことが功を奏した形です。
ケースの加工図面が出来たら、マルツのプロトファクトリーにデータを送って見積もりしてもらいます。
前回記事で作ったGNSS受信機と違って今回はケース表面の印刷はありませんが、10個発注した場合の単価は未加工品の約10倍程度になりました。個数が増えると若干単価も下がっていきますが、マシニング加工は高い... ただし、仕上がりは美しいので届いた時の満足度も高いです。
完成〜販売に至るまで
発注していた基板とケースが届いたら、いよいよ組み立てです。
今回はXIAO RP2040を使用し、XIAO 6DoF Ext. 基板にXIAOとピンソケット等をはんだ付けしていきます。
組み立て方法はEQIS-1公式サイトに掲載しているため詳細は割愛しますが、設計中にKiCadの3Dビューアーで見た通りのものが組み上がります。(当たり前と言えば当たり前ですが...)
ファームウェアには、ingen084氏が開発した計測震度の計算とOLEDへの表示を行うプログラム(ingen084/seismometer)を使用し、これをXIAO RP2040に書き込んだら完成です。(以下の動画は開発中のものであり、現行のものと挙動が異なります。)
こんな感じでどうだろうか? https://t.co/cRB0zvykqU pic.twitter.com/dgrU8iWZa4
— けーいち (@9SQ) August 15, 2023
お好みのXIAOと青または白色のOLEDを購入して自分で組み立てるEQIS-1【基板+専用ケースセット】と、私が夜なべして組み立てている【OLED青/完成品】と【OLED白/完成品】の3種類を、秋葉原のラジオデパート1階にある家電のケンちゃんにて8/20に販売開始しました。
アキバ取材ネタ▼いま揺れた?加速度センサーで地震を観測できる工作キット「EQIS-1」が入荷https://t.co/ZZiIdCITdG pic.twitter.com/KjDRDxrQhY
— エルミタージュ秋葉原編集部 (@hermita_akiba) August 25, 2023
また、ingen084氏のファームウェアを書き込み済みの【OLED青/ソフト書き込み済み完成品】と【OLED白/ソフト書き込み済み完成品】を10/28から販売しています。
更新:地震計開発キット「EQIS-1」の完成品が入荷、価格は8,580円 https://t.co/cBaoG5iK6X #地震計 pic.twitter.com/3bq7YcLByx
— AKIBA PC Hotline! (秋葉原) (@watch_akiba) October 28, 2023
ちなみに、ingen084氏のファームウェアは計測震度を算出するためのフィルタに防災科研が持っている特許5946067号の仕組みを含んでおり、また、EQIS-1のハードウェアと共に使用する場合は装置の仕組みも含めた特許4229337号も絡んできます。このため、【ソフト書き込み済み完成品】として販売しているEQIS-1については防災科研とライセンス契約を締結して販売しています。
EQIS-1の組み立てキットと完成品(ソフト無し)で販売しているEQIS-1については、あくまで利用者が自らプログラムを開発する「地震計開発キット」という前提に従い、前述の特許に関係するライセンス契約は締結していません。(この見解についても確認済みです)
そのため、組み立てキットを作って、あるいは組み立て済みを買ってきてingen084氏のファームウェアを書き込んで転売したりすると特許権の侵害になる恐れがありますのでご注意ください。
年を追うごとにやる事がどんどん増えて、なかなか趣味のハード製作に割ける時間が確保できずに減りつつありますが、EQIS-1はセンサの検証やファームウェアの開発をしてくださる方がいらっしゃるおかげで世の中に出す事ができました。