電子標的

スリングショット用の電子標的の製作


2018-08-22

コピー用紙に7.4mmの鋼球を打ち込んだもの。これを10m先に置くとどこに当たったのか全く見えない。弾が丸く速度が遅いので破れるだけ。紙の繊維が長く丈夫であるのもきれいに穴が開かない原因。射撃用の的は繊維の短い脆い紙で作られている。スリングショット用なら3mm程度の分解能があれば十分。的が小さいエアライフルの電子標的は0.1mmの分解能があるはず。10点は0.5mmしかない

R0038832.jpg

実験回路。赤外線LEDと赤外線フォトダイオードを対向させて配置したシンプルな構成。黄色矢印がLED,水色がセンサー。センサーとLEDは距離が離れているのでオペアンプで増幅している。これを100組程度配置して弾丸の通過点を割り出す。エアライフルのように的が小さい場合は光源を1つにして幾何学的に精度を上げる必要がある。X軸Y軸2組必要なのでセンサーは200個になる。センサーとLEDが接近配置されるので相互干渉しないように遮光が必要。うまくいかなければ音響式にする。音響式は的の4隅にマイクを配置し弾丸が当たった時の音の時間差から三角測量で位置を割り出す。マイクは3つで足りるが4つにして精度を上げる。的に大きな穴が開いてしまうと使えない欠点があるがセンサーの数が少なくて済むので安上がりになる。スリングショットなら帆布のような丈夫な布を使えば長持ちする的を作ることはできる。光学式も音響式も実際の射撃競技で使われている

R0038843.jpg

鋼球をスリングショットで至近距離から打ち込んだ時の実験回路の波形。オペアンプでセンサーの交流成分だけを増幅している。増幅率が大きいので電源電圧の5Vで波形はクリップしている。弾の速度はセンサーの反応速度と比べると非常に遅い。音速の2倍で飛ぶライフル弾も電子回路の動作速度から見ると非常にゆっくり移動しているように見える

R0038841.jpg

弾がかするとこんな波形

R0038839.jpg

2018-08-23

直径5mmのセンサーを互いに干渉しないように配置するとこんな感じ。弾が赤矢印のように水平に飛んでくれば問題ないが青矢印のように入射角があると計測誤差になる。これは弾速の影響を大きく受けるので弾速計を先に作ることにする。平行光線ではなく的の中心付近で交差するレイアウトにすれば精度が必要になる的の中心部付近では弾の入射角を無視できるようになるが工作がやりにくくなる

sensorlayout.png

2018-09-11

センサーの配置は センサー<->遮光版<-標的->遮光版<->赤外LED となる。センサーと遮光版の距離近すぎても遠すぎても本来対になるセンサーと赤外線LED以外の組み合わせが出来てしまう。LEDやセンサーの半減角、輝度、感度、サイズ(5mm/3mm)、遮光版穴サイズの最適解を出すのは難しい

R0039064.jpg

変速的な配置での検討。いろいろ考えたが先ずセンサーとLED特性の現物調査をやらないとダメという結論。センサーとLEDを注文したので到着待ち

R0039065.jpg

2018-09-12

幾何学的にはこれで相互干渉しなくなる。分解能は2mm。黒丸がセンサー、赤丸がLED。センサーとLEDを片側にまとめて配置すると互いの距離が近く干渉しやすくなるのでLED、センサー混在。φ27は光源側の遮光版を通過したLEDの光束。受光側に到達するまでに直径27mmに広がる。実際は中心部が明るく周辺部は暗い。茶色いハッチングはその光が受光側の遮光版を通過した後の光束。この光束がセンサーに入ると誤作動の原因になる

R0039068.jpg

2018-09-13

LED半減角の基礎実験。中国製データシート無し。センサー、LED共にφ3mm

R0039076.jpg

このレベルは水平でゼロ表示になるので90-65.9=24.1度が光束の広がりの半分の角度。半減角の2倍程度に光束は広がっているので半減角推測値は24度

