Articles

을 제어하는 방법 스테퍼 모터 A4988 드라이버 Arduino

이 문서에서 알아야 할 모든 것에 대한 제어 스테퍼 모터 A4988 댄서 모터 운전사 및 Arduino. 배선 다이어그램,전류 제한 설정 방법에 대한 자습서 및 많은 예제 코드를 포함 시켰습니다.

사용할 수 있지만 이 드라이버지 않고 아두이노 라이브러리,좋습니다 당신도 살펴보면 예제 코드에 대한 AccelStepper 라이브러리의 끝에서 이습니다. 이 라이브러리는 사용하기가 매우 쉽고 하드웨어의 성능을 크게 향상시킬 수 있습니다.각 예제 후에 코드를 분해하고 어떻게 작동하는지 설명하므로 필요에 맞게 수정하는 데 문제가 없어야합니다.다른 스테퍼 모터 드라이버에 대해 자세히 알고 싶다면 아래 기사가 유용 할 수 있습니다:

  • How to control a stepper motor with DRV8825 driver and Arduino
  • 28BYJ-48 Stepper Motor with ULN2003 Driver and Arduino Tutorial
  • How to control a Stepper Motor with Arduino Motor Shield Rev3
  • TB6600 Stepper Motor Driver with Arduino Tutorial

Supplies

Hardware components

A4988 stepper motor driver × 1 Amazon
AliExpress
NEMA 17 stepper motor × 1 Amazon
Arduino Uno Rev3 × 1 Amazon
Power supply (8-35 V) × 1 Amazon
AliExpress
Breadboard × 1 Amazon
Capacitor (100 µF) × 1 Amazon
Jumper wires ~ 10 Amazon
AliExpress
USB cable type A/B × 1 Amazon

이 드라이버와 함께 CNC-쉴드 또는 확장판입니다. 이러한 실드에는 이미 커패시터가 포함되어 있으며 마이크로 스테핑 해상도를 쉽게 선택할 수있는 방법을 제공합니다. 그것은 배선을 훨씬 쉽게 만들어 주며 브레드 보드보다 더 영구적 인 솔루션이 필요한 경우 훌륭한 옵션입니다.

Tools

Small screwdriver Amazon
Multimeter Amazon
Alligator test leads (optional) Amazon

Software

Arduino IDE

Makerguides.com 은 참가자에게 아마존 서비스 Associates LLC,프로그램을 제휴 광고 프로그램을 제공하도록 설계되었는 수단을 위해 사이트를 적립하는 광고 비용으로 광고와 연결하는 제품에서 Amazon.com.

드라이버에 대해

의 중심에 A4988 드라이버을 찾을 수 있 칩해 알레그로 MicroSystems:the A4988DMOS 마이크로스텝 드라이버 번역기 및 과전류 보호합니다. 이 통합 모터 드라이버 인터페이스 마이크로 컨트롤러 슈퍼 쉽게 당신이 필요 두 개의 핀을 모두 제어 속도와 방향으로 스테퍼 모터입니다.

드라이버를 최대 출력 용량의 35V±2 는 좋은 운전을 위해 작은 규모에서 중간 크기의 스테퍼 모터 같은 NEMA17 양극 댄서 모터가 있습니다.

NEMA23 과 같은 더 큰 스테퍼 모터를 제어해야하는 경우 TB6600 스테퍼 모터 드라이버를 살펴보십시오. 이 드라이버는 a4988 과 동일한 코드로 사용할 수 있으며 현재 등급은 3.5A 입니다.

  • TB6600 댄서 모터 운전사와 함께 Arduino 튜토리얼

A4988 드라이버 칩은 여러 안전 기능이 내장 같은 overcurrent,short circuit,under-voltage lockout,over-temperature protection. 아래 표에서 더 많은 사양을 찾을 수 있습니다.

A4988 Specifications

