



Se você já conferiu nosso artigo Tudo Sobre DRIVER A4988 e Motor de Passo, agora é hora de dar um passo adiante com um controlador ainda mais robusto, preciso e versátil: o DRV8825. Neste post você vai entender tudo sobre esse driver, como funciona, suas vantagens, diferenças frente ao A4988 e como usá-lo com Arduino em seus projetos!
O DRV8825 é um driver de motor de passo bipolar com microstepping (Micro passos) integrado, desenvolvido para controlar motores de passo de forma precisa e eficiente. Ele é ideal para aplicações que exigem alta resolução, torque elevado e operação estável — como impressoras 3D, máquinas CNC, braços robóticos e dispositivos automatizados em geral. Esse módulo é, na prática, um circuito integrado que recebe comandos simples de direção e passos (STEP/DIR) e controla a corrente dos enrolamentos do motor, realizando a movimentação de forma suave.
O DRV8825 aparece em muitos projetos que precisam de precisão e força, como:

| M0 | M1 | M2 | Resolução de micropassos |
| Baixo | Baixo | Baixo | Passo completo |
| Alto | Baixo | Baixo | Meio passo |
| Baixo | Alto | Baixo | 1/4 de passo |
| Alto | Alto | Baixo | 1/8 de passo |
| Baixo | Baixo | Alto | 1/16 de passo |
| Alto | Baixo | Alto | 1/32 de passo |
| Baixo | Alto | Alto | 1/32 de passo |
| Alto | Alto | Alto | 1/32 de passo |
Para desenvolver o projeto, iremos precisar de:
Conexões do os pinos do Arduino:
| Driver de motor DRV8825 | Arduino |
| RST | 5V |
| SLP | 5V |
| GND | GND |
| STEP | 3 |
| DIR | 2 |
| Driver de motor DRV8825 | Motor |
| A1 | A1 |
| A2 | A2 |
| B1 | B1 |
| B2 | B2 |
// Pino de conexão
const int dirPin = 2;
const int stepPin = 3;
const int stepsPerRevolution = 200;
void setup() {
pinMode(stepPin, OUTPUT);
pinMode(dirPin, OUTPUT);
}
void loop() {
// Seta a direção do motor para sentido horário
digitalWrite(dirPin, HIGH);
// Gire o motor lentamente
for (int x = 0; x < stepsPerRevolution; x++) {
digitalWrite(stepPin, HIGH);
delayMicroseconds(2000);
digitalWrite(stepPin, LOW);
delayMicroseconds(2000);
}
delay(1000); // Espera um segundo
// Ajuste a direção do motor no sentido anti-horário.
digitalWrite(dirPin, LOW);
// Girar o motor rapidamente
for (int x = 0; x < stepsPerRevolution; x++) {
digitalWrite(stepPin, HIGH);
delayMicroseconds(1000);
digitalWrite(stepPin, LOW);
delayMicroseconds(1000);
}
delay(1000); // Espera um segundo
}
const int dirPin = 2;
const int stepPin = 3;
const int stepsPerRevolution = 200;
pinMode(stepPin, OUTPUT);
pinMode(dirPin, OUTPUT);
digitalWrite(dirPin, HIGH);
for (int x = 0; x < stepsPerRevolution; x++) {
digitalWrite(stepPin, HIGH);
delayMicroseconds(2000);
digitalWrite(stepPin, LOW);
delayMicroseconds(2000);
}
delay(1000);
digitalWrite(dirPin, LOW);
for (int x = 0; x < stepsPerRevolution; x++) {
digitalWrite(stepPin, HIGH);
delayMicroseconds(1000);
digitalWrite(stepPin, LOW);
delayMicroseconds(1000);
}
delay(1000);
Com este projeto, aprendemos mais sobre drivers de motor de passo, e que existem drives para aplicações específicas como, por exemplo, em projetos onde é necessário o microstepping para aumentar a precisão do movimento. Para mais materiais como esse, continue acompanhando as postagens semanais do blog e não deixe de visitar nossa loja. Lá você encontra todos os componentes necessários para desenvolver esse e muitos outros projetos! Que a força esteja com vocês! Até mais!
Algumas referências utilizadas no artigo:
|
Neste post você vai entender tudo sobre o driver DRV8825: como funciona, suas vantagens, diferenças frente ao A4988 e como usá-lo com Arduino em seus projetos!
Encontre tudo na Loja Eletrogate com frete grátis para compras acima de R$ 200