42파이 직각형 유성감속 BLDC모터 엔코더 BG42BL42100E1K DC24V — 마이터기어 90도 출력, 위치·속도제어, 감속비 1/4~1/504
  • 42파이 직각형 유성감속 BLDC모터 엔코더 BG42BL42100E1K DC24V — 마이터기어 90도 출력, 위치·속도제어, 감속비 1/4~1/504
  • 42파이 직각형 유성감속 BLDC모터 엔코더 BG42BL42100E1K DC24V — 마이터기어 90도 출력, 위치·속도제어, 감속비 1/4~1/504

42파이 직각형 유성감속 BLDC모터 엔코더 BG42BL42100E1K DC24V — 마이터기어 90도 출력, 위치·속도제어, 감속비 1/4~1/504

출력축이 모터 몸통과 직각(90도)이라 길이 방향 공간이 없는 장비·L자 배치에 적합합니다. 엔코더 내장으로 BLC-400R4E 드라이버와 연결하면 통신으로 각도(0.01도)·속도를 제어하고 읽을 수 있습니다. 감속비 10종 선택, 아두이노 예제 코드 제공. 직선 배치가 가능하면 동일 사양의 PG42BL42100E1K가 더 경제적입니다.
공유
정가
302,500
판매가
278,300
브랜드
motorbank
제조사
(주)로봇마트
모델명
BG42BL42100E1K
구매혜택
할인 : 적립 마일리지 :
배송비
0원 / 주문시결제(선결제) 조건별배송 지역별추가배송비
택배
방문 수령지 : 서울특별시 금천구 디지털로 178(가산동) A동 1115-1116호
상품코드
1000009779
원산지
한국
제품스펙
Φ42 유성감속기어 고출력 BLDC기어드모터 엔코더장착
부가세
부가세 10% 포함가
출시일
2020-02-06
감속비
고정브라켓
아답터
SMPS
구매안내

이 모터를 아두이노로 속도·위치 제어하려면 어떻게 하나요?

PG42BL42100E1K는 엔코더(1000CPR)가 장착된 BLDC 기어드모터로, BLC-400R4E 드라이버와 조합하면 RS485 통신(MC-RS485 프로토콜)으로 속도·위치 제어와 위치·속도·전류 피드백까지 가능합니다. 이 모터 + BLC-400R4E 조합은 자사에서 구동 테스트를 완료한 구성입니다. 아래 예제는 아두이노 우노 + RS485 컨버터(MAX485 등) 기준이며, 결선은 반드시 BLC-400R4E 상세페이지의 결선도를 기준으로 하세요.
RS485 모듈 연결
RO (수신 출력) 아두이노 D10
DI (송신 입력) 아두이노 D11
DE + RE (묶어서) 아두이노 D3
A / B (통신선) BLC-400R4E의 485 단자 (통신이 안 되면 A/B 교차)
VCC / GND 5V / GND (드라이버와 GND 공통)
주의: 모터 전원(DC24V)은 드라이버의 전원 단자로 별도 공급하고, 모든 GND는 공통으로 묶으세요. 모터 상선(U/V/W)·홀센서·엔코더 결선은 드라이버 상세페이지의 결선도를 따르세요 — 엔코더 6선 중 EA−·EB−는 연결하지 않고 절연 처리합니다. 분해능·감속비 등록(c, d 명령)은 반드시 모터 정지·제어 Off 상태에서 실행하세요 — 제어 중 설정 변경은 오작동·과전류의 원인이 됩니다.
//==============================================================
// PG42BL42100E1K + BLC-400R4E 아두이노 RS485 제어 예제 V1.2
// (MC-RS485 프로토콜 V1.0.2 문서 전수 대조 완료)
// 보드: Arduino Uno + RS485 컨버터 모듈(MAX485 등)
//
// [통신 설정] 9600bps(제품 초기값), 8 Data, No Parity, 1 Stop
// [프레임 구조] FF FE | ID | Data크기 | Checksum | Mode | Data...
//   Checksum = ~(ID + Data크기 + Mode + Data바이트 합)의 하위 1바이트
//
// [결선 - MAX485 모듈 기준] ※ 반드시 BLC-400R4E 상세페이지 결선도 기준
//   모듈 RO -> D10 / DI -> D11 / DE+RE(묶음) -> D3
//   모듈 A/B -> 드라이버 485 A/B (통신 안 되면 A/B 교차)
//   모듈 VCC -> 5V, GND -> 아두이노·드라이버 공통
//
// [이 모터 전용 초기 설정] 반드시 제어 Off(E) 상태에서, 명령 간 0.3초 이상 간격:
//   c     : 분해능 등록 - 1000CPR 모터는 CPR/4 규칙에 따라 250이 입력됩니다
//   d14   : 감속비 등록 (★구매 옵션 값 - 예: 1/14 -> d14. 0.1비 단위로 자동 환산)
//   설정은 EEPROM에 기록되므로 최초 1회만 하면 되고, 등록 후에는
//   위치(도)·속도(RPM)가 감속기 출력축 기준으로 동작합니다.
//
// [시리얼 모니터 사용법] (9600bps, "새 줄" 설정)
//   e / E : 제어 On / Off (Off 상태에서는 제어 명령이 무시됩니다)
//   f1000 : CW  100.0RPM (0.1RPM 단위, 도달시간 1초 가감속)
//   r500  : CCW  50.0RPM
//   s     : 감속 정지
//   g9000 : CW  90.00도 위치 이동 (0.01도 단위, 절대위치 0~655.33도)
//   G9000 : CCW 90.00도 위치 이동
//   z     : 현재 위치를 0으로 초기화 (제어 Off 상태에서 권장)
//   p / v : 위치 / 속도 피드백 요청
//==============================================================
#include <SoftwareSerial.h>

