超音波センサー実験は、超音波を対象物へ送信し、反射して戻ってくるまでの時間から距離を求める物理・電気・制御分野の学生実験です。
一般的な超音波距離センサーでは、送信部から人には聞こえにくい高い周波数の音波を発生させ、対象物で反射した波を受信部で検出します。超音波が対象物まで進んで戻ってくる往復時間を測定し、空気中の音速を用いることで距離を計算できます。
この記事では、大学・高等学校などの学生実験で超音波センサーを使用することを想定し、超音波の基本、距離測定の原理、往復時間と距離の関係、音速と温度、対象物の角度・材質・大きさによる違い、ArduinoやESP32での読み取り、結果のまとめ方、誤差原因、改善点、考察の書き方などを整理します。
注意:
この記事は、大学・高等学校などの物理・電気・情報・制御実験で得られた結果を考察するための参考資料です。実際の電源電圧、信号電圧、測定可能距離、配線、トリガ条件、測定周期などは、必ず使用する超音波センサーの仕様書、所属学校の実験書、担当教員、TAなどの指示に従ってください。
- 超音波センサーとは何か
- 超音波センサー実験で見るべき結果
- 超音波とは何か
- 距離測定の基本原理
- 距離の計算式
- なぜ2で割るのか
- 空気中の音速
- 温度と音速
- 音速の温度補正
- 超音波センサーの基本構成
- TrigとEchoを使うタイプ
- Trig信号とは何か
- Echo信号とは何か
- 参考計算例
- 既知距離で校正する
- 参考実験条件
- 参考測定結果
- 結果の書き方の例
- 距離と往復時間のグラフ
- 測定値が完全一致しない理由
- 最小測定距離とは何か
- 送信後の残響
- 最大測定距離とは何か
- 対象物の大きさによる違い
- 対象物の角度による違い
- 斜面で測定しにくい理由
- 対象物の材質による違い
- 布が測りにくい場合
- 細い物体が測りにくい理由
- 指向性とは何か
- 複数物体がある場合
- 壁際で誤差が出る場合
- 多重反射とは何か
- 床面反射の影響
- 測定を連続しすぎる場合
- 測定周期とは何か
- 移動物体を測る場合
- 複数の超音波センサーを使う場合
- 相互干渉とは何か
- 温度を変える実験
- 対象物の角度を変える実験
- 対象物の材質を変える実験
- 繰り返し測定する
- 平均値を使う
- 中央値を使う方法
- 異常値を除外する場合
- Arduinoで測定する場合
- ESP32で測定する場合
- 3.3 Vと5 Vの信号に注意する
- GNDを共通にする
- タイムアウトを設定する理由
- 0 cmなど異常値が出る場合
- 測定値が飛ぶ場合
- センサーの取り付け角度
- センサー基準位置
- 定規測定にも誤差がある
- 主な誤差・観察上の問題
- うまくいかなかった場合の考察例
- 改善点の書き方
- 浅い考察とよい考察の違い
- 温度についての考察例
- 対象物の角度についての考察例
- 対象物の材質についての考察例
- 最小測定距離についての考察例
- 多重反射についての考察例
- 繰り返し測定についての考察例
- Arduinoとの関係
- ESP32との関係
- ライントレースとの関係
- 障害物回避ロボットへの発展
- サーボモーターとの組み合わせ
- レポートで使える表現例
- 超音波センサー実験の考察で確認するポイント
- まとめ
超音波センサーとは何か
超音波センサーは、人間の可聴域より高い周波数の音波を利用して、対象物までの距離や物体の有無を検出するセンサーです。
距離測定型では、超音波を送信した時刻と、反射波を受信した時刻との差から伝搬時間を求めます。
この方式は光学式距離センサーとは異なり、物体の色の影響を比較的受けにくい特徴があります。
超音波センサー実験で見るべき結果
結果に書く主な項目
- 使用した超音波センサーの型式
- 使用したマイコン
- 電源電圧
- 対象物までの実測距離
- 超音波の往復時間
- センサーから求めた距離
- 実測距離との差
- 測定を繰り返したときのばらつき
- 対象物の材質
- 対象物の角度
- 対象物の大きさ
- 周囲温度
- 測定可能な最小距離・最大距離
- 測定失敗や異常値が出た条件
超音波センサーでは、既知距離を複数設定し、実測距離とセンサー値を比較してグラフ化すると、直線性や誤差の傾向を確認しやすくなります。
超音波とは何か
超音波は、人間が通常聞き取れる範囲より高い周波数の音波です。
音波は空気中の圧力変化として伝わり、物体に当たると一部が反射します。
超音波距離センサーは、この反射波を利用して対象物までの距離を求めます。
距離測定の基本原理
超音波センサーから対象物へ超音波を送信すると、波は対象物まで進み、反射してセンサーへ戻ります。
測定される時間は「センサーから対象物まで」の片道ではなく、「対象物まで行って戻る」往復時間です。
そのため、距離を求めるときは音が進んだ全距離を2で割る必要があります。
距離の計算式
音速をv、超音波の往復時間をt、センサーから対象物までの距離をdとすると、
d = vt ÷ 2
として求めることができます。
2で割るのは、測定時間が往復時間だからです。
なぜ2で割るのか
例えば対象物まで1 mの場合、超音波は対象物まで1 m進み、反射後さらに1 m戻ります。
測定される伝搬距離は合計2 mです。
往復時間から片道距離を求めるため、最後に2で割ります。
空気中の音速
空気中の音速は一定ではなく、主に温度によって変化します。
室温付近では約340 m/s程度として扱われることが多くあります。
より精密な測定では、実験時の温度を記録し、温度に応じた音速を使用します。
温度と音速
空気温度が高くなると、一般に音速も大きくなります。
そのため、同じ往復時間でも温度条件が異なれば計算される距離がわずかに変化します。
高精度な距離測定では、温度を誤差要因として考慮します。
音速の温度補正
室温付近では、音速は温度1℃の変化に対しておよそ0.6 m/s程度変化する近似が使われることがあります。
例えば低温環境と高温環境で同じ固定音速を使うと、距離計算に系統的なずれが生じます。
超音波センサーの基本構成
| 部分 | 役割 |
|---|---|
| 送信部 | 超音波を発生させる |
| 受信部 | 反射して戻った超音波を検出する |
| 制御回路 | 送信と受信のタイミングを処理する |
| 出力信号 | 往復時間や測定値を外部へ伝える |
TrigとEchoを使うタイプ
学生実験でよく使われる超音波距離センサーには、Trig入力とEcho出力を持つものがあります。
Trigへ短いパルスを与えると超音波を送信し、Echo信号のパルス幅が超音波の往復時間に対応します。
マイコンでこの時間を測定し、距離へ換算します。
Trig信号とは何か
Trigは、超音波測定を開始させるための入力信号です。
必要なパルス幅や待ち時間はセンサーごとに異なるため、仕様書の条件に従います。
Echo信号とは何か
Echo信号は、送信後の超音波が対象物で反射して戻るまでの時間情報を表します。
一般的なパルス幅出力型では、EchoがHIGHになっている時間を測定して距離へ換算します。
参考計算例
往復時間が2.0 ms、音速を340 m/sとします。
2.0 ms = 0.0020 sなので、超音波が進んだ往復距離は、
340 × 0.0020 = 0.68 m
です。
対象物までの片道距離は、
0.68 ÷ 2 = 0.34 m
となるため、約34 cmです。
既知距離で校正する
定規やメジャーで対象物までの距離を10 cm、20 cm、30 cmなどに設定し、超音波センサーの測定値と比較します。
複数点で測定すると、距離と測定値の直線性や、どの距離範囲で誤差が大きいかを確認できます。
参考実験条件
| 項目 | 参考例 |
|---|---|
| センサー | 超音波距離センサー |
| 制御 | ArduinoまたはESP32 |
| 対象物 | 平らな板 |
| 距離 | 10~100 cm程度の複数点 |
| 測定回数 | 各距離3~10回程度 |
| 記録 | 実距離、往復時間、計算距離、誤差 |
参考測定結果
| 実測距離 | センサー値の例 | 差の例 |
|---|---|---|
| 10.0 cm | 10.4 cm | +0.4 cm |
| 20.0 cm | 20.2 cm | +0.2 cm |
| 30.0 cm | 29.8 cm | -0.2 cm |
| 50.0 cm | 49.6 cm | -0.4 cm |
| 100.0 cm | 99.0 cm | -1.0 cm |
上記は結果整理のための参考例です。実際の精度や測定可能範囲はセンサーによって異なります。
結果の書き方の例
対象物までの距離を10、20、30、50、100 cmに設定し、それぞれ5回測定した。センサー値は実測距離の増加に伴ってほぼ比例して増加した。
30 cmでは平均測定値29.8 cm、50 cmでは49.6 cmであり、実測距離との差はそれぞれ-0.2 cm、-0.4 cmであった。距離が長くなると誤差もやや増加する傾向が見られた。
距離と往復時間のグラフ
横軸を実測距離、縦軸を往復時間としてグラフ化すると、理想的にはほぼ直線関係になります。
また、横軸を実測距離、縦軸をセンサー測定距離としてグラフ化すると、理想値では傾き1の直線付近になります。
測定値が完全一致しない理由
超音波センサーの測定値は、音速の近似、反射波の検出タイミング、対象物の角度や材質、周囲温度などの影響を受けます。
そのため、定規で測った距離と完全に一致しないことは珍しくありません。
最小測定距離とは何か
超音波センサーには、近すぎる対象物を正しく測定できない範囲があります。
送信直後は送信素子や周辺回路の振動が残るため、その間に反射波が戻ると受信信号と区別しにくくなります。
このため、一定距離より近い対象物は測定できないことがあります。
送信後の残響
超音波を送信した直後には、送信素子やセンサー周辺に振動が残ります。
この残響が収まる前に対象物から反射波が返ってくると、正しい受信時刻を判定しにくくなります。
最小測距範囲の原因の一つです。
最大測定距離とは何か
対象物が遠くなるほど、戻ってくる反射波は弱くなります。
一定距離を超えると受信部が反射波を検出できなくなり、測定失敗や異常値が生じます。
最大測定距離は対象物の大きさや材質によっても変わります。
対象物の大きさによる違い
大きな平板は超音波を多く反射しやすいため、安定して測定しやすくなります。
一方、細い棒や小さな物体では反射する超音波が少なく、センサーへ十分な反射波が戻らない場合があります。
対象物の角度による違い
対象物がセンサーに対して正面を向いている場合、超音波はセンサー方向へ戻りやすくなります。
対象物を斜めにすると、反射波が別方向へ進み、受信部へ戻る成分が少なくなります。
その結果、測定値が不安定になったり、測定できなくなったりします。
斜面で測定しにくい理由
超音波は鏡のように完全ではありませんが、平らな面では入射方向に応じた反射方向があります。
板を大きく傾けると反射波がセンサーから外れるため、距離が同じでも受信強度が低下します。
対象物の材質による違い
硬く平らな板や金属などは超音波を反射しやすい傾向があります。
一方、布、スポンジ、吸音材などは音を吸収・散乱しやすく、反射波が弱くなる場合があります。
そのため、対象物の材質によって最大測定距離や測定安定性が変わります。
布が測りにくい場合
柔らかい布や厚い繊維材料では、超音波の一部が内部へ入り込み、吸収・散乱されることがあります。
結果としてセンサーへ戻る反射波が弱くなります。
細い物体が測りにくい理由
超音波は一点だけを飛ぶのではなく、ある広がりを持って伝わります。
対象物が細い場合、音波の多くが対象物の横を通過してしまい、十分な反射波が得られない場合があります。
指向性とは何か
超音波センサーの送信波は、完全に平行な細いビームではなく、一定の角度に広がります。
この広がり方を指向性として考えます。
測定範囲内に複数の物体があると、意図しない物体からの反射を受信することがあります。
複数物体がある場合
センサー前方に複数の物体があると、最も強い反射や最も早く戻った反射を測定する場合があります。
そのため、机の端や壁などが近くにあると、目的の対象物以外を測定してしまうことがあります。
壁際で誤差が出る場合
側面に壁が近い場合、超音波が壁で反射して複雑な経路で戻ることがあります。
この多重反射によって、実際の対象物とは異なる距離が測定される場合があります。
多重反射とは何か
超音波が対象物、壁、床などで複数回反射してから受信されることがあります。
直接反射より長い経路を通るため、異常に長い距離として測定される原因になります。
床面反射の影響
センサーを低い位置へ設置すると、床面からの反射が測定へ影響する場合があります。
特に対象物が遠い場合、超音波の広がりによって床へ当たる成分が増えることがあります。
測定を連続しすぎる場合
前回送信した超音波の反射がまだ残っているうちに次の測定を開始すると、前回の反射波を今回の測定として検出する可能性があります。
そのため、連続測定ではセンサー仕様に応じた十分な測定間隔を設けます。
測定周期とは何か
1回の測定から次の測定までの時間を測定周期として考えます。
周期を短くすると更新速度は上がりますが、残響や多重反射の影響が増える場合があります。
測定速度と安定性のバランスが重要です。
移動物体を測る場合
対象物が移動している場合、測定開始から反射波が戻るまでにも物体位置が変化します。
低速では影響が小さい場合がありますが、高速移動では距離変化や測定周期を考慮する必要があります。
複数の超音波センサーを使う場合
複数の超音波センサーを同時に動作させると、別のセンサーが送信した超音波を受信する可能性があります。
この現象は相互干渉の原因になります。
複数センサーを使う場合は、時間をずらして順番に測定する方法があります。
相互干渉とは何か
あるセンサーが送信した超音波を別のセンサーが自分の反射波として検出すると、誤った距離が得られます。
ロボットの前後左右へ複数配置する場合は特に注意します。
温度を変える実験
同じ固定距離で温度条件を変え、固定音速で計算した距離と温度補正した距離を比較すると、音速の温度依存性を確認できます。
ただし、温度だけを変えた条件を作ることが難しい場合は、理論計算との比較でも考察できます。
対象物の角度を変える実験
一定距離に平板を置き、0°、10°、20°など角度を変えて測定します。
角度が大きくなるにつれて測定成功率や測定値のばらつきがどのように変化するか比較できます。
対象物の材質を変える実験
同じ距離に金属板、木板、厚紙、布などを置き、測定値や測定成功率を比較します。
反射しやすい材料と吸音しやすい材料の違いを確認できます。
繰り返し測定する
同じ距離で複数回測定すると、平均値やばらつきを求めることができます。
1回だけの値では、偶然の異常値か安定した測定値か判断しにくいため、複数回測定が重要です。
平均値を使う
複数回測定した値の平均を求めると、ランダムなばらつきの影響を小さくできる場合があります。
ただし、明らかな異常値が含まれている場合は、原因を確認せず単純平均すると代表値が大きくずれることがあります。
中央値を使う方法
超音波センサーでは、まれに極端に大きい値や小さい値が出ることがあります。
複数回測定した値を小さい順に並べ、その中央の値を使う中央値処理は、単発の異常値の影響を受けにくい特徴があります。
異常値を除外する場合
測定範囲外の値や明らかな通信エラーなどを除外する場合は、「なぜ除外したか」を記録します。
結果に合わない値を恣意的に削除するのではなく、除外基準を先に決めることが重要です。
Arduinoで測定する場合
ArduinoではTrig信号を出力し、Echoパルスの時間を測定して距離へ換算できます。
シリアルモニタへ往復時間と計算距離を表示すると、距離測定の処理を確認できます。
ESP32で測定する場合
ESP32でも同様に超音波センサーを利用できます。
ただし、ESP32は一般に3.3 V系GPIOを使用するため、5 Vで動作するセンサーのEcho出力が5 Vになる場合は、そのまま入力してよいか仕様を確認する必要があります。
必要に応じて分圧回路やレベル変換を使用します。
3.3 Vと5 Vの信号に注意する
センサー本体が5 V電源で動作していても、マイコン入力が5 V耐性とは限りません。
特にESP32など3.3 V系マイコンへ接続する場合、Echo信号の最大電圧を確認します。
GNDを共通にする
超音波センサーとマイコンの信号を正しく扱うには、基準電位となるGNDを共通にします。
GNDが共有されていないと、TrigやEcho信号を正しく認識できない場合があります。
タイムアウトを設定する理由
対象物が遠すぎる場合や反射波が戻らない場合、Echo待ちを無制限に続けるとプログラムが停止したように見えることがあります。
一定時間で測定を打ち切るタイムアウトを設定すると、測定失敗を明確に扱えます。
0 cmなど異常値が出る場合
反射波が得られなかった場合、使用するプログラムやライブラリによって0や特定の値が返される場合があります。
0 cmを本当に対象物が密着している状態と考えず、測定失敗との区別が必要です。
測定値が飛ぶ場合
20 cm前後を測定しているのに突然100 cm以上の値が出る場合、多重反射、反射波の検出失敗、周囲物体の反射などが考えられます。
複数回測定し、どの程度の頻度で異常値が出るか記録します。
センサーの取り付け角度
センサー自体が傾いていると、正面にある物体でも超音波が斜めに当たり、測定値が不安定になる場合があります。
比較実験ではセンサーの向きを固定します。
センサー基準位置
定規で距離を測るとき、センサー基板の端、送受信素子の前面、ケース前面など、どこを距離0とするかを統一する必要があります。
基準位置が数mmずれるだけでも、近距離測定では相対的に大きな誤差になります。
定規測定にも誤差がある
比較に使用する定規やメジャーにも読み取り誤差があります。
センサー中心と対象物のどの位置を測っているかを明確にし、視差を避けます。
主な誤差・観察上の問題
| 原因 | 結果への影響 | 改善方法 |
|---|---|---|
| 温度変化 | 音速が変わり距離がずれる | 温度を測定し音速補正する |
| 対象物の傾き | 反射波が戻りにくい | 対象物を正面に向ける |
| 吸音性の高い材料 | 反射波が弱くなる | 反射しやすい対象物で比較する |
| 多重反射 | 異常に長い距離が出る | 周囲の壁や床条件を見直す |
| 測定間隔が短い | 前回の反射を拾う | 十分な待ち時間を設ける |
| 基準位置のずれ | 全体に一定の距離差が出る | 距離0の位置を統一する |
うまくいかなかった場合の考察例
対象物をセンサー正面へ置いた場合は安定して測定できたが、板を斜めにすると測定値のばらつきが大きくなり、一部では測定できなかった。板を傾けることで反射した超音波が受信部へ戻りにくくなり、受信信号が弱くなったためと考えられる。
また、100 cm付近では10~30 cmの測定より誤差が大きかった。距離が長くなることで反射波が弱くなり、反射検出時刻のばらつきや周囲物体からの反射の影響が大きくなった可能性がある。
改善点の書き方
対象物条件を改善する方法
- 平らで十分大きな板を使用する
- センサーに対して正面へ配置する
- 測定中に対象物を動かさない
- 周囲の壁や物体から距離を取る
- 同じ材質で距離だけを変えて比較する
測定方法を改善する方法
- 同じ距離で複数回測定する
- 平均値や中央値を利用する
- 測定間隔を十分に取る
- タイムアウトを設定する
- 異常値の除外基準を決める
距離精度を改善する方法
- 周囲温度を測定する
- 温度に応じた音速を使用する
- センサーの基準位置を統一する
- 定規やメジャーを対象物と平行に設置する
- 既知距離で校正して補正式を求める
浅い考察とよい考察の違い
浅い考察の例
超音波を出して戻る時間から距離を測ることができた。
よりよい考察の例
対象物までの実測距離を10~100 cmへ変化させると、超音波の往復時間も距離にほぼ比例して増加した。超音波は対象物まで進んだ後に反射してセンサーへ戻るため、往復時間に音速を掛けた値を2で割ることで片道距離を求められる。30 cmでは実測値との差が小さかった一方、100 cmでは誤差がやや増加した。距離が長くなるほど反射波が弱くなり、受信時刻の判定や周囲からの反射の影響が大きくなったためと考えられる。
温度についての考察例
距離計算では一定の音速を使用したが、空気中の音速は温度によって変化する。そのため、実験時の温度が計算で想定した温度と異なる場合、すべての距離に同じ方向の系統誤差が生じる可能性がある。
対象物の角度についての考察例
対象板を正面から傾けると測定成功率が低下した。平板では入射した超音波が一定方向へ反射しやすく、角度が大きくなると反射波が受信素子から外れるためと考えられる。
対象物の材質についての考察例
金属板や木板では安定した測定ができたが、布では値が不安定になった。布は超音波を吸収・散乱しやすく、センサーへ戻る反射エネルギーが小さくなったためと考えられる。
最小測定距離についての考察例
対象物をセンサーへ近づけすぎると測定値が得られなくなった。超音波送信直後は送信素子の振動や残響が残っており、近距離からすぐに戻る反射波を区別できなかったためと考えられる。
多重反射についての考察例
壁際で測定すると、実際の対象物より大きな距離が一時的に表示された。超音波が対象物や壁で複数回反射し、直接反射より長い経路を通った波を受信した可能性がある。
繰り返し測定についての考察例
同じ50 cmの位置で10回測定すると、ほとんどの値は50 cm付近であったが、1回だけ大きく外れた値が得られた。平均値だけでなく中央値も求めたところ、中央値の方が実距離に近かったため、単発の異常値が発生する測定では中央値処理が有効な場合があると考えられる。
Arduinoとの関係
Arduinoでは、Trig信号の出力、Echo時間の測定、距離計算、シリアルモニタへの表示を一連のプログラムで実装できます。
デジタル入出力と時間測定を組み合わせたセンサー実験になります。
ESP32との関係
ESP32でも同様の距離測定を行えます。
さらにWi-FiやBluetoothを利用して距離データを外部へ送信し、無線距離センサーや障害物検知システムへ発展できます。
ただし、3.3 V系GPIOへ5 VのEcho信号を入力しないよう、信号レベルを確認する必要があります。
ライントレースとの関係
ライントレースロボットへ超音波センサーを追加すると、ラインを追従しながら前方の障害物を検出することができます。
一定距離以内に障害物を検出したら停止する、回避動作へ移るなどの制御へ発展できます。
障害物回避ロボットへの発展
超音波センサーを車体前方へ取り付け、一定距離より近い物体を検出したときに停止や旋回を行うと、簡単な障害物回避ロボットを作ることができます。
サーボモーターと組み合わせて超音波センサー自体を左右へ振り、周囲の距離を測定する方法もあります。
サーボモーターとの組み合わせ
超音波センサーをサーボモーターへ取り付けると、左右方向の距離を順番に測定できます。
複数方向の測定結果を比較して、障害物の少ない方向へ進む制御へ発展できます。
レポートで使える表現例
- 超音波の往復時間は対象物までの距離に伴って増加した。
- 往復時間に音速を掛け、2で割ることで対象物までの距離を求めた。
- 対象物を斜めにすると測定値のばらつきが増加した。
- 吸音性の高い材料では反射波が弱くなり、測定が不安定になった。
- 近距離では送信直後の残響によって測定できない範囲があった。
- 遠距離では反射波が弱くなり、誤差が増加した。
- 周囲温度による音速変化が距離計算へ影響すると考えられる。
- 複数回測定して平均値や中央値を求めることで異常値の影響を小さくできた。
- 複数の超音波センサーを同時に使用すると相互干渉が生じる可能性がある。
- ESP32へ接続する場合はEcho信号の電圧レベルを確認する必要がある。
- 超音波センサーは障害物検知やロボット制御へ応用できる。
超音波センサー実験の考察で確認するポイント
- 超音波が対象物で反射することを説明したか
- 測定時間が往復時間であることを理解したか
- 距離計算で2で割る理由を説明したか
- 音速と温度の関係を考慮したか
- 既知距離とセンサー値を比較したか
- 対象物の角度による違いを考察したか
- 対象物の材質による違いを考察したか
- 最小・最大測定距離を確認したか
- 多重反射や周囲物体の影響を考察したか
- 複数回測定してばらつきを確認したか
- 測定周期やタイムアウトを考慮したか
- Arduino・ESP32やロボット制御への応用を説明したか
まとめ
超音波センサー実験では、超音波を対象物へ送信し、反射して戻ってくるまでの往復時間から対象物までの距離を求めます。
距離は音速と往復時間の積を2で割ることで求められますが、実際の測定では温度による音速変化、対象物の角度・材質・大きさ、反射波の強さ、多重反射などが誤差要因になります。
また、センサーには近すぎる物体を測れない最小測定距離や、反射波が弱くなって測定できなくなる最大測定距離があります。同じ距離でも対象物を斜めにしたり吸音性の高い材料へ変更したりすると測定結果が変化します。
レポートでは、単に「距離が測れた」と記述するのではなく、「往復時間からなぜ距離を求められるか」「どの距離範囲で誤差が大きかったか」「対象物の角度や材質が反射波へどう影響したか」「温度や多重反射などの誤差要因をどう改善できるか」を測定結果と結びつけて考察することが重要です。
