LoginSignup
3
1

More than 5 years have passed since last update.

Arduino(ATmega328P)と加速度センサーで地震計を作ってみる

Posted at

この週末は、Arduino(というかATmega328P)と加速度センサ(KXR94-2050)を組み合わせて、地震計を作ってみた。
そもそものきっかけは「Raspberry Pi 簡易震度計」というページで、Raspberry Piと加速度センサの組み合わせで地震計を実現しているのを見て、ESP32あたりのほうがいいんじゃないのと思い、実験してみたくなった。
いきなりESP32というのも手間なので、まずはATmega328P-PU単体(内蔵8MHzオシレータ)で試してみたので、そのメモ。

まず、USB Serialを5Vの電源にし、KXR94のX,Y,Z三軸の出力を328PのA3,A4,A5入力とつなぎ試した。データを取得したところ、まったく動かない状態でも、ノイズだけで数Gal程度。つまり震度2程度揺れている感じでとてもじゃないが地震計にはならない。

USB Serialの電源を3.3Vにしたところ、USB Serialのレギュレータで安定化されるのか少し良くなった。更に電源に数十μFの電解コンデンサを入れてみてやっとノイズが1.5Gal、つまり震度1程度。三軸出力に0.1μFの積層セラミックコンデンサを三つ入れてみたが、あまり効果なかった。

よく考えると、センサで取得できる範囲は5G = 4900Gal (Gal = cm/s/s)で、それを10bitのA/Dコンバータ、つまり0-1023の数字に変換している。だから、量子化ノイズだけで数Galは発生しうるわけで、いくら数値処理をしたところで1Gal以下、つまり震度1未満を取得するのは難しいのかもしれない。

とりあえず作ったプログラムをgithubに置いてみる。また何か思いついたら、いじってみよう。
https://github.com/toyo/KXR94-2050

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1