const int RS485_RX = 10, RS485_TX = 11, RS485_EN = 3;
const byte MOTOR_ID = 0x00;   // 제품 초기 ID 0x00 (변경했다면 수정)
const unsigned int ENC_PPR = 250;   // 1000CPR / 4 (프로토콜 규칙: CPR은 4로 나눠 입력)

SoftwareSerial rs485(RS485_RX, RS485_TX);

// 프레임 송신: mode + data -> 헤더/크기/체크섬 자동 구성
void sendFrame(byte mode, const byte *data, byte dlen) {
  byte size = dlen + 2;                    // Mode + Data + Checksum
  int sum = MOTOR_ID + size + mode;
  for (byte i = 0; i < dlen; i++) sum += data[i];
  byte chk = (~sum) & 0xFF;

  byte f[16]; byte n = 0;
  f[n++] = 0xFF; f[n++] = 0xFE;
  f[n++] = MOTOR_ID; f[n++] = size; f[n++] = chk; f[n++] = mode;
  for (byte i = 0; i < dlen; i++) f[n++] = data[i];

  while (rs485.available()) rs485.read();  // 수신버퍼 비우기
  digitalWrite(RS485_EN, HIGH);
  rs485.write(f, n);
  rs485.flush();
  digitalWrite(RS485_EN, LOW);

  Serial.print(F("TX:"));
  for (byte i = 0; i < n; i++) { Serial.print(' '); if (f[i]<16) Serial.print('0'); Serial.print(f[i], HEX); }
  Serial.println();
}

