산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

완전 자동 3D 인쇄 브러시리스 Nerf Blaster Arduino 컨트롤

구성품 및 소모품

Arduino Nano Every
Arduino Nano Every는 필요한 모든 기능을 유지하면서 Nerf 총에 맞는 매우 컴팩트합니다.
× 1
선형 솔레노이드, 12VDC
12V 정격의 35mm 스트로크 길이인지 확인하십시오.
× 1
브러시리스 DC 모터
너프 플라이휠 케이지는 Outrunner 유형 브러시리스 모터와 가장 잘 작동합니다. 12V(3s Lipo)를 처리할 수 있는지 확인하십시오.
× 2
브러시리스 ESC
브러시리스 ESC가 모터가 당기는 것보다 최소 20% 더 많은 전류를 처리할 수 있는지 확인하십시오. 3s Lipo를 처리할 수 있는지 확인하십시오. 모터당 하나의 ESC.
× 2
Lipo 배터리 3S 11.1-12.6V 1300mAh 25C
배터리 방전율이 모든 것의 현재 소모량과 20%의 안전 여유를 처리하는지 확인하십시오. 최소 1300mAh를 권장합니다.
× 1
마이크로스위치, 미니어처
모든 일반 마이크로스위치. 고전류일 필요는 없습니다.
× 2
전력 MOSFET N-채널
논리적 수준인지 확인하십시오! N 채널>20V>15A 드레인-소스 @5V 게이트 전압.
× 1
저항 10k 옴
회로도의 R3 - MOSFET 게이트에서 부동 전압을 방지합니다.
× 1
스루 홀 저항기, 4.7kohm
MS2 마이크로스위치를 풀업하기 위한 회로도의 R1
× 1
스루 홀 저항기, 150옴
LED용(값은 설정에 따라 다름).
× 1
저항 220옴
회로도의 R2는 MOSFET 게이트의 전류를 제한합니다. 이것은 선택 사항일 수 있지만 없이 테스트하지는 않았습니다.
× 1
1N4007 – 고전압, 고전류 정격 다이오드
솔레노이드로부터 역기전력으로부터 MOSFET을 보호하기 위해 플라이백 다이오드 D2로 사용되는 일반 다이오드. D1은 Arduino 전원 입력을 역전압으로부터 보호합니다.
× 2
커패시터 100μF
Arduino 전원 입력에 대한 전압 강하 감소 - 극성에 민감하므로 올바른 방법으로 배선하십시오. 쾅! 회로도의 C1.
× 1
커패시터 100nF
아두이노 전원 입력에 대한 노이즈/간섭 필터 역할을 합니다. 회로도의 C2.
× 1

필요한 도구 및 기계

3D 프린터(일반)
내 3D 프린터는 Evnovo(Artillery) X1 - 300x300x400mm입니다.

이 프로젝트 정보

저는 항상 물건을 만들고 만드는 것을 즐겼습니다. 그래서 영화와 비디오 게임에서 볼 수 있는 물건으로 소품과 복제품을 만들기로 결정했습니다. 가상 개체를 현실로 가져온 다음 비슷한 관심사를 가진 사람들과 내 기술을 공유합니다.

나의 가장 최근에 만든 최고의 작품은 곧 출시될 비디오 게임 Cyberpunk 2077에 등장하는 스마트 총인 Kang Tao입니다. . 이러한 복잡한 개체를 만들기 위해 3D 프린터를 사용하여 부품의 미학과 기계적 피팅을 달성했습니다.

정적 개체는 너무 쉬울 것입니다. 나는 도전을 원했습니다. 그래서 기능적인 Nerf Blaster로 디자인했습니다.

이 기능을 구현하려면 브러시리스 모터용 솔레노이드와 ESC를 제어해야 했습니다. 릴레이와 시간 지연 등은 너무 번거로워서 아두이노가 더 실용적인 솔루션이었습니다.

이 글은 이 프로젝트의 Arduino 및 전기 회로 측면에 초점을 맞출 것입니다(여기는 Arduino 사이트이므로). Arduino 부분이 매우 간단하기 때문에 이것을 '쉬운'이라고 표시했습니다. 하지만 기계 설계와 3D 프린팅은 발전했습니다. Nerf Blasters용 Arduino로 브러시리스 ESC, 브러시리스 모터 및 솔레노이드를 제어하려는 경우 이 가이드가 적합합니다!

CAD 디자인, 3D 프린팅 등이 여기에 설명되어 있습니다:http://nerfhaven.com/forums/topic/28493-cyberpunk-2077-kang-tao-3d-printed-nerf-gun/

또는 여기:https://www.reddit.com/r/nerfhomemades/comments/djmyu0/3d_printed_kang_tao_nerf_blaster_from_cyberpunk/

