스텝 모터 드라이버(DM741) 사용하기스텝 모터 드라이버(DM741, ULN2003) 사용하기
1. 스텝 모터
스텝 모터는 디지털 펄스에 맞추어 한개의 step 단위로 회전하는 모터이다. 즉 단순히 전원 인가, 차단을 통해 모터를 움직이는 것이 아니라 미리 계산된 각도만큼 코드로 모터를 회전시킬 수 있다.
주로 저렴한 가격의 스텝모터는 전류의 방향에 따라서 시계, 반시계 회전을 하는 유니폴라 구동 방식을 이용한다. 이 각도 계산은 모터별로 상이한데, DM741에 포함된 28BYJ48은 5.625도가 1스텝이며 360도 회전에 총 64번의 스텝이 필요하다.
이 스테핑 과정은 직접 제어하기 복잡하기 때문에 ULN2003을 이용하는 스텝 모터 드라이버를 주로 이용한다.
구동 방법은 ULN2003 데이터 시트를 참조하길 바란다. 이 포스팅에서는 구현되어 있는 Stepper 라이브러리를 이용하여 간단하게 동작시키는 방법을 설명한다.
아두이노의 라이브러리 매니저를 통해서 Stepper 라이브러리를 설치하자.
2. 회로도
3. 소스코드
//라이브러리
#include <Stepper.h>
#define STEPS 2048
#define STEP_IN1 2
#define STEP_IN2 3
#define STEP_IN3 4
#define STEP_IN4 5
//스텝모터 선언
Stepper stepMotor(STEPS, STEP_IN4, STEP_IN2, STEP_IN3, STEP_IN1);
void setup() {
//스텝 모터 동작 속도 10RPM
stepMotor.setSpeed(10);
}
void loop() {
// 시계 방향으로 이동
stepMotor.step(STEPS);
delay(500);
// 반시계 방향으로 이동
stepMotor.step(-STEPS);
delay(500);
}
'라즈베리파이, 아두이노' 카테고리의 다른 글
[간단한 아두이노 코딩] 14. 도트 매트릭스 사용하기 (0) | 2020.11.24 |
---|---|
[간단한 아두이노 코딩] 13. 적외선 센서 & 리모컨 사용하기 (0) | 2020.11.24 |
[간단한 아두이노 코딩] 11. 피에조 부저 사용하기 + 젓가락 행진곡 (0) | 2020.11.24 |
[간단한 아두이노 코딩] 10. 조도 센서 사용하기 (CDS) (2) | 2020.11.24 |
[간단한 아두이노 코딩] 9. XYZ 가속도 센서 사용하기(GY-61) (0) | 2020.11.24 |