Minimum operating voltage 8 V
Maximum operating voltage 35 V
Continuous current per phase 1 A
Maximum current per phase 2 A
Minimum logic voltage 3 V
Maximum logic voltage 5.5 V
Microstep resolution full, 1/2, 1/4, 1/8 and 1/16
Reverse voltage protection? No
치수 15.5×20.5mm(0.6″×0.8″)
비용 체크인 가격

자세한 내용을 확인할 수 있습니다 데이터 시트를 여기에.

사이의 차이는 A4988 및 DRV8825

DRV8825 매우 유사하 A4988 지만 몇 가지 주요 차이점이 있습니다:

  • 이 DRV8825 제공합 1/32 마이크로스텝핑하는 반면,A4988 만 내려갑 1/16-단계입니다. 마이크로 스테핑이 높을수록 부드럽고 조용한 작동이 이루어 지지만 항상 필요한 것은 아닙니다.
  • 전류 제한 전위차계가 다른 위치에서
  • 사이의 관계를 참조 전압 및 전류 제한은 다릅니다.
  • DRV8825 는 1.9μs 의 최소한도 단계 맥박 내구를 요구합니다;a4988 는 1μs 최소한을 요구합니다.
  • 이 DRV8825 함께 사용될 수 있습니다 높은 전압 모터 전원 공급 장치(45V vs35V). 이는 LC 전압 스파이크로 인한 손상에 덜 취약하다는 것을 의미합니다.
  • DRV8825 는 추가 냉각없이 a4988 보다 약간 더 많은 전류를 전달할 수 있습니다.

DRV8825 의 핀아웃은 A4988 과 정확히 동일하므로 드롭 인 대체품으로 사용할 수 있습니다!

A4899(왼쪽)대 DRV8825(오른쪽)

마이크로 설정

스테퍼 모터는 일반적으로 단계의 크기 1.8°200 단계별 혁명 이 참조하는 전체 단계가 있습니다. A4988 과 같은 마이크로 스테핑 드라이버는 중간 단계 위치를 허용하여 더 높은 해상도를 허용합니다. 이것은 중간 전류 레벨로 코일에 에너지를 공급함으로써 달성됩니다.

예를 들어 운전,모터에서는 분기 단계 모드를 줄 것이 200 단계별 혁명 모터 800microsteps 당 혁명을 사용하여 네 개의 다른 현재 수준이다.

A4988pinout

해상도(스텝 크기)선별기 핀(MS1,MS2,그리고 MS3)을 선택할 수 있는 하나의 다섯 가지 단계는 해상도에 따라 아래 테이블.

MS1 MS2 MS3 Microstep resolution
Low Low Low Full step
High Low Low 1/2 step
Low High Low 1/4 step
High High Low 1/8 step
High High High 1/16 step

모두 세 개의 입력 internal100kΩ pull-down resistors,그래서 떠나 세 가지 마이크로 선택 핀에 연결이 끊어 결과를 전체 단계는 모드입니다.

나는 종종 이러한 드라이버와 함께 CNC 실드 또는 확장 보드를 사용합니다. 확장 보드에는 MS1-MS3 을 높거나 낮게 설정하는 3 개의 dip 스위치가 있으며 CNC-실드에는 점퍼를 설치할 수 있습니다. 를 사용하는 경우 드라이버와 브레드에,당신은 사용할 수 있습 점퍼 와이어를 연결하는 선택 핀 5V(즉,그들이 높음).

배선 연결 A4988 을 아두이노와 스테퍼 모터

배선 다이어그램/개략도에 대한 A4988 댄서 모터 운전사와 함께 아두이노와 스테퍼 모터입니다.

배선 다이어그램/개략적 위에 보여줍니다 당신을 연결하는 방법 A4899 드라이버는 스테퍼 모터 and Arduino.

연결도 다음 표에 나와 있습니다:

A4988 Connections

