스테퍼 모터 는 단계적으로 회전하는 특수 설계된 모터입니다. 스테퍼 모터의 속도는 적용되는 전기 신호의 속도에 따라 다릅니다. 다른 패턴은 스테퍼 모터의 방향과 회전 유형을 제어 할 수 있습니다. 주로 두 가지 유형의 스테퍼 모터, Unipolar 및 Bipolar를 사용할 수 있습니다. Unipolar는 작동, 제어 및 구하기가 더 쉽습니다. 이 튜토리얼에서는 스테퍼 모터를 PIC 마이크로 컨트롤러 PIC16F877A와 인터페이스합니다.
우리가 사용하는 28BYJ-48 스테퍼 모터를 저렴하고 쉽게 사용할 수있다이 프로젝트. 그것은이다 5V DC 유니 폴라 스테퍼 모터. 또한 ULN2003 스테퍼 모터 드라이버 IC로 구성된이 모터와 함께 사용할 수있는 모듈을 사용하고 있습니다. ULN2003 은 PIC 마이크로 컨트롤러가 구동하기에 충분한 전류를 제공 할 수 없기 때문에이 모터를 구동하는 데 유용한 Darlington 쌍 어레이입니다. ULN2003A 는 600mA 의 피크 전류로 500mA 의 부하 를 구동 할 수 있습니다.
스테퍼 모터:
데이터 시트에서 28BYJ-48 스테퍼 모터 의 사양을 보겠습니다.
스테퍼 모터를 회전하는 방법:
데이터 시트를 보면 핀아웃이 표시됩니다.
모터 내부에는 두 개의 중앙 탭 코일이 있습니다. 빨간색 와이어 는 VCC 또는 5V 로 연결되는 둘 모두에 공통입니다.
다른 4 개의 전선은 분홍색, 빨간색, 노란색 및 파란색으로 전기 신호에 따라 회전을 제어합니다. 또한 움직임에 따라 3 단계로 모터를 제어 할 수 있습니다. 전체 드라이브 모드, 하프 드라이브 모드 및 웨이브 드라이브 모드.
스테퍼 모터의 세 가지 구동 모드:
풀 드라이브: 두 개의 고정자 전자석이 한 번에 활성화되면 모터는 풀 드라이브 시퀀스 모드라고하는 최대 토크로 작동합니다.
단계 |
푸른 |
분홍 |
노랑 |
주황색 |
1 |
1 |
1 |
0 |
0 |
2 |
0 |
1 |
1 |
0 |
삼 |
0 |
0 |
1 |
1 |
4 |
1 |
0 |
0 |
1 |
Half-Drive: 1 상과 2 상을 번갈아 가며 전원을 공급하면 모터가 하프 드라이브 모드로 작동합니다. 각도 해상도를 높이는 데 사용됩니다. 단점은이 운동에서 발생하는 토크가 적다는 것입니다.
단계 |
푸른 |
분홍 |
노랑 |
주황색 |
1 |
1 |
0 |
0 |
0 |
2 |
1 |
1 |
0 |
0 |
삼 |
0 |
1 |
0 |
0 |
4 |
0 |
1 |
1 |
0 |
5 |
0 |
0 |
1 |
1 |
6 |
0 |
0 |
0 |
1 |
7 |
1 |
0 |
0 |
1 |
8 |
1 |
0 |
0 |
0 |
웨이브 드라이브: 이 모드에서는 하나의 고정자 전자석이 켜집니다. Full-drive 모드와 동일한 4 단계를 따릅니다. 낮은 토크로 저전력을 소비합니다.
단계 |
푸른 |
분홍 |
노랑 |
주황색 |
1 |
1 |
0 |
0 |
0 |
2 |
0 |
1 |
0 |
0 |
삼 |
0 |
0 |
1 |
0 |
4 |
0 |
0 |
0 |
1 |
이전에 스테퍼 모터를 다른 마이크로 컨트롤러와 인터페이스했습니다.
스테퍼 모터는 마이크로 컨트롤러 없이도 제어 할 수 있습니다. 스테퍼 모터 드라이버 회로를 참조하십시오.
ULN2003 스테퍼 모터 드라이버:
ULN2003 IC 를 구성하는 브레이크 아웃 보드를 이해합시다. 핀 아웃을 이해하는 것이 중요합니다.
노란색 부분은 연결하는 데 사용되는 모터 의 빨간 부분이 상영된다 점퍼, 그것은 모터를위한 프리 휠링 다이오드 보호를 사용하므로 점퍼를 배치하는 것이 중요합니다 . 분홍색 입력 을위한 마이크로 컨트롤러 연결.
모터를 풀 드라이브 모드에서 시계 방향으로 회전하고 다시 웨이브 드라이브 모드로 반 시계 방향으로 회전합니다. 마지막에 데모 비디오 를 확인하십시오.
필수 구성 요소
- Pic16F877A
- 프로그래밍 키트
- 브레드 보드
- 20Mhz 크리스탈
- 33pF 디스크 커패시터 – 2 개
- 4.7k 저항
- 버그 와이어 및 핀
- 28BYJ-48 스테퍼 모터와 함께 ULN2003A 브레이크 아웃 보드.
- 연결할 추가 전선
- 정격 500mA의 5V 전원 공급 장치 또는 벽면 어댑터
회로도 및 설명
회로도에서 왼쪽에는 PIC16F877A가 표시되고 오른쪽에는 ULN2003A 연결이 표시됩니다. ULN2003 및 스테퍼 모터 부품은 브레이크 아웃 보드 내부에 있습니다.
브레이크 아웃 보드에서 마이크로 컨트롤러 장치로의 연결은 다음과 같습니다.
A. IN1 => 핀 33
B. IN2 => 핀 34
C. IN3 => 핀 35
D. IN4 => 핀 36
모든 구성 요소와 하드웨어를 연결 하여 PIC 마이크로 컨트롤러로 스테퍼 모터 를 회전 할 준비가되었습니다.
PIC 마이크로 컨트롤러를 처음 사용하는 경우 PIC 마이크로 컨트롤러 시작하기를 설명하는 PIC 마이크로 컨트롤러 자습서를 따르십시오.
코드 설명
이 PIC 기반 스테퍼 모터 드라이버에 대한 전체 코드 는 데모 비디오 와 함께이 튜토리얼의 끝에 제공됩니다. 항상 먼저 pic 마이크로 컨트롤러에서 구성 비트를 설정 한 다음 void 주 기능으로 시작해야 합니다.
이들은 마이크로 컨트롤러 장치 및 라이브러리 헤더 파일의 구성 비트에 대한 매크로입니다.
#define _XTAL_FREQ 200000000 // Crystal Frequency, used in delay #define speed 1 // Speed Range 10 to 1 10 = 최저, 1 = 최고 #define steps 250 // 얼마나 걸립 니까 #define clockwise 0 // 시계 방향 매크로 #define anti_clockwise 1 // 시계 반대 방향 매크로
첫 번째 줄에서는 지연 루틴에 필요한 수정 주파수를 정의했습니다. 다른 매크로는 사용자 관련 옵션을 정의하는 데 사용됩니다.
코드를 보면 시계 방향과 시계 반대 방향의 세 가지 모드에서 모터를 구동하기 위해 정의 된 세 가지 기능 이 있습니다. 다음은 세 가지 기능입니다.
1. void full_drive (char 방향)
2. void half_drive (char 방향)
3. void wave_drive (char 방향)
아래 주어진 전체 코드 에서 이러한 함수의 정의를 확인하십시오.
이제 무효 주 기능에서 단계에 따라 풀 드라이브 모드를 사용하여 모터를 시계 방향으로 구동하고 몇 초 지연 후 웨이브 드라이브 모드를 사용하여 모터를 다시 시계 반대 방향으로 회전합니다.
void main (void) { system_init (); while (1) { / * 모터를 전체 구동 모드에서 시계 방향으로 구동 * / for (int i = 0; i
이것이 PIC 마이크로 컨트롤러로 스테퍼 모터를 회전시키는 방법입니다. 스테퍼 모터는 CNC 기계, 로봇 공학 및 기타 임베디드 애플리케이션에 매우 유용합니다.