// 수신 프레임 읽기 + 위치/속도 피드백(0xD1/0xD2) 해석
void readFeedback() {
  byte buf[24]; byte n = 0;
  unsigned long t0 = millis();
  while (millis() - t0 < 300 && n < 24) {
    if (rs485.available()) buf[n++] = rs485.read();
  }
  if (n == 0) { Serial.println(F("RX: (응답 없음 - 결선/ID/전원 확인)")); return; }
  Serial.print(F("RX:"));
  for (byte i = 0; i < n; i++) { Serial.print(' '); if (buf[i]<16) Serial.print('0'); Serial.print(buf[i], HEX); }
  Serial.println();
  for (int i = n - 4; i >= 0; i--) {
    if (buf[i] == 0xFF && buf[i+1] == 0xFE) {
      byte mode = buf[i+5];
      if ((mode == 0xD1 || mode == 0xD2) && i + 11 < (int)n + 1) {
        byte dir = buf[i+6];
        unsigned int a = ((unsigned int)buf[i+7] << 8) | buf[i+8];
        unsigned int b = ((unsigned int)buf[i+9] << 8) | buf[i+10];
        byte cur = buf[i+11];
        if (mode == 0xD1) {  // 위치 피드백: 위치[0.01도] 속도[0.1RPM] 전류[100mA]
          Serial.print(F("위치: ")); Serial.print(dir ? F("CW ") : F("CCW "));
          Serial.print(a / 100.0); Serial.print(F("도, 속도 "));
          Serial.print(b / 10.0); Serial.print(F("RPM, 전류 "));
          Serial.print(cur * 0.1); Serial.println(F("A"));
        } else {             // 속도 피드백: 속도[0.1RPM] 위치[0.1도] 전류[100mA]
          Serial.print(F("속도: ")); Serial.print(dir ? F("CW ") : F("CCW "));
          Serial.print(a / 10.0); Serial.print(F("RPM, 위치 "));
          Serial.print(b / 10.0); Serial.print(F("도, 전류 "));
          Serial.print(cur * 0.1); Serial.println(F("A"));
        }
      }
      break;
    }
  }
}

void speedMove(byte dir, unsigned int spd01rpm, byte time01s) {   // 가감속 속도제어 0x03
  byte d[4] = { dir, (byte)(spd01rpm >> 8), (byte)(spd01rpm & 0xFF), time01s };
  sendFrame(0x03, d, 4);
}
void posMove(byte dir, unsigned int pos001deg, byte time01s) {    // 가감속 위치제어 0x02
  byte d[4] = { dir, (byte)(pos001deg >> 8), (byte)(pos001deg & 0xFF), time01s };
  sendFrame(0x02, d, 4);
}
void setU16(byte mode, unsigned int v) {                          // 2바이트 설정값 송신
  byte d[2] = { (byte)(v >> 8), (byte)(v & 0xFF) };
  sendFrame(mode, d, 2);
}
void ctrlOnOff(bool on) {                                         // 제어 On/Off 0x0C
  byte d[1] = { on ? (byte)0x00 : (byte)0x01 };
  sendFrame(0x0C, d, 1);
}

void setup() {
  Serial.begin(9600);
  rs485.begin(9600);                 // 제품 초기값 9600bps
  pinMode(RS485_EN, OUTPUT);
  digitalWrite(RS485_EN, LOW);
  Serial.println(F("PG42BL42100E1K + BLC-400R4E ready. (V1.2)"));
  Serial.println(F("초기 1회(제어 Off 상태에서): c(분해능) d<감속비> | e/E f1000 r500 s g9000 G9000 z p v"));
}

