고속 리니어스테이지 스테핑모터 일체형 LSM7-NK237625-1605  브레이크장착가능
  • 고속 리니어스테이지 스테핑모터 일체형 LSM7-NK237625-1605  브레이크장착가능

고속 리니어스테이지 스테핑모터 일체형 LSM7-NK237625-1605 브레이크장착가능

속도 mm/s : 70
리드 mm : 5
스크류 직경 mm: 16
정격추력 N: 753
공유
판매가
382,000
모델명
LSM7-NK237625-1605
구매혜택
할인 : 적립 마일리지 :
배송비
0원 / 주문시결제(선결제) 조건별배송 지역별추가배송비
택배
방문 수령지 : 서울특별시 금천구 디지털로 178(가산동) A동 1115-1116호
상품코드
1000036717
옵션 타입
스트로크
구매안내

아두이노 제어 예제 — 포토센서 리미트·원점복귀 포함 (복사해서 바로 사용)

본 스테이지의 포토센서는 드라이버가 아니라 아두이노에 연결합니다 — MSD-224에는 리미트 입력 기능이 없으므로, 아두이노가 센서를 감시하다가 감지 즉시 펄스를 멈추는 소프트웨어 리미트 방식입니다. 이 구조 덕분에 원점복귀(호밍)까지 가능합니다: 센서 방향으로 저속 이동 → 감지 → 그 자리를 0점으로 설정 → 이후 스텝 단위 위치 이동. 이동거리 환산: mm = 스텝 수 × 리드 ÷ 회전당 스텝 수.
센서 추가·교체: 포토센서 SN04-A(NPN/PNP 선택) → · 근접센서 SN04-N(험한 환경용) → — 선택 기준·배선 상세는 SN04-A 페이지의 센서 가이드 참조
결선: D9→PUL+ / D6→DIR+ / GND→PUL−·DIR−(모터 전원은 SMPS 별도), 포토센서(3선식)는 갈색→센서 전원(DC24V 별도), 파란색→GND(아두이노와 공통), 검정 신호선→왼쪽(원점) D7·오른쪽 D8. 업로드 후 시리얼 모니터(9600bps, "새 줄")에서 h(호밍) → m2000·M2000(스텝 이동, 리미트 감시) / f·r(연속 이동, 센서·s로 정지) / t(센서 상태·현재 위치)로 조작합니다. NPN 옵션(기본)은 그대로, PNP 옵션 구매 시 SENSOR_ACTIVE_LOW를 0으로, 이동 방향이 반대면 DIR_CW_LEVEL을 바꿔 업로드하세요 — 결선 수정 없이 코드 두 줄로 맞출 수 있습니다.
//==============================================================
// MotorBank 리니어 스테이지(포토센서 리미트 포함) + MSD-224 아두이노 예제 V1.0
// 구조: MSD-224는 리미트 입력이 없으므로, 포토센서를 "아두이노"가 읽고
//       감지 즉시 펄스를 멈추는 소프트웨어 리미트 방식입니다.
// 기능: 원점복귀(호밍) / 위치 이동(리미트 감시) / 연속 이동(리미트 감시) / 센서 상태 확인
// 보드: Arduino Uno
//
// [드라이버 결선] 아두이노 -> MSD-224 (제어신호 3.3~24V)
//   D9 -> PUL+ / D6 -> DIR+ / GND -> PUL-, DIR-  (ENA 미사용 시 미연결)
//   모터 전원(SMPS)은 드라이버에 별도 공급
//
// [포토센서 결선 - SN04-A/SN04-N 기준(3선식)]
//   갈색 = 센서 전원(+, DC24V 별도 공급) / 파란색 = 전원(-, 아두이노 GND와 공통)
//   검정색(신호): 왼쪽(원점) 센서 -> D7 / 오른쪽 센서 -> D8 (내부 풀업 사용)
//   NPN 옵션: 감지 시 신호가 LOW (아두이노 표준 - 기본값)
//   PNP 옵션 구매 시에는 아래 값을 0으로 변경
#define SENSOR_ACTIVE_LOW 1   // 1: NPN(감지=LOW) / 0: PNP(감지=HIGH)
//
// [방향 기준] 본 예제는 CW(DIR HIGH)=오른쪽 이동, CCW=왼쪽(원점 방향)으로 가정.
//   실제 이동 방향이 반대면 DIR_CW_LEVEL을 LOW로 변경.
#define DIR_CW_LEVEL HIGH
//
// [이동량 환산] 이동거리(mm) = 스텝 수 x 리드(mm) / 회전당 스텝 수(분주 설정)
//
// [시리얼 모니터 사용법] (9600bps, "새 줄" 설정)
//   h      : 호밍 - 왼쪽 센서 감지까지 저속 이동 후 그 자리를 원점(0)으로
//   m2000  : 오른쪽으로 2000스텝 이동(오른쪽 센서 감지 시 즉시 정지)
//   M2000  : 왼쪽으로 2000스텝 이동(왼쪽 센서 감지 시 즉시 정지)
//   f / r  : 오른쪽/왼쪽 연속 이동(센서 감지 또는 s 입력 시 정지)
//   s      : 정지
//   t      : 좌우 센서 현재 상태 표시
//==============================================================
const int PUL_PIN = 9, DIR_PIN = 6;
const int SENS_L = 7, SENS_R = 8;      // 왼쪽(원점)/오른쪽 포토센서
const unsigned int HALF_US_RUN  = 240; // 일반 이동 약 2kHz
const unsigned int HALF_US_HOME = 600; // 호밍 저속 약 0.8kHz

