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

아두이노 메가와 블루투스로 제어하는 프로그래머블 3축 로봇 암 키트

프로젝트 개요

산업용 로봇의 기본 기능(티칭/재생)을 시뮬레이션하는 3~4축 로봇 암 제어 시스템을 아두이노 메가 2560으로 구현했습니다. 로컬(포텐셔미터)과 원격(안드로이드 앱, 블루투스) 두 가지 제어 모드를 지원하며, 위치를 기록(프로그래밍)하고 순차 실행(런)하는 기능을 제공합니다. LED, LCD, 부저로 상태 피드백을 주고, 원격에서 알람 트리거도 가능합니다.

사양 및 주요 특징

하드웨어 구성

부품수량비고
아두이노 메가 25601다수 I/O 확보(우노 사용 시 포트 확장 필요)
SainSmart 3축 팔레타이징 로봇 암 키트1서보 3개 포함 (MG995 등 저가 서보 주의)
MeArm 4축 DIY 로봇 암 키트1선택 사항, 4축 지원 시 사용
HC-06 블루투스 모듈1시리얼 통신(9600bps), 안드로이드와 연동
16x2 RGB 백라이트 LCD (아다프루트)1I2C 또는 병렬 인터페이스
로터리 포텐셔미터 10kΩ4로컬 모드에서 각 축 위치 입력용
택트 스위치 12mm3Program, Run, Abort/Mode 전환용
LED (적/청/녹/황)각 1상태 표시용
안드로이드 디바이스1원격 제어 앱 실행용
서보용 외부 전원 (5~6V, 2A+), 470uF 커패시터-아두이노와 분리 필수, 그라운드 공통 연결

로봇 암 자유도(Degrees of Freedom) 정의

회로도

아두이노 메가와 블루투스로 제어하는 프로그래머블 3축 로봇 암 키트

서보 전원은 별도 5~6V 공급, 아두이노와 그라운드 공통. 서보 노이즈 억제를 위해 VCC-GND 사이 470uF 전해 콘덴서 권장. 블루투스 HC-06은 메가 하드웨어 시리얼(Serial1~3 중 하나) 또는 소프트웨어 시리얼로 연결.

소프트웨어 구조 (모듈화된 4개 파일)

1. ArmDefine.h - 상수 및 파라미터 정의

// MeArm 4-DOF 파라미터 예시
#define minGrip 15   #define minBase 0    #define minShou 60  #define minElbw 60
#define maxGrip 45   #define maxBase 170  #define maxShou 180 #define maxElbw 150
#define midGrip 30   #define midBase 87   #define midShou 138 #define midElbw 100

/* SainSmart 3-DOF 파라미터 예시 (주석 처리)
#define minGrip 75  #define minBase 5   #define minShou 5  #define minElbw 0
#define maxGrip 125 #define maxBase 150 #define maxShou 155 #define maxElbw 0
#define midGrip 100 #define midBase 90  #define midShou 90  #define midElbw 0
*/

// 핀 할당, 디바운스 시간, LCD/LED/부저 핀 등 추가 정의

캘리브레이션 요령: 포텐셔미터를 중앙에 두고 PWM 기본값(0/126/255)으로 시작한 뒤, 각 포트를 돌리며 기계적 한계 없이 부드럽게 동작하는 최소/최대 각도를 찾아 위 상수에 반영하세요.

2. MJRoBot_Arm_Robot_Task_Prgm.ino - 메인 로직


// 위치 저장 배열 (최대 100 스텝)
int gripPosition[100], basePosition[100], shouPosition[100], elbwPosition[100];
int positionIndex = 0;

void loop() {
  checkBTcmd();           // 블루투스 명령 수신 파싱
  defineLocalRemote();    // LOCAL/REMOTE 모드 전환, 알람 처리
  execTaskCmd = digitalRead(execTaskPin);
  if (execTaskCmd == HIGH || command == "runon") {
    RunProgram();         // 기록된 시퀀스 실행
  } else {
    recArmPosition();     // 위치 기록 모드 (포텐셔미터/슬라이더 읽기)
  }
  command = "";
}

void RunProgram() {
  // LED/부저 준비 신호, ExecuteTask() 호출
}

void ExecuteTask() {
  for (positionIndex = 0; positionIndex < totalSteps; positionIndex++) {
    armPosition(gripPosition[positionIndex], basePosition[positionIndex],
                shouPosition[positionIndex], elbwPosition[positionIndex]);
    // 스텝 간 딜레이, 중단 버튼 체크 등
  }
}

3. General_Functions.ino - 공통 유틸리티

4. Arm_Ctrl_and_Display.ino - 하드웨어 제어 및 표시

안드로이드 앱 (MIT App Inventor 2)

전체 소스 코드 및 리소스

GitHub: Mjrovai/MJRoBot-Programmed-Arm

제작 시 주의사항

결론

본 프로젝트는 로봇 암의 티칭/플레이백 기초를 저비용으로 체험할 수 있는 훌륭한 교육용 플랫폼입니다. 블루투스 원격 제어와 안드로이드 앱 개발 경험까지 덤으로 얻을 수 있습니다. 더 많은 프로젝트는 블로그 MJRoBot.org를 방문하세요.

제조공정

  1. 아두이노, 1Sheeld, IR 제어로 만능 안드로이드 리모컨 만들기
  2. 산업용 로봇 암이 제조업을 혁신하는 9가지 핵심 이점
  3. 로봇 매니퓰레이터 vs 로봇팔: 핵심 차이점과 유형별 특징 비교
  4. 아두이노 우노로 만드는 LCD 애니메이션 & 게임 기초
  5. 아두이노와 스마트폰으로 만드는 스마트 전압계 – 초간단 DIY 프로젝트
  6. 원격 IoT 제어 커스텀 로봇 팔: 아두이노 MKR1000과 심링크(Simulink) 활용
  7. 아두이노 구동 3D 프린팅 로봇 팔 만들기: 단계별 가이드
  8. 아두이노 메가 기반 닌텐도 눙크 컨트롤 6자유도 로봇 암 키트
  9. 아두이노와 노키아 5110 LCD로 만드는 DIY 전압계 - 단계별 가이드
  10. 스마트 아두이노 제어 로봇 팔 제작: 쉬운 DIY 튜토리얼