... 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 premier 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. |
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