void loop() {
  if (!Serial.available()) return;
  String cmd = Serial.readStringUntil('\n');
  cmd.trim();
  if (cmd.length() == 0) return;
  char c = cmd.charAt(0);
  long v = cmd.substring(1).toInt();
  switch (c) {
    case 'e': ctrlOnOff(true);  Serial.println(F("제어 On"));  break;
    case 'E': ctrlOnOff(false); Serial.println(F("제어 Off")); break;
    case 'f': speedMove(0x01, constrain(v, 1, 65533), 10); break;        // CW, 도달 1.0s
    case 'r': speedMove(0x00, constrain(v, 1, 65533), 10); break;        // CCW
    case 's': speedMove(0x01, 1, 5); delay(600); speedMove(0x01, 1, 1);
              Serial.println(F("감속 정지")); break;
    case 'g': posMove(0x01, constrain(v, 0, 65533), 10); break;          // CW 위치
    case 'G': posMove(0x00, constrain(v, 0, 65533), 10); break;          // CCW 위치
    case 'c': setU16(0x0A, ENC_PPR);   // 분해능 설정(10번) - EEPROM 기록, 제어 Off에서
              Serial.println(F("분해능 등록: 1000CPR -> 250 입력 (CPR/4 규칙)")); break;
    case 'd': if (v < 1) { Serial.println(F("감속비를 입력하세요 (예 d14)")); return; }
              setU16(0x0B, (unsigned int)(v * 10));   // 감속비 설정(11번) - 0.1비 단위
              Serial.print(F("감속비 1/")); Serial.print(v);
              Serial.print(F(" 등록 (전송값 ")); Serial.print(v * 10); Serial.println(F(")")); break;
    case 'z': sendFrame(0x0F, nullptr, 0); Serial.println(F("위치 0 초기화 (15번 명령)")); break;
    case 'p': sendFrame(0xA1, nullptr, 0); readFeedback(); return;
    case 'v': sendFrame(0xA2, nullptr, 0); readFeedback(); return;
    default:  Serial.println(F("? e/E c d14 f1000 r500 s g9000 G9000 z p v")); return;
  }
  readFeedback();  // 명령 후 응답/에코 로그 표시
}
최초 1회, 제어 Off(E) 상태에서 c(분해능)와 d14처럼 구매하신 감속비를 등록하세요 — 설정은 EEPROM에 기록되며 연속 설정 시 0.3초 이상 간격이 필요합니다. 분해능은 프로토콜 규칙(CPR÷4)에 따라 1000CPR → 250이 자동 입력되고, 감속비는 0.1비 단위로 자동 환산됩니다. 등록 후에는 속도(0.1RPM 단위, f1000 = 100.0RPM)와 위치(0.01도 단위, 절대위치 0~655.33도)가 감속기 출력축 기준으로 동작합니다. 송수신 HEX 로그가 출력되므로 문제 발생 시 로그를 상품문의에 붙여 주시면 빠르게 확인해 드립니다.
필요한 구성 — 본품(감속비 옵션 선택) + BLC-400R4E 드라이버 → + 아두이노 UNO + RS485 컨버터 모듈(별도 준비)
동작이 안 되면 상품문의 게시판에 ①구매하신 감속비 옵션 ②결선 사진 ③시리얼 모니터의 TX/RX 로그를 남겨 주세요. 기술팀이 확인해 드립니다.
작성: MotorBank 기술팀 · 최종 업데이트: 2026-08-16
bg42bl4281e1k_174702.jpg
bg42bl4281e1k_side_174707.jpg

spec_112633.jpg
encoder-wiring-diagram_104330.jpg

 








cfae4ddb89952bb9.jpg









dd5d8afb7127bad0.jpg

b8fe5394a08e9a8c.jpg

encoder_2_163737.jpg
encoder_163738.jpg

BLDCDriver_163810.jpg
BLDCDriver_1_163810.jpg












배송안내




  배송안내
  1. 총 결제 금액 15만원 이상 구매 시 무료배송, 15만원 미만일 경우 배송비 3,500원이 추가됩니다.
  2. 배송은 CJ대한통운 택배를 이용하고 있습니다.
  3. 주문 제작, 주문 발주, 조립제품의 경우 7일~14일 정도 소요될 수 있습니다.
  4. 배송 상황은 대한통운 홈페이지에서 확인 가능합니다.
  5. 퀵으로 배송받으실 경우, 지불하신 택배비는 환불되지 않습니다.
    6. 15만원이상 구매시 저희가 부담했던 택배비에 대해서, 단순변심에 의한 취소는 처음발송시의택배비 차감하고 환불처리 됩니다.
    7. 구매하신 제품의 크기(부피 또는 길이)에 따라 기본 배송비 외에 추가 비용이 발생할 수 있습니다(실제 비용 측정 후 안내).
  

  교환, 반품이 불가한 경우
  1. 상품 개봉으로 인한 상품 가치 훼손 시에는 7일 이내라도 교환·반품이 불가능합니다.
  2. 주문 제작, 조립제품의 경우 7일 이내이더라도 교환·반품이 불가능합니다.
  3. 전압이 단 1회라도 인가된 경우 교환·반품이 불가능합니다. 단순변심은 절대 박스를 개봉하지 않은 상태로 반품처리 진행하시기 바랍니다.
  4. 반드시 선불 택배로 보내셔야 하며, 착불일 경우 반송처리 됩니다.
  5. 일부 상품은 신모델 출시, 부품 가격 변동 등 제조사 사정으로 가격이 변동될 수 있습니다. 
  6. 박스 개봉시 절대 반품,교환이 불가하오니, 단순변심의 경우 절대 포장을 개봉하지 마세요.

  유의사항
  1. 공급 제조사는 재고 사정에 따라 동일 사양의 대체상품으로 공급될 수 있으며, 사용자께서는 사용 전 반드시 제품에 대한 테스트 및 확인 절차 후 사용하시기 바랍니다. 
  2. 상기 제품에 첨부된 데이터시트는 참고사항 입니다.
  3. 데이터시트에 표기된 내용에 대하여 본사는 어떠한 기술적인 문의 및 발생하는 문제에 대한 법적인 책임을 지지 않습니다. 
  4. 제공되는 스펙과 모양은 별도의 공지없이 변경될 수 있습니다.



  구매 전 주의사항 (주의사항을 읽지 않고 구매 시 발생하는 문제는 당사가 책임지지 않습니다.)
  - ​감속기 장착 조립제품 및 PCB 조립제품 등은 결제 후 절대 변경,취소,교환되지 않습니다. 결제하시기 전 신중히 선정하시기 부탁드립니다. 
     -  저희는 B2B 전문 쇼핑몰입니다.  또한 KC를 받지 않아도 되는 산업용부품을 대부분 판매중입니다. 
    - 판매제품은 완제품이 아닌 부품입니다. 약간의 차이, 피복 등으로 인한 환불,교환,AS는 불가합니다.
  

