반응형

 【 아두이노 기초 】 #35 스텝(Step Motor)모터 제어4 (28BYJ-48 & ULN2003)


  지난시간 스텝각 1.8도, 바이폴라 제어가 가능한 스텝모터(6선식)와 293D 모터드라이버 IC를 가지고 제어해 보았다. 만약 스텝모터 동작 원리를 참고하려면 여기 글을 참고하라. ( ☞ 스텝모터의 이해 ) 

 이번 시간에는 좀더 다루기 간편한 유니폴라 방식전용의(5선식) 스텝모터와 모터드라이버 IC 가 모듈화되어 사용하기 간편해진 ULN2003 모듈에 대해 학습해보도록 하자. 



▶ 실험에 사용되는 스텝 모터 자료 ( 28BYJ-48 ) 

 




▶ 스텝모터 구동 원리 





▶ 실습 목표 :  

 5선식 스텝모터와 ULN2003 드라이버 IC 모듈로 좀더 쉽게 스텝모터를 제어 회보자. 이번 실습에서는 정회전(시계방향) 한 바퀴 회전 후, 역회전(반시계방향) 한 바퀴 회전을 반복하도록 한다. 


▶ 실습 회로도면 :

  (이미지 클릭하면 확대 가능)






[ ULN2003 모듈의 내부 회로도 참고 ]



▶ 부대품 목록 : 아두이노 보드, 브레드 보드 


▶ 부품 목록    : 스텝 모터(28BYJ48, 5.625˚) , ULN2003모듈, 


▶ 실습 절차  : 

 1. 회로도를 참고하여 모터 와 보드 등을 연결한다.
 
 2. 모터와 ULN2003 보드 모듈을 연결한다. (연결 소켓은 앞뒤 구분이 되어 있어 잘못 연결할 걱정은 하지 않아도 된다)

 3. ULN 보드 공급 전원은 5V~12V 공급이 가능하고, 
    '+'로 표시된 곳의 점퍼를 아두이노 보드의 VCC(5V) 단자에 연결하고, 
    '-'로 표시된 곳의 점퍼를 아두이노 보드의 GND 단자에 연결한다.  

 


▶ 프로그램 (코드& 설명) : 


#include <Stepper.h>      // 스테핑 모터 라이브러리 정의 

  int stepsPerRev = 2048; // 한바퀴(360): 2048 , 반 바퀴(180) : 1024

  Stepper stepper (stepsPerRev, 11,9,10,8); // ( IN4,IN2,IN3,IN1) 


void setup()

{

 Serial.begin(9600);

  stepper.setSpeed(10);   // 스텝모터의 스피드 설정

}

void loop()

{ 

  stepper.step(stepsPerRev);  // 한 바퀴 회전 명령

  delay(1000);

  stepper.step(-stepsPerRev);  // 반대 방향으로 한 바퀴 회전

  delay(1000);

}




▶ 실행 영상 : 





▶ 아두이노 소스 코드 다운로드 : 



반응형