Accueil > Arduino, Matériel > Utilisation d’un moteur pas à pas avec l’Arduino

Utilisation d’un moteur pas à pas avec l’Arduino

Je viens de récupérer un moteur pas à pas venant d’un lecteur de disquette. Celui-ci possède 4 broches, j’en déduis donc que c’est un moteur bipolaire; les moteurs bipolaires sont constitués de 2 bobines distinctes. Pour déterminer le brochage, il suffit d’utiliser un Multimètre en position ohmmètre; s’il la résistance est faible entre 2 fils, cela correspond à la même bobine.

Voici une photo du moteur en question; j’y ai soudé un petit connecteur équipé de 4 fils :

moteur pas a pas lecteur disquette

Le brochage et le nommage sera le suivant :

– broche 1 : A1

– broche 2 : A2

– broche 3 : B1

– broche 4 : B2

A correspond à une bobine et B à la seconde bobine.

Pour piloter ce moteur, il va être nécessaire d’utiliser un circuit dédié; me concernant je vais utiliser un circuit intégré SN754410 mais un circuit L293D fera aussi l’affaire.

La fiche technique de ce circuit peut être obtenu à l’adresse http://www.farnell.com/datasheets/75370.pdf

L’utilisation des broches de ce circuit est la suivante :

image

La broche 2 du circuit sera branchée sur la broche 8 de l’Arduino Uno.

La broche 7 du circuit sera branchée sur la broche 9 de l’Arduino Uno.

La broche 10 du circuit sera branchée sur la broche 10 de l’Arduino Uno.

La broche 15 du circuit sera branchée sur la broche 11 de l’Arduino Uno.

Voyons maintenant la partie programmation.

L’IDE Arduino fournit une librairie de nom ‘Stepper.h’ qui permet de gérer les moteurs pas à pas; il suffit de charger l’exemple ‘Stepper\stepper_oneRevolution’ qui permet d’effectuer un tour complet dans un sens puis dans l’autre.

Voici le programme de test modifié pour un moteur de lecteur de disquette :

/* Contrôle Moteur pas à pas
   Un tour dans un sens puis un tour dans l’autre sens
*/

#include <Stepper.h>

// définit le nombre de pas pour un tour complet
const int nbr_pas = 22; 
                                 
// initialise la librairie sur les broches 8, 9, 10 et 11
Stepper mon_moteur(nbr_pas, 8, 9, 10, 11);           

void setup()
{
  // définit la vitesse de rotation à 60 tr/min
  mon_moteur.setSpeed(60);
}

void loop()
{
  // un tour dans une direction:
  mon_moteur.step(nbr_pas);
  delay(500);
 
  // un tour dans l’autre direction
  mon_moteur.step(-nbr_pas);
  delay(500);
}

Le résultat en image :

Utilisation moteur pas à pas avec Arduino
Catégories :Arduino, Matériel Étiquettes : ,
  1. Manu
    27/05/2013 à 10:14

    Bonjour,
    Merci pour ton petit tuto sur le stepper bipolaire. J’en bave pour faire fonctionner le mien (scanner) la question que je me pose c’est comment tu branches les M1 enabled et M2 ainsi que la broche 9 (5V) ? Tu relies ces trois broches et tu mets ça sur le +5 de Vin de l’arduino ? Merci de ton éclairage
    Manu

  2. Fab
    04/11/2013 à 18:35

    Bonjour, je cherche moi aussi à faire fonctionner un moteur de scanner: 5v 1A. J’ai branché comme sur le tuto, j’ai copié le code et l’ai transféré sur la carte, mais le moteur fait des soubresauts. Aurais-je omis quelque chose?

    • 04/11/2013 à 19:44

      Bonsoir,
      Mon programme a été testé avec un moteur pas à pas de lecteur de disquette. Votre moteur vient d’un scanner; il faut regarder s’il y a une référence de noter sur celui-ci et effectuer une recherche sur google.

      • Fab
        04/11/2013 à 20:08

        Stepping Motor
        Type: 4H4018X0701
        1.8deg
        5.1V
        1.0A
        No: 9605
        TECO ELEC. & MACH. CO. LTD
        C’est tout ce que j’ai trouvé, il semble que la référence date un peu. Sur ta vidéo, je vois des branchements sur A0 et A1 je pense, je me demande pourquoi, et faut-il une alimentation supplémentaire? De plus, je vois une résistance, à quoi sert-elle?

  3. hassanin
    28/03/2014 à 18:31

    bonsoir itechnofran je veux faire cette app avec une carte arduino due,rien va changer?

    • 28/03/2014 à 19:09

      Bonsoir attention l’arduino due fonctionne en 3.3v il me semble

  4. michel
    12/05/2016 à 06:40

    Bonjour
    Je veux piloter plusieurs moteurs (1 à 1): puis-je mettre les SN754410 en // sur les broches des Out de l’Arduino, et mettre en service 1 à 1, les moteurs par les broches « Enable » en les pilotant pour chaque SN754410 par l’arduino, pour activer les moteurs 1 à 1?

  5. 12/05/2019 à 11:56

    Bonjour itechnofrance, merci d’abord pour tous vos efforts. ya-t-il une livraire pour la commande de type MicroStep d’un moteur pas à pas avec Arduino ?
    Merci d’avance.

  1. No trackbacks yet.

Laisser un commentaire