工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

完全自動化3Dプリント・ブラシレスナーフブラスター — Arduino Nano Every搭載

必要なパーツと材料

パーツ数量備考
Arduino Nano Every1コンパクトでナーフガン内部に収まりやすく、必要な機能をすべて備える
リニアソレノイド 12VDC1ストローク35mm、12V定格のもの
ブラシレスDCモーター (アウトランナー)2ナーフフライホイールケージ用。12V (3S LiPo) 対応
ブラシレスESC2モーター1つにつき1個。モーター電流の20%以上の余裕を持つもの。3S LiPo対応
LiPoバッテリー 3S 11.1-12.6V 1300mAh 25C以上1全負荷電流+20%マージンをカバーできる放電レートのもの
マイクロスイッチ (ミニチュア)2汎用品でOK、大電流対応不要
パワーMOSFET Nチャネル (ロジックレベル)1>20V, >15A @5Vゲート電圧
抵抗 10kΩ1MOSFETゲートプルダウン用 (R3)
抵抗 4.7kΩ1MS2マイクロスイッチプルアップ用 (R1)
抵抗 150Ω1LED用 (環境依存)
抵抗 220Ω1MOSFETゲート電流制限用 (R2、省略可)
1N4007 ダイオード2D2: ソレノイド逆起電力保護、D1: Arduino電源逆電圧保護
コンデンサ 100µF1Arduino電源入力の電圧降下抑制 (C1、極性注意!)
コンデンサ 100nF (0.1µF)1Arduino電源入力ノイズフィルタ (C2)

必要な工具

プロジェクトの概要

映画やゲームに登場するプロップのレプリカ制作を趣味としており、仮想オブジェクトを現実に具現化する過程を共有しています。最新作はゲーム『サイバーパンク2077』に登場するスマートガン「Kang Tao (カンタオ)」を、機能するナーフブラスターとして3Dプリントで製作しました。

静的な模型では面白くないため、フライホイール式ナーフブラスターとして動作するよう設計。ソレノイドとブラシレスESCの制御が必要で、リレーやタイムディレイでは大掛かりになるため、Arduinoで制御するのが現実的でした。

本記事ではArduinoと電気回路の側面にフォーカスします (機械設計と3Dプリントは上級レベル)。CAD設計、3Dプリント詳細は以下を参照:

完全自動化3Dプリント・ブラシレスナーフブラスター — Arduino Nano Every搭載

トリガー機構: フライホイール & ソレノイド

コードの動作ロジック:

ブラシレスモーターの選定

完全自動化3Dプリント・ブラシレスナーフブラスター — Arduino Nano Every搭載

ブラシレスESCの選定

バッテリー選定

完全自動化3Dプリント・ブラシレスナーフブラスター — Arduino Nano Every搭載

MOSFETによるソレノイド駆動

完全自動化3Dプリント・ブラシレスナーフブラスター — Arduino Nano Every搭載

12V/8AのソレノイドをArduinoから直接駆動すると破損 (マジックスモーク) するため、NチャネルMOSFETをスイッチとして使用。

ソレノイド

  • 12V定格、ストローク35mmのもの。短いストロークではフルレングスダートを十分押し出せない。
  • スプリングを0.9mm径線材、外径14mm、長さ40mmのものに交換するとジャム防止に効果的。
  • 瞬間通電のみなので発熱は軽微 (~40°C)、冷却不要。
  • 汎用品で安価 (eBay、AliExpress等で入手可能)。

セーフティスイッチ

SW は2極スライドスイッチ (3端子だが2端子のみ使用)。ON時にArduino電源を遮断し、フライホイールとソレノイドの誤作動を防止。

保護回路 (重要!)

電子部品を守るための各部品の役割:

  • C1 (33µF、推奨100µF) & C2 (100nF): Arduino電源入力の電圧変動低減。C1は極性あり (ストライプ側が負極)、逆接続で破裂の危険。
  • D1: Arduino VINへの逆電圧防止。極性注意。
  • D2: フライバック/フリーホイールダイオード。ソレノイド (誘導負荷) の逆起電力からMOSFETを保護。極性注意。
  • R1, R2 (4.7kΩ): MS1, MS2用プルアップ抵抗。フローティング防止。
  • R3 (10kΩ): MOSFETゲート用プルダウン抵抗。フローティング防止。
  • R4 (150Ω): オプションのマズルフラッシュ用LED (直列2個、2.4V/50mA仕様の場合)。ソレノイド動作と同期点滅。