A4988 Connection
VMOT 8-35V
GND Motor ground
SLP RESET
RST SLP
VDD 5V
GND Logic ground
STP Pin 3
DIR Pin 2
1A, 1B, 2A, 2B Stepper motor
  • 모터 전원 공급 장치에 연결된 접지 및 VMOT(오른쪽).
  • 스테퍼 모터의 두 코일은 1A,1B 및 2A,2B 에 연결됩니다(아래 참조).
  • gnd 핀(오른쪽 아래)은 마이크로 컨트롤러의 접지 핀에 연결되고 VDD 는 5V 에 연결됩니다.
  • STP(step)와 DIR(direction)핀은 각각 디지털 핀 3 과 2 에 연결됩니다. 원하는 경우 다른 디지털 핀을 선택할 수 있지만,이 튜토리얼과 예제 코드에 사용 된 것들입니다.
  • SLP 핀은 활성 로우 입력입니다. 의미,이 핀을 낮게 당기면 드라이버가 절전 모드로 전환되어 전력 소비가 최소화됩니다. RST 는 또한 활성 낮은 입력입니다. 낮게 당길 때 높게 당길 때까지 모든 스텝 입력이 무시됩니다. 핀을 사용하지 않는 경우 인접한 SLP/SLEEP 핀에 연결하여 높이로 가져와 드라이버를 활성화 할 수 있습니다.
  • EN(enable)핀이 분리 된 상태로 둘 수 있으며 기본적으로 낮게 당겨집니다. 이 핀이 높게 설정되면 드라이버가 비활성화됩니다.

이 튜토리얼의 나머지 부분에서는 MS1,MS2 및 MS3 의 연결이 끊어 졌으므로 드라이버가 전체 단계 모드로 작동합니다. 이렇게하면 코드를 조금 더 쉽게 설명 할 수 있습니다. 일반적으로 1/8 또는 1/16 마이크로 스테핑을 사용하고 적절한 핀을 5V 에 연결합니다(소개의 표 참조).

경고

A4988 운반 보드를 사용하여 낮은 ESR 세라믹 커패시터,감 파괴적인 LC 전압 스파이크,특히 사용하는 경우 전원 지도상의 몇 인치입니다.

드라이버를 보호하기 위해 vmot 와 GND 사이에 전해 콘덴서를 연결할 수 있습니다. Pololu 는 47μf 이상의 커패시터를 제안합니다(100μf 커패시터를 사용했습니다). 나는 아마존에서이 구색 상자를 좋아한다,이런 식으로 나는 항상 손에 적당한 크기의 일부 커패시터를 가지고있다.

올바른 스테퍼 모터 배선을 결정하는 방법은 무엇입니까?스테퍼 모터의 데이터 시트를 찾을 수없는 경우 모터를 올바르게 배선하는 방법을 파악하기가 어려울 수 있습니다. 내가 사용하는 다음을 속이는 방법을 결정을 연결하는 4 와이어는 양극 댄서 모터:

은 당신이 필요로하는 유일한 식별하는 두 쌍의 철사 연결되어 있는 두 개의 코일 모터입니다. 한 코일의 전선은 1A 와 1B 에 연결되고 다른 코일은 2a 와 2b 에 연결되며 극성은 중요하지 않습니다.

을 찾기 위해 두 개의 철사 중 하나에서 코일에 다음을 수행합니다 모터와 연결이 끊어:

  1. 을 회전하려고 샤프트의 댄서 모터에 의해 손으로 알 수 있는 방법 하드 그것을 설정하는 것입니다.
  2. 이제 모터에서 임의의 전선 쌍을 선택하고 맨 끝을 함께 만지십시오.
  3. 다음으로 스테퍼 모터의 샤프트를 다시 돌리려고합니다.

많은 저항을 느낀다면 같은 코일에서 한 쌍의 전선을 발견했습니다. 샤프트를 자유롭게 돌릴 수 있다면 다른 쌍의 와이어를 사용해보십시오. 이제 두 개의 코일을 위의 배선도에 표시된 핀에 연결하십시오.

(만약 그것은 아직도 불분명 한,아래의 코멘트를 남겨주세요,자세한 정보도 찾을 수 있습니다에 RepRap.org wiki)

설정하는 방법 현재 제한이 있나요?

