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

아두이노용 양극성 스테퍼 모터 종합 라이브러리

부품 및 소모품

부품 수량
아두이노 우노 (Arduino UNO) 1
TI L293D 듀얼 H-브리지 모터 드라이버 1

앱 및 온라인 서비스

프로젝트 개요

기존 단극성(Unipolar) 스테퍼 모터 라이브러리에 이어, 양극성(Bipolar) 스테퍼 모터 전용 라이브러리를 개발했습니다. 산업용 모션 컨트롤 요구사항을 반영해 9가지 핵심 기능을 제공합니다.

아두이노용 양극성 스테퍼 모터 종합 라이브러리

라이브러리 주요 기능

  1. 모든 양극성 스테퍼 모터 제어 가능
  2. 회전 방향 제어 (CW/CCW)
  3. 회전 수 정밀 제어 (1, 2, 3... 회전)
  4. RPM 단위 속도 제어 (95% 정확도)
  5. 목표 각도 회전 (0-360°, 80-100% 정확도)
  6. 모든 아두이노 보드 호환

라이브러리 함수 설명

함수 설명
bi_polar_Stepper(pin1, pin2, pin3, pin4) 모터 드라이버 핀으로 인스턴스 생성
set_step_per_rev(steps) 1회전당 스텝 수 설정 (스텝 각도/해상도)
set_RPM(rpm) 모터 속도 RPM 설정 (95% 정확도)
rotate_CW() 시계 방향 연속 회전 시작
rotate_CCW() 반시계 방향 연속 회전 시작
rotate(dir) 방향 지정 회전 (1=CW, 0=CCW)
rotate_one_rev(dir) 지정 방향으로 정확히 1회전
rotate_n_rev(dir, num) 지정 방향으로 n회전
rotate_x_deg(deg) 지정 각도(0-360°) 회전

사용 예제

예제 1: 60 RPM으로 연속 회전

#include 
#define steps 200  // 모터 사양에 맞게 변경 (1.8° = 200 steps/rev)

bi_polar_Stepper my_step_motor(8, 9, 10, 11);
int rpm = 60;

void setup() {
  Serial.begin(9600);
  Serial.println("bipolar stepper motor library test program");
  my_step_motor.set_step_per_rev(steps);
  my_step_motor.set_RPM(rpm);
  Serial.println("motor rotates clockwise");
}

void loop() {
  my_step_motor.rotate_CW();
}

예제 2: 30 RPM으로 1회전 CW, 1회전 CCW 반복

#include 
#define steps 200

bi_polar_Stepper my_step_motor(8, 9, 10, 11);
int rpm = 30;

void setup() {
  Serial.begin(9600);
  Serial.println("bipolar stepper motor library test program");
  my_step_motor.set_step_per_rev(steps);
  my_step_motor.set_RPM(rpm);
}

void loop() {
  Serial.println("motor rotates clockwise");
  my_step_motor.rotate_one_rev(1);
  delay(1000);
  Serial.println("motor rotates anti-clockwise");
  my_step_motor.rotate_one_rev(0);
  delay(1000);
}

예제 3: 가변 속도/회전 수 제어

#include 
#define steps 200

bi_polar_Stepper my_step_motor(2, 3, 4, 5);
int i;

void setup() {
  Serial.begin(9600);
  Serial.println("Bipolar stepper motor library test program");
  my_step_motor.set_step_per_rev(steps);
}

void loop() {
  my_step_motor.set_RPM(100);
  for(i=0; i<100; i++) my_step_motor.rotate(1);  // CW
  delay(2000);
  my_step_motor.set_RPM(50);
  for(i=0; i<100; i++) my_step_motor.rotate(0);  // CCW
  delay(2000);
}

예제 4: 4회전 CW(20 RPM) → 2회전 CCW(10 RPM)

void loop() {
  my_step_motor.set_RPM(20);
  my_step_motor.rotate_n_rev(1, 4);  // CW 4회전
  delay(2000);
  my_step_motor.set_RPM(10);
  my_step_motor.rotate_n_rev(0, 2);  // CCW 2회전
  delay(2000);
}

예제 5: 90° 왕복 운동 (30 RPM)

#include 
#define motor_steps 200

bi_polar_Stepper my_step_motor(8, 9, 10, 11);
int rpm = 30;

void setup() {
  Serial.begin(9600);
  Serial.println("bipolar stepper motor library test program");
  my_step_motor.set_step_per_rev(motor_steps);
  my_step_motor.set_RPM(rpm);
  Serial.println("motor rotates 90 deg back and forth");
}

void loop() {
  my_step_motor.rotate_x_deg(90);   // 90° CW
  delay(2000);
  my_step_motor.rotate_x_deg(270);  // 90° CCW (상대적)
  delay(2000);
}

회로도

아두이노용 양극성 스테퍼 모터 종합 라이브러리

고전압/대전류 모터의 경우 L293D 대신 L298 칩이나 TIP122/TIP142 같은 다를링턴 트랜지스터 4개 조합으로 드라이버 구성 가능.

테스트된 모터 사양

라이브러리 설치

bi_polar_Stepper 폴더를 아두이노 라이브러리 폴더(예: C:\arduino-1.6.7\libraries)에 복사하면 사용 가능.

제조공정

  1. 가변 자기저항 모터: 유형, 작동 원리 및 응용 분야
  2. 스테퍼 모터: 유형, 특성 및 실용적 응용 분야 완벽 가이드
  3. 통합 드라이버로 고전력 스테퍼 모터 설계 단순화
  4. 센서 텔레메트리 2.0.1: Azure IoT Hub를 활용한 고급 온도 모니터링
  5. Raspoulette: 태양광 자율 닭장 문 시스템 프로토타입
  6. DIY 자율 너프 센트리 터렛 – 스테퍼 모터, 카메라, 아두이노로 스마트 너프건 만들기
  7. 아두이노 우노 스테퍼 모터로 만드는 틴더/범블 자동 스와이퍼
  8. 서보 vs 스테퍼 모터: 현대적 회색 지대 명확히 하기
  9. 리니어 모터 이해: 전기 에너지에서 정밀 직선 운동으로
  10. 서보 모터 설명: 작동 원리와 중요성