動画での解説と試射デモも公開中です。質問があればコメント欄へどうぞ!

3Dプリントファイル公開

UPDATE: Thingiverseでファイル公開中!

https://www.thingiverse.com/thing:3984125

ソースコード

Nerf Blaster Brushless Motor & Solenoid Arduino Code

const int buttonPinF = 2;  // フライホイール用マイクロスイッチ (MS2)
const int buttonPinS = 5;  // ソレノイド用マイクロスイッチ (MS1)
int buttonStateF = 0;
int buttonStateS = 0;
int solenoidPin = 4;       // MOSFETゲートピン

#include <Servo.h>
Servo throttle;
int pos = 0;
int pin = 3;               // ESC信号ピン

void setup() {
  pinMode(buttonPinF, INPUT);
  pinMode(buttonPinS, INPUT);
  throttle.attach(pin);
  pinMode(solenoidPin, OUTPUT);
  
  // ESCアーミングシーケンス
  for (pos = 90; pos <= 91; pos += 1) {
    throttle.write(pos);
    delay(3700); // ESCによっては最大10000 (10秒) まで増やす必要あり
  }
}

void loop() {
  buttonStateF = digitalRead(buttonPinF);
  if (buttonStateF == HIGH) {
    // MS2押下中: フライホイール回転
    throttle.write(92); // 92未満=停止、92=アイドル、~115=最大
  } else {
    throttle.write(97); // MS2離すとモーター停止 (またはアイドル)
  }
  
  buttonStateS = digitalRead(buttonPinS);
  // MS2押下中 (LOW) かつ MS1押下中 (LOW) でソレノイド作動
  // ※プルアップ回路のため、押下時=LOW
  if (buttonStateF == LOW && buttonStateS == LOW) {
    digitalWrite(solenoidPin, HIGH);
    delay(90);  // ON時間 (発射レート調整用)
    digitalWrite(solenoidPin, LOW);
    delay(100); // OFF時間
  } else {
    digitalWrite(solenoidPin, LOW);
  }
}

コードのポイント:

  1. 起動時のESCアーミングシーケンス (3.7秒待機、ESCによっては10秒まで延長必要)
  2. MS2長押しでフライホイール回転、MS1でソレノイド発射
  3. throttle.write(92) でアイドル速度、write(97) で最高速度を調整 (モーター/ESC依存)
  4. delay(90) と delay(100) で発射レート (連射速度) を調整
  5. スイッチ離すとESCへのPWM信号とMOSFETゲート信号が停止
  6. セーフティスイッチでArduino電源OFF → ESCは信号喪失でセーフモードに移行しモーター停止

回路図

完全自動化3Dプリント・ブラシレスナーフブラスター — Arduino Nano Every搭載

ダイオードとコンデンサの極性には細心の注意を払って配線してください。

製造プロセス

  1. 自宅で作るDIY宿題自動筆記マシン:AxiDraw風ペンプロッターの自作ガイド
  2. Arduinoで作るモニター用Ambilightシステム:没入感アップの自作ガイド
  3. Alexaでシーリングファンを音声制御:ステップバイステップガイド
  4. Arduinoと1Sheeldで作る万能Androidリモコン──IR制御で家電を一括操作
  5. スマート貯金箱を作ろう:Arduino Nanoでコインアクセプターを制御
  6. Arduino電源制御センター:N-FET/P-FET/リレー/RTC搭載キット
  7. ArduinoでBluetooth経由でLEDを制御 – シンプルDIYガイド
  8. Arduino駆動3Dプリントロボットアームの製作:ステップバイステップガイド
  9. DIY Arduino加湿器コントローラー:リレーを用いた安全な高電圧制御
  10. Arduino Nanoとジョイスティックで2軸ステッピングモーターを制御:Visuinoで簡単プログラミング
  11. スマートシャワーレギュレーター – ソレノイドバルブで精密温度制御