을 시작하기 전에 프로그래밍의 아두이노와 사용하기 시작 드라이버가 있는 하나의 아주 중요한 것은 당신이해야 할 많은 사람들을 잊지:설정은 현재의 한계!

이 단계는 매우 복잡하지 않지만 절대적으로 보호하기 위해 필요한 스테퍼 모터 드라이버입니다. 을 설정하지 않은 경우 적절한 전류 제한,당신의 모터의 그릴 수 있습니다 더욱이 현재보다 또는 당신의 드라이버 처리할 수 있는 가능성이 손 하나다.전류 제한을 설정하려면 기준 전압을 측정하고 그에 따라 온보드 전위차계를 조정해야합니다. 당신이 필요합니다 작은 스크루드라이버,멀티 미터를 측정하는 기준 전압 테스트 및 앨리게이터 리드(옵션이지만 매우 편리).

전류 제한 배선도에 대한 A4988 드라이버입니다.

기준 전압을 측정하려면 드라이버에 전원을 공급해야합니다. A4988 는 VDD(5V)를 통해서만 힘을 필요로 하고 당신은 rst 와 SLP 를 함께 연결할 필요가 있습니다,그렇지 않으면 운전사는 켜지지 않을 것입니다. 이 작업을 수행하는 동안 스테퍼 모터를 분리하는 것이 좋습니다.

이미 드라이버를 배선 한 경우 스테퍼 모터를 제외한 모든 것을 연결된 상태로 둘 수 있습니다. Arduino 의 USB 포트를 통해 전원을 적용 할 수 있습니다.

A4988 Connection
VDD 5V
RST SLP
SLP RESET
GND Ground
Required connections to set the current limit

Current limit formula

The next step is to calculate the current limit with the following 수식:

전류 제한=Vref÷(8×Rcs)

Rcs 는 전류 감지 저항입니다. 2017 년 1 월 이전에 Pololu 에서 A4988 드라이버를 구입 한 경우 Rcs 는 0.050Ω 가됩니다. 그 후 판매 된 드라이버에는 0.068Ω 전류 감지 저항이 있습니다.

이것이 의미하는 현재의 한계를 위한 1A 보드 0.068Ω 전류 감지 저항기,다 Vref 해야 540mV.

전류 감지 저항의 위치입니다. 사진:www.폴로 루.com

선택하려면 오른쪽에 현재 제한을 살펴보고,데이터 시트를 당신의 댄서 모터가 있습니다. 을 찾을 수 없는 경우 현재의 평가가는 모터,나는 추천을 시작으로 현재의 한계 1A. 당신은 항상 그것을 증가시킬 수 있는 경우 나중에 모/driver 단계가 있습니다.

보너스 정보:풀 스텝 모드에서 드라이버를 사용할 때 각 코일을 통과하는 전류는 설정된 전류 제한의 약 70%로 제한됩니다. 즉,전체 단계 모드에서 전류 제한을 40%높게 또는 1.4A 로 설정해야합니다. 마이크로 스테핑을 사용할 때 위의 공식이 적용됩니다.모터 전원 공급 장치 전압을 변경하면 전류 제한을 다시 보정해야합니다. 모터가 많은 소음을 내고 있다면 전류 제한을 낮추려고합니다. 모터가 단계를 놓치지 않도록 전류 제한을 충분히 높게 설정하는 것이 좋습니다.

측정 Vref

이제 당신을 측정해야 reference voltage(Vref)두 지점 사이에 표시된 그림은 아래(GND 와 전위차계)및 조정한 값이 계산됩니다.

Vref 프로브 포인트(GND 및 전위차계).

내가 사용하는 것이 좋습니다 악어 테스트리드 고정 드라이버를 설정하는 전류 한계입니다. 이렇게 하면 전위차계를 조정하고 기준 전압을 동시에 측정할 수 있습니다.

참고:다른 방법을 측정하는 현재 제한을 직접 측정하는 현재 그리기의 댄서 모터가 있습니다. 개인적으로 나는 위의 방법을 훨씬 쉽게 찾을 수 있습니다.

