超音波センサとPICによる距離計

写真はPICに超音波センサを接続して作成した距離計
1cm単位で距離の測定が出来る


1.概要

超音波センサをPICと接続して何か出来ないかということで作ってみました。
イルカやコウモリと同じ様に、超音波を発振して対象から反射した超音波を
受信することで、その経過時間から距離を計算します。
1秒毎に測定し、計算した結果を1cm単位で液晶表示器に数字で表示します。 

2.超音波センサの使い方

超音波センサは40KHz程度のいわゆる超音波を利用したセンサで、この超音波を
送信したり、受信したりすることが出来ます。中身はほとんどが圧電セラミック振動子
を使ってできており、送信用と受信用に別れているものが多い。

(1)送信用超音波センサの使い方
 超音波を出力するには、送信用の超音波センサにそれが持つ共振周波数と同じ
 周波数の発振電力を加えてやれば超音波を空気中に出力します。
 加える信号は矩形波で十分で、振幅電圧は10Voltから20Volt程度です。

(2)受信用超音波センサの使い方
 超音波を受信すると、その出力端子に電圧を出力します。受信感度はセンサの
 共振周波数の時最も良く、送信用と合わせて40KHzになっています。
 従って出力に抵抗負荷(数KΩ)をつなげば、その両端に超音波の強さに応じて
 40KHzのほぼ正弦波が出力されます。
 出力電圧は数10mvから1v程度ですので、これをコンパレータなどで増幅して
 ディジタル信号に変換します。

(3)センサの性能
 汎用の超音波センサでの性能で例を示すと下記のようになっています。
    (参考 村田製作所
       共振周波数     40KHz
       検知距離下限    20cm
       検知距離上限    6m
       分解能       9mm

3.機能

今回試作した距離計の機能を説明します。非常に単純な機能に限定していますが、
色々応用が 考えられます。
 ・対象にセンサを向けるとセンサと対象との距離を1cm単位で液晶に表示する。
 ・表示は約1秒間隔で繰り返される。
 ・表示は最大6桁まで可能ではあるが、センサの能力である600cmが測定限界
 (注)距離が30cm以下は測定誤差が大きい。特に送受信2個のセンサを離すと
    誤差が 大きくなるが、近づけると干渉しやすくなる。
    この当りはセンサの実装方法が ポイントになる。
    いかに音が互いに響かないように近づけて実装するか。

4.回路構成

回路構成は下図の回路図によりますが、まず超音波センサのドライブは、NE555
というタイマ用IC1個で構成し、40KHzを発振させ直接センサを駆動しています。
その発振の起動、停止をPICのポートから行うのですが、発振回路は15Vで駆動
されているので、トランジスタで電圧変換をしています。
受信用の超音波センサには直接コンパレータを接続して、これも電圧変換後PIC
に入力しています。超音波を受信すると出力が"High"となります。
液晶表示器との接続は「8桁カウンタ」で紹介しているのと全く同じです。
今回電源には15Vと5Vに2種類が必要ですので、2個の3端子レギュレータを
使っています。



下記はCADソフト「HiWIRE U」で作成した回路図とパターン図です。
ダウンロードしてお使い 下さい。

      超音波距離計回路図
      超音波距離計パターン図

5.プログラム

プログラムは機能を単機能に絞っていますので至って簡単な構造になって
います。割り込みも使っていません。
全体の流れは下記の様になっています。

      初期化
       ↓
     →距離計測   1cm単位で計測
    |  ↓
    | データ変換  バイナリ→BCD変換
    |  ↓
    | 液晶表示   6桁表示ゼロサプレス
    |  ↓
    | 1秒待ち
    |____↓

また、計測の仕方は下記のようにしています。
     送信出力開始       ここで1cm分の待ち時間は次のようにして
       ↓            求めています。
   →1cm分の時間待つ
   |    ↓             音速=340m/sec
   | 距離カウントアップ     よって1cm音が進むのにかかる時間は
   |    ↓              1000000usec/34000cm=29.412usec
   | 受信したか?        この時間を作るためのステップ数は、10MHz
   N----↓             のCPUクロックとすると0.4usec/stepなので
    送信出力停止         29.412usec/0.4usec=73.5ステップ
                     従って往復で1cm当りのステップ数は2倍して
                     147ステップとなります。

  下記にプログラムリストを置きます。ダウンロードしてMPLABでお使い下さい。

     超音波距離計プログラムリスト

6.外観構成

以下の写真に組み立て後の外観を示します。今回はケースにも入れず仮組み立て
の状態です。

全体の外観写真で基板のままです。
センサを別のケースに入れて小型にすれば結構スマート
になります。送受信センサの間をあまり空けないほうが
距離の精度が良くなります。

液晶表示器をはずした外観です。
液晶の下側にPICと水晶発振子が実装されています。
PICの横にセンススイッチが取り付けられるようになって
いますが使っていないので未実装です。

超音波センサの受信側の取り付け詳細です。
送信側からの直接の振動が伝わらないようにする工夫
が必要です。今回は簡易にスポンジ付きの両面接着
テープで固定してしまいました。
配線にも細線を使って振動が伝わるのを最小にしています。


目次ページへ