• WGM45B-BL4266 DC24V BLDC웜기어드모터 브론즈기어 더블샤프트

WGM45B-BL4266 DC24V BLDC웜기어드모터 브론즈기어 더블샤프트

배송정보
3,500원 (조건부배송) 지역별 추가배송 주문시결제(선결제)
택배
구매안내

BDD-480을 아두이노로 제어하려면 어떻게 하나요?

가장 간단한 구성은 MAS-001 확장쉴드를 아두이노 우노에 꽂고 BDD-480을 장착하는 방식입니다. 아래 코드를 업로드하면 쉴드의 볼륨으로 속도, BTN1으로 구동, BTN2로 회전 방향을 제어할 수 있습니다. BDD-480은 BDD-240과 같은 제조사의 형제 모델로 핀맵·제어 방식이 동일하므로(차이는 전원 전압과 출력 용량), 라이브러리의 bdd240 클래스를 그대로 사용합니다.
// BDD-480 BLDC 드라이버 아두이노 제어 예제 (MAS-001 사용)
// BTN1: 구동 / BTN2: 방향 전환 / 볼륨: 속도 조절
// BDD-240과 같은 제어 방식(EN/방향/속도 PWM)이므로 bdd240 클래스를 사용합니다.

#include "mas001.h"
#include "bdd240.h"

MAS001 myShield;
BDD240 myDevice;   // BDD-480에 그대로 적용

void setup() {
  myDevice.init();      // Timer1 초기화 - 반드시 setup()에서 호출
  Serial.begin(115200);
}

void loop() {

  if (myShield.button1Clicked()) {       // BTN1 누르는 동안 구동
    myDevice.enable(LOW);

    if (myShield.button2Clicked()) {     // BTN2로 방향 전환
      myDevice.setSpeed((float)myShield.getPot() * 0.098);   // 정방향 0~100%
    } else {
      myDevice.setSpeed(-(float)myShield.getPot() * 0.098);  // 역방향 0~100%
    }

  } else {                               // 버튼을 놓으면 정지
    myDevice.enable(HIGH);
    myDevice.setSpeed(0);
  }

  delay(100);
}

MAS-001 없이 아두이노 UNO만으로도 제어할 수 있나요?

가능합니다. BDD-480의 제어부는 속도(VSP, 0~5V PWM), 기동/정지(EN), 속도 출력(FG)으로 구성되며, 아래 표처럼 직접 결선하면 같은 라이브러리로 제어할 수 있습니다. 신호 레벨은 5V 기준이며, 3.3V 보드(라즈베리파이·ESP32 등)도 동작은 하지만 최고 속도 등 스펙이 낮아지므로 5V 레벨 사용을 권장합니다.
BDD-480 신호 아두이노 UNO
VSP (속도 지령, 0~5V PWM) D9
EN (기동/정지) D5
DIR (방향) D6
FG (속도 펄스 출력, 선택) D2
GND GND (공통 연결 필수)
주의: 모터 전원(DC 24V 이상, 제품 사양 범위 내)은 드라이버의 전원 단자에 별도로 연결하고, 아두이노와 드라이버의 GND는 반드시 공통으로 묶으세요. 모터는 드라이버 정격(10A) 대비 여유 있게 선정해야 하며, 정격이 딱 10A인 모터는 과부하 알람(레드 LED 4회 점멸)으로 정지할 수 있습니다. 브레이크 기능은 없으며 EN을 통한 기동·정지만 가능합니다.
// BDD-480 직결 제어 예제 (MAS-001 없이 아두이노 UNO만 사용)
// 결선: VSP->D9(속도 PWM), EN->D5, 방향 단자->D6, GND 공통
//       FG->D2 (속도 펄스 측정, 선택)  ※ 모터 전원(DC 24V 이상)은 드라이버에 별도 연결
// 같은 핀을 사용하므로 MotionTree-MAS 라이브러리(bdd240.h)를 그대로 사용합니다.
// 시리얼 모니터(115200bps)에서 명령 입력:
//   f / r : 정방향 / 역방향 구동
//   s     : 정지
//   t<n>  : 속도 설정 0~100% (예 t40)
//   e / E : EN 신호 LOW(구동 허가) / HIGH
//   g     : FG 펄스 주파수 출력 (속도 확인)