R0039082.jpg

長さ13mmの熱収縮チューブを被せた。当たり前だが光束は絞られる。90-76.8=13.2度

R0039085.jpg

OSIR5113A。5mmLED。秋月電子で販売。半減角はデータシート上15度。90-76.1=13.9度に光束が広がっている。ほぼデータシート通り

R0039089.jpg

2018-09-14

遮光板はセンサー<->LED間に4枚入れないと干渉を防げない。作図は鍋CADのスクリプトをエクセルで生成した。水色の丸は1つのLEDが遮光板を通過し受光板を照らした物。4枚ある遮光板をそれぞれ単独で使用した時の物で丸の大きさも4種ある。4種の領域が重なったところにセンサーの黒〇がある箇所を弾丸が通過するとセンサーが反応する。中心線を書いた一か所以外にそれがあってはならない

kansyo.png

2018-09-15

100x100mm基板。4回路入りのオペアンプを2個レイアウトした。全部で6個は入りそうもない。隙間に2個入りタイプを埋め込むように変更する。このサイズにこだわるのは製造費用が圧倒的に安いから。1mmでも大きくなると高くなる。上下反転して向かい合わせにして使う。300x300mmの標的に6組必要。部品代は装置の枠などを含め2万円を少し超えると思う

R0039100.jpg

2018-09-20

音響式の座標計算式。的に弾が当たった音を最初に検知したのが左下のマイク。そのマイクからどれだけ遅れて音を検知したのかがA,B,C。音の伝わる速度を一定とすると時間は距離にそのまま置き換えられる。マイクの位置と標的面に奥行方向のずれがあると式はもっと複雑になる。音速も気温で大きく変化するので温度センサーも必要。音速を340m/sとすると64MHzクロックのPICで0.02mm/命令。高精度に計算するなら割り込み処理の中にif文を入れる時間的余裕は無い。音響式を自作している人 マイク->オペアンプ->時間差記録用MPU->Arduinoの形式だと思う(追記:回路が簡単すぎるので入力側はアンプではなくコンパレータ)。Arduinoは単発現象の高速計測は出来ないのでPCとの通信インターフェース(シリアルUSB変換機)としてだけ使っていると思われる。現時点の構想は マイク->アンプ->Dフリップフロップ->PIC。フリップフロップはソフトの処理をできるだけ高速にするため

onkyozahyo.png

マイクは最低3個。一直線上に並んでいても問題ない。赤丸がマイク。中央の赤丸と半径A,Bの円に外接する円は一つしかないので弾の当たった座標は計算できる。これは初歩的な三角関数では座標を割り出せないような気がする。マイク3個方式の市販品中央に1個余計にあるが弾速計測用と思われる。弾が的に当たった音では弾速計測はできないので衝撃波を使っているようだ

hyotekizahyo2.png

座標は力業で「半径を一定量ずつ大きくして円の交点間距離が最小になるところ」という理屈で割り出したほうが良さそう。方程式で書けたとしても半年たったら式の意味が理解できなくなっているはず

hyotekizahyo3.png

2018-09-21

マイク3個一直線方式の計算式。Ra,Rb,Rcは計測した時間差。実際にはRa,Rb,Rcのうち一つはゼロになる。中央のマイクが座標(0,0)の原点
R=((Xa^2)Xc+(Rb^2)Xc-(Ra^2)Xc-Xa(Xc^2)-(Rb^2)Xa+(Rc^2)Xa)/2(RbXa-RcXa-RbXc+RaXc)
半径Rが解れば着弾点は円の交点座標の計算式そのものなので省略。ネット上にいくらでもある。上記の方程式も
半径(Ra+R)と(Rb+R)の円の交点X座標=半径(Rc+R)と(Rb+R)の円の交点X座標
として立てたもの

zahyokeisan4.png

2018-09-26

