[ Accueil ] [ CONTACT ] [ PLAN du Site ] [ RCNV ] [ Publications ] [ Chantiers Bateaux ] [ Technique Modélisme ] [ Electronique ] [ Radios Vintage ] [ Multi-Switch ] [ Vrac ] [ Astuces ] [ Liens ] [ Base ] [ Compteur ] [ Test_Videos ]
 
       ... rgl

 

Moteur Pas à Pas

 

(c) R.Legat jr

 

 

SOMMAIRE:

01 - Introduction - Présentation - Généralités - types de moteurs

02 - L'origine du moteur Pas à Pas dans l'Horlogerie

03 - Les séquences de commande du moteur Pas à Pas Unipolaire

04 - Les séquences de commande du moteur Pas à Pas Bipolaire

05 - Contrôle des charges inductives

06 - Driver de puissance pour moteur Unipolaire : Commutation et diodes de roue libre. Schémas

07 - Driver de puissance pour moteur Bipolaire: Les ponts en H, le contrôle de courant, Réalisation d'un driver complet. Schémas
                                                                                            Circuit simplifié pour petit Moteur bipolaire de faible puissance avec le L293D

08 - Transformer un moteur Unipolaire en Bipolaire. Contrôle et comparaison du courant de maintien 

09 - Augmenter le nombre de pas d'un moteur PAP: Conception, Mode Micro-pas (800 Pas/T)

10 - Programmes de pilotage des Moteurs Unipolaires et Bipolaires

11 - Piloter un moteur Pas à Pas avec ... seulement 2 ports du MCU au lieu de 4 !

 

      Introduction - Présentation - Généralités

Principes des Moteurs à courant continu et moteur PAP

 

Moteur DC à balais

Moteur BrushLess

 

Moteur Pas à Pas

      Source: hsmagnets.com/blog/theory-operation-motors/      learn.sparkfun.com/tutorials/motors-and-selecting-the-right-one

Un moteur pas à pas se distingue d'un moteur classique par le fait qu'il peut être positionné, arrêté et bloqué dans une position angulaire précise.
On peut alors le positionner et l'arrêter après avoir déterminer un nombre de tours précis.
Cette particularité est ainsi utilisée dans de nombreux domaines: Machines outils, machines CNC, robotique, motorisation automobile, ...

Les moteurs pas à pas ne sont pas des moteurs rapides.
Etant dépourvus de balais et parfois équipés de roulements à billes pour les moteurs de haute qualité, ils ont une durée de vie extrêmement longue et ne nécessitent aucun entretien.