#include "bdd240.h"   // 라이브러리 설치는 위 깃허브 저장소 참고

BDD240 myDevice;

const int PIN_FG = 2;                 // FG 입력 (인터럽트 0)
volatile unsigned long fgCount = 0;
float duty = 30;                      // 속도 기본값(%)
int dir = 1;                          // 1=정방향, -1=역방향

void fgISR() { fgCount++; }

void setup() {
  myDevice.init();                    // Timer1 초기화 (D9 = 100Hz PWM)
  pinMode(PIN_FG, INPUT_PULLUP);
  attachInterrupt(digitalPinToInterrupt(PIN_FG), fgISR, RISING);
  Serial.begin(115200);
  Serial.setTimeout(50);
  myDevice.enable(HIGH);              // 대기 상태로 시작
  Serial.println(F("BDD-480 Direct Ready. f/r/s/t/e/E/g"));
}

void loop() {
  if (!Serial.available()) return;
  char c = Serial.read();

  switch (c) {
    case 'f': dir = 1;  myDevice.enable(LOW); myDevice.setSpeed(duty);  Serial.println(F("정방향 구동")); break;
    case 'r': dir = -1; myDevice.enable(LOW); myDevice.setSpeed(-duty); Serial.println(F("역방향 구동")); break;
    case 's': myDevice.setSpeed(0); Serial.println(F("정지")); break;
    case 't': {
      long v = Serial.parseInt();
      if (v < 0 || v > 100) { Serial.println(F("범위 0~100")); break; }
      duty = (float)v;
      myDevice.setSpeed(duty * dir);  // 구동 중이면 즉시 반영
      Serial.print(F("속도: ")); Serial.print(v); Serial.println(F("%"));
      break;
    }
    case 'e': myDevice.enable(LOW);  Serial.println(F("EN=LOW (구동 허가)")); break;
    case 'E': myDevice.enable(HIGH); Serial.println(F("EN=HIGH")); break;
    case 'g': {                       // 1초간 FG 펄스 수 = 주파수(Hz)
      noInterrupts(); fgCount = 0; interrupts();
      delay(1000);
      noInterrupts(); unsigned long hz = fgCount; interrupts();
      Serial.print(F("FG: ")); Serial.print(hz); Serial.println(F(" Hz"));
      // RPM 환산은 모터 극수에 따라 다릅니다. 설명서의 FG 사양을 참고하세요.
      break;
    }
    default: break;
  }
}
g 명령으로 출력되는 FG 주파수(Hz)를 RPM으로 환산하려면 모터 극수에 따른 계수가 필요합니다 — 사용설명서의 FG 사양을 참고하세요. 라이브러리(bdd240.h)와 전체 예제는 깃허브 MotionTree-MAS 저장소에서 내려받을 수 있습니다. (아두이노 IDE → 스케치 → 라이브러리 포함하기 → .ZIP 라이브러리 추가)
필요한 구성BDD-480 드라이버 → + BLDC모터(정격 10A 이하) + 아두이노 UNO(별도 준비) + 쉴드 사용 시 MAS-001 →
동작이 안 되거나 알람(레드 LED 점멸)이 반복되면 상품문의 게시판에 ①사용하시는 모터 모델명과 홀센서/센서리스 여부 ②전원 전압 ③점멸 횟수와 시리얼 모니터 출력을 남겨 주세요. 기술팀이 확인해 드립니다.
작성: MotorBank 기술팀 · 최종 업데이트: 2026-08-16


wbgm45ds-bl4266_175442.jpg

 

 

비밀번호 인증

비밀번호를 입력해 주세요.

확인