이 튜토리얼에서는 MSP430을 사용하여 스테퍼 모터를 인터페이스 합니다. MSP-EXP430G2는 개발 도구입니다 런치 패드 일명는에서 제공하는 텍사스 인스트루먼트 배우고 자신의 마이크로 컨트롤러를 사용하는 방법에 대한 연습을 할 수 있습니다. 이 보드는 모든 MSP430 시리즈 마이크로 컨트롤러를 프로그래밍 할 수있는 MSP430 Value Line 범주에 속합니다. MSP를 처음 사용하는 경우 MSP430 시작하기 자습서를 확인하십시오.
스테퍼 모터:
스테퍼 모터는 전기 펄스를 뚜렷한 기계적 움직임으로 변환하는 브러시리스 DC 모터 유형입니다. 스테퍼 모터의 샤프트는 개별 단계로 회전합니다. 우리는 필요에 따라 정확한 단계와 속도를 얻을 수 있습니다.
우리는 시장에서 저렴하게 구입할 수있는 35BYJ46 바이폴라 스테퍼 모터 를 사용할 것입니다. 6 개의 전선이 있지만 5 개의 전선도 함께 제공됩니다. 스테퍼 모터에는 2 개의 코일이 있습니다. 각각 3 개의 전선이 나옵니다. 3 선 중 1 선이 중앙에 두드려서 나머지 2 선은 코일로 직접 연결됩니다. 총 4 개의 신호 와이어와 2 개의 중앙 탭 와이어가 있으며 5-12V 전원 공급 장치에 연결됩니다.
모터에서 나오는 와이어가 총 5 개이면 4 개의 와이어가 신호 와이어이고 1 개는 양쪽 코일에 중앙 탭핑됩니다. 이렇게.
어떤 와이어가 중앙 탭인지 또는 신호 와이어인지 확인하려면 모터에서 나오는 와이어의 저항을 확인해야합니다. 따라서 동일한 코일로 연결된 전선은 중앙 탭의 저항에 비해 저항 값이 높습니다.
위의 그림에서 Blue와 Yellow 전선의 저항 값을 확인하고 그 사이의 저항이 Yellow와 Red 또는 Blue와 Red 사이의 값보다 큰 경우입니다. 따라서 빨간색은 중앙 탭 와이어입니다.
이전에 스테퍼 모터를 다른 마이크로 컨트롤러와 인터페이스했습니다.
- Arduino Uno와 스테퍼 모터 인터페이스
- Raspberry Pi를 사용한 스테퍼 모터 제어
- 8051 마이크로 컨트롤러와 인터페이싱하는 스테퍼 모터
- 스테퍼 모터와 PIC 마이크로 컨트롤러의 인터페이스
스테퍼 모터는 마이크로 컨트롤러 없이도 제어 할 수 있습니다. 스테퍼 모터 드라이버 회로를 참조하십시오.
ULN2003 스테퍼 모터 드라이버:
대부분의 스테퍼 모터 는 드라이버 모듈의 도움으로 만 작동합니다. 이는 컨트롤러 모듈 (이 경우 MSP)이 모터가 작동 할 수 있도록 I / O 핀에서 충분한 전류를 제공 할 수 없기 때문입니다. 그래서 우리는 스테퍼 모터 드라이버 로 ULN2003 모듈과 같은 외부 모듈을 사용할 것입니다. 드라이버 모듈에는 여러 유형이 있으며 사용되는 모터 유형에 따라 등급이 변경됩니다. 모든 드라이버 모듈의 기본 원칙은 모터가 작동하기에 충분한 전류를 공급 / 싱크하는 것입니다.
이 프로젝트에서는 ULN2003 모터 드라이버 IC를 사용 합니다. IC의 핀 다이어그램은 다음과 같습니다.
IC의 경우 4 개의 입력 및 4 개의 출력 포트를 사용합니다.
필요한 재료:
- MSP430
- 35BYJ46 또는 28-BYJ48 스테퍼 모터
- ULN2003 IC
- 전선
- 브레드 보드
회로도:
위 그림에서 스테퍼의 RED 선 은 IC의 PIN5와 연결되어 있지 않으며 5V로 연결되어야합니다. 스테퍼 모터의 색상 코드는 회로도에 제공된 색상과 다를 수 있습니다. 따라서 올바른 신호선을 확인한 후 전선을 연결하십시오.
Energia IDE를 사용하여 코드를 작성합니다. Arduino IDE와 동일하며 사용하기 쉽습니다. 스테퍼 구동을위한 샘플 코드는 Arduino IDE의 예제 메뉴에서도 찾을 수 있습니다.
코드 및 작업 설명:
MSP430으로 프로그래밍을 시작하기 전에 프로그램 내에서 실제로 어떤 일이 발생해야하는지 이해합시다. 4 단계 시퀀스 방법을 사용하므로 한 번의 완전한 회전을 위해 수행해야 할 4 단계가 있습니다. A, B, C 및 D를 4 개의 코일로 간주하십시오.
단계 |
핀 전원 공급 |
통전되는 코일 |
1 단계 |
6과 7 |
A와 B |
2 단계 |
7과 8 |
B와 C |
3 단계 |
8과 9 |
C와 D |
4 단계 |
9 및 6 |
D와 A |
이 튜토리얼에서는 MSP430 스테퍼 모터 코드 를 작성합니다. 전체 프로그램은 튜토리얼의 끝에서 찾을 수 있습니다. 몇 가지 중요한 라인이 아래에 설명되어 있습니다.
스테퍼 모터의 회 전당 스텝 수는 32로 계산되었습니다. 따라서 아래 줄에 표시된대로 입력합니다.
const int 단계 = 32;
다음으로 스테퍼 모터를 연결 한 핀을 지정하는 인스턴스를 만들어야합니다.
스테퍼 myStepper (STEPS, 6, 7, 8, 9);
Stepper 라이브러리를 사용하고 있기 때문에 아래 줄을 사용하여 모터의 속도를 설정할 수 있습니다. 35BYJ46 스테퍼 모터의 경우 속도 범위는 0 ~ 200입니다.
Mystepper.setSpeed (200);
이제 모터를 한 단계 움직이기 위해 다음 라인을 사용할 수 있습니다.
myStepper.step (STEPS);
기어비로 32 단계와 64 단계가 있으므로 2048 (32 * 64 = 2048)을 움직여 하나의 완전한 회전을해야합니다. 이제 아래 코드를 업로드하고 번호를 변경하십시오. 당신의 필요에 따라 단계의.
이것은 스테퍼 모터를 PIC 마이크로 컨트롤러와 인터페이스하는 방법입니다. 이제 자신의 창의력을 사용하고 이에 대한 응용 프로그램을 찾을 수 있습니다. 스테퍼 모터를 사용하는 프로젝트가 많이 있습니다.