- Introdução
O Raspberry Pi é um computador de placa única popular, amplamente utilizado em projetos de hobby e industriais. Trata-se essencialmente de um pequeno computador do tamanho de um cartão de crédito. É amplamente utilizado em diversos projetos, incluindo o controle de motores de passo — uma tarefa comum em aplicações de controle de movimento. Neste artigo, você aprenderá como usar a linguagem de programação Python e a biblioteca RPi.GPIO para controlar um motor de passo, juntamente com as instruções de fiação correspondentes.
- Materiais Necessários
- Raspberry Pi (Raspberry Pi 3B+ ou superior recomendado)
- Motor de passo (ex.: NEMA 17)
- Módulo driver de motor de passo (ex.: DRV8825 ou A4988)
- Fios jumper (conectores DuPont)
- Adaptador de alimentação DC 12V
- Protoboard (opcional)
- Capacitor de desacoplamento (ex.: eletrolítico de 100 µF)
- Instruções de Fiação
Nota de Segurança: Sempre conecte a fiação do motor e do driver antes de aplicar a alimentação. Verifique todas as conexões para evitar danos ao Raspberry Pi ou ao módulo driver.
- Conecte os quatro fios do motor de passo aos pinos A1, A2, B1 e B2 do módulo driver.
- Conecte o terminal positivo da fonte de alimentação de 12V ao pino VMOT do módulo driver e o terminal negativo ao pino GND. Coloque um capacitor de desacoplamento (ex.: eletrolítico de 100 µF) entre VMOT e GND, o mais próximo possível do módulo driver, para suprimir picos de tensão.
- Conecte o pino de alimentação de 5V (pino físico 2 ou pino 4) do Raspberry Pi ao pino VCC do módulo driver e conecte um pino GND (ex.: pino físico 6) ao pino GND do módulo driver.
- Conecte os seguintes pinos GPIO BCM do Raspberry Pi aos pinos correspondentes do módulo driver:
| GPIO do Raspberry Pi (BCM) | Pino Físico | Pino do Módulo Driver |
|---|---|---|
| GPIO 17 | Pino 11 | DIR |
| GPIO 18 | Pino 12 | STEP |
| GPIO 27 | Pino 13 | MS1 |
| GPIO 22 | Pino 15 | MS2 |
| GPIO 23 | Pino 16 | ENABLE |
Dica: O pino ENABLE na maioria dos módulos A4988/DRV8825 é ativo em nível baixo. Colocá-lo em LOW habilita a saída do driver.
- Implementação do Código Python
Primeiro, instale a biblioteca RPi.GPIO. Digite os seguintes comandos no terminal:
sudo apt-get update
sudo apt-get install python3-rpi.gpio
Em seguida, crie um arquivo Python chamado stepper_motor.py e insira o seguinte código:
import time
import RPi.GPIO as GPIO
# Definir pinos (numeração BCM)
DIR = 17
STEP = 18
MS1 = 27
MS2 = 22
ENABLE = 23
# Configurar modo GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setup(DIR, GPIO.OUT)
GPIO.setup(STEP, GPIO.OUT)
GPIO.setup(MS1, GPIO.OUT)
GPIO.setup(MS2, GPIO.OUT)
GPIO.setup(ENABLE, GPIO.OUT)
# Habilitar driver e definir direção
GPIO.output(ENABLE, GPIO.LOW) # Habilitar driver (ativo em nível baixo)
GPIO.output(DIR, GPIO.HIGH) # Sentido horário
# Configurar modo de passo com base no modelo do driver (ex.: A4988)
GPIO.output(MS1, GPIO.HIGH) # 1/4 de passo
GPIO.output(MS2, GPIO.LOW)
# Controlar rotação do motor
steps = 200
delay = 0.001 # Delay menor para velocidade maior
for _ in range(steps):
GPIO.output(STEP, GPIO.HIGH)
time.sleep(delay)
GPIO.output(STEP, GPIO.LOW)
time.sleep(delay)
# Limpar GPIO
GPIO.cleanup()
Por fim, salve o arquivo e execute-o no terminal:
python3 stepper_motor.py
- Resumo
Este artigo apresentou como usar um Raspberry Pi para controlar um motor de passo, incluindo instruções de fiação e código Python usando a biblioteca RPi.GPIO. Você pode facilmente obter o controle do motor seguindo estas etapas. Ajuste os parâmetros no código (como número de passos, delay e configurações de micropasso) de acordo com os requisitos do seu projeto.