マイクが届いたので音響式の実験。
室温:23.4度
その時の音速345.58m/s
左マイクと弾痕(丸く囲ってある所)の距離187mm
右マイクと弾痕の距離125mm

R0039245.jpg

計算上の遅れ179.4μ秒。黄色が左マイク、水色が右マイク。オシロスコープ上の縦黄色点線が179μ秒。波形が立ち上がる所(この回路では立下り)をとらえる必要がある。増幅率を上げると余計なものまで増幅するのでうまくいきそうな気はするが簡単ではなさそう。弾痕から遠いほうのマイクは波形の変化が緩やか。回路とマイクの間は容量の小さいコンデンサで結合されているので高い周波数成分を増幅している

R0039247.jpg

2018-09-27

スリングショットの弾が当たった時の音は周波数5kHz程度のようなので回路をシンプルにした。周波数は弾速や的の材質で変化するがマイクの周波数特性が可聴域に合わせてあるのであまり高くはできない。弾が当たる前にすでに波形に変化がみられるがブレッドボードの振動が増幅されているのではないかと思う。マイクよりブレッドボードのほうが標的に近い距離にある。アルミ板の上にプラスチックのブレッドボードを張り付けているので振動が伝わる速度は空気よりも1桁以上速いはず

R0039255.jpg

発射音に反応しない増幅率にする必要がある。中央が的に当たった音、その左約50msec前が発射音。聞き慣れたゴムパッチンの音

R0039249.jpg

2018-09-28

計測部回路構想。表示部とは有線。LANコネクターは流用。電気的にはRS422。通信方式はRS232。実験回路なので双方向通信にしてある。表示部は計測部が完成してから。実際に射撃の練習をしてみると分かるがグラフィック表示は必須ではない。黒丸標的の場合は何時方向の何点に当たったのかが解れば十分。グラフィック表示は複数弾のグルーピングを見るときに分かりやすいがリアルタイムでそれを知る必要があるかは疑問

densihyotekionkyo1sch.png

2018-09-29

アンプを経由していないマイクが拾ったそのままの波形がこれ。適当な閾値を設定してコンパレーターで比較すればそのまま使える。英語のwikiElectronic scoring systemの一番下に学生が製作した装置の論文があるがアンプを使わずにコンパレータで比較している。ソフトも論文内にあるが計測部の命令数が多すぎて精度が出ない気がする。音響式電子標的の記事を見かけたのは今から25年程度前だったと記憶しているがwikiには特許を取ったのが1975年、1982年に国際大会で使用されたとある。スイスSIUS社の物だと思う。Z80が4MHzクロックで動いていた時代からあった古いアイデア。最新型は音響式ではなくレーザーを使っている。ラインレーザーモジュールとフォトダイオードアレイの間を弾が通過する方式ではないかと思う。価格は高くなるようで中心部がレーザー、周辺部は音響式のハイブリッド型もある

R0039254.jpg

表示部。右上のLEDリングが弾の当たった方向。3桁の7セグメントLEDが点数。スリングショットは公式標的が無いので中心からの距離mm。グラフィック表示する場合はTX,RXからデータを横取りしてPCで表示

R0039259.jpg

2018-09-30

電源IC等を入手性の良い部品に変えた

R0039261.jpg

モバイルバッテリーは電圧降下が大きい。10Ω抵抗4本直列。電流は125mAで4.7V。これでは使えない。LEDだけだとほぼ5V。但し数秒後に電源が切れる。消費電力が小さい時は電源を切る仕様になっている。時々瞬断するようだしバッテリー機器でないと正常動作しないのかもしれない

R0039265.jpg

仕様上は1A以上のはず

R0039267.jpg

2018-10-01

立ち上がり波形の保持回路を追加。手前の14ピンが74HC74Dフリップフロップ。MPUでも同じことは出来るが単純動作なら速度が圧倒的に早い

R0039286.jpg

