B弾の弾速計(エアソフトガン用)の作成

更新履歴

2004.03.22 センサ(赤外線LED)の接続を直列に変更
2002.05.06 作例の追加
2002.04.04 測定精度をさらに向上しました(bbspd14.zip -- asm+hex)
2002.02.27 測定精度の向上、連射速度(1秒あたりの発射数)測定機能を追加、プリント基板の作成
2000.12.18 プログラムを一部修正しました。
2000.11.18 公開

はじめに

エアコッキングガンやガスガン、あるいは電動ガンなど、BB弾を発射するトイガンを趣味とされている方は、どのくらいの速度で弾が発射されているか興味のある事と思います。ガスガンの場合、気温によって大きく弾速に差が出るとか、HOPをかけると遅くなるなどと言われていますが、実際どの程度変化するのでしょうか。
弾の速度によって破壊力も変わってくるわけで、サバイバルゲームのルールでは怪我を防ぐため無用なパワーアップを抑えて、パワーを1J(ジュール)以内に制限される場合が多いようです。
また、連射可能なガンでは1秒間あたり何発くらい発射できるのか測定してみたいことでしょう。
いずれもBB弾の発射速度を計測する機器(実銃用を含む)が市販されているのでこれらの機器を利用すれば解決するのですが、フルオートの連射速度も計れる手頃な物が見あたらないので、PICマイコンを使った低コストな弾速計を自作してみることにしました。

設計

いちばん重要なところが弾の速度を検出するためのセンサです。最初は空中を通過する弾の反射光を検出させようと思ったのですが適当な部品がなかったため(というか私に技術力がなかったので・・)、なるべく簡単に作れることを優先して下図のようにフォトTrと赤外線LEDを使った方法を用いることにしました。
適当な長さの筒に二組のTrとLEDを仕込んで、その間をBB弾が通過する時間を計ることで速度を計算します。今回、センサ間隔は80mmとしました。

センサを取り付ける筒はプラか木製が加工しやすいと思います。私はホームセンターで木製の筒を購入しました。弾が通過する時の抵抗を考慮して、筒の途中に穴をあけます。さらに、発射した弾が確実に入るよう、入口には漏斗型の部品(20φ>10φ)を取り付けてみました。

あるいはサイレンサーを改造してセンサにしてしまうというのも良い方法かもしれません。

回路図

弾速測定器回路図 1000*750(gif 19kb)

特殊な部品は使っていません。表示には7セグメントのLED(カソードコモン)を使い、数値を3桁でダイナミック表示します。BCD=7segデコードには4511を使います。
測定範囲をなるべく大きくすべく、PICのクロックは20MHzとしてみました。(PIC16F84A-20/P使用)

左:センサと本体基板 中央:基板裏側 右:ケース組み込み後

 

プリント基板の作成

このページを公開してから、何人もの方々から「自分も作ってみたい」という問い合わせを頂きました。
ユニバーサル基板に組むのはなにかと面倒なので、プリント基板を作成してみました。感光基板の作成経験がある方でしたら簡単だと思います。

部品表・パーツ配置図

7セグLEDにはスタンレーNKR161(または東芝TLR362T)を使用
以下のパターンを87mm×74mmでプリントするとサンハヤトのポジ感光基板10K(100×75)1枚で作ることができます。

弾速測定器プリント基板ポジパターン 2055*1736(gif 63kb)

部品配置とプリントパターンは改良の余地あり。もっと小型に作りたいですねー・・
本基板でケースに収める場合、可能であればスイッチやLEDを外付けにしたほうが美しく仕上がるかと思います。

 

プログラム

今回用いる定数および計算式は次のようになります。

カウント周期 T = 0.0000018(s) (= 1.8μs = 9命令サイクル)
センサ間隔 d = 0.08(m) (= 80mm)
カウント数 count
BB弾質量 m (g)
弾速 S (m/s) = d ÷T ÷ count
パワー J (J) = m × S × S ÷ 2000

小数点の関わる計算をPICで行うのは大変なので、数値データはすべて32bit化(一部64bit)して、100倍した値を持つ事にしました。つまり、計算した最終結果を10進(BCD)化して、後ろから3桁目に小数点を付ければ良いわけです。
計算をなるべく単純化するため上記の式を変形して、プログラム内では次のような計算を行っています。

BB弾質量 g = 100 × m
弾速(*100m/s) = 4444444 ÷ count
パワー(*100J) = 987654 × g ÷ (count × count)

弾速測定動作としては、BB弾が発射されて入口側フォトTrの出力が'1'になると1.8μsのタイマカウンタが動作し、出口側フォトTrの出力が'1'になるまでの時間をカウントします。
表示桁数とデータbit数の関係上、計測(表示可能)範囲は0.67 〜 987m/sの範囲に制限しました。

電動ガンでサバゲをされている方によると、フルオートで発射できるサイクル数がかなり重要なのだそうです。連射速度を上げるためにいろいろとチューンを行ったりした結果を測定したいという要望がありましたので、新たに連射速度を測定するモードを追加しました。2発〜20発の範囲で連射すると、1秒あたりの発射弾数を表示します。