비디오 빌드 자습서:https://www.youtube.com/channel/UCP3j3nmdL5VLFy1indyyzAA/featured?view_as=subscriber

모든 것이 어떻게 연결되어 있는지 설명하기 위해 도식(도식 섹션 참조)이 그려졌습니다. Arduino Nano는 크기가 작기 때문에 사용됩니다. 이것은 Uno 및 기타 제품에서도 작동해야 합니다.

아래 용어 MS1, C2 등은 도식을 참조하십시오.

참조 ~에 코드 섹션 켜기 설명 방법 코드 작동합니다.

플라이휠 및 솔레노이드로 트리거

코드가 작동하는 방식은 MS2 (보조 마이크로스위치 트리거)를 누르고 있으면 브러시리스 모터가 회전합니다.

MS1일 때 (기본 마이크로 스위치 트리거)를 누르거나 유지하면 신호가 MOSFET 게이트로 보내져 솔레노이드(S ) 반복적으로. 솔레노이드는 Nerf 다트를 탄창에서 플라이휠로 밀어 넣습니다(M1 &M2 ) 그런 다음 총열 밖으로 다트를 가속합니다.

그러나 MS1 MS2 동안에만 활성화 개최됩니다. 이것은 다트가 회전하지 않는 플라이휠에 밀리는 경우 걸림을 방지하는 데 도움이 됩니다. 코드(코드 섹션 참조)에서 '&&'가 사용되는 곳입니다.

브러시리스 모터와 솔레노이드에 공급되는 전원은 마이크로스위치를 통해 이동하지 않습니다. 즉, 고전류 정격 마이크로스위치가 필요하지 않습니다.

브러시리스 모터

여기서 브러시리스가 브러시 모터와 어떻게 다른지 설명하지 않겠습니다. 훌륭한 설명을 검색할 수 있습니다.

inrunner가 있습니다. 그리고 우수자 브러시리스 모터. 당신은 우수자를 원합니다 그들은 모양이 더 평평하기 때문에 Nerf 블래스터의 측면에서 못생긴 캔이 튀어 나오지 않습니다. 아웃러너 모터는 또한 샤프트와 함께 외부에서 회전할 수 있는 부분이 있습니다. 이렇게 하면 플라이휠을 3D 프린팅하여 모터 위로 쉽게 이동할 수 있습니다.

후면 장착 구멍이 있는 모터 구입 .

모터의 전압은 최소 12.6V(3s lipo)를 처리해야 합니다.

모터의 전류는 브러시리스 ESC 전류 정격을 초과해서는 안 됩니다.

모터의 전력은>60W이어야 합니다. 이 프로젝트는 12.6V 공급 전압 x 측정된 7A 모터 소모량 =각각 ~80W를 사용합니다.

브러시리스 모터의 RPM은 ~25k여야 하며 kV 정격 x 전압에 의해 결정됩니다. 이 프로젝트는 12.6V에서 2600kV 모터를 사용합니다. 따라서 2600 x 12.6 =~32, 760RPM입니다. 나는 모터를 반 스로틀로 돌리고 다트는 25m/82ft를 날아갑니다!

브러시리스 ESC

이들은 기본적으로 브러시리스 모터의 전력을 제어합니다.

브러시리스 모터는 브러시 ESC에서 작동하지 않으므로 브러시리스가 됩니다.

모터당 하나의 ESC가 필요합니다. 그렇지 않으면 하나의 ESC에 연결된 두 개의 모터에서 나오는 역기전력이 ESC 타이밍을 엉망으로 만들고 ESC 및/또는 모터를 손상시킵니다.

ESC의 정격 전류는 모터의 전류 소모보다 높아야 합니다. 이 경우 모터는 각각 7A에서 측정되었습니다. ESC는 20A 이상을 권장합니다.

ESC의 정격 전압은 12.6V(3s Lipo) 이상이어야 합니다.

ESC에는 내장 BEC가 필요하지 않습니다. 'OPTO' ESC를 사용할 수 있습니다. BEC가 있는 ESC가 있는 경우 회로도에 표시된 대로 접지 및 신호 케이블을 Arduino에 연결합니다. 연결하지 마세요 ESC 5V 빨간색 케이블로 무엇이든 연결합니다. (특정 목적이 있고 수행 중인 작업을 알고 있는 경우 제외).

배터리

모든 것을 구동하는 단일 배터리. XT60 커넥터 사용을 권장합니다.

전압은 12.6V 3S Lipo 배터리입니다.

용량은 최소 권장 1300mAH입니다.

배터리의 전류 방전 등급은 모든 부하의 전력 소모에 충분해야 합니다. 이 프로젝트에서 부하 전류는 ~25A입니다.