水色が標的に弾が当たった音。黄色が保持回路通過後。波形を保持すると計測時に余計な割り込みがかからないので計測精度が向上する。割り込みがかかりすぎると「時々おかしな着弾点を表示することがある」といった症状になって表れる。一旦保持されると外部からリセットしないと元には戻らない。3個(または4個)のマイクすべてが着弾音を検知した後にリセットする。ブレッドボードでのテストは完了。試作基板を作る

R0039289.jpg

2018-10-02

試作基板完成。この回路は没になるかもしれないので表示部との通信回路は部品を実装していない。実験ソフトはPCのグラフィック表示が必要。最終的には不要になるが実際の着弾点と計算値が一致していることを確認するためにグラフィック表示が無いと検証効率が悪い

R0039293.jpg

競技用の価格を調べてみた。低価格帯の製品を作っているELITE。約15万円。銃を含めエアライフル射撃用品を一式そろえると50万円程かかる。それと比べるとそれほど高価ではない。精度は0.1mm。エアライフル(Feinwerkbau M601)の精度は距離10mで1mmを少し超える程度

R0039291.jpg

2018-10-04

テストプログラムが完成したので試射

R0039299.jpg

赤矢印はマイク。水色矢印は計算エラー。計算式のバグではない。着弾が左寄りになると正しく計算できていないので右アンプの増幅率が足りない感じ。もっと高い周波数成分を拾わないといけないような気もする。スリングショットは早打ちできないのでテスト効率が悪すぎる。トイガンを注文しておいた。マイクが3つなので3現象オシロが欲しい

R0039300.jpg

2018-10-04

6mmプラスチック弾でカッターマットを撃ってみた。増幅回路は高い周波数成分を増幅するように変更してある

R0039307.jpg

その時の波形。固い物を撃つと的がスピーカーになって着弾音の前からマイクが音を拾っている。的に出来るのは減衰率が高い物だけ。周波数は20kHz程度。テスト回路のハイパスフィルターのカットオフ周波数は約48kHz。近くで手をたたけば反応するがマイクから10cmの距離で大声を出しても反応しない

R0039305.jpg

2018-10-07

送料込み約¥3000のトイガン。マルイのグロック17L。1発ずつスライドを引いて発射するシンプルな物。発射音がかなり大きく要回路変更。離れれば問題ないが至近距離で撃てないと作業効率が上がらない。2.5ms/DIV。発射音から12.5ms後に着弾。弾速に比べると音速はずっと早いのでマイクは発射音を先に拾ってしまう。スリングショットより高い周波数成分の音が大きい感じ。トイガンは何たら条例で10歳以上用と18歳以上用に分かれている。これは18歳以上用。同モデルの10歳以上用を買ったほうが良かった。たぶんバネも弱く音も小さいはず

R0039313.jpg

室内では反響もするので完全に影響が無くなるのは約0.15秒後。弾速を60m/sとすると0.15秒で9m弾丸は飛ぶ

R0039316.jpg

2018-10-08

アンプの特性を決めるために500発程撃った。着弾音はかなり高い周波数のようなのでフィルターをかけて高周波(電気の世界では低周波域、可聴域としては高周波という意味)成分を増幅するとマイクの近くでは十分な増幅率になるが40cmも離れると十分な増幅率が得られない。最終的にはマイクの帯域周波数の上限付近20kHzで落ち着いた。標的から1.5m以内の至近距離だと発射音を拾ってしまう

R0039338.jpg

的の枠を作った

R0039341.jpg

回路を変更して試射。プリンターがボロなので汚い筋が入っている。1cm方眼。6mmのプラスチック弾をA4コピー用紙に打ち込んでいる

R0039344.jpg

