SSブログ

Japaninoで超音波距離計を作ってみる。Maruduinoまたは(◎)の回路図公開 [ATmarquino Arduino]

Image5.pngPDF版回路図はここからダウンロードします。
例によってローカルにダウンロード後、拡張子をpdfに修正してお使いください。
※スケッチと動作している様子は以下のリンク先をご覧ください。
http://hamayan.blog.so-net.ne.jp/2010-05-19

Arduinoのtoneライブラリを使って40KHzの搬送波を生成します。生成した搬送波はArduinoからの出力のままでは5Vpしかありませんので、増幅する為にRS232CドライバーICを利用します。これだと10Vp以上の振幅にする事ができますので、その出力を送信モジュールに入力します。
この振幅を大きくする回路は、トランジスタ技術2010年3月号別冊付録の中の回路を参考とさせていただきました。

受信センサーは2つのアンプで増幅された後、ダイオードで検波されます。超音波を受信するとコンパレータの非反転入力端子に入力する信号がGNDレベルから山が立ち上がりますので、それをオペアンプで構成したコンパレータで検出します。

と、この検出した変化点をArduino側でポーリングで見付け、送信時間から往復の距離を算出する訳ですね。

ソフトウエア的には、40KHzを搬送波とする送信パルスを短時間だけ送出します。※あまり長いと送出している間に反射して戻ってきてしまう為。但し、短すぎると到達距離自体も短くなってしまう。

この送信の時にも受信センサー側はそのパルスを拾ってしまい誤検出しますので、送信の間だけコンパレータの出力をキャンセルするのがD1のダイオードを通したポートの出力です。HIGHを出力している間、コンパレータはLOWを出力し続けます。
送信パルス送出後は、D1に接続されているDIGITAL5をLOWに落として置きます。

その後ポーリングで立ち上がりを検出し、経過時間を求めます。
但し反射波が検出できないと無限ループとなりかねないので、適当なタイミングでループを抜ける処理も必要ですね。大体3m先の往復時間が約18msなので、それよりちょっと多目の時間で抜けると良いでしょう。

Prototyping Lab ―「作りながら考える」ためのArduino実践レシピ

Prototyping Lab ―「作りながら考える」ためのArduino実践レシピ

  • 作者: 小林 茂
  • 出版社/メーカー: オライリージャパン
  • 発売日: 2010/05/27
  • メディア: 大型本



nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。