発生時刻 2014年3月30日 20時11分頃
震源地 福島県沖
震度1(計測震度0.9)。今日は地震が多いな。
発生時刻 2014年3月30日 20時11分頃
震源地 福島県沖
震度1(計測震度0.9)。今日は地震が多いな。
発生時刻 2014年3月30日 12時23分頃
震源地 千葉県北西部
震度1(計測震度1.1)。縦揺れを強く感じた。
発生時刻 2014年3月29日 10時53分頃
震源地 茨城県沖
震度1(計測震度1.1)。座っていたが気が付かなかった。
mbedに秋月で売ってるAQM0802を接続する。液晶コントローラはST7032で、同じチップを載せたSB1602E用のプログラムが使えた。
TextLCD SB1602E sample program
AQM0802のI2Cバスはプルアップが必要。変換基板の裏面のプルアップ用ジャンパにハンダを盛る。
次はfftと計測震度の計算をする。
mbedに先日使ったADS1220を接続する。mbedの入出力の電圧は分からなかったが、出力を測定すると3.3Vだったので入力も3.3Vと信じる。
windows環境においてusb経由でprintfなどの出力をモニタする場合はwindowsにシリアルポートドライバをインストールする。
ホーム→Communicating over USB Serial→Windows-serial-configuration→Download latest driverをダウンロード→インストール
spi.formatはADS1220のデータシートにSPI mode 1と書いてあるのでspi.format(8,1)とする。
pc.baudはデフォルトで9600bpsが設定されていて実際その速度で入出力される。モニタするには少し遅いので115200bpsなどに設定する。pc側も同じ速度にする必要がある。
ADS1220は待ち時間を入れないと正常に動かないので適度にwaitを入れる。実測で電源投入後に56ミリ秒、リセットコマンド後に16マイクロ秒以上waitを入れると正常に動いた。
DigitalInとSPIを同じピンに定義すると上書きされるらしく動かない。GPIOのレジスタを直接読み出すと動く。
シリアル出力は14バイトごとにpcに送られるらしい。断片を想定していない場合は、14バイトに整形して出力するか、受信側で整形する必要がある。
次にLCDを接続する。
mbedで地震計を作りたい。
先日作ったIntelGalileo地震計は入出力がボトルネックとなってハードウェアの性能が出し切れていない感じだった。mbedは高性能らしいので期待したい。秋月で売っていたmbed LPC1768で試す。
まず開発環境を登録する。
mbed.org→サインアップ→ボード接続→MBED.HTM開く
サンプルをビルドする。
home→Platforms→mbed LPC1768→ Hello World!→ Import program→ Compile→ファイルに保存→mbedドライブにコピー→ボードのリセットボタンを押す→LED点滅
次はADコンバータを接続する。
追記:しばらくするとメールアドレスの確認メールが届く。
あなたのmbedメールアドレスを確認してください
リンクをクリックしてログインするとメールアドレスが確認される。
24ビットADコンバータADS1220で地震計を作ってみる。ADS1220はADS1247と比べて測定精度は同等で、機能はやや少ない。「I2C インターフェイス付」と説明があるが実際にはSPIしか付いていない。デジタル電源とアナログ電源が分かれているのでSPI入出力を5Vにしてアナログ入力を3.3Vにする事も可能。
ソースはC18でコンパイルする。
main.c
HardwareProfile.h
pc側のソフトのソースは地震計10にある。
完成した。
ADR423はノイズが多いのでリファレンスには使えなかった。温度補償が必要な温度計向きかも知れない。
ADuM5401は有っても無くても測定値に影響は無かった。高ノイズ環境なら差が現れるかも知れない。
発生時刻 2014年3月19日 2時24分頃
震源地 千葉県北西部
震度1(計測震度0.5)。最初の上下動が強かったようだ。
デジタル・アイソレータはパソコンなどのノイズ源からセンサーやADコンバータを絶縁して駆動するためのインターフェースらしい。以下に具体例が載っている。
Circuit Note CN-0066(Analog Devices)
Application Report SLOA123(Texas Instruments)
A-Dコンバータ活用 成功のかぎ(CQ出版)
そこでADuM5401を使って絶縁地震計を作ってみる。