弾速測定器ソース+Hexファイル (bbspd14.zip 6kb)  Update!

本プログラム(Ver1.4)で計測・表示できる項目は
 ・弾速(初速) [m/s]
 ・ピークパワー [ジュール]
 ・連射速度 [発/秒]

の3項目です。

ユーザ設定可能な項目は
 ・BB弾質量 [g]
 ・連射計測数 [発]

となります。

 

使い方

  1. SW1〜3を押さずに電源を入れると弾速測定モードになります。

  2. ガンのマズルをセンサの射入口に合わせ、弾を発射します。

  3. LEDに弾速が表示されます(単位は m/s)。

  4. ここでSW2(表示切り替え)を押すとパワー表示になります(単位はJ)。

  5. SW2を押す毎に弾速表示とパワー表示が切り替わります。

  6. SW1を押すとリセットされ、弾の発射待ち状態に戻ります。

  7. SW3を押すと(上記のどのモードでもOK)、BB弾の重量設定になります(単位はg)。SW2とSW3で設定値を上下できます。設定範囲は0.10〜0.50gです。
    SW1を押すと設定値が不揮発メモリに記憶され、前のモードに戻ります。前のモードがJ表示だった場合、新たに設定された弾重量でパワーの再計算と表示が行われます。

  8. 弾速が0.67m/s以下(あるいは987m/s以上)の場合、'0.00'(単位表示なし)と表示されます(エラーです)。

  1. SW1を押した状態で電源を入れると連射速度測定モードになります。

  2. SW3を押すと連射のカウント弾数設定となり、2〜20発の範囲で設定値を変更できます。設定値はSW2とSW3で上下します。SW1を押すと設定値が不揮発メモリに記憶されます。(設定する連射弾数はなるべく多くしたほうが測定精度が向上します)

  3. フルオート等で「どりゃ〜」っとBB弾を連射して、連射弾数で設定した弾数がカウントされると1秒あたりの発射弾数(発/sec)が表示されます。
    表示範囲は0.19〜999(発/sec)です。

  4. SW1を押すとリセットされ、連射待ち状態に戻ります。

  5. 最初の1発目から、設定した弾数の発射完了までにおよそ5秒以上かかると'0.00'と表示されます(エラーです)。

 

作例

さらに小型化した弾速計の作例を載せておきます。

ケースに適当なものがなかったので、3mm厚の発泡塩ビ板(黒)と2mmのアクリル板(スモーク)を使ってケースを自作しました。

センサ部

ホームセンターで購入したアルミの「コ」の字チャンネル(内径10mm角)をセンサパイプに使用しました。

センサのスリーブは3mm塩ビを2枚重ねて10mm角に切ったブロックに4.8φの穴を開けて、LEDとフォトトラを取り付けます。端子は基板の余りで作りました。これをパイプの穴に合わせて接着します。

追記:
センサの内径が広かったり、弾が中心から外れたところを通過したりすると、うまく弾の通過を検知出来ないことがあります。
対処としては受光側(フォトトラのレンズ前面)に2mmほどのピンホールを設けて受光範囲を制限するといいようです。

「コ」を合わせて内径10mm×20mmの角パイプにします。これでセンサーが完成。

基板&ケース

塩ビ板をケースの底面にして、センサと基板を取り付けます。

底面サイズ:60mm×96mm

基板が緑色に見えるのは保護用にグリーンレジストを裏面に塗ったためです。

上から見たところ。電池とセンサーは基板の下です。
塩ビ板でケースの周りを作成。ちょっとプレステ2風にしてみました。

表のパネルはスモークのアクリルで作りました。

スイッチの高さが少し足りなかったので、アルミカラーを接着して押しボタンにしています。

シールにパネルデザインをプリンタで印刷して、アクリル板に張り付けます。今回は迷彩風(^^)

その上に透明のカッティングシートを貼って表面を保護。

完成。9V電池が結構消費するので、DCジャックを付けてACアダプタでも使えるようにしました。

 

投稿製作例

大口径弾速計の製作 by DEATHさん
弾速計 by dragonflyさん

おわりに

計測する際に、センサの射入口とガンのバレルを一直線に合わせるのにちょっとコツがいりますが、大体合っていればそこそこ正確に測れると思います。
センサのパイプがヤワだと、斜めに撃ち込んだ時に破損する事があるかもしれないので、ある程度厚みのある材料を使うのがいいでしょう。

実際に手持ちのガスガンでBB弾の初速を計測してみました。
室温17℃の状態で52.6m/s、マガジンをよく暖めた状態で70.1m/sと、やはり温度によって相当初速に影響があるようです。

連射速度の測定機能については大阪の「高見山」さんから貴重なご意見をいただき、テスト・評価を行って頂きました。この場を借りて御礼いたします。
高見山さんの弾速計製作ページは
こちら


戻る