Comment contrôler un moteur pas à pas avec un Raspberry Pi

D

Daniel Zhang

Dernière mise à jour le Aug 17, 2026

  1. Introduction

Le Raspberry Pi est un ordinateur monocarte populaire, largement utilisé dans les projets amateurs et industriels. Il s'agit essentiellement d'un petit ordinateur de la taille d'une carte de crédit. Il est largement utilisé dans divers projets, notamment le contrôle de moteurs pas à pas — une tâche courante dans les applications de contrôle de mouvement. Dans cet article, vous apprendrez à utiliser le langage de programmation Python et la bibliothèque RPi.GPIO pour contrôler un moteur pas à pas, ainsi que les instructions de câblage correspondantes.

  1. Matériel requis
  1. Raspberry Pi (Raspberry Pi 3B+ ou version ultérieure recommandé)
  2. Moteur pas à pas (par ex., NEMA 17)
  3. Module pilote de moteur pas à pas (par ex., DRV8825 ou A4988)
  4. Fils de connexion (connecteurs DuPont)
  5. Adaptateur d'alimentation 12 V CC
  6. Platine d'expérimentation (optionnel)
  7. Condensateur de découplage (par ex., électrolytique 100 µF)
  1. Instructions de câblage

Note de sécurité : Connectez toujours le câblage du moteur et du pilote avant de mettre sous tension. Vérifiez toutes les connexions pour éviter d'endommager le Raspberry Pi ou le module pilote.

  1. Connectez les quatre fils du moteur pas à pas aux broches A1, A2, B1 et B2 du module pilote.
  2. Connectez la borne positive de l'alimentation 12 V à la broche VMOT du module pilote, et la borne négative à la broche GND. Placez un condensateur de découplage (par ex., électrolytique 100 µF) entre VMOT et GND, le plus près possible du module pilote, afin de supprimer les pics de tension.
  3. Connectez la broche d'alimentation 5 V (broche physique 2 ou broche 4) du Raspberry Pi à la broche VCC du module pilote, et connectez une broche GND (par ex., broche physique 6) à la broche GND du module pilote.
  4. Connectez les broches GPIO BCM suivantes du Raspberry Pi aux broches correspondantes du module pilote :
GPIO Raspberry Pi (BCM) Broche physique Broche du module pilote
GPIO 17 Broche 11 DIR
GPIO 18 Broche 12 STEP
GPIO 27 Broche 13 MS1
GPIO 22 Broche 15 MS2
GPIO 23 Broche 16 ENABLE

Astuce : La broche ENABLE de la plupart des modules A4988/DRV8825 est active à l'état bas. La mettre à l'état bas active la sortie du pilote.

  1. Implémentation du code Python

Tout d'abord, installez la bibliothèque RPi.GPIO. Saisissez les commandes suivantes dans le terminal :

sudo apt-get update
sudo apt-get install python3-rpi.gpio

Ensuite, créez un fichier Python nommé stepper_motor.py et saisissez le code suivant :

import time
import RPi.GPIO as GPIO

# Définition des broches (numérotation BCM)
DIR = 17
STEP = 18
MS1 = 27
MS2 = 22
ENABLE = 23

# Configuration du mode 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)

# Activation du pilote et définition du sens de rotation
GPIO.output(ENABLE, GPIO.LOW)   # Activation du pilote (actif à l'état bas)
GPIO.output(DIR, GPIO.HIGH)     # Sens horaire

# Définition du mode de micropas selon le modèle du pilote (par ex., A4988)
GPIO.output(MS1, GPIO.HIGH)     # 1/4 de pas
GPIO.output(MS2, GPIO.LOW)

# Contrôle de la rotation du moteur
steps = 200
delay = 0.001  # Délai plus court pour une vitesse plus élevée

for _ in range(steps):
    GPIO.output(STEP, GPIO.HIGH)
    time.sleep(delay)
    GPIO.output(STEP, GPIO.LOW)
    time.sleep(delay)

# Nettoyage des GPIO
GPIO.cleanup()

Enfin, enregistrez le fichier et exécutez-le dans le terminal :

python3 stepper_motor.py
  1. Résumé

Cet article a présenté comment utiliser un Raspberry Pi pour contrôler un moteur pas à pas, y compris les instructions de câblage et le code Python utilisant la bibliothèque RPi.GPIO. Vous pouvez facilement réaliser le contrôle du moteur en suivant ces étapes. Ajustez les paramètres du code (tels que le nombre de pas, le délai et les réglages de micropas) en fonction des exigences de votre projet.