Ces moteurs fonctionnant cependant en boucle ouverte (Pas d'asservissement de position), ils ne récupèrent pas leur position de consigne en cas de "glissement", appelé aussi "perte de pas".

Ils fonctionnent sur le principe universel de l'attraction de 2 pôles magnétiques opposés et de la répulsion de 2 pôles identiques.

Ils sont principalement constitués d'un rotor en fer doux ou magnétisé de pôles successifs N-S-N-S, ... et d'un stator composé de bobines qui doivent être alimentées de manière appropriée.
Nous allons voir, en détail, dans cette page, les différents types de moteurs Pas à Pas et les séquences particulières d'alimentation de leurs bobines.

 Il existe différents types de constitutions de moteurs pas à pas:

  - Les moteurs à aimant permanent, qui se divisent en deux types: Les Bipolaires et les Unipolaires
       Un aimant permanent est solidaire de l'axe du moteur (rotor). Des bobines excitatrices sont placées sur la paroi du moteur (stator)
       et sont alimentées chronologiquement.
       Le rotor s'oriente suivant le champ magnétique créé par les bobines.

    - Les moteurs à réluctance variable. (Réluctance: Propriété d'un matériaux de s'opposer au passage d'un flux magnétique)
       Il ne contient aucun aimant permanent.
       Il comporte un rotor en fer doux, muni d'encoches se positionnant dans la direction de la plus faible réluctance.
       En effet, le fer doux a la particularité de très bien conduire les champs magnétiques.
       Du coup, si un champ magnétique le traverse, il voudra absolument s’aligner dans son sens.
       Ce rotor, en fer doux, comporte moins de dents qu'il n'y a de pôles au stator.

       Le fonctionnement du moteur est assuré par un pilotage du type unipolaire et l'avance du rotor est obtenue en excitant tour à tour
       une paire de pôles du stator.


  
- Les hybrides, qui combinent les deux premiers cités.
 
                                                                     Source: sam.electroastro.pagesperso-orange.fr/dossiers/pasapas/moteurpas2.htm

 

 

 

 

 

 

 

 


Connectique d'un PAP
à réluctance variable.

Le rotor est constitué de fer doux.

Il n'y a pas d'aimant permanent.

En ce qui nous concerne, nous allons nous intéresser aux moteurs à aimant permanent (Unipolaires et Bipolaire)

En fonction de la structure des bobinages de leur stator, on distinguera deux types de moteurs dont le rotor est constitué d'aimants permanents:

 

 

 - Le moteur Unipolaire.

Il est dit à 4 phases.
L'inversion du champ magnétique du stator est obtenue en choisissant l'un ou l'autre demi-enroulement du même stator.
Il est donc plus facile à piloter que le bipolaire mais le fait de n'utiliser qu'une partie de l'ensemble du bobinage du stator limite la puissance de ces moteurs.
Un moteur Unipolaire pourra cependant fonctionner comme un moteur Bipolaire si on n'utilise pas le "point milieu" de la bobine.
Nous verrons plus bas les possibles modifications à faire pour transformer un moteur Unipolaire en moteur Bipolaire.

 

 

 

- Le moteur Bipolaire

Il est dit à 2 phases.
L'inversion cyclique du champ magnétique du stator est obtenue en changeant le sens d'alimentation de chaque bobine.
Le contrôle est donc un rien plus complexe à réaliser et nécessitera un étage dit "Pont en H".
Le fait que chaque bobine est intégralement alimentée, à bobinage égal, on obtiendra un couple deux fois plus important que pour le moteur Unipolaire.

            

                 

Principe de polarité

Lorsque le courant à travers une bobine est inversé, la polarité d'un électroaimant est également inversée.

En raison de leur configuration, le courant dans les bobines d'un
moteur pas à pas unipolaire ne peut être orienté que dans une seule direction.
Cela signifie que leurs polarités de phases individuelles sont fixes… d’où l’appellation de « Unipolaire ».
Par contre, les moteurs pas à pas bipolaires, peuvent inverser leur polarité de phase avec l'utilisation d'un pont en H.

Conception

Les moteurs pas à pas unipolaires sont très similaires aux moteurs à pas bipolaires, mais sont fabriqués avec un point central qui se connecte à la source d'alimentation, divisant essentiellement chaque bobine en deux bobines plus petites qui peuvent être alimentées indépendamment.

Si nécessaire, ce point central peut être laissé déconnecté et non utilisé, ce qui permet de convertir simplement le moteur pas à pas unipolaire en configuration bipolaire.

 

Les moteurs pas à pas bipolaires ne disposent pas d'un point central pour diviser leurs bobines électromagnétiques, ce qui rend leur câblage interne légèrement moins complexe que celui d'un moteur unipolaire.

Pour cette raison, des moteurs plus petits comme les moteurs pas à pas NEMA 14 sont plus couramment disponibles dans une configuration bipolaire en raison de leur taille réduite.

 

Moteurs Unipolaires vs Bipolaires

Les moteurs pas à pas unipolaires et bipolaires ont tous deux leurs propres avantages et inconvénients, en fonction de leur application :

 

Les moteurs pas à pas bipolaires utilisent une seule bobine plus grande par enroulement, ce qui crée des champs magnétiques plus grands et plus puissants que les modèles unipolaires, permettant ainsi d'obtenir de plus grandes forces de couple.

Étant donné que les bobines d'un moteur pas à pas bipolaire peuvent changer de polarité, cela signifie également que toutes les phases peuvent être mises en œuvre simultanément, augmentant alors d’avantage la puissance de couple potentielle.

Le principal inconvénient d'un moteur pas à pas bipolaire est l'exigence de devoir disposer d’un circuit à pont en H permettant d’inverser la polarité des bobines.

 

Les moteurs pas à pas unipolaires utilisent des bobines divisées en deux par un point milieu, dont chaque côté peut être aimanté indépendamment.

Comme le courant circulant à travers chaque bobine fonctionnera dans une direction différente selon le côté de la bobine est magnétisée, la polarité de chaque phase peut être inversée sans inverser le courant de l'ensemble du circuit.

Cependant, comme seulement la moitié de chaque bobine est aimantée, les moteurs pas à pas unipolaires souffrent d'une force magnétique réduite, et donc d'un couple réduit.

Les moteurs unipolaires sont plus simple à installer et à utiliser que les moteurs pas à pas bipolaires, car leur circuit ne nécessite pas l'utilisation de pont en H mais d’un simple buffer en sortie du MCU qui les pilote.

 

Les appareils électroniques plus anciens et plus petits avaient ainsi tendance à utiliser des moteurs pas à pas unipolaires en raison de leurs besoins de circuits simples et peu encombrants, mais avec les progrès technologiques et la réduction de la taille des composants, de nombreux appareils électroniques modernes privilégient désormais les moteurs pas à pas bipolaires plus puissants pilotés avec leur pont en H.

 

 

     L'origine du moteur Pas à Pas dans l'Horlogerie

L'évolution du moteur bipolaire à impulsions électriques fait l'objet du brevet n° 971418 pris en mai 1940, déposé par la société Hatot, mais dont la paternité sera enfin reconnue à Marius Lavet en mai 1963.
Ce p
remier moteur préfigure le moteur pas à pas, dit "moteur Lavet", ainsi que son utilisation par la suite en horlogerie fine, voire en bijouterie, avec l'emploi rapide des nouveaux matériaux magnétiques comme le platinecobalt.
Ce moteur pas à pas utilisé en horlogerie permettra à l'industrie horlogère européenne, avec les montres électroniques à quartz et à aiguilles, de lutter contre l'invasion japonaise des montres à affichage numérique, et de ne pas sombrer. (Source: fondam.org/Portraits/MariusLavet)

Ce sont toujours les dérivés de ce même moteur qui équipent encore toutes les montres à aiguilles.
Auteur d’une cinquantaine de brevets pendant sa carrière, il lègue une partie de ses biens pour soutenir l’innovation par le biais de la remise du prix de l’ingénieur inventeur Chéreau-Lavet ».
 

 

     

      

Les éléments du micro-moteur Lavet

Le micro-moteur Lavet est composé des éléments suivants :
   -la bobine avec le noyau
   -le stator (statique)
   -le rotor (rotation)

La bobine est réalisée avec un fil de cuivre isolé, d'un diamètre de 20 µm (un cheveu a 60 µm), d'une longueur de 50 m,
enroulé 10 000 fois autour d'un noyau. Noyau qui, comme le stator, est en fer magnétique doux.
Le stator de forme très complexe, offre un logement au rotor.
Le rotor, en samarium cobalt, est un cylindre creux ou non suivant le montage.
Il est magnétisé de façon permanente. Le rotor a deux positions d'équilibre stable par tour.

Fonctionnement

Lorsqu'une impulsion électrique (d'une duré inférieure à 10 ms) parcourt la bobine, un champ magnétique se propage du noyau dans le stator.
Sous l'effet de ce champ, le rotor est dépositionné et fait une rotation d'un demi-tour pour se repositionner sous l'effet de son magnétisme.
La polarité de l'impulsion détermine le sens dans lequel le champ magnétique va parcourir le stator.
Comme le rotor, après son demi-tour, se positionne en créant des conditions magnétiques opposées à celles du premier pas,  il faut une impulsion
de signe contraire à la précédente pour permettre de le repousser à nouveau d'un demi-tour (toujours dans le même sens de rotation).
Ce cycle se répète inlassablement.

 

Positionnement

Le rotor est monté sur un arbre (axe en horlogerie) sur lequel une denture est taillée.
Elle engrène avec les mobiles du rouage, permettant de transmettre la rotation du rotor aux aiguilles.
Pour les calibres avec une aiguille de secondes, le rotor tourne de 180° chaque seconde, mais l'aiguille de secondes ne parcourt que 6°.
Ce phénomène est obtenu par une démultiplication de l'engrenage.

C'est sur cette aiguille que l'on mesure la force mécanique (appelée couple utile) transmise par le micro-moteur.
C'est également à partir de cette aiguille que l'on mesure le couple de positionnement Tp.
Couple s'opposant à la rotation du rotor lors des chocs.
Le micro-moteur est l'élément qui consomme la plus grande partie de l'énergie.

(Source: futura-sciences.com/sciences/dossiers/physique-fonctionnement-montre-quartz-21/page/3/)

 

                                             P~= 100µW

Le concept de ce moteur ne permet donc que de disposer de deux positions distinctes. Il s'agit donc d'un moteur à 2 pas /par tour.

Le principe universel des pôles magnétiques qui s'attirent ou se repoussent, utilisé ici avec intelligence, va être développé plus avant pour aboutir à des moteurs de plus forte puissance et présentant d'avantage de pas de positionnement. 

 

    Les séquences de pilotage du moteur UNIPOLAIRE    (4 wires + 1 commun)

   

Le moteur PAP UNIPOLAIRE est donc constitué de deux bobines, mais en réalité il faut dire quatre.

En effet, chacune de ces paires va devoir pouvoir créer un champ magnétique dans deux sens différents.

Chaque bobine comprend ainsi un "point milieu".

Ces deux points communs sont connectés ensemble et sont raccordé sur un pôle de l'alimentation du système.

Il peut s'agir du +Vcc comme du -Gnd. Ce choix influencera le sens de rotation, en fonction de la séquence de commande.

Les bobinages d'un moteur unipolaire sont alimentés toujours dans le même sens par une tension unique d'où le nom d'unipolaire.


 
                     Composition d'un petit moteur pas à pas Unipolaire, à aimant permanent,  de 48 pas / Tour
 


Dans le boîtier de ce petit moteur unipolaire, disponible pour une pincée de Cents
sur le Web, un train d'engrenages démultiplie l'angle de rotation de l'axe de sortie.

Ces moteurs 28BYJ-48, initialement de 64 pas de 5.625°, (64 Pas/Tr) sont équipés d'une démultiplication à engrenages nylon d'un rapport de 1/64... ce qui donne alors 4096 pas /Tour.
Leur couple est de 34,3 mN.m et une phase aurait une résistance de 60 Ohms.

Ces petits moteurs existent aussi en 12V, sous diverses impédances mais aussi sous la référence unique de 28BYJ48 !!! 

DataSheet: http://www.geeetech.com/wiki/index.php/Stepper_Motor_5V_4-Phase_5-Wire_%26_ULN2003_Driver_Board_for_Arduino#Interfacing_circuits

http://www.emartee.com/product/41886/28BYJ%2048%20High%20Quality%20Stepper%20Motor%205V

Nous verrons plus bas, comment transformer ce petit moteur PAP Unipolaire à 5 fils en moteur PAP Bipolaire à 4 fils et nous verrons l'incidence sur le plus grand couple ainsi disponible.

 Il existe plusieurs séquences possibles d'alimentation des bobines. Elles influenceront le couple et la vitesse de rotation du moteur.

Nous allons voir, dans les diagrammes établis ci-dessous, les séquences dite par pas entiers et par demi-pas.

 

 Séquences de commande Unipolaire  (5 wires)

Par "PAS ENTIERS"

Il existe deux modes possibles de contrôle.
La première méthode illustée n'utilise qu'une seule demi-bobine par pas.
La seconde fait intervenir deux demi-bobines à chaque pas. Elle permet donc d'obtenir un couple deux fois plus important.

      

    

Moteur UNIpolaire

Le sens du courant d'alimentation des bobines
ne changeant pas, il suffit d'une simple commutation
de chaque bobine dans l'ordre de la séquence requise.

Ici, séquence pour Pas entier avec couple maximum
car deux bobines sont alimentées en même temps.

Pour chaque pas, les états binaires de chacune des bobines donnent une valeur décimale, ou Hexadécimale, qu'il suffira de programmer séquentiellement sur le port de sortie d'un Microcontrôleur.

Le sens de rotation sera déterminé par l'ordre des états donnés successivement. Ainsi la séquence 9 - 5 - 6 - 10 fera tourner le moteur dans un sens (avec son couple maximal).
Tandis que la séquence 10 - 6 - 5 - 9 le fera tourner dans l'autre sens !

La vitesse de rotation dépendra simplement du délai introduit entre chaque changement d'état du port de commande.

  Par "DEMI-PAS"

L'avantage de pouvoir commander le moteur en demi-pas est qu'on double le nombre de positions possibles.

Dans le cas d'une CNC, par exemple, cela augmenera la précision de l'axe déplacé par le moteur.

L'examen des deux tableaux de ci-dessus, nous montre qu'en combinant alternativement Pas entier/couple minimal et Pas entier/couple maxi, on obtient bien le double de positions possibles.

La séquence devient alors 8 - 9 - 1 - 5 - 4 - 6 - 2 - 10 pour tourner dans un sens, ou  10 - 2 - 6 - 4 - 5 - 1 - 9 - 8 pour tourner dans l'autre sens.

 

    Les séquences de pilotage du moteur BIPOLAIRE   (4 wires)

   

Moteur BIpolaire

Le moteur Pas à Pas Bipolaire dispose, dans son principe théorique, de 2 bobines.

Les bobinages d'un moteur bipolaire sont alimentés une fois dans un sens, une fois dans l'autre sens.

Ils créent une fois un pôle nord, une fois un pôle sud d'où son appellation de bipolaire.

 

Leur conception est parfois particulière dans la mesure où leurs bobines peuvent être dédoublées pour être câblées en série ou en parallèle.

Le tableau ci-contre nous montre un exemple de bobinage d'un moteur pas à pas bipolaire.

Le moteur choisi dans ce cas propose deux modes de cablage en bipolaire, soit en série, soit en parallèle.
Le moteur possède ainsi 4 bobines, deux d'entre elles constituant la bobine A, les deux autres constituant la bobine B.

Un mode de cablage en série consiste à mettre les deux bobines à la suite l'une de l'autre, cela implique un courant limité mais demande une source de tension supérieure.

Le cablage en parallèle implique un courant plus élevé mais une tension moindre.



 

 Séquences de commande Bipolaire  (4 wires)

Pour contrôler un moteur PAP Bipolaire, il ne suffira plus de simplement commuter une bobine à l'alimentation mais il va être nécessaire d'alterner le sens du courant traversant ces bobines.
L'analyse des diagrammes suivants sera plus explicite.

   

 

Animation: Pas entier, couple Maximal

Source: https://coursenligne1s6.fr/si-terminale-moteur-pas-a-pas

 Au premier examen, nous constatons immédiatement que les séquences d'alimentation sont identiques à celles d'un moteur PAP Unipolaire.

Soit  9 - 5 - 6 - 10 ou  10 - 6 - 5 - 9 pour une rotation avec couple maximal (2 bobines alimentées) ou 8 - 1 - 4 - 2 ou  2 - 4 - 1 - 8 pour une rotation avec couple minimal (une seule bobine alimentée par pas). 

 

 

 

Animation: Demi-Pas

Source: https://coursenligne1s6.fr/si-terminale-moteur-pas-a-pas

 Nous constatons que la séquence reste indentique à celle du moteur Unipolaire.

Soit 8 - 9 - 1 - 5 - 4 - 6 - 2 - 10 pour tourner dans un sens, ou  10 - 2 - 6 - 4 - 5 - 1 - 9 - 8 pour tourner dans l'autre sens.

 Mais quelle différence de pilotage alors si les séquences sont identiques !?

La grande différence est que le courant qui parcourt les bobines du PAP Bipolaire, change de sens !

Nous allons voir, plus bas, que cette particularité influencera le type de driver à utiliser.
En effet, cette inversion de sens du courant sera possible grâce à l'usage d'un dispositif dit  "Pont en H".

 

     Contrôle des charges inductives

 Il serait illusoire de croire que le pilotage d'un tel moteur PAP se résumerait seulement à gérer l'ordre d'alimentation des bobines suivant les séquences vues ci-dessus.

 En effet, il va falloir tenir compte des phénomènes physiques qu'induisent les bobines :

1. Courant induit inverse à la coupure d'alimentation d'une bobine.

 
 

Le moteur PAP étant composé de bobines, il constitue ainsi une charge inductive.

Quand le courant alimentant une bobine s'arrête brutalement, par exemple à chaque changement de pas, la forte variation du champ magnétique va créer un courant induit inverse dans cette bobine.

Une forte surtension en polarisation inverse apparait alors à ses bornes, et à celles du transistor de commutation lorsque celui-ci s'ouvre pour couper l'alimentation d'une bobine.

On peut dire que la bobine restitue instantanément son énergie magnétique sous forme d'un courant électrique important.

Plus la variation de champ magnétique sera importante, plus le courant sera important... et dans le cas d'une coupure franche de l'alimentation de la bobine, le courant sera donc maximal.

La bobine se trouve alors polarisée en inverse et cette surtension importante cherche à s'échapper par le chemin le plus faible... càd le contact d'ouverture qui risque assurément de "claquer".

 

 

 Protection des contacts d'alimentation d'une bobine

 

Pour solutionner ce premier problème, nous allons utiliser une diode de roue libre  qui va se charger d'amortir la surtension au travers de la résistance interne de la bobine.

On retrouve ainsi une telle protection aux bornes de la bobine d'un relais, par exemple.

On utilisera de préférence des diodes "rapides" (exemple: Ultra-Fast Avalanche Sinterglass Diode: BYV27-50 à BYV27-200, ...)

Pour des applications moins critiques, de simples 1N400x pourront suffire.

 

 

 

2. Contrôle du courant de maintien lors de l'arrêt du moteur.

 

Lorsque la bobine est alimentée, le rotor commence à se déplacer pour s'aligner avec le champ magnétique produit.

Cette rotation du rotor provoque une force contre-électromotrice.

Retenons qu'une bobine réagit toujours pour s'opposer au sens du courant qui la traverse.

Lorsque le rotor est stabilisé et aligné avec le champ, cette force électromotrice disparait !
La bobine, de très faible résistance interne, se trouve alors alimentée par la forte tension d'alimentation du moteur.

On se retrouve dans une situation identique à un moteur classique à courant continu bloqué qui serait maintenu de force à l'arrêt !

Ainsi, une bobine de l'ordre de 2 ohms, alimentée en 36V serait parcourue par un courant de 36/2 = 18 Ampères !

Nous verrons, ci-dessous, comment contrôler ce courant de maintien pour éviter de griller le moteur.

     Etages de puissance - Drivers Moteurs UNIPOLAIRES   (4 wires + commun)

    

   
                 Pilotage par driver-buffer afin de ne pas griller le MCU                                             ULN200x, ULQ200x ...
                                                                    Darlington Arrays 500-mA-Rated Collector Current

Comme chaque bobine est toujours traversée par un courant établi dans un seul et  même sens, le contrôle consistera simplement à commuter les bobines dans l'ordre séquentiel décrit ci-dessus. 

Les séquences pourront être disponibles aux pins de sortie d'un petit microcontrôleur.

Pour des courants plus importants, on se tournera vers des transistors darlington ou mieux,
des Mos-FET.

On remarquera, sur ces schémas, les diodes de roue libre protégeant les transitors de
commutation.

 

 

 

 

 

 

Pour des moteurs de faible puissance, de simples driver/buffer type ULN 2003, 2803, ...
suffiront amplement.

 

Il est toujours prudent de mesurer le courant parcourant les bobines lorsque le moteur
est à l'arrêt pour s'assurer que le driver utilisé supportera bien le courant de maintien.

 

A noter, qu'il n'est absolument pas nécessaire de disposer d'un MCU (Microcontrôleur) pour piloter un tel moteur !

Voici un schéma à base d'un compteur décimal (CD4017) piloté par un classique NE555 permettant de régler la vitesse du moteur Unipolaire.
Le point commun des bobines est ici raccordé au +12Volts.

       
Le principe de ce circuit à base de NE555 est d'alimenter successivement, en boucle et dans le bon ordre, à la manière d'un chenillard, les 4 enroulements du moteur il n'est donc pas surprenant de retrouver un CD4017 accompagné d'un oscillateur dans le circuit.
La tension de la source U1 doit être compatible avec ce que requière le CD4017, le NE555, les mosfets (Vgs) et le courant qu'on désire faire circuler dans les enroulements du moteur.
J'ai ajouté une résistance de limitation R9 pour effectuer un réglage précis du courant (U1 fournissant une tension constante dans mon cas), cette méthode a pour défaut d'entraîner une perte d'énergie.

Les résistances R1 à R4 ont pour but d'éviter que les capacités indésirables grille-source "Cgs" à l'entrée des mosfets créent un appel de courant à leur mise sous tension par le CD4017 quand elles sont déchargées et fatiguent ou détruisent ce dernier.
R5 à R8 servent à vider ces capacités "Cgs" des mosfets pour être sûr qu'ils se bloqueront quand il n'y aura plus de signal sur la grille.
Comme le CD4017 impose un 0 logique sur ses sorties quand elles sont "éteintes" et non pas un collecteur ouvert ou un drain ouvert et que les résistances R1 à R4 ont une valeur autour de seulement 100 ohms, ces résistances supplémentaires R5 à R8 sont tout de même potentiellement inutiles.

D1 à D4 sont des diodes de "roue-libre" (voir ci-dessus) qui assurent la circulation du courant lors du blocage des transistors et leurs épargnent des surtensions destructrices.
Ces sutensions sont provoquées par les enroulements du moteur qui représentent une charge inductive.

( Source: https://sites.google.com/site/iodurevideos/electronique/moteurs-pas-a-pas-bipolaires-unipolaires-demonstration )

  

Couple L297 (Stepper Motor Controller) + L298 (Dual H Bridge) utilisé pour piloter un moteur PAP UNIpolaire !

Nous verrons ci-dessous, plus en détail, les spécificités de ces deux circuits.


           https://www.aavbae.net/bol16/enfoque.htm

 

     Etages de puissance - Drivers Moteurs BIPOLAIRES - Pont en H     (4 wires)

      

Un driver pour moteur PAP BIPolaire devra être impérativement comporter un Pont en H.

Ce pont en H sera précédé d'un étage de contrôle d'intensité du courant alimentant les bobinages.

Nous allons analyser en détail ces composants, ci-dessous.

 1. Le "Pont en H"

Dans le cas des moteurs PAP Bipolaires, le sens du courant devant changer dans les bobinages, une simple commutation n'est donc plus suffisante.

Pour solutionner cette particularité, nous allons devoir utiliser un "Pont en H" pour chacune des deux bobines.

               
                                                                                                   
                                                                                            Principe du Pont en H  et  des indispensables "diodes de roue-libre".
                                                                                                        

Le pont en H consiste en 4 contacteurs permettant de changer le sens du courant parcourant une bobine.

Pour commander un moteur Bipolaire, il faudra donc utiliser 2 ponts en H, soit un pont par bobine.

Vous remarquerez les diodes de roue libre qui se chargent ici de réinjecter le courant induit de surtension, vers les lignes d'alimentation, pour protéger les contacts.

Fort heureusement, des circuits intègrent des doubles ponts en H et nous permettent d'optimiser nos réalisations.

Les plus usités pour le pilotage des moteurs PAP sont le L298 qui peut supporter 4A sous 46Volts.

Le L293 est compatible Pin to Pin mais ne supporte que 2A par phase pour une alimentation de 36V.

Enfin, le L293D est compatible mais ne supporte que 600 mA (1,2A Peak Current !) par phase pour une alimentation de 4,5 à 36V
Comme son identifiant "D" l'indique, ce circuit intègre les indispensables diodes de roue libre.
Ce dernier circuit est donc tout indiqué pour les petits moteurs pas à pas car il ne nécessite qu'un petit MCU pour le piloter.
Un schéma simplifié utilisant ce petit Dual H Bridge est présenté plus bas sur cette page..

     

Vous remarquerez, sur cet éclaté du L298, l'accès aux émetteurs de chaque drivers.
Notez que le circuit L293E dispose de 4 accès à ces "Emetteurs, contre deux seulement pour le L298.

Ces accès permettent de placer des résistances en série avec les bobines du moteur.
Ces résistances, ici nommées RS1 et RS2 auront une valeur de 0,5 ohm et leur puissance sera calculée en fonction du courant qui les traversera.
Ainsi, par exemple, pour 2 A, la puissance dissipée sera de RI², soit 0,5 x (2)²  = 2 Watts.

En pratique, par bobinage, on utilisera deux résistances d'un ohm (2 à 5 Watts suivant moteur utilisé) mises en parallèle pour obtenir les 0,5 ohm.

Alors, suivant le courant parcourant ces résistances, une différence de potentiel apparaîtra à leurs bornes. (U= i x R)
Cette tension sera mesurée par le circuit L297 afin de contrôler et réguler le courant de commande. (v. ci-dessous)

  

Ce simple circuit L298 reprenant deux ponts en H pourrait suffire à piloter
un moteur PAP Bipolaire.

Il existe d'ailleurs de petits modules peu onéreux qui ne reprenne qu'un L298,
comme celui repris ci-contre.

Cependant, si on n'utilise pas de régulateur de courant (L297), il sera
parfois nécessaire de désactiver les broches EnA et EnB lors de l'arrêt
des moteurs pour éviter d'endommager les bobinages.

 

  2. Contrôle du courant de maintien (L297 - Stepper Motor Controller)

Comme expliqué plus haut, il sera nécessaire de contrôler le courant de maintien parcourant les bobines lorsque le moteur est arrêté avec ses bobines alimentées.

Pour cela, il existe un circuit particulièrement dédié aux ponts en H vu ci-dessus.

Ce contrôleur est le L297 (Stepper Motor Controller)

    

Usage des connexions:

Contrôle microcontrôleur :
   - pin 17 - CC/CCW : donne le sens de rotation du moteur.
   - pin 18 - CLOCK : fait avancer ou reculer le moteur d’un pas (ou demi-pas) à chaque front montant. Sa fréquence détermine la vitesse de rotation du moteur PAP.
   - pin 19 - HALF/FULL : permet de choisir le mode demi-pas ou pas complet.
   - pin 20 - RESET : remet le composant en étant initial (ABCD 0101)
   - pin 11 - CONTROL : permet de choisir sur quelles sorties agira la protection de surintensité. (au choix sur les INH ou les ABCD)
   - pin 3   -  HOME :  est une sortie à collecteur ouvert. La sortie passe à 1 lorsque ABCD = 0101

Contrôle d’intensité :
Le L297 compare les tensions (SENS1 ou SENS2) présentes sur les faibles Résistances Série (RSA, RSB) à une tension de référence (VREF) .
Cette tension de référence déterminera donc le courant maximal autorisé dans les bobines suivant les spécifications du constructeur du moteur.

Si la tension aux bornes de Rs est supérieure à la tension de référence, le L297 coupe momentanément l’alimentation de la bobine empêchant de la détruire.
Un oscillateur réactive alors périodiquement l’alimentation de la bobine.
Ce système fonctionne finalement comme un hacheur d'alimentation, apparenté à un mode PWM.

                       

 

                              Chronogramme de commande PAP -  Mode Demi-Pas avec le L297

Si on désire piloter plusieurs moteur pas à pas avec plusieurs L297, on peut synchroniser leurs horloges.

Un premier L297 "Maître" utilise alors son horloge et transmet son signal aux autres L297 "esclaves" par l'intermadiaire des pins SYNC, reliées entre elles.

 - pin 15 -  Vref : entrée de la tension de référence
 - pin 14 - SENSE_1 : capteur de courant pour la bobine 1
 - pin 13 - SENSE_2 : capteur de courant pour la bobine 2
 - pin 16 - OSC : point milieu d’un filtre passe bas servant de base de temps à l’oscillateur.
 - pin  1  - SYNC : sortie de l’oscillateur.

          
                                                                                      Schéma type combinant L297 et L298

 

 Réalisation d'un driver complet pour moteur PAP Bipolaire (4 wires control)

Source: http://www.twovolt.com/2016/08/26/l298-l297-based-high-current-bipolar-stepper-motor-driver/

    

   

 Des recherches sur le WEB vous permettront d'en découvrir une multitudes d'autres:

                                                
                                               L6210 - 4A Dual Schottky Diode Bride

Revoici un autre schéma reprenant le couple traditionnel utilisé dans le monde entier pour conduire un petit moteur pas à pas bipolaire (jusqu'à 1,5-2amp / phase).
Bien qu'il existe des -circuits intégrant le L197 et le L298 ces simples circuits sont si communs et si connus qu'il n'est pas possible de les omettre.

Le schéma est très traditionnel pour un pilotage par pas entier ou par demi pas.
La résistance de détection de courant de 0,5ohm est obtenue par 2 Res. de 1 ohm mises en parallèle.

Le signal d'entré peut atteindre 25000 Hz s et le Pwm est d'environ 35 Khz.

La tension maximale applicable est de 32V.
N'oubliez pas d'utiliser un large refroidisseur en aluminium et, si possible, un petit ventilateur car la chaleur générée par le l298 est importante !

Si vous analysez les datasheets des L297 et L298, vous pouvez envisager d'enlever les 8 diodes de roue libre si vous utilisez, à leur place, un L6210 (4A Dual Schottky Diode Bridge).

http://www.cuteminds.com/en/elettronicagen/elettronica/32-bipolar-stepper-motor-controller-using-l297-l298    

 

 

 

 

Autres Drivers

 
            Driver complet à TB6560 pour 4€ !


      Driver à base de TB6600 pour à peine 6€ !

 Enfin outre la paire L297/L298, sachez qu'il existe une multitude d'autres circuits conçus pour piloter les moteurs Bipolaires:

  A4988 "Pololu" 35V/2A Stepper Motor Driver Carrier

  L6208 - DMOS driver for bipolar stepper motor

  L9935 - Two phases stepper motor driver (= L297 + L298)

  TB6560AFG  40V / 2,5A Peak  PWM Chopper-Type. Bipolar Driver IC for Stepping motor Control

  TB6560AHQ  40V / 3,5A Peak

  TB6600HG     50V / 5A Peak

Les moteurs PAP Bipolaires étant utilisés, notamment pour le contrôle des axes des machines CNC vous pouvez trouver pour quelques Euros
des Drivers Board complets à base de TB6560 et TB6600. (Voir photos ci-contre)

Ils permettent le réglage du sens de rotation (DIR), de la fréquence des pas déterminant la vitesse de rotation (Step),des micros-pas (1/1, 1/2, 1/4, 1/8,1/16, 1/32),
de l'intensité des bobines, ... et sont pourvus d'optos-coupleurs pour une parfaite isolation de sécurité de l'unité MCU !

Ils se trouvent pour une pincée d'Euros après une très brêve recherche sur le web... 

 

Contrôle simplifié pour petits moteurs Bipolaires avec le L293D

Pour le contrôle de petits moteurs Bipolaires, le circuit L293D est tout particulièrement indiqué.

Ce circuit possède un double pont en H permettant la commande d'un seul moteur pas à pas, ou de deux moteurs CC !
En outre, il intègre les diodes de roue libre indispensables pour la protection du circuit.

Ses courants de sortie sont cependant limités à 600 mA par canal (1,2A peak) !

Vous trouverez notamment son Data Sheet à l'adresse suivante: http://idmax.free.fr/Aide/Stepper/l293.pdf

Le shéma de connexion pour un seul moteur pas à pas est  très simple à réaliser:

         
           L293D - Dual H Bridge - 4,5 to 36V - 600 mA (1,2A Peak Current)

A la différence du L293, le L293D intègre les indispensables diodes de roue libre.

La pin 8 est utilisée pour l'alimentation du moteur pas à pas.

Les 4 entrées A, B, C,et D sont pilotées par un petit microcontrôleur, de votre choix, suivant les séquences possibles suivantes:

 

Pour faire tourner le moteur dans l'autre sens; il suffit de lire la séquence dans l'ordre inverse. (8-2-4-1  devient  1-4-2-8)

 A noter qu'il est très facile, et peu onéreux, de trouver des platines toutes faites pour une connectique immédiate du L293D !

  

 

  A titre d'information; ce shield L293D permet aussi le contrôle de deux moteurs à courant continu, avec possiblité d'un mode PWM.

      

 

    

     Transformer un moteur PAP Unipolaire en Bipolaire, pour gagner en force

Il est aisé de modifier notre petit moteur Unipolaire en Moteur BIpolaire pour gagner en puissance.
Rappelons cependant qu'il sera nécessaire d'utiliser un circuit "Pont en H" (L293D) pour son contrôle !

Pour cette transformation, il suffit simplement de déconnecter et de sectionner les connexions issues des points communs des bobines.

Nous alimenterons donc ainsi entièrement chaque bobine, ce qui augmentera significativement le Couple du moteur.

 

           

     
   Adaptation du moteur 28BYJ-48 (5 ou 12V)
 
Il suffit de sectionner la piste reliant les deux "points-communs" et désouder le fil rouge devenu inutile.


Mesure et comparaison du courant de maintien à l'arrêt du moteur.

Le courant de maintien du moteur BIPolaire, à vide, mesuré est de 55 mA .

La résistance d'une bobine est mesurée à 55 Ohms.
Le courant théorique serait de 5v /55 ohms = 90 mA sans tenir compte de la commutation au travers du pont en H.

Avant transformation, le courant mesuré dans le moteur UNIpolaire, connecté via un driver ULN2003 était de 180mA.
Le courant théorique étant de 5v /27 ohms = 185mA.
La résistance de la bobine étant moindre de moitié pour le moteur UNIpolaire puisqu'on ne considère qu'une demi bobine par pas.

Couple mesuré

Le DataSheet annonce un couple de 34.3mN.m (à 120Hz) avec la démultiplication d'origine intégrée.

Cela représente une Force exercée par un poids de 343 gr (343 gcm) au bout d'un bras de 1cm,  34,3 gr au bout de 10 cm ou de 3,43 gr au bout d'un levier d'un metre, ...

Un internaute a partagé des tests de Force et a effectivement mesuré un Couple maximal de 380 gcm en mode Unipolaire full-Step et 300 gcm en mode demi-pas.

Après la modification en moteur Bipolaire, le couple maximal atteint alors sans surprise, le double, soit  800 gcm  !

Source: http://www.jangeox.be/2013/10/change-unipolar-28byj-48-to-bipolar.html

 

  Augmenter le nombre de pas d'un moteur Pas à Pas 

Nous avons vu, ci-dessus, lors de l'étude des séquences de pilotage qu'il était possible, avec un moteur muni de 4 bobines, de disposer de 4 pas entiers ou de 8 demi-pas...

La question que l'on pourrait alors se poser est: comment obtenir d'avantage de pas pour augmenter la précision de ces moteurs tout en ne conservant que 4 bobines de pilotage.

Il y a deux moyens d'y arriver:

1: Conception physique du moteur

Sur les illustations présentées qui suivent, nous verrons la conception d'un moteur Bipolaire de 96 pas... constitué de nos 4 bobines d'activation.

Pour obtenir 96 pas, pilotés par seulement 4 bobines, le principe consiste d'abord à créer un rotor constitué de 48 pôles Nord et de 48 pôles Sud, alternés successivement et régulièrement.

Pour y arriver, on utilise un aimant permanent rond sur lequel sont placés plusieurs disques en fer doux de forte réluctance.

Parfois, ce système est dédoublé pour obtenir 4 "roues dentées" magnétisées, voire triplé... 
      

     
                               UNE paire d'aimants permanents N / S                                                             DEUX paires d'aimants permanents N/S + N/S
                                                                      Remarquez les bobines qui "coiffent" l'ensemble des aimants permanents

        

 

 

Ces disques en fer doux disposent chacun, dans cet exemple, de 48 "dents" qui sont placées de telle manière que, vues de face, elles se succèdent régulièrement dans le plan axial.

 

Le rotor est alors entouré des quatres bobines d'activation qui sont munies d'un noyau à 3 dents de polarisation qui coiffent entièrement les zones dentées Nord et Sud du rotor.

Les bobines de chaque axe forment une paire par une connexion électrique en série.
On dispose donc ainsi de 4 contacts d'alimentation : 2 pour les deux bobines de l'axe vertical (A, A') et 2 autres pour les bobines de l'axe horizontal. (B, B'). 

Vous remarquerez cependant que les 2 axes, horizontal et vertical, des paires de bobines ne sont pas parfaitement perpendiculaires !
L'axe horizontal est en fait positionné de telle manière que les dents de polarisation de ses bobines se placent exactement entre les dents du rotor alors que pour les bobines de l'axe vertical, les dents du rotor et du stator sont parfaitement alignées.

                

 Activation d'un pas

               

               

                

 

Figure1:

Partons de la position de départ représentée sur ce premier schéma.

Les pôles sud (en bleu) du rotor sont alignés sur les bobines de l'axe vertical qui sont alimentées et polarisées Nord (rouge).

Vous remarquerez que les dents de l'axe horizontal ne sont pas alignées par le fait que les axes ne sont volontairement pas perpendiculaires.

 

Si on désire faire tourner le moteur vers la droite, nous voyons que la première dent du rotor qui devrait s'aligner sur la bobine de droite
est bleue (Sud).

Nous allons donc couper l'alimentation de la bobine du haut (et du bas) et polariser Nord les bobines de l'axe horizontal.

 

 

  

 

Figure2:

La polarisation Nord des bobines de l'axe horizontal a attiré les proches pôles Sud du rotor.

Le moteur s'est ainsi déplacé d'un pas vers la droite.

 

 Si on regarde maintenant la bobine du haut, le prochain pôle du stator à devoir aligner, pour une rotation vers la droite, est un pôle Nord (rouge).

Nous allons donc maintenant devoir polariser les bobines de l'axe vertical en pôle Sud (bleu) et couper l'alimentaion des bobines de l'axe horizontal.

 

 

 

 

Figure3:

Le moteur s'est déplacé d'un nouveau pas vers la droite par polarisation Sud (bleue) de l'axe vertical, attirant ainsi la première dent Nord la plus proche. 

 

 

 

 

 

 

Conclusion:

La rotation est obtenue en polarisant correctement tantôt les bobines de l'axe vertical, tantôt celles de l'axe horizontal.

La polarisation de chaque paire de bobine se succédant suivant la séquence : Nord, Off, Sud, ... ou inversément pour tourner dans l'autre sens.

 

   L'animation ci-contre représente une rotation complète des 96 pas entiers du rotor.

  On y voit clairement l'inversion de polarisation cyclique des bobines, obtenue par inversion du sens du courant d'alimentation.

Pour les moteurs qui ont un nombre de pas plus élevé, la technologie se complique !
Dans le cas par exemple d'un moteur pas à pas de 200 pas par tour, que l'on appelle moteur pas à pas hybride, car il mélange deux techniques: celle à aimant permanent et celle à reluctance variable,
le rotor est constitué de cinquante dents tandis que le stator est constitué de 8 pôles possédant 5 dents.

    Pour chaque pas, l'alignement des dents entre le stator et le rotor est différent.

Les dents s'alignent de façon à permettre le meilleur passage du flux magnétique.

A chaque pas, l'orientation du flux change et le rotor tourne.

2. Mode Micro-Pas: Augmenter la précision

Comme nous avons pu le constater, l'axe du moteur pas à pas tourne afin de s'orienter le mieux possible par rapport au champs magnétique.
Dans les explications illustées, jusqu'à présent, nous avons travaillé avec des valeurs de courant dans les bobinages qui sont toujours maximum.
A présent, au lieu d'appliquer le courant maximum nous allons faire évoluer les courants dans les bobinages A et B de façon à avoir un pourcentage de la valeur complète comme le montre le graphique ci-dessous.
Ainsi l'axe se place dans ldes positions intermédiaire où la résultante des flux passe le mieux sachant que cette position se trouve entre diverses positions de courant max:

        

Dans ce cas-ci, chaque pas du moteur est divisé en 4.

C'est à dire qu'entre la position maximal du courant et la position 0 on divise en 4 palliers de telle manière un moteur qui réalisait 200 pas par tour en réalise à présent... 800 !

Bien évidemment pour contrôler un moteur de cette manière il est nécessaire d'avoir une électronique évoluée.

Source: http://www.roboticus.org/electronique/45-le-moteur-pas-a-pas.html

 

 

Des circuits de commande spécialisés ont été présentés un peu plus haut sur cette page. Ils permettent de configurer le pilotage en pas entiers, 1/2 pas, 1/4 pas, 1/8 pas, 1/16 pas, ...

Circuit A4988 "Pololu"

Attention toutefois à ne jamais alimenter ce type de driver sans
y avoir connecté préalablement les 4 fils du moteur...
fumée fatale garantie !

 

    Programmes de pilotage des moteurs PAP

RAPPEL
  Ces moteurs 28BYJ-48, initialement de 64 pas de 5.625°, (64 Pas/Tr) sont équipés d'une démultiplication à engrenages nylon d'un rapport de 1/64... ce qui donne alors 4096 pas /Tour.

Moteur UNIPolaire  (5 wires)

Afin de bien comprendre le programme qui va suivre, il va falloir identifier les broches ABCD des deux bobines pour les faire coïncider avec les croquis des séquences repris au début de cette étude.

Le petit schéma du moteur, ci-dessous, va nous permettre d'identifier les bonnes connexions et les nommer correctement.

                                 

Il ne faudra pas donc tenir compte de la sérigraphie indiquant ABCD reprise sur le board incluant les drivers ULN2003 et les led témoins.

    De plus, certains DataSheet inversent les fils rose et orange !

  Les connexions correctes à réaliser sont finalement celles reprises sur la figure ci-contre.

 Programme de test d'un moteur UNIpolaire 28BYJ-48 /5V

'===================================================

'Commande moteur PAP UNIpolaire 28BYJ-48

'Picaxe 20X2 to ULN2003 Driver

'Rg.Legat (c)2018

'===================================================

  #Picaxe 20X2 'Internal default = 8Mhz

'===================================================

'Motor: 28BYJ-48 5V

'D-Blue Motor Wire   --> In1 ULN2003 Board ---> C.0 of 20X2 – pîn 10

'A-Pink Motor Wire   --> In2 ULN2003 Board ---> C.3 of 20X2 – pin 9

'C-Yellow Motor Wire --> In3 ULN2003 Board ---> C.1 of 20X2 – pin 8

'B-Orange Motor Wire --> In4 ULN2003 Board ---> C.2 of 20X2 – pin 7

'Red Common Motor Wire --> +5vcc

'10K pull-Up on pinB.7 for On/Off Motor

 

Symbol Index = b0 ‘Index of For/Next

Symbol Period = W1'Delay ms(Motor Speed by spacingsteps)

Symbol Seq = W2   'Must be 4 for Full step, 8 for Half step

Symbol MOTR = W3  'LSB Byte (Nibble) Motor state (to send to PortC)

 

DirsC = %00001111'C.0 to C.3 Output

 

'Sequences: At choice ;)

 

'**********************************************************************

 

'EEprom 1,(9,5,6,10) :Seq = 4 '---> Full Step MAX Couple - TurnLeft

 

'EEprom 1,(8,1,4,2)  :Seq = 4 '---> Full Step MIN Couple - TurnLeft

 

EEprom 1,(8,9,1,5,4,6,2,10):Seq = 8 '---> Half Step - TurnLeft  ---> 9,5 tours/min @ 8Mhz

 

'**********************************************************************

 

'Period = 1 'Motor Speed

 

'=== Main Prg ===================

 

 

'Motor Off 0,5 sec.

 

MOTR = %00000000

 

Let OutPinsC = MOTR

 

Pause 500

  

 

DO

 

 If pinB.7 = 0 then 'Motor On

 

  For index =1 to Seq

 

    Read b0, MOTR ' Read EEprom, stock to W3 (MOTR)

 

    Let OutPinsC = MOTR   'Send data to PortC

 

    'Pause Period 'Pause ms (or 1/100 ms if Pauseus)

 

  Next

 

 'Else = Motor Off

 

 Endif

LOOP

 

'=====================================================================

 

      La consommation est ici de 120 à 130 mA sous 5 volts

Constatations:

  Avec le mode "Full Step" (Pas entier) le moteur éprouve des difficultés à démarrer.

 

 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

 Moteur BIPolaire  (4 wires)

Ici encore, pour bien comprendre le programme, il sera impératif de bien respecter
les connexions des bobines du moteur et celles des sorties du MCU Picaxe.

Pour obtenir un moteur Bipolaire, les connexions des points communs des bobines
ont été sectionnées et le fil rouge inutilisé a été déssoudé.

                       

                                Moteur 28BYJ-48 modifié en Bipolaire

 

  '===================================================

'Commande moteur PAP 28BYJ-48 Modifié en BIPOLAIRE

'Picaxe 20X2 to L293D Driver

'Rg.Legat (c)2018

'===================================================

 #Picaxe 20X2 'Internal default = 8Mhz

'===================================================

'Motor: 28BYJ-48 5V

 

'A-Pink Motor Wire   -->OutA- L293 Board / In1 L293 -> C.0 pin 10

'B-Orange Motor Wire -->OutA+ L293 Board / In3 L293 -> C.1 pin  9

'D-Blue Motor Wire   -->OutB- L293 Board / In4 L293 -> C.3 pin  8

'C-Yellow Motor Wire -->OutB+ L293 Board / In1 L293 -> C.2 pin  7

'10K pull-Up on pinB.7 for On/Off Motor

'Pin8 L293 = Vin Motor(5V) / Pin16 L293 = 5V  

 

Symbol Index = b0 ' Index of For/Next

Symbol Period = W1'Delay ms(Motor Speed by spacingsteps)

Symbol Seq = W2   'Must be 4 for Full step, 8 for Half step

Symbol MOTR = W3  'LSB Byte (Nibble) Motor state (to send to PortC)

 

DirsC = %00001111'C.0 to C.3 output

 

 

'Sequences: At choice ;)

 

*****************************************************************

 

'EEprom 1,(9,5,6,10) :Seq = 4 '---> Full Step MAX Couple - TurnLeft

 

'EEprom 1,(8,1,4,2)  :Seq = 4 '---> Full Step MIN Couple - TurnLeft

 

EEprom 1,(8,9,1,5,4,6,2,10):Seq = 8 '---> Half Step

 

'*****************************************************************

 

 

'=== Main Prg ===================

 

 

MOTR=%00000000

 

Let OutPinsC = MOTR

 

Pause 500 'Motor Off 500msec

 

'Period = 5 'Motor Speed

 

DO

 

 If pinB.7 = 0 then 'Motor On

 

  For index = 1 to Seq

 

    Read b0, MOTR ' Read EEprom, stock to W3 (MOTR)

 

    Let OutPinsC = MOTR'Send data to PortC

 

    'Pause Period  'Pause ms (or 1/100 ms if Pauseus)

    'Pauseus Period  'Pause ms (or 1/100 ms if Pauseus)

  Next

 

 'Else = Motor Off

 

 Endif

 

LOOP

  

'====================================================================

 

     La consommation est ici de 50 mA sous 5 volts

 

 

 

 

 Il sera aussi possible et facile de convertir ces programmes pour les placer dans un petit PIC12F675 ou 12F629 (DIL8), par exemple, proposant 1 port IN et 5 ports In/Out !

ATTENTION:

Il faudra cependant s'assurer que la vitesse d'exécution des instructions du petit PIC choisi sera suffisante  pour obtenir la vitesse de rotation espérée.

Si vous utilisez des MCU cadencés en interne à 4Mhz (comme les petits 12F629-675), et que vous avez réalisé votre prototype avec, par exemple, un Picaxe, ce dernier aura aussi du être cadencé préalablement à 4Mhz avec la commande SetFreq m4 !

On pourra aussi se diriger vers le petit Pic 12F683 pour disposer d'une vitesse de 8Mhz interne.

 ******************************************************************************************************************************************************************************************************************************************

 

    Piloter un moteur PAP avec seulement deux ports du MCU !

   Mode Pas entier à Couple Maximal  

Voici un petit procédé découvert au fil de mes travaux et que je me dois de partager avec vous !

Que diriez-vous de pouvoir piloter un moteur PAP avec SEULEMENT 2 PORTS MCU au lieu de quatre !!!?

Voilà une option particulièrement intéressante pour encore se tourner vers des petits PIC ne disposant que de peu de ports...

Analysons de plus près la séquence de commande d'un moteur PAP en Régime Pas entier/Couple Max.

 

  

Nous pouvons constater, EN MODE PAS ENTIER / COUPLE MAXIMAL, que pour chaque paire de fils alimentant une bobine les informations de polarité sont toujours antagonistes !

Si un pôle d'une bobine est High, l'autre sera Low... et inversémement...

Partant de ce constat il suffirait alors d'un peu d'électronique élémentaire pour pratiquer cette inversion de signaux et ne devoir alors disposer que de deux ports de votre MCU au lieu de quatre !

Utilisons ainsi un transistor en mode inverseur pour obtenir les résultats attendus:

Si le signal issu du MCU est High, nous disposerons d'une info High sur cette ligne et un Low au Collecteur du transistor... et inversément.

   

                   Moteur PAP Bipolaire commandé par deux Ports du MCU et un H-Bridge L293D

 

   

                  Et voici le code de la séquence à programmer: 3-1-0-2 pour un sens de rotation, 2-0-1-3 pour l'inverse.

 

La version suivante était également présentée pour un moteur Unipolaire...

A TESTER !!!

  

                   Moteur PAP Unipolaire commandé par deux Ports du MCU et les étages Buffer "de puissance"

Il est aussi possible de commander un moteur Pas à Pas Unipolaire avec un L297 en lui adjoignant 4 transistors Darlington ou MosFet en lieu et place d'un driver ULN2003-4.

 

  Et en Mode Demi-Pas ?

A l'analyse du chronogramme du Mode Demi-Pas, on peut constater que les états de commande des pôles des bobines sont aussi antagonistes MAIS ... qu'il existe, parfois, des périodes où chaque pôle d'une bobine est à l'état zéro !

Tel quel, ce système utilisant l'inversion des états de sortie du MCU ne peut donc PAS être utilisé dans le mode Demi-Pas !!!

En effet, ce système ne pourra pas présenter simultanément deux états Low !

 

 

  La situation où les deux pôles d'une bobine sont simultanément à 0 ne pourra pas être possible avec le système utilisant les inverseurs de données du MCU.

 http://extremetracking.com/open?login=rglalpmn

  

 

 
[ Electronique ]
Copyright © Roger LEGAT - 2008 - Tous Droits réservés - (Thds V2)