mbed LPC1768 — ADコンバータを接続する

ADS1220とmbed LPC1768
ADS1220とmbed LPC1768

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_lpc1768_adc1220.cpp

mbedで地震計を作りたい

mbedで地震計を作りたい。

先日作ったIntelGalileo地震計は入出力がボトルネックとなってハードウェアの性能が出し切れていない感じだった。mbedは高性能らしいので期待したい。秋月で売っていたmbed LPC1768で試す。

まず開発環境を登録する。

mbed.org→サインアップ→ボード接続→MBED.HTM開く

サンプルをビルドする。

home→Platforms→mbed LPC1768→ Hello World!→ Import program→ Compile→ファイルに保存→mbedドライブにコピー→ボードのリセットボタンを押す→LED点滅

次はADコンバータを接続する。

追記:しばらくするとメールアドレスの確認メールが届く。

あなたのmbedメールアドレスを確認してください

リンクをクリックしてログインするとメールアドレスが確認される。

ADS1220地震計

ADS1220地震計
ADS1220地震計

24ビットADコンバータADS1220で地震計を作ってみる。ADS1220はADS1247と比べて測定精度は同等で、機能はやや少ない。「I2C インターフェイス付」と説明があるが実際にはSPIしか付いていない。デジタル電源とアナログ電源が分かれているのでSPI入出力を5Vにしてアナログ入力を3.3Vにする事も可能。

回路図

回路図

ソースはC18でコンパイルする。
main.c
HardwareProfile.h

pc側のソフトのソースは地震計10にある。

 

絶縁地震計

絶縁地震計
絶縁地震計

完成した。

ADR423はノイズが多いのでリファレンスには使えなかった。温度補償が必要な温度計向きかも知れない。

ADuM5401は有っても無くても測定値に影響は無かった。高ノイズ環境なら差が現れるかも知れない。

回路図
回路図

デジタル・アイソレータADuM5401

ADuM5401, ADS1247, ADR423, ADP150
ADuM5401, ADS1247, ADR423, ADP150

デジタル・アイソレータはパソコンなどのノイズ源からセンサーやADコンバータを絶縁して駆動するためのインターフェースらしい。以下に具体例が載っている。

Circuit Note CN-0066(Analog Devices)
Application Report SLOA123(Texas Instruments)
A-Dコンバータ活用 成功のかぎ(CQ出版)

そこでADuM5401を使って絶縁地震計を作ってみる。