STEP MOTOR
이전에 알아봤던 서브 모터(SG90)와는 달리 스텝 모터는 360도 많은 회전을 할 수 있습니다. 스텝 모터는 step 상태에서 옆 그림과 같이 pulse에 순서가 부여되면 주어진 펄스 수만큼 비례해서 각도가 회전하는 방식입니다. 스텝 모터는 입력 신호에 따라서 일정한 각도를 회전하기 때문에 복잡한 제어를 하지 않고 간단하게 제어를 할 수 있습니다. 그리고 모터의 회전 속도는 입력 펄스 신호의 주파수에 따라서 비례하는 것이 특징입니다.
스텝 모터는 다른 모터에 비해서 정지시 큰 유지 토크가 있기 때문에 전자 브레이크 등의 위치 유지 기구를 필요로 하지 않습니다. 또한 지속적인 높은 토크 운전을 할 수 있습니다.
아두이노에서 스텝모터를 구동하기 위해서는 모터 드라이버가 필요합니다.
사용할 스텝 모터
모델명 | 28BJY-48 |
스텝 수 | 64 |
스텝각도 | 360/64=5.625 |
동작 주파수 | 100Hz |
코딩을 하기 위한 기본지식은 다음과 같습니다.
<Stepper.h> | 스텝 모터 구동을 위한 Stepper.h 헤더 파일 선언 |
Stepper 변수(스텝 수,핀1,핀2,핀3,핀4) | 스텝 수와 연결하는 핀을 나열 |
변수.setSpeed() | 스텝 모터의 속도 설정 |
변수.step(1) or 변수.step(-1) | 좌(1), 우(-1) 회전 설정 |
■ 스텝 모터
① 회로 구성
② 소스 코드
#include <Stepper.h>
int JStick_pin=A0;
int value;
const int stepNumber=64; //사용할 스텝 모터 수
Stepper stepper(stepNumber,8,10,9,11); //스텝 모터 정의
void setup(){
stepper.setSpeed(300); // 스텝 모터의 속도 설정
}
void loop(){
value=analogRead(JStick_pin);
if (value>800){
stepper.step(1);
}
if (value<300){
stepper.step(-1);
}
}
'아두이노 (Arduino)' 카테고리의 다른 글
아두이노 - 릴레이 모듈(Relay Module) (0) | 2020.10.03 |
---|---|
아두이노 - 서보모터 SG90 & 조이스틱 모듈 (0) | 2020.10.02 |
아두이노 - 부저 (Buzzer) (0) | 2020.10.02 |
아두이노 - 조도 센서 & 가변저항기 (0) | 2020.09.30 |
아두이노 - RGB LED 모듈 (0) | 2020.09.30 |
댓글