본문 바로가기

[Arduino] 28BYJ-48 스텝모터 사용하기

by rudals.kim 2022. 10. 15. 댓글 개
반응형

이전에 M35SP-7N 스텝모터를 사용해 봤었는데 좀 더 다양한 종류의 스텝모터를 사용해 보기 위해 저렴한 28BYJ-48모터와 ULN2003 모터 드라이버를 같이 구매하였습니다.

 

스펙

28BYJ-48 스텝모터는 5선에 DC 5V로 동작되며 5.6도의 스텝각을 가지며 64:1의 기어비를 갖고 있는 스텝모터입니다.

 

stepd-01-data-sheet-1143075.pdf
0.19MB

28BYJ-48 스텝모터를 구동하기 위한 드라이버인데 ULN2003을 사용하여 스텝모터를 동작시킵니다.

ULN2003은 주로 낮은 신호(아두이노의 출력)로 큰 신호를 제어할 경우에 사용됩니다.

아래는 구매페이지의 제품 설명 내용입니다.

 

회로구성

아두이노의 D11, D10, D9, D8번을 스텝모터 드라이의 각 각의 IN1~4까지 연결시킵니다.

어뎁터의 GND와 아두이노의 GND를 서로 연결 후 외부전원을 사용하기 위해 전원잭에 5V 어뎁터를 연결하였습니다.

 

테스트 코드

시계방향으로 1회전 후 반시계 방향으로 1회전 동작이 반복되는 소스입니다.

#include <Stepper.h>

const int stepsPerRevolution = 2040;

Stepper myStepper(stepsPerRevolution, 11, 10, 9, 8);

void setup() {
  myStepper.setSpeed(14);
  Serial.begin(9600);
}

void loop() {
  // step one revolution  in one direction:
  Serial.println("clockwise");
  myStepper.step(stepsPerRevolution);
  delay(500);

  // step one revolution in the other direction:
  Serial.println("counterclockwise");
  myStepper.step(-stepsPerRevolution);
  delay(500);
}

 

테스트 영상

28BYJ-48 스텝모터를 테스트 해 보니 이상한 점이 발견되었습니다.

아래는 gif로 변환된 이미지라 좀 부자연스러운데 시계방항으로의 회전은 부드럽게 회전이 되는 반면에 반시계 방향으로의 회전은 좀 끊김이 있고 모터에 진동이 심하게 발생됩니다. 회로 배선, 전원, 코드를 모두 살펴보았지만 특이한 점은 발견할 수 없어서 판매자분께 아래 영상 확인을 부탁드렸습니다. 판매자분께서도 영상확인 후 정상동작은 아닌것 같다고 하시면서 새 제품을 다시 보내 주셨습니다. 새 제품을 받은 후 재 테스트 해 보니 이번것은 정상동작을 합니다. 아무래도 이전것은 배송중 어딘가 파손이 된것 같습니다.

 

반응형

댓글