Pololu 는 웹 사이트에서 다음을 언급합니다:

참고:코일 현재의 매우 다를 수 있습니다 전원 공급 장치에서 현재,그래서 당신은하지 않아야 사용이 현재에서 측정된 전력 공급 전류 한도를 설정. 현재 미터를 넣을 수있는 적절한 장소는 스테퍼 모터 코일 중 하나와 직렬로되어 있습니다.

Pololu

전류 제한 FAQ

스테퍼 모터가 연결되어 있는지 없는지해야합니까?
아니요,전류 제한을 설정할 때 스테퍼 모터를 드라이버에 연결할 필요가 없습니다. 안전한쪽에 있으려면 모터를 분리하십시오.때로는 Vref 전압 측정을 방해합니다.Arduino 모터 스케치를 실행하여 모터를 돌릴 필요가 있습니까?위의 질문을 참조하십시오.

Vref 를 올리려면 전위차계 시계 또는 시계 반대 방향으로 돌려야합니까?
이것은 드라이버의 제조업체에 따라 다릅니다. 는 경우에 당신은 진짜 Polulu 브레이크 아웃 보드의 DRV8825 또는 A4988 당신을 올리도록 전위차계를 오른쪽으로 Vref 및 시계 반대 방향으로 낮습니다.

냉각 드라이버

A4988 드라이버 IC 최대는 현재 등급의 2 개별 코일,그러나 없이 열 싱크할 수 있는 공급에 대해 1 별 코일을 시작하기 전에 바뀝니다.

드라이버는 일반적으로 내가 바로 설치하는 것이 좋습니다 작은 접착제 백업 방열판과 함께 제공됩니다. 당신은 또한 정말 싼 아마존에서 작은 방열판의 무리를 구입할 수 있습니다.

기본적인 아두이노 예제 코드는 제어 스테퍼 모터

이제 당신은 유선 드라이버를 설정하고 현재 제한,그것은 시간을 연결하는 아두이노를 컴퓨터로 업로드 일부 코드입니다. Arduino IDE 를 사용하여 다음 예제 코드를 Arduino 에 업로드 할 수 있습니다. 이 특정 예제의 경우 라이브러리를 설치할 필요가 없습니다.

이 스케치는 스테퍼 모터의 속도,회전 수 및 회전 방향을 모두 제어합니다.

코드 필드의 오른쪽 상단 모서리에있는 버튼을 클릭하여 코드를 복사 할 수 있습니다.

코드 작동 방식:

스케치를 시작으로 정의하는 단계와 방향을 핀으로 고정합니다. 나는 그들을 Arduino 핀 3 과 2 에 연결했다.

명령문#definedirPin를 언급하는 모든 곳에서 컴파일러는 프로그램이 컴파일 될 때 값 2 로 대체합니다.나는 또한

나는 또한stepsPerRevolution상수를 정의했다. 드라이버를 전체 단계 모드로 설정했기 때문에 혁명 당 200 단계로 설정했습니다. 설정이 다른 경우 이 값을 변경합니다.

// Define stepper motor connections and steps per revolution:#define dirPin 2#define stepPin 3#define stepsPerRevolution 200

setup()pinMode().

