概要
設計リソース
設計/統合ファイル
- Schematic
- Bill of Materials
- Gerber Files
- PADS Layout Files
- Assembly Drawing
評価用ボード
型番に"Z"が付いているものは、RoHS対応製品です。 本回路の評価には以下の評価用ボードが必要です。
- EVAL-CFTL-6V-PWRZ ($20.01) 6V Universal Power Supply
- EVAL-CN0343-EB1Z ($135.36) Ultrasonic Distance Measurement
機能と利点
- 完全自立型の距離センサー
- 測定範囲は50cm~10m
- 分解能は約2cm
- 最小限PCB使用量
マーケット & テクノロジー
使用されている製品
参考資料
-
CN0343 Ultrasonic Distance Measurement User Guide2018/10/16WIKI
-
CN0343: 超音波距離測定回路2015/08/07PDF350 kB
回路機能とその特長
図1に示す回路は、超音波トランスミッタと高感度のアナログ・レシーバを高精度アナログ・マイクロコントローラと組み合わせて使用し、距離を測定できるようにした完全自立型の距離センサーです。複雑なPLLベースのレシーバと異なり、図1に示すセンサーは感度の高いウィンドウ・コンパレータ回路を使用して、基板占有面積とコストを最小限に抑えています。
おおよその測定範囲は50cm~10mで、分解能は約2cmです。温度補償は内蔵温度センサーと、マイクロコントローラに組み込まれたADCによって行われます。
工業用アプリケーションにおいては、液面位置の検出や個体間の距離検出などの距離測定が一般的に多く使われます。廃水の浄化や化学処理などの場合、工業用の液体は腐食性を有していたり、固形物や破片を含んでいたりすることが珍しくありません。このような場合でも、超音波による測定技術は、フロート式センサーのように液体や物体にセンサーが直接触れることがないので有利です。
高濃度の液体や泡を含んだ液体の検出には、容量センサー、リード・センサー、あるいはフロート式センサーより超音波レベル・センサーの方が適しています。また、超音波センサーは非常に埃が多い環境や腐食性環境にも最適です。
回路説明
超音波測定理論
図2に標準的な超音波測定システムを示します。音波が送信されてから受信されるまでの時間tを使用して距離dを測定します。
ここで、CAIRは音速です。
乾燥した空気中での音速(m/s)は次式で近似されます。
ここで、Tは温度(°C)です。(絶対温度ではなく摂氏温度であることに注意してください)
25°CではCAIR = 346.13m/sです。速度変動による距離測定誤差は温度による測定誤差が1°Cあたり距離の約0.18%になるので、超音波測定で正確な値を得るには温度補償が必要です。
ρは媒体の密度、Vは音速です。
音波が媒体にぶつかった時に反射される量は、反射率Rによって決まります。
ここで、Z1は空気の音響インピーダンス、Z2は媒体の音響インピーダンスです。
液体や固体の音響インピーダンスは空気のそれよりもはるかに大きいのでR ≒ 1であり、音波の大部分が反射されます。
標準的なシステムでは超音波トランスミッタが最初に駆動され、トランスミッタの共振周波数でバースト状の短い音波を送出します。レシーバはそのエコーを受信します。エコーが検出されると、プロセッサによって時間差が測定され、距離が計算されます。
レシーバは、送信パルスを発生してからそのパルスが減衰するまでの時間、ディスエーブルにしておく必要があります。この時間はブランキング時間と呼ばれ、トランスミッタがレシーバに影響を与えるのを防ぎます。そのシステムが測定できる最小距離dMINは、このブランキング時間tBLANKによって決まります。
また、測定できる最大距離はレシーバ回路の感度によって決まり、分解能はタイマーの分解能で決まります。
回路動作
超音波セラミック・トランスミッタは、Pro-Wave Electronics Corporation製の400ST160です。最大駆動電圧は20Vrms(57Vp-p)で、共振周波数は40kHzです。このトランスミッタは、18Vを出力するADP1613昇圧電源に接続したADP3629デュアルMOSFETドライバによって駆動されます。これにより、36Vp-pの差動駆動信号が生成されます。ADP3629は、ADuC7126高精度アナログ・マイクロコントローラのPWM0およびPWM1出力によって駆動されます。PWM出力がディスエーブルされると出力がハイになり、これによってADP3629の出力がグラウンド電位になります。
セラミック・トランスミッタを40kHzのパルス列で駆動すると、トランスミッタは40kHzの自己共振周波数で音波を発生します。40kHzの駆動信号がなくなるとを、トランスミッタが共振を停止するまでに約1msを要します。このことから、レシーバが誤ってトリガされるのを防ぐために最後のパルス送出から約2msのブランキング間隔が必要になります。
ADuC7126高精度アナログ・マイクロコントローラには、126kBのフラッシュと32kBのSRAMを持つARM7TDMIコアが組み込まれています。また、ADuC7126には、12ビットADC、温度センサー、リファレンス、12ビットDACを含むアナログ周辺機能も組み込まれています。ADuC7126はタイミング機能と表示機能を制御し、温度補償を行うようにプログラムされています。信号の送信から受信までの時間は、41MHzクロックで動作するADuC7126の内蔵タイマーを使用して判断されます。
レシーバ回路は、Pro-Wave 400SR160レシーバと、その後段に接続された2段アンプとウィンドウ・コンパレータで構成されています。回路全体は40kHzのバンドパス・フィルタとして動作し、C10/R6、C16/R10、C30/R15||R17、C31/R16||R18がハイパス・セクション、U8A(C13/R4)とU8B(C21/R12)がローパスセクションです。各段は、40kHzの−3dB帯域幅に調整されており、40kHzにおける各段の計算ゲインは次のとおりです。
- C10/R6, HPF: 0.696
- U8A, LPF: 20.4
- C16/R10, HPF: 0.691
- U8B, LPF: −19.4
- C30/R15||R17: 0.694, C31/R16||R18: 0.701
レシーバのトランスデューサからコンパレータ段の入力までの40kHzにおける合計ゲインは上の値を乗じることによって得られ、その値は約132、つまり42.4dBです。
U8Bゲイン段の出力が、ウィンドウ・コンパレータとして構成されたADCMP670デュアル・コンパレータを駆動します。ウィンドウ電圧の上限と下限を設定するバイアス電圧は、分圧器R15/R17とR16/R18によって決まります。+INAと−INBにおける公称ウィンドウ電圧はそれぞれ427.1mVと371.4mVで、対応するウィンドウ幅は55.7mVです。(この理由は後で解説します)ウィンドウの閾値電圧はADCMP670の内部リファレンス電圧(400mV)によって設定されます。コンパレータの入力信号がいずれかの方向でウィンドウ閾値を超えると、出力INT信号がローになります。どちらかの方向での変化が25mVになるとINTがトリガされますが、この変化は、ほぼ25mV/132=186μVの入力変化に相当します。
回路は以下のように動作します。
- マイクロプロセッサが割込み入力をイネーブルする。
- 40kHzのPWM送信パルス列を生成する。
- レシーバが送信を検出してINTがローになる。
- 割込み時間がADuC7126の内蔵タイマーに取り込まれる。(測定スタート)
- 送信パルスが停止する。
- 2msのブランキング間隔にわたり割込み入力がディスエーブルされる。
- 割込み入力がイネーブルされる。
- エコー信号が検出されるとINTがローになる。
- 割込み時間がタイマーに取り込まれる。(測定ストップ)
- 割込み時間の差を使って距離を計算する。
- 内蔵ADCで内蔵温度センサーの出力をデジタル化することにより温度補償を実行する。
- LCDディスプレイに結果を表示する。
ウィンドウ・コンパレータからの割込み信号はマイクロコントローラのソフトによって処理されず、ADuC7126の内蔵タイマーに直接取り込まれます。これによりソフトウェア遅延が最小限に抑えられ、41.77MHzクロックのタイマーが23.9nsの分解能を実現します。
ADuC7126には、温度補償に使用できる校正済みの内蔵温度センサーと12ビットADCが組み込まれています。さらに、ADuC7126は高精度電圧リファレンスを内蔵しています。このリファレンスはAD8541によってバッファされ、AD8692のゲイン段用に高精度のウィンドウ・コンパレータ閾値電圧と同相電圧を生成するために使われます。
ウィンドウ・コンパレータの設計
一部の超音波レシーバは、可変ゲイン・アンプ(VGA)によって駆動されるPLLを使用してエコーを検出しますが、図1のレシーバは、高ゲインの2段アンプとウィンドウ・コンパレータを使用して、40kHzの正弦波送信信号と次いで受信したエコー信号をそれぞれデジタル割込みに変換します。
ADCMP670は400mVリファレンスを持つ高精度のデュアル・コンパレータで、反転入力と非反転入力を1つずつ備えており、ウィンドウ・コンパレータ回路に適しています。ウィンドウ・コンパレータは、エコー信号の立上がりエッジと立下がりエッジの両方で割込みを発生します。
25°Cの一般大気中における40kHzの超音波の波長は次式で表されます。
したがって40kHzエコー検出時に1サイクルの誤差が生じると、これに相当する距離誤差はおおむね8.65mm/2 = 4.32mmになります。
この回路を正確に動作させるには、閾値電圧を正しく選択することが不可欠です。ウィンドウ電圧の差分が大き過ぎる場合は感度が低下します。これに対し、ウィンドウ電圧が小さ過ぎると、ノイズのために回路が誤って割込みを発生する危険性があります。
ADCMP670デュアル・コンパレータ(3.3V電源、0°C~+70°C)では、+INA閾値が409mVより大きく、-INB閾値が383.5mVより小さくなければなりません。最悪条件時にこれらの条件が満たされていない場合、ウィンドウ・コンパレータは正しく動作しません。
- ADuC7126の2.5Vリファレンス電圧の初期精度(2.5V±5mV)と温度変化率(15ppm/°C)
- 温度に対するAD8541の最大オフセット電圧(7mV)
- バイアス抵抗R15、R16、R17、R18の初期誤差(1%)および温度係数(100ppm/°C)
温度範囲を25°C±50°とすると、リファレンス電圧の最大値および最小値変位幅は次式で得られます。
これよりウィンドウ・コンパレータがスプリアス・ノイズでトリガされないようにするには、ADCMP670の入力バイアス電圧が以下の条件を満たしている必要があります。
システム・コストを低く抑えるため、R15、R16、R17、R18には、E24タイプ、1%、100ppm/°Cの抵抗を使用します。
50°Cを超える温度範囲では、1%抵抗の値はさらに0.5%変化します。したがって比率R15:R17およびR16:R18は、最悪の場合、公称値の上下3%の範囲を超えることがあります。
ADCMP670のV+INAピンでは以下のように設定します。
ADCMP670のV-INAピンでは以下のように設定します。
抵抗とリファレンス電圧が公称値で、V+INA = 427.1mV、V−INB = 371.4mVと仮定すると、ウィンドウ電圧は約55.7mVになります。
C30とC31の値は、これらがそれぞれR15||R17およびR16||R18とともに40kHzのハイパス・フィルタを構成するように選択します。
リファレンス・バッファ回路
ADuC7126のリファレンス出力の持つ駆動能力は5μAに過ぎないので、回路で使うにはバッファする必要があります。AD8541を使用するのは、電源電流が小さく(45μA)単電源に対応しているからです。
AD8541は、電荷保存と過渡抑制に必要な10μFという大きいデカップリング・コンデンサを駆動します。したがってオペアンプは、安定性を保つために適切に補償する必要があります。レールtoレール出力オペアンプの出力段のインピーダンスは従来のエミッタフォロワ段やソースフォロワ段より高いので、レールtoレール出力オペアンプで容量負荷を駆動するには、ほとんどの場合、何らかの補償が必要です。
この回路で使用する補償ネットワークは、R13、R14、およびC29で構成されています。正しい値の選択に関しては、参考文献
Op Amps Driving Capacitive Loads (Ask the Applications Engineer—25), Analog Dialogue 31-2、および Analog Devices and Practical Techniques to Avoid Instability Due to Capacitive Loading (Ask the Applications Engineer—32), Analog Dialogue 38-2, Analog Devicesに示されています。
電源回路
図1に示す回路の電源は、外付けの+6V単電源またはACアダプタから供給されます。5V電源と3.3V電源は、それぞれADP7104-5 LDOとADP7104-3.3 LDOから生成されます。
ADP3629超音波トランスミッタ・ドライバに必要な18Vは、図3に示すADP1613昇圧電源回路によって供給されます。これは、インターネットからダウンロードできるADP161x昇圧レギュレータ設計ツールに基づいて設計されています。このツールは、ADIsimPowerで入手できる数多くの便利なパワーマネジメント設計ツールの1つです。
PCBレイアウトに関する検討事項
ADuC7126のクロック速度と高感度のレシーバ回路を考慮して、PCBレイアウト、グランド配置、およびデカップリングには十分な注意を払う必要があります。接地とデカップリングについては、チュートリアルMT-031とチュートリアルMT-101を参照してください。
EVAL-CN0343-EB1Zボードの詳細な回路図、ガーバー・ファイル、部品表は、CN0343デザイン・サポート・パッケージに含まれています:
ソフトウェアの動作
EVAL-CN0343-EB1Zには、距離測定を行うために必要なコードが付属しています。このコードは、CN0343デザイン・サポート・パッケージ(http://www.analog.com/CN0343-DesignSupport)のCN0343-SourceCode.zipファイルに含まれています。
ユーザー・インターフェースは、図4に示すように6個のプッシュボタン・キーで構成されています。
ボタンのデフォルト機能は以下の通りです。
S1: 上
S2: 左
S3: 右
S6: 下
S4: OK
S5: キャンセル
電源を入れると、LCDには約3秒間ウェルカム・スクリーンが表示されます。
ANALOG DEVICES
EVAL-CN0343-EB1Z
ウェルカム・スクリーンが終了すると回路は動作モードに入り、表示がホーム・スクリーンに変って、ターゲットの距離と温度が表示されます。表示される温度はADuC7126によって測定されたものです。距離測定値は、測定温度値に従って補正されます。
Distance: X.XXX m
Temp: YY.Y°C
OKキーを押すと、プロセッサはメニュー・ステータスに入ります。上、下、左、右キーを押して各種メニュー項目(Calibrate Temperature(温度補償)、RS-485 Interface Baud Rate(RS-485インターフェース・ボーレート)、RS-485 Interface Address(RS-485インターフェース・アドレス))を表示します。
必要なメニュー項目を表示してください(例:Calibrate Temperature):
Calibrate
Temperature?
OKキーを押すと次のように表示されます。
Sensor: XX.X°C
Set to: YY.Y°C
温度設定値(最大±50°C)は、左および右キーを使って数値の桁を選択し、次に上および下キーを使ってその桁の値を増減させることで設定します。温度の各桁について同じ操作を繰り返します。
この温度設定機能を使用すれば、ADuC7126内蔵センサーが測定した温度をオフセットさせて、より高い精度の実測気温に合わせることができます。
希望の温度オフセット値を入力したらOKキーを押します。
操作中も、キャンセルキーを押せばいつでも現在の操作をキャンセルして前のスクリーンに戻ることができます。
RS-485のボーレート設定範囲は75Hz~250kHz、アドレス範囲は1~255です。
デフォルトのシステム設定は、温度オフセット0°C(センサーによる温度そのまま)、RS-485ボーレート115200、RS-485アドレス1です。
実際のADuC7176ソースコードの詳細は、CN0343デザイン・サポート・パッケージ(http://www.analog.com/CN0343-DesignSupport)に含まれています。
バリエーション回路
ADP3629の最大駆動電圧は18Vですが、高い駆動電圧とADG5436のような高耐圧のアナログ・スイッチを使用することにより、トランスミッタの音響レベルを上げることが可能です。20Vを超える出力電圧については、ADIsimPowerで入手できる数多くの便利なパワーマネジメント設計ツールのひとつである、ダウンロード可能なADP161x昇圧レギュレータ設計ツールに示すように、外付けMOSFETスイッチを追加することによって、ADP1613昇圧回路を変更することができます。
回路の評価とテスト
この回路にはEVAL-CN0343-EB1Z回路ボードを使います。
必要な装置 -ATI
以下の装置類が必要になります。
- EVAL-CN0343-EB1Z回路ボード
- 6V DC電源またはACアダプタ(EVAL-CFTL-6V-PWRZ)
- CN0343動作用ソースコード:http://www.analog.com/CN0343-DesignSupport
セットアップ
EVAL-CN0343-EB1Z回路ボードのJ1に6V電源(EVAL-CFTL-6V-PWRZ)を接続します。
EVAL-CFTL-6V-PWRZを接続することによって電源を入れ、EVAL-CN0343-EB1Zボードをターゲットの前方50cmから10mの距離に置いて、超音波センサーU3とU4がターゲットの方向に向くようにします。ターゲットは表面が十分に大きく、スムーズで音波が吸収されないようなものでなければなりません。
センサーを頂点とする約60°の円錐範囲内に障害物がないことを確認します。ターゲットの表面はセンサーに対して直角になっていなければなりません。
EVAL-CN0343-EB1Zを標準モードで使用する場合に必要なのは、電源を接続することだけです。ボードをネットワーク・モードで使用するには、RS-485インターフェースを使ってPCとJ2を接続します。ピン1(J1の近く)が信号B、ピン2がGND、ピン3が信号Aです。
EVAL-CN0343-EB1ZとPCを同じRS-485ボーレートに設定してから、PCを使ってクエリィxxx\r\nを送信します。ここで、コマンドxxxはCN0343の10進アドレス、\r\nはリターン・キャラクタです。CN0343はこのコマンドに応答してアドレス、温度、距離の情報を返します。
プロトタイプ開発における接続
EVAL-CN0343-EB1Zは、ACアダプタEVAL-CFTL-6V-PWRZの6V電源を使用するように設計されています。スタンドアロン動作モードで接続しなければならないのは電源だけです。
ネットワーク・モードでは、RS-485インターフェースを持つあらゆるデバイスで、EVAL-CN0343-EB1Zから結果を読み取ることができます。使用可能な最大アドレス値は255です。
RS-485/RS-232アダプタを介した標準的なPC接続図を図6に示します。