プログラムの表示結果。着弾点を直接計測しているわけではないので着弾音の到達時間から計算した推測値。上のほうは切れてしまっている。誤差5mm以内には収まっているような気がする。センサーが3個だと着弾座標は数学的にただ一カ所だけになる。センサー(=マイク)のどれか一つが余計な音を拾ってもエラー補正は不可能。センサーが4個になるとそのうち3個の組み合わせは4C3=4になり4カ所の着弾点が計算できる。6個なら6C3=20になる。計測が完璧であればそれらすべてが同一の座標になるがあり得ないので少しばらついたグルーピングを持つ。着弾点のグルーピングが小さくなるようにいくつかのセンサーの計測値を除外すれば着弾点の推測値を補正できる。大口径ライフルの遠距離射撃のように大型の標的ならセンサー数を増やすことはかなり有効だと思う。スリングショット用でそこまでの精度が必要になるかは疑問

R0039343.jpg

2018-10-09

再テスト

R0039370.jpg

プログラムでCADのスクリプトを生成しOHPフィルムに実寸印刷。標的にOHPフィルムを重ねてズレを確認

R0039364.jpg

大体合っているが対応する弾痕が見つからない物が有る。赤矢印は木枠に弾が当たり振動をマイクが拾った可能性有り。青矢印はぎりぎり枠には当たっていないと思う

R0039366.jpg

全体的な傾向としては
・同じ所に当たると大きく位置がずれる
  ->紙の的を使う限り避けようが無い。競技用はロール紙やゴムシートを使っている
・マイクから遠いと計算上の弾痕がマイク側にずれる
  ->遠ざかると音が小さくなり波形の立ち上がりは遅くなる
     音の到達時間差が実際より大きくなる
     時間差が大きくなると2018-09-21の記事の半径が小さくなり計算上の弾痕はマイクに接近する
・右側のズレが大きい
  ->マイクの感度が対照ではない(たぶん)

R0039367.jpg

2018-10-10

布を的にして実験

R0039371.jpg

至近距離から撃っているので実際は1cm以内に集弾しているはず。低い音は苦手か。

R0039372.jpg

高い音が出るようにOHPフィルムを張ってみた

R0039373.jpg

集弾しているが実際の着弾点より10cm程度下に表示されている

R0039374.jpg

感度を上げてローパスフィルターは止めた。ハイパスフィルターは回路の構成上いやでも入ってしまう。行方不明の弾痕は無くなったが全体的に中央下側に寄っている

R0039380.jpg

左右マイクの個体差の影響を確認するためマイク回路を左右入れ替えた。中央下側に寄る傾向は変わらず。若干個体差の影響はある感じ。互いに近くにある弾痕同士の相対距離はほぼ正確。近くの着弾音と遠くのそれでは波形の山の高さが変わるので絶対制度を上げるためには衝撃波のピーク同士の時間差を計測しないとうまくいかない気がする

R0039381.jpg

2018-10-11

音のピークを見つけるのは難しいので「適当な電圧を横切った時間の中間付近を音圧の頂点とする」というかなりテキトーなロジックで補正してみた

R0039389.jpg

結果余計ひどいことに。赤丸が補正後。黒丸より赤丸が放射状に外側に広がることを期待していたが全く逆になってしまった。マイクの特性などの影響を受けているのではないかと思う

R0039392.jpg

マイクを4個以上にしないとダメなような気がする。3個でも幾何学的に補正してしまうことは可能であるがたぶん弾速が変わると音圧も変化してずれの量が変わってくる。弾種、弾速や的の材質ごとに設定が必要になるくらいなら雑に使える光学式のほうが便利。マイク4個までは現行回路でもなんとかなるがそれ以上になると処理遅れが大きくなるのでPIC24シリーズに変更したほうが良い。PIC24シリーズは時間差計測のためのタイマーキャプチャー機能(データシート上ではinput capture)が強化されている。ためしにTTLで回路を組んでみたが10x10cmに収まりきらないのでボツ。部品単価は低いので¥1000にもならない

R0039401.jpg

インターフェースはArduinoのFT232に変えて中国製のCH340Gモジュールに変更。1個$1しない

R0039398.jpg

2018-10-13

