「PICマイコン」タグアーカイブ

ADS1220地震計

ADS1220地震計
ADS1220地震計

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

回路図

回路図

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

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

 

UV測定器

感光基板で使ったUVランプの強度とフィルムの透過率を測定するためにUV測定器を作った。

作ったUV測定器
作ったUV測定器
回路図
回路図

UVセンサは秋月で売ってる半導体UVセンサG5842。ADコンバータは地震計3を流用してMCP3551を使った。pc用ソフトも作った。

UVランプはサンハヤト ちびライトDX BOX-S1100。電源はAC100V/50Hz。

結果

UVランプは起動後にUV強度が安定するまで30秒くらい掛かるようだ。縦線間が約5秒。

起動後の経時変化
起動後の経時変化

位置によっても大きく違う。縦線間が約5cm。

左右の位置によるUV強度変化
左右の位置によるUV強度変化
前後の位置によるUV強度変化
前後の位置によるUV強度変化

また、UVランプの筐体を指で触ると測定値が20~30%変動した。UV強度が変化するのか、センサの感度が変動するのかは不明。ネジ部分を接地すると安定した。

ネジ部分を接地
ネジ部分を接地

感光基板に使用する材料の透過率を測定した。

材料 測定値
μW/cm2
透過率
blank 6300 1
ガラス(露光クランプ) 5300 0.84
OHPシート 4800 0.76
トレッシングペーパー 3600 0.57
コピー用紙 850 0.13

pic18f14k50ソース
main.c
HardwareProfile.h

pcソース
Form1.h

 

地震計11 — ADS1115

DSC03250

16bitADコンバータADS1115を使って作った地震計。

スイッチサイエンスの16BitADCも同じものと思う。

回路図

ads1115

ソースはC18でコンパイル。

main_ads1115.c

レジスタが16bitなのが少し曲者と思う。あと変換中にチャンネルを変えるとどのチャンネルの変換値か分からなくなるので工夫が必要。

他の部品は、

PIC18F14K50使用USB対応超小型マイコンボード

I2Cバス用双方向電圧レベル変換モジュール(PCA9306)

リニアレギュレーターADP150

3軸加速度センサモジュール KXR94-2050

 

地震計10 — ADS1247

SONY DSC

前回とほぼ同じ部品で小さくまとめる為に作った地震計。

PIC側のソフトはMCHPFSUSBを加工したもの。C18でコンパイル。

main.c

HardwareProfile.h

usb_config.h

回路図

eq10

PC側のソフトはVisual Studio 2008(C++/CLI)でコンパイル。

新規作成→プロジェクト→Windowsフォームアプリケーション→プロジェクト名「vc232」→ok

でひな形を作り、ソースを入れ替え。

プロジェクト→プロパティ→構成プロパティ→全般→共通言語ランタイムサポート→/clr:pure

だと通らないので/clrにする。

Form1.h

fft.h

地震計8 — PIC18F2553とオペアンプ

SONY DSC

スペックを下げればもっと手軽な部品で何とかなるんじゃないか?と考えた地震計。

感覚的に震度4くらいまでは日常的に起こるので、震度4に相当する25~80galを計測できれば実用になるだろう。

2回路入り入出力フルスイングオペアンプNJM2732D

3軸加速度センサモジュール KXR94-2050

12bitADコンバーターを備えたPIC18F2553モジュール

リニアレギュレーターADP150

で構成。

KXR94は±80galで±53mVの感度があるので差動増幅すれば、PIC18F2553の有効ADC分解能10bitでも0.1galまで測定できる……筈。

が結果上手く行かない。ローパスフィルタを入れれば瞬時の測定値は安定するのだけど、2~5秒の間にゆっくり測定値が変動する。

高精度アンプを使えば良いと思うが。

地震計7 — KX023-1025

SONY DSC

より良いデジタル加速度センサーを求めて作った地震計。

加速度センサーはKX023-1025の評価基板EVAL-KX023-1025。16bitでサンプリングできる。

他、PIC18F14K50モジュール

I2Cバス用双方向電圧レベル変換モジュール(PCA9306)

リニアレギュレーターADP150

KX023-1025はローパスフィルターを内蔵してるが、求めているものではなかった。

 

地震計6 — AD7791と感光基板作成

SONY DSC

感光基板を作りたいなあ、という目標で作った地震計。

回路は前回とほぼ同じ。

3軸加速度センサモジュール KXR94-2050 が3つになっている。

手順は

1. EAGLEで回路図を作る

2. パターンをプリントして感光基板に紫外線で焼き付ける

3. 現像してエッジング

4. ソルダーレジストマスクを作りソルダーレジストを塗る

5. 部品を取り付け

で完成。

まずEAGLEに慣れるのに時間が掛かる。

表面実装でなんとかなるかな?と思ったがAD7791×3とKXR94-2050×3という構成が災いして回路が複雑になり過ぎ断念。

配線し易さを考えて主要部品をソケットにした。

回路図

ad7791sch

パターン

ad7791brd

次に感光基板。

ちびライトDX他色々購入したが、初めからエッチングセットを買っておけばよかったと後悔。

ケミカルの扱いは慣れてるが、感光が上手く出来ず何度も失敗した。

感光不足のようだけどOHPシートは見かけより紫外線を吸収するのかも?紫外線測定器を手に入れたらガラスや紙の吸光度を調べたい。(追記:後日測定した)

あと温度依存性も有るかも知れない。

ソルダーレジストのマスクはTシャツくんJrが良いらしいので東急ハンズで購入。メッシュのブラッシングは歯ブラシで良いと思う。

マスクは完成したが十分な量の基板が出来なかったのでソルダーレジストは見送り。

ソルダーレジスト用インクはサンハヤトの通販サイトから購入。

 

地震計5 — AD7791

SONY DSC

リニアレギュレーターADP150

PIC18F14K50モジュール

8ビット双方向ロジックレベル変換モジュール

ADコンバーターAD7791 ×3つ

3軸加速度センサモジュール KXR94-2050

で作った地震計。

サンプリングレート100Hz、24bit、三軸を満たし、ノイズも許容範囲。

基板はサンハヤトのメッシュアース基板ICB-88SEG。

SONY DSC

高周波用の基板らしいけど、手軽にベタGNDに出来るので便利。

リューターで削ればアナログGNDとデジタルGNDを分けたりも出来る。