マイコン工作実験日記

Microcontroller を用いての工作、実験記録

SCP1000-D001の動作確認

2010-03-10 23:29:26 | Weblog
秋月の気圧センサ SCP1000-D01は、SparkFunの同等商品と比べて半分程度の価格なので喜んで購入したのはいいのですが、当初はMMlpc2368とつなげてもどういうわけかちゃんと動いてくれませんでした。標準電圧は2.7Vですが、測定誤差を無視してしまえば3.3Vでも動作には問題ないハズなので、3.3Vで使っています。

問題はレジスタの読み書きがちゃんとできていないというもの。読み出したデータがいつも0x00になってしまいます。基本的にSPIでつなげばいいだけのセンサなので、何も難しいことはないと思っていたのですが。。。試しに、プルアップを禁止してみたりもしたのですが、変化無し。安かったとはいえ、それでも1800円もしたものなので、簡単には諦められません。パスコンは、モジュールに載っているのでいいとして、試しに各信号端子にもコンデンサをつけてみたら、SCKに0.01uFをつなげるとレジスタが読めるようになることが判明。理屈はわかりませんが、とにかく1800円が無駄にならなっただけで満足です。0.01uFという値も意図的に選択したわけではありません。たまたま、手持ちの104の在庫がきれており、かわりに余っていたのが103だったというだけの理由だったりします。0.1uFでも動くのかどうかは確認していません。

さてこのセンサ、測定データの準備ができたことをホストに通知するためのDRDYという端子をもっています。こいつをGPIO割り込みで検出することにしました。割り込みがあったら、SPIで気圧と温度のデータを持つレジスタを読み出してやります。



一緒に表示されているのは、照度センサS9705の周波数を示す値です。余っていたのがあったので、つけておきました。こちらはCAP0[0]につないであり、タイマのカウンタモードをつかって周波数を測定しています。

最新の画像もっと見る

2 コメント

コメント日が  古い順  |   新しい順
私も同じような経験をしました。 (Beery_bear)
2011-02-11 09:42:32
「SCP1000 自作」でたどり着きました。初めまして。
実は私も同じ現象を経験しました。ブレッドボード上にトランジスタ2つで構成した簡単な安定化電源とSCP1000を乗せて動かしたところ、非常に動作不安定。STATUSのモニタをしたところ、どうやら0xFEとか不明な値が帰ってきたりしてました。おそらくSCP1000の内部マイコンが暴走しているんでしょう。SPIの場合、どのような状態になっていてもマスター側でデータとして受け取れてしまうので、初期化の問題かのかと迷いますよね。
結局デバイス直近に電源パスコンを入れてほぼ解決。たまにミスりますので、ちょっと安定化電源を検討しなければならないようですが、まぁ、実装をすれば大丈夫だろうなと思っています。
ちなみに、システムはPIC16F88+SC1602(LCD)+SCP1000ーD01です。
同じようなことで苦労された方がいらして安心しました。^^);
返信する
Re: 私も同じような経験をしました。 (sirius506)
2011-02-11 11:10:47
コメントありがとうございます。

かれこれ1年近くが経過しましたが、わたしのところでは、順調に動作し続けています。グラフにすると気圧変化がきれいに見えるので、なかなか気持ちが良いですよ。グラフは過去24時間までしかとっていないので、1週間まで記録できるようにしたいと思っていたのですが、その後放置状態となってしまいました。
返信する

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。