Le schéma
Comme le montre le schéma, le circuit comporte peu de composants. C'est bien entendu le micro-contrôleur ST6225 qui en est "le coeur" puisqu'il réalise les actions suivantes:
* Captage de la consigne de vitesse de rotation des deux moteurs.
* Elaboration des signaux de commande des enroulements des deux moteurs.
Outre le ST6225, on peut identifier:
- Le dispositif de RESET du micro-contrôleur constitué de R1 et C1 (impulsion à l'état bas à la mise sous tension).
- Le quartz de 8MHz et les deux condensateurs de 22pF nécessaires au fonctionnement de l'horloge interne du ST6225.
- Un dispositif d'affichage constitué de six diodes LED, trois par moteur, permettant à l'utilisateur d'identifier visuellement l'état de chaque moteur (arrêt, sens de rotation horaire ou anti-horaire).
- Deux interrupteurs K0 et K1, de type mini-interrupteurs en boîtier DIL, permettant de sélectionner le mode de fonctionnement de chaque moteur: pas entiers ou demi-pas.
- Les potentiomètres P1 et P2 de réglage de la vitesse et du sens de rotation.
Les diodes LED étant commandées par le port B, le courant les traversant est limité à 5mA grâce aux résistances RD (limite du courant délivré par le port B). La fréquence du quartz a été choisie égale à 8MHz (valeur max.) afin que le temps d'exécution d'une instruction soit le plus court possible. Dans ces conditions, la fréquence de commande
des enroulements peut atteindre quelques centaines de hertz. Les consignes de vitesse sont fournies par deux potentiomètres de 1k (P1 et P2). Cette valeur étant très faible par rapport à l'impédance d'une entrée analogique du ST6225, il n'est pas nécessaire de filtrer la tension (cela reste vrai tant que la liaison filaire entre les potentiomètres et le circuit est courte). Les signaux de commande des enroulements sont fournis par le port A, configuré en sortie. La tension de 5V est délivrée par un régulateur intégré de type 7805.
Configuration
des entrées/sorties Presque toutes les broches d'entrées/sorties sont utilisées et donc nécessairement configurées.
* Le port A : tout en sortie, avec étages symétriques (push-pull).
- PA0 à PA3 commandent les enroulements du moteur 1,
- PA4 à PA7 commandent les enroulements du moteur 2.
* Le port B : tout en sortie, avec étages à drains ouverts.
- PB0 à PB5 commandent les LED d'indication "MARCHE", "SENS1" et "SENS2" des deux moteurs:
- PB0 à PB2 pour le moteur 1
- PB3 à PB5 pour le moteur 2. Seuls
- PB6 et PB7 ne sont pas utilisés.
* Le port C : si aucune conversion analogique/numérique n'est effectuée, celui-ci est configuré tout en entrée logique sans interruption, PC4 et PC5 sans résistance de rappel au +VDD, PC6 et PC7 avec résistance de rappel. Pour pouvoir effectuer une conversion analogique/numérique de la tension présente soit sur PC4, soit sur PC5, le bit correspondant du registre d'option est forcé à l'état 1, ce qui configure l'entrée en mode analogique (celle-ci est directement reliée au convertisseur intégré). Bien entendu, on ne peut effectuer une conversion simultanée sur PC4 et PC5 sous peine de relier les deux curseurs de P1 et P2 et donc d'endommager le ST6225 si l'un est au +5V et l'autre au 0V.
Le tableau ci-dessous résume la configuration de chaque port.
Acquisition et conversion A/N
Pour convertir différentes tensions appliquées sur différentes broches du micro-contrôleur, on utilise une technique de multiplexage logiciel. C'est à dire que l'on configure en entrée analogique une et une seule entrée à la fois. Après avoir effectué la conversion, la même entrée est configurée en entrée logique sans résistance de rappel au +5V et sans interruption. Si cette technique n'est pas utilisée, cela peut éventuellement aboutir à une détérioration matérielle , il faut donc le savoir et programmer l'application en conséquence.
Mode de fonctionnement
Pour chaque moteur est associé un potentiomètre dont la valeur de la tension correspond à une consigne de vitesse. Cette tension étant convertie sous forme numérique, le fonctionnement du moteur est le suivant:
* Potentiomètre à mi-course: moteur à l'arrêt
* Potentiomètre en butée gauche ou droite: moteur tournant à vitesse maximale dans le sens horaire ou anti-horaire.
Une zone "morte" a été définie par logiciel, telle que le moteur soit à l'arrêt lorsque le potentiomètre est "environ" à mi-course. Ceci permet de pouvoir réellement arrêter chaque moteur, car il est impossible de placer le curseur à mi-course avec une précision de 1/256 de tour (n'oublions pas que la conversion se fait sur 8 bits). La valeur numérique correspondant à la consigne de vitesse et de sens de chaque moteur est utilisée pour définir la fréquence de commande des moteurs (table des fréquences dans la mémoire EPROM du ST6225). La commande périodique des enroulements est assurée par une routine d'interruption du temporisateur. Telles que sont définies les constantes du programme, la fréquence de commande peut varier d'environ 13 pas (ou demi-pas) à 180 pas (ou demi-pas) par seconde. Chaque moteur peut être commandé en mode "pas entiers biphasés" ou en mode "demi-pas" à l'aide de deux mini-interrupteurs.
Réalisation pratique
La tension de 5V étant délivrée par un régulateur intégré, l'alimentation extérieure peut varier de 8V à environ 15V sans risque de dommage. Vous pourrez par exemple alimenter le montage à partir de la tension de commande des moteurs, qui est généralement de l'ordre de la dizaine de volts.
Utilisation
A la mise sous tension, une diode LED parmi les trois, pour chaque moteur, doit s'allumer. En faisant tourner l'axe de chaque potentiomètre, vous devez constater que:
* en butée gauche ou droite, ce sont les diodes "Sens1" ou Sens2" qui s'allument;
* à mi-course, c'est la diode "Arrêt" qui s'allume.
Si le montage n'est pas encore connecté à un interface de puissance, vous pouvez toutefois vous assurer qu'un signal périodique est bien délivré sur chaque sortie du port A. Pour cela il suffit de connecter un haut-parleur en série avec une résistance (1k par exemple) entre chacune d'elles et la masse. La fréquence du signal audible doit varier avec la position de chaque potentiomètre. A mi-course le signal audible doit disparaître.
Pour commander les deux moteurs, il suffit de connecter à notre montage un interface de puissance. Un tel circuit a été publié dans nos pages, en Novembre 96 (n°208). Vous y trouverez aussi un article sur les moteurs pas à pas qui vous renseignera sûrement sur les différentes façons de commander un tel moteur (plus particulièrement en ce qui nous concerne, sur les modes "pas entiers biphasés" et "demi-pas"). La sélection du mode "pas entiers" ou "demi-pas biphasés" est réalisée à l'aide des mini-interrupteurs K0 et K1, comme indiqué sur le schéma de principe. Afin de régler finement la vitesse des moteurs, il est recommandé de monter des boutons de gros diamètre extérieur .
Vous pourrez exploiter avec profit ce montage pour animer vos réalisations mécaniques (maquettes, prototypes...) ou encore pour tester le bon fonctionnement de vos moteurs.
E. QUAGLIOZZI
Nomenclature Résistances R1: 18 k 1/4W RD: 680 1/4W P1, P2: potentiomètres rotatifs, linéaires, de 1 k Condensateurs C1: 1 µF/16V C2, C3: 22 pF C4: 100 µF/16V Semi-conducteurs D1: Diode 1N4001 à 4007 DEL: Led 5mm (par exemple: 2 rouges, 2 vertes, 2 jaunes) Circuits intégrés IC1: micro-contrôleur ST62E25 ou ST62T25(version
REG: régulateur 5V de type 7805 Divers Qtz: quartz 8MHz 4 x mini-interrupteurs en boîtier DIP
Maîtrisez la Commande Proportionnelle de Deux Moteurs Pas à Pas
Vous êtes passionné d'électronique et souhaitez découvrir comment contrôler des moteurs pas à pas de manière précise et efficace ? Cet article vous guidera pas à pas dans la réalisation d'une commande proportionnelle pour deux moteurs pas à pas. Ce projet est idéal pour les amateurs qui veulent se lancer dans des projets plus complexes.
Introduction au Projet
Le but de ce projet est de créer un circuit qui permet de contrôler deux moteurs pas à pas de manière proportionnelle, c'est-à-dire que la vitesse de chaque moteur sera ajustée en fonction des réglages des potentiomètres. Nous utiliserons un micro-contrôleur ST6225 pour capturer les consignes de vitesse et générer les signaux de commande.
Matériel Nécessaire
Composants
- Micro-contrôleur ST6225 : le cerveau de notre circuit.
- Quartz 8MHz : pour le fonctionnement de l'horloge interne.
- Condensateurs : 22pF (2), 1µF/16V (1), 100µF/16V (1).
- Résistances : R1 (18 kΩ), RD (680 Ω).
- Potentiomètres : P1 et P2 (1 kΩ chacun).
- LEDs : diodes rouges, vertes et jaunes pour l'affichage.
- Diode 1N4001 à 4007.
- Régulateur 5V type 7805.
- Mini-interrupteurs DIP (4).
Outils
- Fer à souder et fil à souder.
- Multimètre.
- Plaque de circuit imprimé (PCB).
- Câblage et connecteurs.
Étapes de Réalisation
1. Préparation du Schéma
Le circuit comprend un micro-contrôleur ST6225, qui est au cœur de l'opération. Le schéma suivant montre comment les composants sont connectés :
- Micro-contrôleur ST6225 : il capte les consignes de vitesse et commande les enroulements des moteurs.
- RESET : assuré par R1 et C1 pour initialiser le micro-contrôleur à la mise sous tension.
- Quartz et Condensateurs : assurent le bon fonctionnement de l'horloge interne.
- LEDs : trois par moteur, indiquant l'état (arrêt, sens horaire, sens anti-horaire).
- Potentiomètres : P1 et P2, réglant la vitesse et le sens de rotation.
- Interrupteurs : pour sélectionner le mode de fonctionnement (pas entiers ou demi-pas).
2. Montage du Circuit
Soudez les composants sur la PCB en suivant attentivement le schéma :
- Connectez le quartz et les condensateurs de 22pF pour stabiliser l'horloge.
- Soudez les LEDs et les potentiomètres, en veillant à ce que les connexions soient correctes.
- Installez les interrupteurs pour permettre le choix des modes de fonctionnement des moteurs.
3. Configuration et Programmation
Configurez les ports du micro-contrôleur :
- Port A : utilisé pour les enroulements des moteurs (PA0 à PA3 pour moteur 1, PA4 à PA7 pour moteur 2).
- Port B : utilisé pour les LEDs d'indication (PB0 à PB2 pour moteur 1, PB3 à PB5 pour moteur 2).
- Port C : configuré pour les entrées analogiques des potentiomètres.
Programme le micro-contrôleur pour gérer les conversions analogique/numérique, capturer les consignes de vitesse et générer les signaux de commande des moteurs.
4. Test et Réglages
Branchez le circuit à une alimentation de 5V via le régulateur 7805. À la mise sous tension, vérifiez que les LEDs s'allument correctement en fonction de la position des potentiomètres :
- Potentiomètre à mi-course : le moteur est à l'arrêt (LED rouge allumée).
- Potentiomètre en butée : le moteur tourne à vitesse maximale dans le sens horaire (LED verte) ou anti-horaire (LED jaune).
5. Applications Pratiques
Ce circuit peut être utilisé pour animer des maquettes ou des prototypes nécessitant un contrôle précis des moteurs pas à pas. Vous pouvez également l'utiliser pour tester le bon fonctionnement de vos moteurs ou pour tout projet nécessitant une commande proportionnelle des moteurs.
Conclusion
Créer une commande proportionnelle de deux moteurs pas à pas est un projet enrichissant qui vous permettra d'améliorer vos compétences en électronique et en programmation. Ce guide vous a présenté les étapes clés pour réaliser ce projet, de la préparation des composants à la configuration et aux tests. N'hésitez pas à personnaliser le circuit selon vos besoins et à explorer davantage les possibilités offertes par les moteurs pas à pas.





