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

M1 로버

구성품 및 소모품

SparkFun 듀얼 H-Bridge 모터 드라이버 L298
× 1
DC 모터(일반)
× 4
Arduino UNO
× 1
LED(일반)
× 8
저항 221옴
× 8
서보(타워 프로 MG996R)
× 1
초음파 센서 - HC-SR04(일반)
× 1

앱 및 온라인 서비스

Arduino IDE
Microsoft Visual Studio 2015
Microsoft Windows 10 IoT Core

이 프로젝트 정보

수많은 실내 로봇을 만든 후, 거친 지형을 통과할 수 있는 실외 로봇을 만들기로 결정했습니다. 저는 그것을 "M1-로봇"이라고 부릅니다.

M1-Robot 모터는 Arduino로 구동되는 4개의 DC 모터를 쉽게 구동하므로 모든 로봇 공학 프로젝트에 적합합니다. 이것이 더 강력한 로봇을 위한 환상적인 심장이 될 것이라고 생각하여 오프로드 4륜 구동 M1을 설계했습니다. 스크래치.

단순한 RC 자동차가 아니라 일련의 지침에 따라 자율 주행하도록 프로그래밍하거나 원격 컴퓨터에서 제어하도록 프로그래밍할 수 있으며 게임 컨트롤러와 원격 제어 자동차와 같은 맞춤형 조이스틱을 통해 사용할 수 있습니다.

1단계:디자인

자신의 제품이나 프로토타입을 디자인하는 것은 매우 재미있지만 실제 크기로 만들기로 결정하면 더 복잡해집니다. 그래서 저는 Google Sketch-up 2017을 강력하고 쉬운 디자인 도구로 선택했으며, 이 도구를 사용하면 모델의 청사진을 레이저 절단기나 3D 프린터로 내보낼 수 있습니다.

처음 3주는 로봇의 선체를 설계하고 구성하는 데 보냈습니다.

재료로는 3mm 목판을 주셨어요.

로봇의 그리 좋지 않은 최종 배선은 시간 제약으로 인해 전체 로드킬을 선체에 채우는 것으로 구성되었습니다.

내 로봇의 적절한 이름은 M1Rover라고 생각했습니다. M2, M3 등과 같은 시퀀스 이름으로 버전을 개발할 계획이기 때문에 키트로 설계되었으므로 나사로 조립하기만 하면 됩니다.

2단계:구성 요소 및 기능

⦁ 최대 3시간의 런타임!

⦁ Arduino Uno, Mega 및 Nano용으로 설계되었습니다.

⦁ 5V-9V DC 작동 전압

⦁ 3mm 두께의 나무 섀시

⦁ 직경 68mm 휠 L298N 듀얼 H-브리지 모터/스테퍼

⦁ DC 모터에 전원을 공급하는 9v 배터리

⦁ Arduino에 전원을 공급하는 9v 배터리

⦁ 후면 및 전면 LED 조명 7

⦁ HC-06 블루투스 모듈

⦁ 아두이노 센서 쉴드 v5.0

⦁ 초음파 변환기 HC SR04

3단계:모터 컨트롤러

H-Bridge는 일반적으로 모터의 속도와 방향을 제어하는 ​​데 사용되지만 고출력 LED 어레이와 같은 특정 조명 프로젝트의 밝기를 구동하는 것과 같은 다른 프로젝트에도 사용할 수 있습니다.

⦁ 모든 근거가 함께 묶여 있는지 확인하십시오. Arduino, 전원 및 모터 컨트롤러.

⦁ PWM 기능을 제어하지 않으려면 PWM 핀이 필요하지 않습니다.

4단계:섀시 조립

섀시는 레이저 커터를 사용하여 몇 부분으로 절단되었으며 앞서 언급했듯이 조립하기 쉬운 키트로 모델이 생성되었으므로 아래 지침을 따르기만 하면 됩니다.

