DRV8825 : 스테퍼 모터 용 드라이버

drv8825

Un 모터 드라이버 매우 간단한 방식으로 직류 모터를 제어 할 수있는 회로입니다. 이 컨트롤러를 사용하면 회전 속도를 제어하기 위해 모터가 공급되는 전압 및 전류를 관리 할 수 ​​있습니다. 또한 순환 전류를 제한 (초핑)하여 모터의 전자 장치가 손상되는 것을 방지하는 보호 방법 역할을합니다.

따라서 DIY 프로젝트를 만들려면 하나 이상의 DC 모터 포함어떤 유형이든, 특히 스테퍼 모터의 경우 모터 드라이버를 사용하여 작업을 더 쉽게 만들어야합니다. 다르게하는 방법이 있지만 트랜지스터를 사용하면 모터 드라이버가있는 모듈이 훨씬 더 실용적이고 간단합니다. 실제로 이러한 드라이버는 트랜지스터에 의존하여 작업을 수행합니다.

드라이버가 필요한 이유는 무엇입니까?

El 모터 제어에는 드라이버가 필요합니다. 내가 전에 말했듯이. 또한 Arduino 보드와 마이크로 컨트롤러는 모터의 움직임에 전력을 공급할 수 없다는 점을 명심해야합니다. 이는 단순히 디지털 신호용으로 설계되었지만 이러한 유형의 모터에서 요구하는 것과 같이 조금 더 많은 전력을 공급해야하는 경우에는 제대로 작동하지 않습니다. 그렇기 때문에 Arduino 보드와 모터 사이에이 요소가 있어야합니다.

드라이버 유형

너는 그것을 알아야한다. 여러 유형의 드라이버가 있습니다 대상 엔진 유형에 따라 다릅니다. 올바른 드라이버를 얻기 위해 차별화하는 방법을 아는 것이 중요합니다.

  • 단극 모터 용 드라이버: 코일을 통해 흐르는 전류가 항상 같은 방향으로 흐르기 때문에 제어가 가장 간단합니다. 운전자의 업무는 각 펄스에서 활성화해야하는 코일을 알아야합니다. 이러한 유형의 컨트롤러의 예로 ULN2003A가 있습니다.
  • 바이폴라 모터 용 드라이버:이 모터는 DRV8825와 같이 더 복잡하고 드라이버도 마찬가지입니다. 이 경우 한 방향 또는 다른 방향 (북-남 및 남-북)의 전류로 활성화 될 수 있습니다. 모터 내부에서 발생하는 자기장의 극성을 바꾸는 방향을 결정하는 드라이버입니다. 방향을 바꾸는 가장 잘 알려진 회로는 Punete H라고하며 모터가 양방향으로 회전 할 수 있도록합니다. 그 H- 브리지는 여러 트랜지스터로 구성됩니다.

후자는 일부에 포함되기 때문에 최근 몇 년 동안 더욱 인기를 얻었습니다. 3D 프린터 헤드로 인쇄를 제어합니다. 3D 프린터를 장착하려는 경우 또는 이미 가지고있는 경우 모터를 제어하거나이 부품이 손상된 경우 교체 할 수 있도록 이들 중 하나가 필요할 수 있습니다. 로봇, 플로터, 기존 프린터, 스캐너, 전자 차량 및 롱 등에도 사용됩니다.

DRV8825

시장에는 여러 모델의 드라이버가 있습니다. 예를 들어, 그 DRV8825는 A4988의 업그레이드 된 버전입니다.. 이 드라이버는 모터를 적절하게 처리하기 위해 마이크로 컨트롤러에서 XNUMX 개의 디지털 출력 만 필요합니다. 이것으로 만이 두 신호로 모터의 방향과 단계를 제어 할 수 있습니다. 즉, 이것은 스테핑을 허용하거나 다른 간단한 모터처럼 빠르게 회전하는 대신 모터가 단계적으로 회전합니다.