교환 및 반품안내

- 상품 스티커제거 또는 전압인가, 샤프트 물림으로 상품 가치 훼손 시에는 상품수령후 7일 이내라도 교환 및 반품이 불가능합니다.

- 저단가 상품, 일부 특가 상품은 고객 변심에 의한 교환, 반품은 고객께서 초기,왕복배송비를 부담하셔야 합니다(제품의 하자,배송오류는 제외)

- 일부 상품은 원자재값 상승, 부품가격 변동 등 제조사 사정으로 가격이 변동될 수 있습니다.

※ 저희 취급품들은 모두 산업용 부품으로 자동화 라인에서 로봇에 의해 생산되며, 생산과 동시에 품질체크를 합니다. 생산 완료 후에는 QC룸, 에이징 테스트, 모든 테스트에서

통과한 제품이고, 쇼핑몰 판매 특성 상 제품 출하 전 다시 한번 전수 검사를 합니다. 

제품은 CJ대한통운에 위탁하며, 제품 배송 중 발생한 파손은 처리가 가능하오나 그외 사용 중 파손, 전원을 바꿔 인가해 드라이버 훼손으로 인한 불량, 제품 테스트 중 발생한 불량은

저희가 책임지지 않습니다. 또한 반품,교환 불가합니다.

- 특조 제품, 조립제품 등은 인수 후에는 교환/반품기간내라도 교환 및 반품이 불가능 합니다. 

- 교환/환불 불가라고 표시된 제품은 인수 후에는 교환/반품기간내라도 교환 및 반품이 불가능 합니다. 

- 단순변심에 의한 반품,교환으로 다시 저희에게 보내주실 경우, 받으신 상태 그대로 포장하여 보내주시기 바랍니다. 포장상태 불량으로 운송 중 제품이 훼손된 경우 

교환 및 반품이 불가능 합니다.

- 일부 특가 상품의 경우, 인수 후에는 제품 하자나 오배송의 경우를 제외한 고객님의 단순변심에 의한 교환, 반품이 불가능할 수 있사오니, 각 상품의 상품상세정보를 꼭 참조하십시오. 

환불안내

- 상품 청약철회 가능기간은 상품 수령일로 부터 7일 이내 입니다.

※ 본제품은 산업용 부품으로 기업체에서는 이 분야 전문가가 수십개의 샘플들을 구입하여 오랜 기간 수십가지 항목의 성능과 적합성을 

테스트한 후에 결정하고, 만족하면, 수백, 수천또는 수만개씩 구입하는 전문지식이 필요한 제품입니다. 

