電子書籍の厳選無料作品が豊富!

お世話になります。
組込み系の質問です。
デジタルカラーセンサS9706をArduin Megaを使って動作させたいのですが、レスポンスが0しか返ってきません。
DOUT、CK、RANGE、GATEの接続にはデジタル入出力ピンを使用し、Vddは5Vを使っています。
以前、使用している導線が細すぎてモータが正しく動作しなかったということがあったのですが、こういったセンサも導線の太さが問題に関係する可能性はあるのでしょうか。
また、一度配線を間違えて接続してしまったことがあるのですが、そのために故障してしまった可能性もあるでしょうか。
オシロスコープで調べればすぐに分かることなのですが、現在そこまでの環境が整っていないので、皆様の情報から解決への手がかりが得られたら幸いです。
宜しくお願いします。

A 回答 (1件)

ピンポイントで問題点を当てるには情報が足りず, アドバイス程度になりますが参考になれば.



浜ホトさんのセンサを使う程度であれば, ワイヤの太さは気にしなくて良いでしょう. 信号制御とモータを駆動するのでは流れる電流が桁違いです.

誤って配線したワイヤがVDDやGNDである場合, 故障の可能性は高いです.

センサをDI/Oに直接接続し期待の値が取得できないのであれば, 以下の点は最低限クリアしなければなりません.

(1)少PINパッケージのワンチップマイコンを利用する場合, PIN端子はマルチファンクションになっているケースが多いものです.
I/Oとして機能しているかはオシロが無くともテスタを利用したり, プルアップ/プルダウン処置した入力を他ピンに出力することで簡易に実機確認することが可能です.
はたして各ポートはDI/Oとしてきちんと機能しているでしょか?

(2)センサのデータシートによると, レジスタの読み取り処置についてタイムチャートの記載があります.
t1~t5やtclkサイクル長は条件を満たせているでしょうか?
入出力ポートを用いて制御する場合, タイムチャートを考慮したプログラミングが必要です.
タイマ割り込みを利用したり, 動作クロック依存のビジーループを用いて対処します.

これ以上は回路図やソースが出てこないと問題点の抽出が難しいかも.

参考URL:http://jp.hamamatsu.com/resources/products/ssd/p …
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございます。

使用しているDI/Oピンを確認したところ、正常に動作していました。
DOUTに使用しているピン(INPUT)に5VのON/OFFを入れられるようにし、CK、GATE、RANGEに使用しているピン(OUTPUT)をそれぞれ別のINPUTピンに接続しておいて、DOUTに5Vを加えるとCK、GATE、RANGEのピンをLOWに、DOUTを0VにするとCK、GATE、RANGEのピンをHIGHにするようにし、シリアル通信でINPUTピンの入力結果を表示させて確認した。

タイミングチャートに従ってプログラミングをしています。しかし最初はマイクロセックレベルでウェイトを入れられることを知らなかったので、ミリセックレベルのウェイトを入れていました。ウェイトの最短時間はデータシートで指定されていましたが、最長はなかったのでミリセックレベルでも問題ないかと思っていましたが、「建築発明工作ゼミ2008」というサイトにこのカラーセンサからデータを取るプログラムがあり、そこでマイクロセックのウェイトを使えることを知りました。
それでマイクロセックにしたところで特に状況は変わりませんでしたが。

やはり接続間違いで壊れてしまったのかもしれません。念のために予備を一つ用意しておいたので、明日予備で再度試してみます。

お礼日時:2010/01/20 03:17

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!