DRV8825는 A4988에서 사용하는 전압보다 높은 전압으로 작업 할 수 있습니다. 45v에 도달 할 수 있습니다 A35의 4988v 대신. 또한 더 높은 전류, 특히 2.5A를 처리 할 수 ​​있습니다. 이는 A4988보다 1A 더 많은 것입니다. 이 모든 것 외에도이 새로운 드라이버는 스테퍼 모터 샤프트를보다 정확하게 움직일 수 있도록 새로운 32/1 마이크로 스테핑 모드 (A16의 경우 4988/XNUMX)를 추가합니다.

그렇지 않으면 그들은 매우 유사합니다. 예를 들어, 둘 다 문제없이 높은 작동 온도에 도달 할 수 있습니다. 따라서 작은 방열판과 함께 사용하면 훨씬 좋습니다 (많은 모델에 이미 포함되어 있음). 특히 1A 이상에서 사용할 경우 더욱 그렇습니다.

캡슐화가 고온에 도달하면 예방 조치로이를 꺼야합니다. 상담하는 것이 좋을 것입니다 데이터 시트 구입 한 모델의 최대 온도를 확인하십시오. 온도를 모니터링하기 위해 드라이버 옆에 온도 센서를 추가하고 한계 온도에 도달하면 작동을 중단하는 회로를 사용하는 것이 좋습니다.

DRV8825에는 문제에 대한 보호 과전류, 단락, 과전압 및 과열. 따라서 그들은 매우 안정적이고 저항력이 강한 장치입니다. 그리고 모두 상당히 저렴한 가격 이 구성 요소를 찾을 수있는 전문점에서.

마이크로 스테핑

마이크로 스테핑

기술로 공칭 단계보다 낮은 마이크로 스테핑 단계를 달성 할 수 있습니다. 사용할 스테퍼 모터의 즉, 더 느리게 또는 더 정확하게 진행할 수 있도록 회전을 더 많은 부분으로 나눕니다. 이를 위해 각 코일에 적용되는 전류는 사용 가능한 디지털 신호로 아날로그 값을 에뮬레이션하여 변경됩니다. 완벽한 정현파 아날로그 신호가 얻어지고 서로 90º 위상차가있는 경우 원하는 회전이 달성됩니다.

하지만 물론 아날로그 신호를 얻을 수 없습니다. 우리는 디지털 신호로 작업합니다. 그렇기 때문에 전기 신호의 작은 점프를 통해 아날로그 신호를 시뮬레이션하기 위해 이들을 처리해야합니다. 모터의 해상도는 1/4, 1/8, 1/16, 1/32, ...

원하는 해상도를 선택하려면 모듈의 M0, M1 및 M2 핀을 제어해야합니다. 핀은 풀업 저항을 통해 접지 또는 GND에 연결되므로 연결되지 않은 경우 항상 LOW 또는 0이됩니다.이 값을 변경하려면 1 또는 HIGH 값을 강제로 설정해야합니다. 그만큼 M0, M1, M2의 값 해상도에 따라야하는 각각은 다음과 같습니다.

  • 전체 단계 : 낮음, 낮음, 낮음
  • 1/2 : 높음, 낮음, 낮음
  • 1/4 : 낮음, 높음, 낮음
  • 1/8 : 높음, 높음, 낮음
  • 1/16 : 낮음, 낮음, 높음
  • 1/32 : 다른 모든 가능한 값

핀아웃

DRV8825 핀아웃

El DRV8825 드라이버에는 간단한 연결 체계가 있습니다., 충분한 핀을 갖는 것은 덜 전문가에게는 약간 복잡 할 수 있습니다. 위의 이미지에서 볼 수 있지만, 실수를 저지르고 거꾸로 가져 가면 연결이 나쁘고 손상이 발생하는 경우가 흔하므로 핀을 볼 때 모듈을 올바르게 배치해야합니다.

