- 스테퍼 모터 :
- 스테퍼 모터의 회 전당 스텝 계산 :
- 스테퍼 모터 용 드라이버 모듈이 필요한 이유는 무엇입니까?
- 전위차계를 사용하여 스테퍼 모터를 회전하는 회로도 :
- Arduino 보드 용 코드 :
- 일:
스테퍼 모터 는 전자 분야에서 점점 더 자리를 차지하고 있습니다. 일반 감시 카메라에서 시작하여 복잡한 CNC 기계 / 로봇에 이르기까지이 스테퍼 모터는 정확한 제어를 제공하기 때문에 모든 곳에서 액추에이터로 사용됩니다. 이 튜토리얼에서는 가장 일반 적이고 저렴한 스테퍼 모터 28-BYJ48 에 대해 배우고 ULN2003 스테퍼 모듈을 사용하여 Arduino 와 인터페이스하는 방법을 배웁니다.
지난 프로젝트에서 우리는 Arduino와 단순히 Interfaced Stepper Motor를 가지고 있는데, Arduino의 Serial Monitor에 회전 각도를 입력하여 스테퍼 모터를 회전시킬 수 있습니다. 이 프로젝트에서는 전위차계와 Arduino를 사용하여 스테퍼 모터를 회전합니다. 예를 들어 전위차계를 시계 방향으로 돌리면 스테퍼가 시계 방향으로 회전하고 전위차계를 시계 반대 방향으로 돌리면 시계 반대 방향으로 회전합니다.
스테퍼 모터:
이 28-BYJ48 스테퍼 모터를 살펴 보겠습니다.
좋아요, 일반 DC 모터와는 달리이 모터에는 모든 멋진 색상의 5 개의 와이어가 있으며 왜 그런가요? 이것을 이해하려면 먼저 스테퍼가 어떻게 작동하는지 그리고 그 전문성이 무엇인지 알아야합니다. 우선 스테퍼 모터는 회전하지 않고 스텝 모터 로도 알려져 있습니다. 즉, 한 번에 한 단계 만 이동합니다. 이러한 모터에는 일련의 코일이 있으며 이러한 코일은 모터가 회전하도록 특정 방식으로 전원을 공급해야합니다. 각 코일에 전원이 공급 될 때 모터는 한 걸음 씩 움직이고 일련의 전원을 공급하면 모터가 연속적인 단계를 수행하여 회전하게됩니다. 모터 내부에있는 코일을 살펴보고 이러한 와이어가 어디에서 왔는지 정확히 알 수 있습니다.
보시다시피 모터에는 Unipolar 5-lead 코일 배열이 있습니다. 특정 순서로 전원을 공급해야하는 4 개의 코일이 있습니다. 빨간색 와이어에는 + 5V가 제공되고 나머지 4 개의 와이어는 각 코일을 트리거하기 위해 접지로 당겨집니다. Arduino와 같은 마이크로 컨트롤러를 사용하여 특정 순서로 이러한 코일에 에너지를 공급하고 모터가 필요한 단계 수를 수행하도록합니다.
그렇다면이 모터를 28-BYJ48 이라고하는 이유는 무엇입니까? 진심 !!! 모르겠어요. 이 모터가 그렇게 명명 된 기술적 이유는 없습니다. 더 깊이 들어가야 할 것 같습니다. 아래 그림에서이 모터의 데이터 시트에서 얻은 몇 가지 중요한 기술 데이터를 살펴 보겠습니다.
그것은 정보로 가득 찬 머리이지만, 우리가 효율적으로 프로그래밍 할 수 있도록 우리가 어떤 유형의 스테퍼를 사용하고 있는지 알기 위해 몇 가지 중요한 것들을 살펴볼 필요가 있습니다. 먼저 우리는 5V로 빨간색 와이어에 전원을 공급하기 때문에 5V 스테퍼 모터라는 것을 압니다. 그런 다음 4 개의 코일이 포함되어 있기 때문에 4 상 스테퍼 모터라는 것도 알고 있습니다. 이제 기어비는 1:64입니다. 이것은 외부에서 보는 샤프트가 내부의 모터가 64 번 회전 할 때만 1 회전을한다는 것을 의미합니다. 이는 모터와 출력축 사이에 연결된 기어로 인해 토크를 높이는 데 도움이됩니다.
주목해야 할 또 다른 중요한 데이터는 보폭 각도: 5.625 ° / 64입니다. 즉, 8 단계 시퀀스로 작동 할 때 모터가 각 단계마다 5.625도 이동하고 한 번의 완전한 회전을 완료하는 데 64 단계 (5.625 * 64 = 360)가 필요합니다.
스테퍼 모터의 회 전당 스텝 계산:
스테퍼 모터의 회 전당 단계를 계산하는 방법을 아는 것이 중요합니다. 그래야만 효과적으로 프로그래밍 할 수 있기 때문입니다.
Arduino에서는 모터를 4 단계 순서로 작동하므로 보폭 각도는 11.25 °가됩니다. 8 단계 순서의 경우 5.625 ° (데이터 시트에 표시됨)이므로 11.25 ° (5.625 * 2 = 11.25)가됩니다.
회 전당 스텝 = 360 / 스텝 각도
여기서 360 / 11.25 = 회 전당 32 단계입니다.
스테퍼 모터 용 드라이버 모듈이 필요한 이유는 무엇입니까?
대부분의 스테퍼 모터 는 드라이버 모듈의 도움으로 만 작동합니다. 이는 컨트롤러 모듈 (이 경우 Arduino)이 모터가 작동 할 수 있도록 I / O 핀에서 충분한 전류를 제공 할 수 없기 때문입니다. 그래서 우리는 스테퍼 모터 드라이버 로 ULN2003 모듈과 같은 외부 모듈을 사용할 것입니다. 드라이버 모듈에는 여러 유형이 있으며 사용되는 모터 유형에 따라 등급이 변경됩니다. 모든 드라이버 모듈의 기본 원칙은 모터가 작동하기에 충분한 전류를 공급 / 싱크하는 것입니다.
전위차계를 사용하여 스테퍼 모터를 회전하는 회로도:
전위차계와 Arduino를 사용하여 스테퍼 모터를 제어 하는 회로도 는 위와 같습니다. 우리는 28BYJ-48 스테퍼 모터와 ULN2003 드라이버 모듈을 사용했습니다. 스테퍼 모터의 4 개 코일에 전원을 공급하기 위해 디지털 핀 8,9,10 및 11을 사용합니다. 드라이버 모듈은 Arduino 보드의 5V 핀에 의해 전원이 공급됩니다. 전위차계는 스테퍼 모터를 회전시킬 값을 기반으로 A0에 연결됩니다.
그러나 스텝 모터에 부하를 연결할 때 외부 전원 공급 장치로 드라이버에 전원을 공급하십시오. 데모 목적으로 모터를 사용하고 있기 때문에 Arduino 보드의 + 5V 레일을 사용했습니다. 또한 Arduino의 접지를 드라이버 모듈의 접지와 연결하는 것을 잊지 마십시오.
Arduino 보드 용 코드:
Arduino로 프로그래밍을 시작하기 전에 실제로 프로그램 내에서 어떤 일이 발생해야하는지 이해합시다. 앞서 말했듯이 우리는 4 단계 시퀀스 방법을 사용할 것이므로 하나의 완전한 회전을 만들기 위해 4 단계를 수행해야합니다.
단계 |
핀 전원 공급 |
통전되는 코일 |
1 단계 |
8과 9 |
A와 B |
2 단계 |
9 및 10 |
B와 C |
3 단계 |
10 및 11 |
C와 D |
4 단계 |
11 및 8 |
D와 A |
드라이버 모듈에는 주어진 시간에 어떤 코일에 전원이 공급되고 있는지 확인할 수있는 4 개의 LED가 있습니다. 전체 데모 비디오 는이 자습서의 끝에서 찾을 수 있습니다.
이 튜토리얼에서는 핀 A0에 연결된 전위차계를 돌리고 스테퍼 모터의 방향을 제어 할 수 있도록 Arduino를 프로그래밍 할 것입니다. 전체 프로그램은 튜토리얼의 끝에서 찾을 수 있습니다. 몇 가지 중요한 라인이 아래에 설명되어 있습니다.
스테퍼 모터의 회 전당 스텝 수는 32로 계산되었습니다. 따라서 아래 줄에 표시된대로 입력합니다.
#define 단계 32
다음으로 스테퍼 모터를 연결 한 핀을 지정하는 인스턴스를 만들어야합니다.
스테퍼 스테퍼 (STEPS, 8, 10, 9, 11);
참고: 핀 번호는 의도적으로 8,10,9,11로 무질서하게 표시됩니다. 모터가 연결된 핀을 변경하더라도 동일한 패턴을 따라야합니다.
Arduino 스테퍼 라이브러리를 사용하고 있으므로 아래 줄을 사용하여 모터의 속도를 설정할 수 있습니다. 28-BYJ48 스테퍼 모터의 경우 속도 범위는 0 ~ 200입니다.
stepper.setSpeed (200);
이제 모터를 시계 방향으로 한 단계 움직이게하려면 다음 선을 사용할 수 있습니다.
stepper.step (1);
모터를 시계 반대 방향으로 한 단계 움직이게하려면 다음 선을 사용할 수 있습니다.
stepper.step (-1);
프로그램에서 아날로그 핀 A0의 값을 읽고 이전 값 (Pval)과 비교합니다. 증가하면 시계 방향으로 5 단계 이동하고 감소하면 시계 반대 방향으로 5 단계 이동합니다.
potVal = map (analogRead (A0), 0,1024,0,500); if (potVal> Pval) stepper.step (5); if (potVal
일:
연결이 완료되면 하드웨어가 아래 그림과 같이 보일 것입니다.
이제 Arduino UNO에 아래 프로그램을 업로드하고 직렬 모니터를 엽니 다. 앞에서 설명한 것처럼 스테퍼 모터의 회전을 제어하려면 전위차계 를 회전 해야합니다. 시계 방향으로 돌리면 스테퍼 모터가 시계 방향으로 회전하고 그 반대의 경우도 마찬가지입니다.
프로젝트를 이해하고 재미있게 만들었기를 바랍니다. 프로젝트의 전체 작업은 아래 비디오에 나와 있습니다. 의심스러운 점이 있으면 아래 댓글 섹션이나 포럼에 게시하십시오.