long position = 0;                     // 원점 기준 현재 위치(스텝, 오른쪽 +)
bool homed = false;

bool sensL() { return digitalRead(SENS_L) == (SENSOR_ACTIVE_LOW ? LOW : HIGH); }
bool sensR() { return digitalRead(SENS_R) == (SENSOR_ACTIVE_LOW ? LOW : HIGH); }

void setDir(bool right) { digitalWrite(DIR_PIN, right ? DIR_CW_LEVEL : !DIR_CW_LEVEL); delayMicroseconds(10); }

// 리미트 감시하며 스텝 이동. 이동한 스텝 수 반환(센서·s 입력 시 조기 종료)
long moveSteps(bool right, long steps, unsigned int halfUs) {
  setDir(right);
  long done = 0;
  for (; done < steps; done++) {
    if (right ? sensR() : sensL()) { Serial.println(F("! 리미트 감지 - 정지")); break; }
    if (Serial.available() && Serial.peek() == 's') break;
    digitalWrite(PUL_PIN, HIGH); delayMicroseconds(halfUs);
    digitalWrite(PUL_PIN, LOW);  delayMicroseconds(halfUs);
  }
  position += right ? done : -done;
  return done;
}

void home() {
  Serial.println(F("호밍: 왼쪽 센서 방향 저속 이동..."));
  if (!sensL()) moveSteps(false, 2000000L, HALF_US_HOME);   // 감지까지 이동
  if (sensL()) {
    position = 0; homed = true;
    Serial.println(F("원점 설정 완료 (position = 0)"));
  } else Serial.println(F("호밍 실패 - 센서 결선·SENSOR_ACTIVE_LOW 확인"));
}

void setup() {
  pinMode(DIR_PIN, OUTPUT); pinMode(PUL_PIN, OUTPUT);
  pinMode(SENS_L, INPUT_PULLUP); pinMode(SENS_R, INPUT_PULLUP);
  Serial.begin(9600);
  Serial.println(F("LSM+MSD-224 ready. h m2000 M2000 f r s t"));
}

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 = constrain(cmd.substring(1).toInt(), 1, 2000000L);
  switch (c) {
    case 'h': home(); break;
    case 'm': { long d = moveSteps(true,  v, HALF_US_RUN);
                Serial.print(F("+")); Serial.print(d); Serial.print(F(" steps, pos=")); Serial.println(position); } break;
    case 'M': { long d = moveSteps(false, v, HALF_US_RUN);
                Serial.print(F("-")); Serial.print(d); Serial.print(F(" steps, pos=")); Serial.println(position); } break;
    case 'f': Serial.println(F("연속 우측 이동(센서/s로 정지)")); moveSteps(true,  2000000L, HALF_US_RUN);
              Serial.print(F("pos=")); Serial.println(position); break;
    case 'r': Serial.println(F("연속 좌측 이동(센서/s로 정지)")); moveSteps(false, 2000000L, HALF_US_RUN);
              Serial.print(F("pos=")); Serial.println(position); break;
    case 's': Serial.println(F("STOP")); break;
    case 't': Serial.print(F("왼쪽 센서: ")); Serial.print(sensL() ? F("감지") : F("-"));
              Serial.print(F(" / 오른쪽 센서: ")); Serial.print(sensR() ? F("감지") : F("-"));
              Serial.print(F(" / pos=")); Serial.print(position);
              Serial.println(homed ? F(" (호밍됨)") : F(" (호밍 전)")); break;
    default:  Serial.println(F("? h m2000 M2000 f r s t"));
  }
}
작성: MotorBank 기술팀 · 아두이노 우노 기준 · 최종 업데이트: 2026-08-14

b8b9a4113799d192aa73634f846e1e67_162214.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는 불가합니다.
  

이미지 확대보기고속 리니어스테이지 스테핑모터 일체형 LSM7-NK237625-1605 브레이크장착가능

고속 리니어스테이지 스테핑모터 일체형 LSM7-NK237625-1605  브레이크장착가능
  • 고속 리니어스테이지 스테핑모터 일체형 LSM7-NK237625-1605  브레이크장착가능
닫기

비밀번호 인증

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

닫기

장바구니 담기

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

찜 리스트 담기

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