배터리의 최대 방전율은 방전율(25C) x 용량(Ah)으로 계산됩니다(1, 300mAh =1.3Ah).

따라서 배터리의 최대 방전율은 25 x 1.3 =32A입니다. 배터리 사양에서 이 숫자를 찾을 수 있습니다.

MOSFET

Arduino에서 직접 12V / 8A 솔레노이드에 전원을 공급하면 마법의 연기가 발생합니다(Arduino가 죽습니다). 해결책? MOSFET.

파워 MOSFET은 솔레노이드의 온/오프 스위치로 사용됩니다. 기본적으로 솔레노이드에 전원을 공급하는 접지를 차단합니다. 이를 N-채널 MOSFET이라고 합니다. N-Channel이 있는지 확인하십시오.

MOSFET은 Arduino 출력 핀(D4 이 경우). Arduino는 5V를 출력하고 게이트는 5V에서 완전히 켜져 있어야 합니다. 이것이 작동하려면 로직 레벨 MOSFET이어야 합니다.

솔레노이드의 전류 소모는 8A입니다. MOSFET의 최대 전류 정격이 더 높은지 확인하십시오. 이 프로젝트는 최대 30A 정격 MOSFET을 사용합니다.

MOSFET을 통한 전압은 솔레노이드에 전원을 공급하기 위해 12.6V입니다. 이 MOSFET의 정격은 최대 60V로 충분한 헤드룸입니다.

이 경우 MOSFET의 온도는 35°C 미만입니다. 이것은 MOSFET이 30A로 정격되기 때문에 달성되지만 ~8A의 부하만 가해집니다. 또 다른 이유는 부하(솔레노이드)가 지속적으로 켜지지 않고 꺼지기 전에 잠시 동안만 켜집니다. 이 경우 방열판이 필요하지 않습니다.

솔레노이드

이것은 다트를 플라이휠로 밀어 넣습니다. 원하는 것은 스트로크 길이가 35mm인 12V 정격 솔레노이드뿐입니다. 더 짧은 스트로크는 전체 길이 유형의 너프 다트를 충분히 멀리 밀어내지 못합니다.

스프링을 직경 0.9mm 와이어, 14mmOD 및 40mm 길이로 업그레이드하여 걸림을 방지하세요.

솔레노이드는 지속적이 아닌 순간적으로 전원이 켜져 있기 때문에 ~40°C의 약간만 따뜻해야 하므로 냉각이 필요하지 않습니다.

이 솔레노이드는 비교적 저렴하고 일반적입니다. Ebay, Aliexpress 등에서 찾을 수 있습니다.

안전 스위치

SW 안전 스위치는 단순히 2위치 슬라이더 스위치입니다. 3개의 접점이 있지만 2개만 사용됩니다. 안전이 켜져 있을 때 Arduino의 전원을 끄고 플라이휠 및 솔레노이드가 활성화되는 것을 방지합니다.

보호 회로

이 섹션에서는 전자 제품이 튀는 것을 방지하는 방법을 설명합니다!

C1 33μF(100μF 권장) 및 C2 100nF(0.1µF)는 Arduino 전원 입력에 대한 전압 변동을 줄입니다.

주의:C1은 극성에 민감하고 줄무늬면은 음수이며 기타 그것 간다 쾅!

D1 Arduino VIN에 역전압을 방지합니다. 극성에 유의하십시오.

D2 플라이백/프리휠링 다이오드입니다. 솔레노이드(또는 다른 인덕터)가 역기전력을 생성하는 것을 방지합니다. 그렇지 않으면 이 역기전력이 MOSFET을 손상시킬 수 있습니다. 극성에 유의하십시오.

R1 &R2 MS1 및 MS2용 4.7kΩ 풀업 저항입니다. 이것은 마이크로스위치에서 부동 전압을 방지합니다.

R3 MOSFET의 게이트에서 부동 전압을 방지하기 위한 10kΩ 풀다운 저항입니다.

R4 선택 사항의 경우 150kΩ입니다. LED. 내 LED는 각각 2.4V/50mA에서 직렬 2개입니다. 저항 값은 다를 수 있습니다. 총구 플래시를 복제하기 위해 솔레노이드와 동기화하여 이 LED의 플래시를 켜고 끕니다!

아래 동영상 설명 및 테스트 발사!

이 가이드를 요약하면 질문이 있는 경우 아래에 의견을 남겨주세요 :)

직접 인쇄할 수 있도록 파일 다운로드!

업데이트:다음은 Thingiverse 파일에 대한 링크입니다. 즐기세요!

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

<섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">

코드