디자인을 고려하는 것도 중요했고 RC카라면 전조등과 후미등을 포함해야 했다. M1-Robot의 전면에는 각각 220옴 저항에 연결된 4개의 흰색 LED를 배치하고 후면에는 각각 220옴 저항이 있는 2개의 빨간색 LED를 배치합니다. 이 LED는 동일한 애플리케이션으로 제어할 수 있습니다.

5단계:회로

회로는 많은 전자 부품을 동시에 제어하기로 결정했을 때 각 부품의 순서를 신경써야 하기 때문에 약간 까다로웠습니다.

⦁ 아두이노 센서 쉴드 5.0

⦁ Arduino Uno R3 L298N 듀얼 H 브리지 모터/스테퍼

⦁ DC 모터에 전원을 공급하는 9v 배터리

⦁ LED 조명 7(후면 2개) 및 (전면 4개)

⦁ HC-06 블루투스 모듈

⦁ 초음파 변환기 HC SR04

⦁ 서보 모터 9g

⦁ 활성 부저

⦁ 바퀴가 달린 4개의 DC 모터

6단계:소프트웨어

M1-Robot의 코드를 작성하면서 많은 것을 고려했고 GUI 소프트웨어를 사용하면 로봇 상태에 대한 더 많은 정보를 얻을 수 있습니다.

스타터 키트의 기본 코드는 Bluetooth를 통해 모바일 또는 노트북으로 제어할 수 있습니다.

int 전면 =3; // led int rearled =4;int outPin1 =5; //모터1 int outPin2 =6; //모터1 int outPin4 =11; //모터2 int outPin3 =12; //모터2 char bt =0; //BT int 부저핀 =2; const int pingPin =9; // 초음파 센서의 트리거 핀 const int echoPin =8; // 초음파 센서의 에코 핀/*----------------------------------------- -------------------------------------*/ void setup() { Serial.begin(9600); 핀모드(outPin1,OUTPUT); 핀모드(outPin2,OUTPUT); 핀모드(outPin3,OUTPUT); 핀모드(outPin4,OUTPUT); 핀모드(앞,출력); pinMode (buzzerPin, OUTPUT);} 무효 루프() { if (Serial.available()> 0) { bt =Serial.read(); digitalWrite(앞, 1); 긴 기간, 인치, cm; 핀모드(핑핀, 출력); 디지털 쓰기(핑핀, 낮음); 지연 마이크로초(2); 디지털 쓰기(핑핀, 높음); 지연마이크로초(10); 디지털 쓰기(핑핀, 낮음); 핀모드(에코핀, 입력); 지속 시간 =pulseIn(echoPin, HIGH); 인치 =microsecondsToInches(지속 시간); cm =마이크로초에서 센티미터(지속 시간); if (cm> 10 ){ // 정지할 거리 /*___________________________________________________________________________________*/ if(bt =='F') //앞으로 이동 { digitalWrite(outPin1,HIGH); 디지털 쓰기(outPin2,LOW); 디지털 쓰기(outPin3,HIGH); 디지털 쓰기(outPin4,LOW); } else if (bt =='B') // 뒤로 이동 { digitalWrite(outPin1,LOW); 디지털 쓰기(outPin2,HIGH); 디지털 쓰기(outPin3,LOW); 디지털 쓰기(outPin4,HIGH); } else if (bt =='S') //중지!! { 디지털 쓰기(outPin1,LOW); 디지털 쓰기(outPin2,LOW); 디지털 쓰기(outPin3,LOW); 디지털 쓰기(outPin4,LOW); } else if (bt =='R') //맞음 { digitalWrite(outPin1,HIGH); 디지털 쓰기(outPin2,LOW); 디지털 쓰기(outPin3,LOW); 디지털 쓰기(outPin4,LOW); } else if (bt =='L') //left { digitalWrite(outPin1,LOW); 디지털 쓰기(outPin2,LOW); 디지털 쓰기(outPin3,HIGH); 디지털 쓰기(outPin4,LOW); } else if (bt =='I') //오른쪽 앞으로 { digitalWrite(outPin1,HIGH); 디지털 쓰기(outPin2,LOW); 디지털 쓰기(outPin3,LOW); 디지털 쓰기(outPin4,HIGH); } else if (bt =='G') //왼쪽 앞으로 { digitalWrite(outPin1,LOW); 디지털 쓰기(outPin2,HIGH); 디지털 쓰기(outPin3,HIGH); 디지털 쓰기(outPin4,LOW); } } else{ digitalWrite(부저핀, 높음); 지연(500); digitalWrite(buzzerPin, LOW); 지연(500); } }}long microsecondsToInches(long microseconds) { return microseconds / 74 / 2;}long microsecondsToCentimeters(long microseconds) { return microseconds / 29 / 2;} 

