스텝 모터는 -360도에서 360도까지 완전 회전이 가능한 모터입니다. 주로 3D프린터나 CNC 기계 같은 정밀한 위치 회전기능이 필요할 장치에 많이 사용됩니다. 스텝 모터의 작동 원리는 32개의 톱니바퀴가 4개의 전자석을 통해 한번에 한단계씩 회전시키는 방식으로
작동합니다.
아래의 이미지와같이 코일에 펄스를 공급하면 톱니가 회전하는 방식인데, 이 방식은 스텝 모터의 동작에 큰 영향을 줍니다.
- 펄스 순서에 따라 모터의 회전 방향을 바꿀 수 있습니다.
- 펄스의 주기(PWM)에 따라서 모터의 속도를 바꿀 수
있습니다.
- 펄스의 횟수에 따라 모터의 회전 거리를 바꿀 수 있습니다.
실습01. 스텝모터의 회전 방향과 속도 설정하고 360도 회전
■ 회로 구성
아래의 그림과 같이 회로를 연결해 주시면 됩니다~
스텝 모터는 PWM기능이 필요하기 때문에 아두이노의 물결무늬(~)가 있는 핀을 사용해야 합니다. 따라서 디지털 ~9, ~10, ~11번 핀을 사용했습니다.
■ 코드 작성
본 포스팅의
코드를 사용하시려면 먼저 휴몬랩 라이브러리 설치가 필요합니다.
(휴몬랩 라이브러리는 휴몬랩 메이커 키트를 구매하시면 제공해드립니다)
메이커랩 수업 콘텐츠 구경하기 →
https://makers-huemonelab.com/start
휴몬랩 라이브러리 설명 보기 →
https://blog.naver.com/kids_power/221759791749
*코드 해석
- stepper.setSpeed(속도); - 스텝모터의 스피드를 설정합니다. 단위는 RPM(rotation per minute)으로 1바퀴에 1분 소요이 소요된다는 의미입니다. 따라서 아래의 코드는 setSpeed(10);이기때문에 1분에 10바퀴를 도는 속도라고 이해하시면 됩니다. (스텝 모터 특성상 너무 빠른 속도는 작동하지 않습니다)
- stepper.setDir(방향); - 방향을 설정하는 코드입니다. 1은 시계방향, 0은 반 시계방향으로 회전합니다. (방향 설정 코드를 작성하지 않는다면 디폴트인 시계 방향으로 회전합니다)