配線。設定機能が無いのでパラメータ変更はプログラム修正が必要。輝度調整はトンネルの中に入ってみないと分からないので実走してから。LEDの数が多いので最高輝度のままトンネル内を走ると目つぶし光線を食らって周りが見えなくなる
反ってない板に変更して再テスト。マイクの間隔が広いほうが精度が高くなるので150mm->200mmに変更
今度はほぼ一致。音速はプログラムに決め打ちしているので音速を計測する仕組みを追加する。超音波センサーを注文しておいた。計測チャネルが4つ以上必要になるのでPICを24シリーズに変更する。
9.1Vツェナーダイオード。100本¥124
予想着弾点のずれはどの程度の計測誤差により起こるのか作図してみた。一番大きくずれる左右の上側が8.5mmずれたとき中央マイクが1.6mm=4.7μsec、右マイクが0.9mm=2.6μsec。観測した波形を見ると大体10~15μsecで波形が立ち上がるので4.7μsecの誤差は非常に大きい。但しこの時間は長さに換算すると1.6mmしかない。マイクの位置が僅かにずれていても大きな誤差になる
マイクに定規をあてて...
片側の隙間を見てみると2mm程度浮いている。合板がそれだけ反っている
今度は逆に中央のマイクを1mm上にずらしたときどれだけ予想着弾点がずれるか作図。結果は8.19mm。マイクの高さは正確に合わせる必要がある。分解しないと分からないマイクの振動板の位置が0.1mmずれていたら予想着弾点は1mm近くずれることになる
しばらく放置してしまったが再開。屋外でプログラム修正がやりやすいようにデスクトップ機を合板に固定。ヒートンを植えて紐で縛ってある。ノートPCを買うほど屋外作業は無い。あると便利だが明るすぎてディスプレイは見えないしキーボードが窮屈で作業性が悪いので頻度が低ければデスクトップ機を持ち出せるようにしたほうが合理的。OSはいまだにWindowsXP。アップグレードするとプリンターが使えなくなる。それ以外の理由は無い
気温の違いによる予想着弾点のずれを確認してみた。黒丸が20度、赤丸が25度。気温が高いと下がる。ずれの大きいところで約4mm。温度センサーに直射日光が当たると使えなくなるので超音波センサーで音速を実測したほうが良さそう
マイクの中心がどこにあるのか分解して確認。両面テープで貼り付けてあるフィルターを取ると小さい穴が開いている。穴の下約1mmの場所に振動板がある
振動版は非常に薄い。中央がそれ。雑に分解したので破れてしまった
マイクの数が増えると着弾点の座標計算式は少し複雑になる。方程式はWikipediaの「アポロニウスの問題」の代数学的解法の式そのもの。これを解けばよい。3つの円(この図では1,2,3を中心とした半径32.462、22.801、26.158の円)の外接円の中心が着弾点。解き方も式の下に全部書いてある
長い式なのでEXCELワークシートに入れて検算
緑:計測結果とマイクの座標
水色:これを計算で求める
黄色:途中式の結果
オレンジ:計算結果
それ以外は方程式の右辺と左辺が成立しているか確認のための計算
半径の式が2次式なので解が2つ出る。半径がマイナスのほうはあり得ないので使わない
3つの時間差は同じだけ数値を減らしても着弾点の座標は変わらないので一番小さい物をゼロとしてしまうと計算は速くなる。3つのマイク座標のどれかを原点にしても計算は速くなる
計算式残骸。電気工作で数学を使うことは多くは無いが電気は一番数学を使う分野。やっている事のレベルが低いと数学は使わない。工学やコンピューターの世界でも同じ
プラスチックスペーサ1000個¥998。4個単位で使うことが多いので100個だとすぐ使い切る
音のピークを見つけるのは難しいので「適当な電圧を横切った時間の中間付近を音圧の頂点とする」というかなりテキトーなロジックで補正してみた
結果余計ひどいことに。赤丸が補正後。黒丸より赤丸が放射状に外側に広がることを期待していたが全く逆になってしまった。マイクの特性などの影響を受けているのではないかと思う
マイクを4個以上にしないとダメなような気がする。3個でも幾何学的に補正してしまうことは可能であるがたぶん弾速が変わると音圧も変化してずれの量が変わってくる。弾種、弾速や的の材質ごとに設定が必要になるくらいなら雑に使える光学式のほうが便利。マイク4個までは現行回路でもなんとかなるがそれ以上になると処理遅れが大きくなるのでPIC24シリーズに変更したほうが良い。PIC24シリーズは時間差計測のためのタイマーキャプチャー機能(データシート上ではinput capture)が強化されている。ためしにTTLで回路を組んでみたが10x10cmに収まりきらないのでボツ。部品単価は低いので¥1000にもならない
インターフェースはArduinoのFT232に変えて中国製のCH340Gモジュールに変更。1個$1しない
布を的にして実験
至近距離から撃っているので実際は1cm以内に集弾しているはず。低い音は苦手か。
高い音が出るようにOHPフィルムを張ってみた
集弾しているが実際の着弾点より10cm程度下に表示されている
感度を上げてローパスフィルターは止めた。ハイパスフィルターは回路の構成上いやでも入ってしまう。行方不明の弾痕は無くなったが全体的に中央下側に寄っている
左右マイクの個体差の影響を確認するためマイク回路を左右入れ替えた。中央下側に寄る傾向は変わらず。若干個体差の影響はある感じ。互いに近くにある弾痕同士の相対距離はほぼ正確。近くの着弾音と遠くのそれでは波形の山の高さが変わるので絶対制度を上げるためには衝撃波のピーク同士の時間差を計測しないとうまくいかない気がする
再テスト
プログラムでCADのスクリプトを生成しOHPフィルムに実寸印刷。標的にOHPフィルムを重ねてズレを確認
大体合っているが対応する弾痕が見つからない物が有る。赤矢印は木枠に弾が当たり振動をマイクが拾った可能性有り。青矢印はぎりぎり枠には当たっていないと思う
全体的な傾向としては
・同じ所に当たると大きく位置がずれる
->紙の的を使う限り避けようが無い。競技用はロール紙やゴムシートを使っている
・マイクから遠いと計算上の弾痕がマイク側にずれる
->遠ざかると音が小さくなり波形の立ち上がりは遅くなる
音の到達時間差が実際より大きくなる
時間差が大きくなると2018-09-21の記事の半径が小さくなり計算上の弾痕はマイクに接近する
・右側のズレが大きい
->マイクの感度が対照ではない(たぶん)
アンプの特性を決めるために500発程撃った。着弾音はかなり高い周波数のようなのでフィルターをかけて高周波(電気の世界では低周波域、可聴域としては高周波という意味)成分を増幅するとマイクの近くでは十分な増幅率になるが40cmも離れると十分な増幅率が得られない。最終的にはマイクの帯域周波数の上限付近20kHzで落ち着いた。標的から1.5m以内の至近距離だと発射音を拾ってしまう
的の枠を作った
回路を変更して試射。プリンターがボロなので汚い筋が入っている。1cm方眼。6mmのプラスチック弾をA4コピー用紙に打ち込んでいる
プログラムの表示結果。着弾点を直接計測しているわけではないので着弾音の到達時間から計算した推測値。上のほうは切れてしまっている。誤差5mm以内には収まっているような気がする。センサーが3個だと着弾座標は数学的にただ一カ所だけになる。センサー(=マイク)のどれか一つが余計な音を拾ってもエラー補正は不可能。センサーが4個になるとそのうち3個の組み合わせは4C3=4になり4カ所の着弾点が計算できる。6個なら6C3=20になる。計測が完璧であればそれらすべてが同一の座標になるがあり得ないので少しばらついたグルーピングを持つ。着弾点のグルーピングが小さくなるようにいくつかのセンサーの計測値を除外すれば着弾点の推測値を補正できる。大口径ライフルの遠距離射撃のように大型の標的ならセンサー数を増やすことはかなり有効だと思う。スリングショット用でそこまでの精度が必要になるかは疑問
送料込み約¥3000のトイガン。マルイのグロック17L。1発ずつスライドを引いて発射するシンプルな物。発射音がかなり大きく要回路変更。離れれば問題ないが至近距離で撃てないと作業効率が上がらない。2.5ms/DIV。発射音から12.5ms後に着弾。弾速に比べると音速はずっと早いのでマイクは発射音を先に拾ってしまう。スリングショットより高い周波数成分の音が大きい感じ。トイガンは何たら条例で10歳以上用と18歳以上用に分かれている。これは18歳以上用。同モデルの10歳以上用を買ったほうが良かった。たぶんバネも弱く音も小さいはず
室内では反響もするので完全に影響が無くなるのは約0.15秒後。弾速を60m/sとすると0.15秒で9m弾丸は飛ぶ
テストプログラムが完成したので試射
赤矢印はマイク。水色矢印は計算エラー。計算式のバグではない。着弾が左寄りになると正しく計算できていないので右アンプの増幅率が足りない感じ。もっと高い周波数成分を拾わないといけないような気もする。スリングショットは早打ちできないのでテスト効率が悪すぎる。トイガンを注文しておいた。マイクが3つなので3現象オシロが欲しい
6mmプラスチック弾でカッターマットを撃ってみた。増幅回路は高い周波数成分を増幅するように変更してある
その時の波形。固い物を撃つと的がスピーカーになって着弾音の前からマイクが音を拾っている。的に出来るのは減衰率が高い物だけ。周波数は20kHz程度。テスト回路のハイパスフィルターのカットオフ周波数は約48kHz。近くで手をたたけば反応するがマイクから10cmの距離で大声を出しても反応しない
試作基板完成。この回路は没になるかもしれないので表示部との通信回路は部品を実装していない。実験ソフトはPCのグラフィック表示が必要。最終的には不要になるが実際の着弾点と計算値が一致していることを確認するためにグラフィック表示が無いと検証効率が悪い
競技用の価格を調べてみた。低価格帯の製品を作っているELITE。約15万円。銃を含めエアライフル射撃用品を一式そろえると50万円程かかる。それと比べるとそれほど高価ではない。精度は0.1mm。エアライフル(Feinwerkbau M601)の精度は距離10mで1mmを少し超える程度