본문 바로가기
코딩/아두이노

아두이노 스텝 모터 제어를 해보자 28byj-48

by 어릴적 꿈은 미친과학자 2019. 11. 1.

안녕하세요. 전자공이입니다.

본문에서는 스텝모터를 제어하는 내용을 작성해보려 합니다.

제어 할 스텝 모터는 29byj-48이다.

 

 

-준비물-

아두이노

브래드보드

점퍼선

28byj-48 스텝모터

N2222 스텝 모터 드라이버 모듈

 

 

 -회로구성-

 

점퍼를 이용해 아래와 같이 연결해준다.

아두이노------------------<>------------------N2222

pin2------------------<>------------------IN1

pin3------------------<>------------------IN2

pin4------------------<>------------------IN3

pin5------------------<>------------------IN4

VCC------------------<>------------------5V+

GND------------------<>------------------5V-

 

N2222------------------<>------------------스텝 모터(28byj-48)

흰색 구멍에 맞게 커넥터를 연결한다.

 

 N2222의 전원 부는 5V와 12V를 이용해 스텝모터를 제어할 수 있다.

본문에서 다루는 스텝 모터는 12V 보단 5V를 이용해 스텝모터를 제어하는 것이다.

위에 사진 처럼  드라이브에 선택을 할 수 있는 핀이 있다.

사진처럼 연결하고 빈곳을 통해 알맞은 전원을 넣어주면 정상적으로 작동하게 된다.

사진 처럼 꽂으면 빈곳에 5V를 인가 해주면 된다.

 

 

회로 구성을 마치고  아래 처럼 아두이노 코드를 업로드 해준다.

 

 

 -코딩 설명-

 

------------------------------------------------------------------------

#include <Stepper.h>

int stepsPerRevolution = 2048; // 스텝모터의 가동 범위 값설정

Stepper stepper(stepsPerRevolution, 5, 3, 4, 2); // 스텝모터 인풋 설정

 

void setup() {

stepper.setSpeed(10); // 스텝 모터 속도 설정

}

 

void loop() {

stepper.step(stepsPerRevolution); // 스텝 모터 각도 입력 +-로 방향 설정

delay(1000); // 딜레이

 

stepper.step(-stepsPerRevolution); // 스텝 모터 각도 입력 +-로 방향 설정

delay(1000); // 딜레이

}

------------------------------------------------------------------------

 

값을 넣어주면 스텝 모터가 회전하게 된다.

스텝모터가 다른 각도와 다른 속도의 회전을 하기 위해서는 위의 코드 설명 부분의 값을 수정하여

회전 속도와 회전을 다르게 할 수 있다.

하지만 값을 너무 올리게 되면 스텝모터가 움직이지 않고 뜨거워지니 주의 하자

 

스텝모터는 활용할 수 있는 부분이 많다.

꼭 해보고 어떻게 되는지 알아보자

 

 

-그럼 이번 스텝모터 제어는 이걸로 끝-

댓글


page contents