void setup() { // Declare pins as output: pinMode(stepPin, OUTPUT); pinMode(dirPin, OUTPUT);}

loop()섹션 코드,우리는 모터 스핀이나 혁명에서 천천히 CW 방향으로 중 하나 혁명에 신속하게 시계 반대 방향으로 방향입니다. 다음으로,우리는 모터가 고속으로 각 방향으로 5 회전 회전하도록합니다. 그렇다면 속도,회전 방향 및 회전 수를 어떻게 제어합니까?

제어 방향으로 회전:

을 제어하는 회전 방향으로의 댄서 모터리 DIR(방향)핀 높거나 낮습니다. 이를 위해digitalWrite()함수를 사용합니다. 스테퍼 모터를 어떻게 연결했는지에 따라 DIR 핀을 높게 설정하면 모터가 CW 또는 CCW 를 돌리게됩니다.

제어 단계 또는 회전 수:

이 예제 스케치에서 for 루프는 스테퍼 모터가 취할 단계 수를 제어합니다. For 루프 내의 코드는 스테퍼 모터의 1 단계를 초래합니다. 루프의 코드가 200 번 실행되기 때문에(stepsPerRevolution),이로 인해 1 혁명이 발생합니다. 마지막 두 루프에서 for 루프 내의 코드는 1000 번 실행되어 1000 단계 또는 5 회전이 발생합니다.for 루프의 두 번째 용어를 원하는 단계 수로 변경할 수 있습니다. for(int i = 0; i < 100; i++)는 100 단계 또는 반 혁명을 초래합니다.

제어 속도:

스테퍼 모터의 속도는 우리가 스텝 핀으로 보내는 펄스의 주파수에 의해 결정됩니다. 주파수가 높을수록 모터가 더 빨리 실행됩니다. 코드에서delayMicroseconds()를 변경하여 펄스의 주파수를 제어 할 수 있습니다. 지연 시간이 짧을수록 주파수가 높을수록 모터가 더 빨리 실행됩니다.

AccelStepper 라이브러리얼

AccelStepper 라이브러리에 의해 작성된 마이크 맥 컬 리은 멋진 라이브러리를 사용에 대한 귀하의 프로젝트입니다. 장점 중 하나는 가속 및 감속을 지원하지만 다른 멋진 기능도 많이 있다는 것입니다.

이 라이브러리의 최신 버전을 여기에서 다운로드하거나 아래 버튼을 클릭 할 수 있습니다.

Sketch>Include Library>Add 로 이동하여 라이브러리를 설치할 수 있습니다.Arduino IDE 에서 ZIP 라이브러리…

또 다른 옵션은 Tools>라이브러리 관리…로 이동하거나 Windows 에서 Ctrl+Shift+I 를 입력하는 것입니다. 라이브러리 관리자는 설치된 라이브러리 목록을 열고 업데이트합니다.

를 검색할 수 있는’accelstepper’한 라이브러리에 의해 마이크 맥 컬 리. 최신 버전을 선택한 다음 설치를 클릭하십시오.

지속적인 교체 예제 코드

다음과 같은 스케치를 실행하는 데 사용할 수 있는 하나 이상의 댄서 모터 지속적으로 일정한 속도이다. (가속 또는 감속은 사용되지 않습니다).

코드 작동 방식:

첫 번째 단계는#include <AccelStepper.h>가있는 라이브러리를 포함하는 것입니다.

// Include the AccelStepper library:#include <AccelStepper.h>

다음 단계를 정의하는 것입 A4988Arduino 연결 및 모터 인터페이스 유형입니다. 스텝 및 방향 드라이버를 사용할 때는 모터 인터페이스 유형을 1 로 설정해야 합니다. 여기에서 다른 인터페이스 유형을 찾을 수 있습니다.

명령문#definedirPin를 언급하는 모든 곳에서 컴파일러는 프로그램이 컴파일 될 때 값 2 로 대체합니다.

// Define stepper motor connections and motor interface type. Motor interface type must be set to 1 when using a driver:#define dirPin 2#define stepPin 3#define motorInterfaceType 1

다음에,당신은 새 인스턴스를 만들의 AccelStepper 클래스에 적합한 모터 인터페이스 종류 및 연결이 있습니다.

이 경우에는 나라는 댄서 모터’댄서’사용할 수 있지만 다른 이름을 뿐만 아니라,다음과 같’z_motor’또는’liftmotor’등등. 나는 이것을 할 수 없다. 스테퍼 모터에 부여하는 이름은 나중에 특정 모터의 속도,위치 및 가속도를 설정하는 데 사용됩니다. 이름과 핀이 다른 AccelStepper 클래스의 인스턴스를 여러 개 만들 수 있습니다. 이것은 당신이 쉽게 동시에 2 개 이상의 스테퍼 모터를 제어할 수 있습니다.

// Create a new instance of the AccelStepper class:AccelStepper stepper = AccelStepper(motorInterfaceType, stepPin, dirPin);

setup()섹션 코드의 정의에서 최대 속도 단계/초입니다. 초당 1000 단계 이상의 속도는 신뢰할 수 없으므로이를 최대로 설정했습니다. 최대 속도를 정의하려는 스테퍼 모터(‘스테퍼’)의 이름을 지정합니다. 여러 개 있는 경우 스테퍼 모터 연결을 지정할 수 있습니다 다른 속도를 위해 각각의 모터:

void setup() { // Set the maximum speed in steps per second: stepper.setMaxSpeed(1000); stepper2.setMaxSpeed(500);}

loop()setSpeed()함수를 사용합니다. (코드의 설정 섹션에 배치 할 수도 있습니다).

stepper.runSpeed()stepper.setSpeed(-400);는 모터를 다른 방향으로 돌립니다.

예제 코드의 수를 제어하려면 단계 또는 회전

자 회전 모터는 특정 숫자의 단계 I 를 사용하는 동안 루프와 조화stepper.currentPosition(). 다음 예제 코드를 사용하여 모터를 앞뒤로 작동시킬 수 있습니다.

코드 설명:

첫 번째 부분의 코드 루프()섹션은 정확히 동일한 이전의 예입니다.

루프에서currentPosition()함수와 함께 while 루프를 사용합니다. 먼저 스테퍼 모터의 현재 위치를stepper.setCurrentPosition(0)로 0 으로 설정했습니다.다음은 while 루프를 사용합니다. While 루프는 괄호 안의 표현식이()false 가 될 때까지 연속적으로 무한히 반복됩니다. 따라서이 경우 스테퍼 모터의 현재 위치가 400 단계와 같지 않은지 확인합니다(!=의미:)와 같지 않습니다. 이 경우는 아니지만setSpeed()에 의해 설정된 일정한 속도로 스테퍼 모터를 실행합니다.

의 나머지 부분에서 루프로,우리는 정확히 동일한 작업을 수행하고,그냥 다른 속도와 목표 위치.

가속과 감속 예제 코드

다음과 같은 스케치에 추가할 수 있습니다 가속과 감속하의 움직임을 댄서 모터,없이 복잡하게 코딩이다. 다음 예에서 모터는 초당 200 단계의 속도와 초당 30 단계의 가속도로 앞뒤로 달릴 것입니다.

코드 설명:

setup()에서 최대 속도 외에 가속/감속을 정의해야합니다. 이를 위해setAcceleration()함수를 사용합니다.

void setup() { // Set the maximum speed and acceleration: stepper.setMaxSpeed(200); stepper.setAcceleration(30);}

루프에서 섹션의 코드,내가 사용하는 다른 방법으로 하자 회전 모터는 미리 정의된 수의 단계가 있습니다. 함수stepper.moveTo()stepper.runToPostion()이동하는 모터를(가속/감속)대상에 위치하고 블록할 때까지 그것은 대상에 위치입니다. 이 기능은 차단되므로 동시에 다른 것을 제어해야 할 때이를 사용하지 않아야합니다.

결론

이 문서에서는 다음과 같이 당신을 제어하는 방법 스테퍼 모터 A4988 댄서 모터 운전사 및 Arduino. 나는 당신이 유용하고 유익한 발견 바랍니다. 그랬다면,전자 제품도 좋아하고 물건을 만드는 친구와 공유하십시오!

나 개인적으로 사용이 드라이버에 대한 많은 무리의 3D 프린터와는 다른 CNC 관련 프로젝트 그러나 내가 사랑하는 것이 무엇인 프로젝트 계획에서관(또는 이미 구축)이 드라이버입니다. 질문,제안 사항이 있으시거나이 튜토리얼에서 누락 된 사항이 있다고 생각되면 아래에 의견을 남겨주십시오.