아두이노 코드는 모든 전자 부품이 직렬 포트 명령으로 작동하도록 프로그래밍되어 있으므로 모든 종류의 컨트롤러와 호환되므로 블루투스 모듈 송수신기, PC, 휴대폰을 사용할 수 있습니다.

⦁ C# 윈도우 애플리케이션(스크린샷 첨부)

7단계:패키지

STARTER

이 M1-Robot 패키지에는 기본 구성 요소가 포함되어 있으며 상단 플레이트에는 감지, 조작 또는 컴퓨터 하드웨어를 쉽게 장착할 수 있습니다. 시작하려면 온보드 및 Rover 전원 공급 장치에 센서를 연결하기만 하면 됩니다.

탐색자

익스플로러 패키지는 기본적인 실내외 자율 기능을 가능하게 하며, IP 카메라 대신 IP 주소를 통해 인터넷에 연결된 휴대폰 캠을 사용했습니다.

매핑

익스플로러 패키지는 기본 GPS 추적을 가능하게 함은 물론, 차량이 실외에 있을 때 실시간으로 좌표 경로를 볼 때 매우 멋집니다.

조작

로봇 팔과 두 손가락 50mm 그리퍼로 세상과 소통합니다.

중요 팁:

모든 서보가 완전히 180도 회전하는 것은 아닙니다. 많은 사람들이 그렇지 않습니다. 기계적 한계가 어디에 있는지 확인하기 위해 테스트를 작성할 수 있습니다. Servo.write 대신 servo.writeMicroseconds를 사용하십시오. 기본 범위로 1000-2000을 사용할 수 있기 때문에 이것이 더 좋습니다. 그리고 많은 서보가 600에서 2400 사이의 범위를 벗어나서 지원할 것입니다.

따라서 다른 값을 시도하고 한계에 도달했음을 알리는 버즈가 어디에서 들리는지 확인하십시오. 그런 다음 글을 쓸 때만 그 범위 내에서 유지하십시오. Servo.attach(pin, min, max)

를 사용할 때 이러한 제한을 설정할 수 있습니다.

편집:원하는 경우 연결에서 최소 및 최대 마이크로초를 설정한 다음 간단히 서보를 사용할 수 있다고 말하고 싶습니다. map()을 사용하여 마이크로초 값으로 전달하는 0-180도 값을 변경합니다.

엔드 스톱에 유지하면 곧 높은 전류를 끌어 당기고 빠르게 가열됩니다. 이 방식으로 서보를 오랜 시간 로드하여 서보를 "요리"하기가 너무 쉽습니다.

실제 이동 범위를 찾고 코드가 끝점을 지나도록 밀어 넣지 않도록 하십시오. constrain() Arduino 함수는 다음과 같은 경우에 유용합니다.

servo.write (제약(각도, 10, 160)); // 10..160 범위의 각도 제한 

맞춤형 부품 및 인클로저

m1rover_dxf_hackaday_4o7WTGHUGE.dxf

회로도


제조공정

  1. 릴럭턴스 모터
  2. Raspoulette 프로토타입
  3. Rover
  4. 간단한 파이 로봇
  5. UFO 공격!
  6. 3D RGB Arduclock
  7. 바이폴라 스테퍼 ​​모터 라이브러리
  8. 기타 스피드 픽 및 스톰프 페달!
  9. 리니어 모터란?
  10. 서보 모터 란 무엇입니까?