코모 드라이버 연결 권장 사항, 제대로 작동하고 손상되지 않도록 아래 단계에 따라 장치를 적절하게 조정하고 보정하는 것이 좋습니다.

  1. 드라이버를 전압에 연결 모터 연결 또는 마이크로 스테핑없이.
  2. 멀티 미터로 측정 긴장 GND와 전위차계 사이에 존재합니다.
  3. 전위차계 조정 적절한 가치가 될 때까지.
  4. 이제 너는 할 수있다. 전원을 끄다.
  5. 이 순간 그래 넌 할 수있어 모터 연결. 그리고 전원을 다이버에 다시 연결하십시오.
  6. 멀티 미터 측정이란 드라이버와 모터 사이의 강도 단계적으로 전위차계를 미세 조정할 수 있습니다.
  7. 전원을 다시 끄고 이제 Arduino에 연결할 수 있습니다..

사용하지 않을 경우 마이크로 스테핑은 레귤레이터의 강도를 조절할 수 있습니다. 정격 모터 전류의 최대 100 %. 그러나 그것을 사용하려는 경우, 순환 할 값이 측정 된 값보다 높기 때문에이 한계를 줄여야합니다.

l298n
관련 기사 :
L298N : Arduino 용 모터 제어 모듈

Arduino와 통합

ARduino 및 DRV8825 회로도

Arduino에서 DRV8825 드라이버를 사용하려면 연결은 아주 간단합니다 Fritzing의 전자 회로도 상단에서 볼 수 있듯이 :

  • VMOT : 최대 45v의 전원에 연결됩니다.
  • GND : 접지 (모터)
  • SLP : 5v에서
  • RST : 5v에서
  • GND : 접지 (논리)
  • STP : Arduino 핀 3에 연결
  • DIR : Arduino 핀 2로
  • A1, A2, B1, B2 : 스테퍼 (모터)로

연결되고 적절하게 조정되면 제어 코드도 간단합니다. 예를 들어 스테퍼 모터를 제어하려면 다음을 사용할 수 있습니다. Arduino IDE의 코드:

const int dirPin = 2;
const int stepPin = 3;
 
const int steps = 200;
int stepDelay;
 
void setup() {
   // Configura los pines como salida
   pinMode(dirPin, OUTPUT);
   pinMode(stepPin, OUTPUT);
}
 
void loop() {
   //Se pone una dirección y velocidad
   digitalWrite(dirPin, HIGH);
   stepDelay = 250;
   // Se gira 200 pulsos para hacer vuelta completa del eje
   for (int x = 0; x < 200; x++) {
      digitalWrite(stepPin, HIGH);
      delayMicroseconds(stepDelay);
      digitalWrite(stepPin, LOW);
      delayMicroseconds(stepDelay);
   }
   delay(1000);
 
   //Ahora se cambia la dirección de giro y se aumenta la velocidad
   digitalWrite(dirPin, LOW);
   stepDelay = 150;
   //Se hacen dos vueltas completas
   for (int x = 0; x < 400; x++) {
      digitalWrite(stepPin, HIGH);
      delayMicroseconds(stepDelay);
      digitalWrite(stepPin, LOW);
      delayMicroseconds(stepDelay);
   }
   delay(1000);
}

Arduino IDE와 함께 제공되는 예제에서 찾을 수있는 몇 가지 코드 예제를 시도하고 값을 수정하여 모터에 미치는 영향을 알아 보는 것이 좋습니다.

스테퍼 모터, 제어 및 Arduino 프로그래밍에 대해 프로그래밍 과정을 무료로 다운로드.


3 코멘트, 당신의 것을 남겨주세요

코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.

  1.   예수

    안녕하세요, drv8825로 수제 CNC를 제작 중입니다. 제 질문은 23a보다 다소 저렴하기 때문에 nema 2.8 2.5a 모터를 넣을 수 있다면 문제가 있습니까? 감사합니다

    1.    이삭

      안녕 예수님,
      읽어 주셔서 감사합니다. 질문에 대해서는 해당 엔진과 호환되도록 사용할 드라이버를 주시하십시오. DRV8825의 경우 최대 2.5A입니다. 내가 올바르게 기억한다면 최대 6600A까지 올라갈 수있는 TB3.5을보세요 ...
      인사말!

  2.   Rodolfo

    살 라우 도스. 모터 전원 공급 장치에있는 전해 콘덴서의 값은 얼마입니까? 감사.