samedi 8 juin 2019

Utilisation du moteur pas à pas d'un lecteur de CD (Arduino)


Il y a quelques années, à peu près tous les ordinateurs comportaient un indispensable lecteur ou graveur de CD-ROM ou de DVD. Par conséquent, il n'est pas très difficile d'en trouver un de nos jours, encore en état de marche, mais qui ne sert plus.

Une partie intéressante d'un lecteur de CD est le mécanisme qui permet le déplacement du laser: ils s'agit généralement d'un moteur pas à pas qui fait tourner une vis sans fin ou un engrenage, provoquant le mouvement linéaire de la diode laser.

Lorsqu'on démonte un lecteur CD pour récupérer ses composants, il est généralement préférable de conserver la totalité du mécanisme: le moteur pas à pas, la partie mobile, les deux tiges qui guident la partie mobile, et le châssis qui tient tout ça ensemble.

Le principal avantage du mécanisme, c'est sa précision: on peu régler la position de la partie mobile avec une précision d'environ 0,2 mm. On doit par contre se contenter d'un déplacement total ne dépassant guère 4 cm.


Ce moteur pas à pas est bipolaire: il comporte donc 4 connecteurs permettant d'alimenter deux bobinages distincts à l'intérieur du moteur. Il m'a semblé plus pratique de retirer le connecteur à ruban afin de souder 4 fils conducteurs directement sur les bornes du moteur.


Au moyen d'un multimètre, c'est facile de déterminer quels connecteurs partagent la même bobine.

Contrôle du moteur pas à pas au moyen d'un Arduino et d'un L9110S

On ne branche pas le moteur directement aux fragiles sorties de l'Arduino: il faut utiliser, comme intermédiaire, un circuit intégré spécialement conçu pour le contrôle d'un moteur. Dans le présent billet, j'utilise un module L9110S, car il s'agit probablement de l'option la plus économique (le module comporte en fait 2 circuits intégrés L9110S).

Si vous avez en main un autre module conçu pour le pilotage d'un moteur, utilisez-le! Par exemple, vous pouvez vous référer à ces autres billets qui expliquent l'utilisation d'un circuit intégré L293D, d'un circuit intégré L6205, ou d'un module L298N.

Comme le montre le schéma ci-dessous, les connecteurs du moteur pas à pas sont branchés aux 4 sorties du module L9110S (bornier à vis); les deux extrémités d'une même bobine sont branchées sur deux vis adjacentes.

De l'autre côté du module L9110S, on retrouve les entrées, qui sont branchées aux broches 8, 9, 10 et 11 de l'Arduino. Le module L9110S nécessite une alimentation située entre d'au moins 2,5 V (cette alimentation sert à la fois aux moteurs et aux circuits intégrés du module). J'ignore pour quelle tension mon moteur a été conçu, mais j'ai eu du succès avec aussi peu que 3,3 V.



Le sketch

Comme point de départ, je vous recommande l'exemple "stepper_oneRevolution" qui se trouve dans la catégorie "Stepper" de l'IDE Arduino. Dans mon cas, le moteur comporte 20 pas par tour (c'est donc cette valeur que j'ai utilisé pour la constante stepsPerRevolution).


Votre moteur devrait répétitivement effectuer un tour dans un sens, puis un tour dans l'autre sens. Si le moteur ne fait que vibrer plutôt que tourner, essayer de modifier l'ordre dans lequel les fils sont branchés à la sortie du module L9110S.

La vidéo ci-dessous montre mon dispositif en action (je l'ai réglé pour effectuer 12 tours, ce qui représente environ le maximum de déplacement possible, avec une vitesse de 300 tours par minute).



Et à quoi ça peut servir?

Vous trouverez facilement sur le web une grande quantité de projets du genre robot dessinateur, graveuse laser ou même imprimante 3D, comportant 2 ou 3 mécanismes de ce genre. Toutefois, le déplacement maximal de 4 cm constitue souvent une contrainte frustrante.

Pour ma part, puisque je me plaignais dernièrement du manque de précision du support de mon microscope USB, je prévois tenter de créer un support convenant mieux à mes besoins: un moteur réglerait la hauteur du microscope (axe z), et deux autres moteurs permettraient de positionner l'échantillon à observer (axes x et y).

Yves Pelletier   (TwitterFacebook)

5 commentaires:

  1. sympas ce tuto , avec deux anciens lecteur de DVD,j 'ai realisé la mini CNC sur le mème principe.
    Bonne continuation.

    RépondreSupprimer
    Réponses
    1. bnjr j'ai une qst
      combien le nombre de pas du moteur
      le moteur est 5v ou 12v et merci

      Supprimer
  2. J'ai des moteurs pas à pas six fils récupérer dans une photocopieuse donc j'aimerai utilisé mais je ne sais comment besoin de connaître leurs utilité et application

    RépondreSupprimer
    Réponses
    1. http://electroniqueamateur.blogspot.com/2013/02/controle-dun-moteur-pas-pas-avec-un.html

      Supprimer
  3. Bonjour,
    Bien longtemps après le post... :)
    J'aimerai agrandir la surface utile, en ce qui me concerne pour tracer des circuits imprimés, la solution serait de trouver des vis sans fin de ce type, mais plus longues, car je ne sais pas si avec des différentes cela fonctionnerait.
    En partant de cet exemple : https://www.youtube.com/watch?v=xnZI0ovzb4c&list=WL&index=5

    Merci par avance pout vos retours,
    cordialement

    RépondreSupprimer