로그인회원가입

마이크로파이썬으로 구현하는 28BYJ-48 스텝 모터 정밀 구동법

안녕하세요! 오늘은 작지만 강력한 ESP32-C3 Mini 보드를 사용해서 스텝모터를 돌려보겠습니다. 일반 아두이노보다 성능이 좋고 크기가 작아 실제 전시물 제작에 아주 유리한 보드죠.

최근 제가 제작하고 있는 ‘음악 나오는 전시용 회전판(턴테이블)’ 프로젝트에서도 이 스텝모터가 핵심적인 역할을 담당하고 있는데요. 왜 일반 모터가 아닌 스텝모터를 사용했는지, 그 이유와 특징을 정리해 드립니다.

1. 스텝모터란?

일반적인 DC 모터는 전원을 연결하면 뱅글뱅글 계속 회전하지만, 스텝모터는 이름처럼 ‘스텝(Step, 단계)’을 밟듯이 딱 정해진 각도만큼만 움직이는 모터입니다.

예를 들어, “90도만 움직여!” 혹은 “한 바퀴를 200번에 나눠서 움직여!”라는 명령을 아주 정확하게 수행할 수 있습니다.

2. 스텝모터의 최대 장점

  • 정밀한 제어: 각도를 아주 미세하게 조절할 수 있어 로봇 팔, 3D 프린터, 그리고 제가 만든 회전판처럼 정확한 위치에 멈춰야 하는 장치에 필수입니다.
  • 강력한 홀딩 토크(Holding Torque): 특정 각도에서 멈춰 있을 때, 외부 힘에 의해 돌아가지 않도록 꽉 붙잡고 있는 힘이 강합니다.
  • 반복 정밀도: 같은 명령을 내리면 언제나 똑같은 위치로 돌아옵니다.

3. 주요 활용 사례

  • 3D 프린터: 노즐을 0.1mm 단위로 움직일 때 사용됩니다.
  • CCTV 카메라: 원하는 방향으로 렌즈를 정확히 돌릴 때 쓰입니다.
  • 전시용 턴테이블: 일정한 속도로 회전하거나, 특정 제품 위치에서 잠시 멈추는 연출을 할 때 최적입니다.

4. 사용법

준비물

  • ESP32-C3 SuperMini (또는 Mini 보드)
  • 28BYJ-48 스텝모터
  • ULN2003 모터 드라이버
  • 점퍼 와이어

28BYJ-48 스텝모터스텝모터를 제어할 때 ULN2003 드라이버를 사용하는데

  1. 전류 증폭 (강력한 근육 역할) ESP32-C3의 제어 신호는 너무 약해서 모터를 직접 돌릴 힘이 없습니다. 드라이버는 이 약한 신호를 받아 모터를 구동할 수 있는 큰 전류로 바꿔줍니다.
  2. 보드 보호 (방패 역할) 모터가 멈출 때 발생하는 고전압(역기전력)이 거꾸로 흘러 들어와 비싼 메인 보드가 타버리는 것을 방지합니다.
  3. 효율적인 전원 관리 보드는 3.3V 전압으로 신호만 보내고, 모터는 5V 이상의 전원을 따로 쓸 수 있게 해줌으로써 시스템의 안정성을 높여줍니다.

ESP32-C3 SuperMini 보드의 GPIO 1~4번 핀을 사용합니다.

ULN2003 드라이버ESP32-C3 GPIO
IN1Pin 1
IN2Pin 2
IN3Pin 3
IN4Pin 4
VCC / GND5V / GND
28BYJ-48 스텝모터ULN2003 드라이버 조합

5. 사용 코드

step.py set_run(speed) 함수

코멘트

“마이크로파이썬으로 구현하는 28BYJ-48 스텝 모터 정밀 구동법”에 대한 댓글 1개

  1. km kim

    [구매정보] 블로그에서 사용한 부품 구매정보입니다.
    아래 링크를 통해 구매 시 소정의 수수료를 제공받으며, 채널 운영에 큰 도움이 됩니다.

답글 남기기