전문적 지식이 필요한 전자, 전기, 기계 부품의 특성상 제품이 불량이거나, 주문한 제품과 다른 제품인 경우를 제외하고, 제품의 하자가 없을 경우, 

이미 사용한 제품을 고객의 단순 변심으로 교환, 반품, A/S 불가합니다.  

 

또한, 산업용 부품은 공산품처럼 인지 상품이 아니라서, 전문적 지식이 없는 개인 사용자나 초보자는 구입 먼저하고 

원하는 성능과 기대에 부합하지 않으면, 무조건 반품이나 교환을 요구하여 이로인한 손실로 택배비, 결제수수료, 포장비등의 비용을  

구제 받을 길이 없어, 잘 모르시는 분들에게는 쇼핑몰로 판매를 안하고, 전문가나 기업체들과 같이 반품이나 교환,환불을  

요구하지 안는다면 구입하셔도 됩니다. 

AS안내

- 책임 제한 고지

일반적으로 제조사/판매사는 2차 피해(기구 손상 등)에 대한 법적 책임을 지지 않음을 설명합니다.

“당사의 제품을 사양 범위를 벗어나 사용함으로 인해 발생한 간접적 손해(기기 손상, 시스템 장애 등)에 대해서는 보상 책임이 없음을 구매 약관 및 계약서에 명시하고 있습니다.”


- 소비자분쟁해결 기준(공정거래위원회 고시)에 따라 피해를 보상받을 수 있습니다.

- A/S는 판매자에게 문의하시기 바랍니다.

※ 본제품은 산업용 부품으로 기업체에서는 이 분야 전문가가 수십개의 샘플들을 구입하여 오랜 기간 수십가지 항목의 성능과 적합성을 

테스트한 후에 결정하고, 만족하면, 수백, 수천또는 수만개씩 구입하는 전문지식이 필요한 제품입니다. 

전문적 지식이 필요한 전자, 전기, 기계 부품의 특성상 제품이 불량이거나, 주문한 제품과 다른 제품인 경우를 제외하고, 제품의 하자가 없을 경우, 

이미 사용한 제품을 고객의 단순 변심으로 교환, 반품, A/S 불가합니다.  

 

또한, 산업용 부품은 공산품처럼 인지 상품이 아니라서, 전문적 지식이 없는 개인 사용자나 초보자는 구입 먼저하고 

원하는 성능과 기대에 부합하지 않으면, 무조건 반품이나 교환을 요구하여 이로인한 손실로 택배비, 결제수수료, 포장비등의 비용을  

구제 받을 길이 없어, 잘 모르시는 분들에게는 쇼핑몰로 판매를 안하고, 전문가나 기업체들과 같이 반품이나 교환,환불을  

요구하지 안는다면 구입하셔도 됩니다. 

 

※ 전압, 토크,속도,전류,파워,샤프트 도면은 원하시는 스펙에 맞게 바뀔 수 있습니다. 대량구매시 전화문의 바랍니다.  

YOU MAY ALSO LIKE 함께 구매하면 좋을 관련상품 모음

이미지 확대보기42파이 직각형 유성감속 BLDC모터 엔코더 BG42BL42100E1K DC24V — 마이터기어 90도 출력, 위치·속도제어, 감속비 1/4~1/504

42파이 직각형 유성감속 BLDC모터 엔코더 BG42BL42100E1K DC24V — 마이터기어 90도 출력, 위치·속도제어, 감속비 1/4~1/504
  • 42파이 직각형 유성감속 BLDC모터 엔코더 BG42BL42100E1K DC24V — 마이터기어 90도 출력, 위치·속도제어, 감속비 1/4~1/504
  • 42파이 직각형 유성감속 BLDC모터 엔코더 BG42BL42100E1K DC24V — 마이터기어 90도 출력, 위치·속도제어, 감속비 1/4~1/504
닫기

비밀번호 인증

글 작성시 설정한 비밀번호를 입력해 주세요.

닫기

장바구니 담기

상품이 장바구니에 담겼습니다.
바로 확인하시겠습니까?

찜 리스트 담기

상품이 찜 리스트에 담겼습니다.
바로 확인하시겠습니까?