<울>
  • 너프 블래스터 브러시리스 모터 및 솔레노이드 Arduino 코드 - Clark3DPR
  • 너프 블래스터 브러시리스 모터 및 솔레노이드 Arduino 코드 - Clark3DPRArduino
    1. Arduino가 안전 스위치를 통해 전원이 켜지면 브러시리스 ESC에 대한 준비 시퀀스가 ​​실행됩니다. 내 ESC는 3.7초(코드에서 3700)가 걸립니다. 안전 모드를 종료하려면 자신의 ESC에 따라 이 값을 최대 10000(10초)까지 늘려야 할 수도 있습니다.

    2. 2차 마이크로스위치를 잡고 플라이휠을 회전시킨 다음 1차 마이크로스위치를 길게 눌러 발사합니다.

    2. throttle.write(92)를 변경하여 모터 공회전 속도를 높이거나 낮추거나 끕니다. 기본적으로 모터는 회전 시간을 줄이기 위해 저속으로 회전합니다. (값은 모터/ESC에 따라 다름)
    throttle.write(97)를 변경하여 모터 최고 속도와 다트 속도를 변경합니다. (값은 모터/ESC에 따라 다름)

    지연(90)과 지연(100)을 변경하여 솔레노이드의 발사 속도를 높이거나 낮춥니다.

    4. 마이크로 스위치가 해제되면 플라이휠용 ESC PWM 신호와 솔레노이드용 MOSET 게이트 신호가 회전/활성화를 멈춥니다.

    5. ESC가 Arduino에서 신호를 잃으면(안전 스위치가 켜져 있고 Arduino 전원이 꺼진 경우) ESC는 안전 모드로 돌아가고 모터를 끕니다.
    const int buttonPinF =2; // 플라이휠 레브 마이크로스위치 핀 번호const int buttonPinS =5; // 솔레노이드 마이크로스위치 핀 번호int buttonStateF =0; // 플라이휠 Rev 마이크로스위치를 읽기 위한 변수 statusint buttonStateS =0; // 솔레노이드 마이크로스위치를 읽기 위한 변수 statusint solenoidPin =4; // 솔레노이드 MOSFET 게이트 핀 번호#include 서보 스로틀;int pos =0;int pin =3; // ESC 신호 pinvoid setup() { pinMode(buttonPinF, INPUT); // 플라이휠 마이크로스위치 핀을 입력으로 초기화합니다. pinMode(buttonPinS, INPUT); // 솔레노이드 마이크로스위치 핀을 입력으로 초기화 throttle.attach(pin); 핀모드(솔레노이드핀, 출력); // 솔레노이드 MOSFET 게이트 핀을 출력으로 설정 // ESC 준비 시퀀스 for (pos =90; pos <=91; pos +=1) { throttle.write(pos); 지연(3700); // ESC가 작동할 때까지 대기 / 안전 모드 종료// ESC가 작동할 때까지 걸리는 시간에 따라 이 3700 값을 늘립니다. }}void loop() { buttonStateF =digitalRead(buttonPinF); // 플라이휠 마이크로스위치 값의 상태 읽기 if (buttonStateF ==HIGH) { // 마이크로스위치가 눌렸는지 확인, 그렇다면 플라이휠 buttonState가 HIGH throttle.write(92); // <(92) =모터 꺼짐 / (92) =유휴 속도 } else { throttle.write(97); // 모터 켜짐(92) =유휴 속도 / ~(115) =최대 속도 }buttonStateS =digitalRead(buttonPinS); // 솔레노이드 마이크로 스위치 값의 상태 읽기 if (buttonStateF ==LOW &&buttonStateS ==LOW) { digitalWrite(solenoidPin, HIGH); // 솔레노이드 ON 지연 전환(90); // ON 지속시간 digitalWrite(solenoidPin, LOW); // 솔레노이드 끄기 delay(100); // OFF 지속시간 } else { digitalWrite(solenoidPin, LOW); // 솔레노이드 끄기 }}

    회로도

    이렇게 모두 배선되어 있습니다. 다이오드 및 커패시터 극성에 주의하십시오. AutoCAD로 그렸습니다.

    제조공정

    1. 집에서 DIY 숙제 작성 기계 만들기
    2. Arduino를 사용하여 모니터 Ambilight 만들기
    3. 천장 선풍기에 Alexa 제어 기능을 사용하도록 설정
    4. Arduino, 1Sheeld 및 Android를 사용한 범용 원격 제어
    5. Arduino로 코인 억셉터 제어
    6. Arduino 제어 센터
    7. Bluetooth가 탑재된 Arduino로 LED 제어!
    8. Arduino 3D 인쇄 로봇 팔
    9. Arduino 가습기 제어
    10. Arduino Nano:조이스틱으로 2개의 스테퍼 모터 제어