マイクの数が増えると着弾点の座標計算式は少し複雑になる。方程式はWikipediaの「アポロニウスの問題」の代数学的解法の式そのもの。これを解けばよい。3つの円(この図では1,2,3を中心とした半径32.462、22.801、26.158の円)の外接円の中心が着弾点。解き方も式の下に全部書いてある

apollonius.png

長い式なのでEXCELワークシートに入れて検算
緑:計測結果とマイクの座標
水色:これを計算で求める
黄色:途中式の結果
オレンジ:計算結果
それ以外は方程式の右辺と左辺が成立しているか確認のための計算
半径の式が2次式なので解が2つ出る。半径がマイナスのほうはあり得ないので使わない
3つの時間差は同じだけ数値を減らしても着弾点の座標は変わらないので一番小さい物をゼロとしてしまうと計算は速くなる。3つのマイク座標のどれかを原点にしても計算は速くなる

apollonius2.png

計算式残骸。電気工作で数学を使うことは多くは無いが電気は一番数学を使う分野。やっている事のレベルが低いと数学は使わない。工学やコンピューターの世界でも同じ

R0039407.jpg
着弾座標計算EXCELワークシート
ファイル ファイルタイプ 添付ファイルの解説
zahyo.zip ----- シート名「アポロニウス」がそれ。マイクの座標によってゼロ除算が起こるのでその時は0.0001等実用上問題ない小さな誤差を入れて逃げる。このワークシートはX1=X3、Y1=Y3の時ゼロ除算が起こる。解の式は複数あるがこれはそのうちの一つ。他の式の中にゼロ除算が起こらないものが必ずある。マイクの番号は適当に振った物なのでゼロ除算が起こらない組み合わせになるように座標を入れ替えても良い。原点にマイクがあるときはそれを2番マイクにするとX1=X3、Y1=Y3にならない。マイクが一直線上に並ぶのは特殊な例なので上の(2018-09-21)にある式を使う

2018-10-14

気温の違いによる予想着弾点のずれを確認してみた。黒丸が20度、赤丸が25度。気温が高いと下がる。ずれの大きいところで約4mm。温度センサーに直射日光が当たると使えなくなるので超音波センサーで音速を実測したほうが良さそう

R0039422.jpg

マイクの中心がどこにあるのか分解して確認。両面テープで貼り付けてあるフィルターを取ると小さい穴が開いている。穴の下約1mmの場所に振動板がある

R0039408.jpg

振動版は非常に薄い。中央がそれ。雑に分解したので破れてしまった

R0039418.jpg

2018-10-15

予想着弾点のずれはどの程度の計測誤差により起こるのか作図してみた。一番大きくずれる左右の上側が8.5mmずれたとき中央マイクが1.6mm=4.7μsec、右マイクが0.9mm=2.6μsec。観測した波形を見ると大体10~15μsecで波形が立ち上がるので4.7μsecの誤差は非常に大きい。但しこの時間は長さに換算すると1.6mmしかない。マイクの位置が僅かにずれていても大きな誤差になる

R0039431.jpg

マイクに定規をあてて...

R0039429.jpg

片側の隙間を見てみると2mm程度浮いている。合板がそれだけ反っている

R0039427.jpg

今度は逆に中央のマイクを1mm上にずらしたときどれだけ予想着弾点がずれるか作図。結果は8.19mm。マイクの高さは正確に合わせる必要がある。分解しないと分からないマイクの振動板の位置が0.1mmずれていたら予想着弾点は1mm近くずれることになる

R0039435.jpg

2018-10-16

反ってない板に変更して再テスト。マイクの間隔が広いほうが精度が高くなるので150mm->200mmに変更

R0039443.jpg

今度はほぼ一致。音速はプログラムに決め打ちしているので音速を計測する仕組みを追加する。超音波センサーを注文しておいた。計測チャネルが4つ以上必要になるのでPICを24シリーズに変更する。

R0039441.jpg
inserted by FC2 system