티스토리 뷰

    스텝 모터는 한 바퀴를 여러 단계(Step)로 쪼개서 돌릴 수 있는 모터입니다. 입력값에 따라 원하는 각도로 돌릴 수 있습니다. 구동되는 방식과 회전 특성은 다르지만, 기능은 서보 모터와 비슷하다고 보시면 됩니다. 일반적으로 서보모터보다는 덜 정밀하다고 보시면 됩니다. 주차장 봉, 사물함 문, 컨베이어 벨트 등에 사용할 수 있습니다.

인터넷에서 아두이노 스텝 모터를 찾으면 가장 먼저 검색되는 것이 28BYJ-48입니다. 가격이 저렴하고 ULN2003 모터 드라이버까지 세트로 팔기 때문에 사용도 간편합니다. 여기에 아두이노 에디터에 기본으로 들어있는 Stepper 라이브러리를 사용해서 스텝 모터를 돌려보겠습니다.


<그림 1> 스텝모터와 아두이노



스텝 모터(Stepper, Stepping Motor)

<그림 2> 스텝모터 구동원리

(출처: explainthatstuff)


위 그림은 스텝 모터의 구동 원리를 설명하는 그림입니다. 회전체에는 여러 개의 자석이 반대되는 극성 순서로 달려있습니다. 고정체에는 전자석이 90도 간격으로 있습니다. 180도 떨어진 전자석 2개가 한 쌍으로 다른 방향에 전류가 들어왔다가 다시 90도 떨어진 전자석으로 전류가 들어갑니다. 고정체의 전자석의 극에 따라 회전체의 자석이 끌리면서 회전하게 됩니다.


STEPS / 1 회전

이번 예제에서는 스텝 모터를 딱 한바퀴만 돌리려 합니다. 그 값에 맞게 STEPS를 입력해야 합니다. 우선 1회전이 몇 개의 단계로 쪼개져 있는지 확인해야 합니다. 이 값은 서보모터의 특성에 따라 달라집니다. 모터의 Data Sheet를 보면 Stride Angle 값과 기어비가 나와 있습니다. 이 값으로 Steps / 1회전를 계산 해보겠습니다.

Stride Angle: 5.625°

Gear Ratio : 64

Steps= (360°/5.625°)*64"Gear ratio" = 64 * 64 =4096

계산해 보면 모터 축의 1 회전을 구성하는 Steps는 4096인 것을 알 수 있습니다.


28BYJ-48 모터 Step 계산하기

인터넷에서 모터의 Data Sheet를 검색해 보면 Stride Angle: 5.625°, Gear Ratio : 64로 나오는 경우가 많습니다.

28BYJ-48 모터 데이터 시트


하지만, 포럼을 검색해보면 Stride Angle을 11.25°를 쓰는 경우가 많았습니다. 제 모터 역시 11.25°가 맞았습니다. 제조사에서는 Gear Ratio를 64라고 하지만 어떤 사용자가 분해해서 기어의 톱니 개수를 세어보니 63.684로 나왔습니다. 자세한 내용은 아래글을 참고 바랍니다.

http://forum.arduino.cc/index.php?topic=71964.15


따라서 정확한 Step을 계산해보면 아래와 같습니다.

Steps = (360°/11.25°)*63.684 = 2037


* 만약 두바퀴 돌리려면 2를 곱해서 4074를 입력하면 됩니다. 만약 90도 돌리려면 4로 나눈 값인 509를 Steps에 입력하면 됩니다.


완성된 회로도

< 그림 3 > 스텝모터 아두이노 회로도


모터 끝은 커넥터로 되어 있어 모터 드라이버에 바로 꽂으면 됩니다. 만약 커넥터가 없다면 파란색 선이 바깥쪽으로 가게 연결하면 됩니다. 그 다음 모터 드라이브 Input 1, 2, 3, 4를 아두이노 핀 8, 9, 10, 11에 연결해 줍니다. 드라이브의 +, - 단자를 아두이노 5V 전원과 GND에 연결해 줍니다.


완성된 코드

#include <Stepper.h> #define STEPS 2037 // 한바퀴를 이루는 스텝 갯수 입력 Stepper stepper(STEPS, 8, 10, 9, 11); // 고정자 권선 순서 설정 void setup() { stepper.setSpeed(12); // 회전 속도 지정 } void loop() { stepper.step(STEPS); // 정방향 회전 delay(1000); stepper.step(-STEPS); // 역방향 회전 delay(1000); }


< 그림 4 > 스텝모터 아두이노 완성모습

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함