Alors voilà j'ai un petit problème.
Lorsque j'ai démonté mon scanner ( un HP ) j'ai découvert un moteur pas à pas guidant la lampe en translation.
Sur la carte j'ai un microcontroleur et un montage avec un L6219ds.
J'aimerai piloter le moteur très simplement (marche avant arrière ) à l'aide d'un PIC en utilisant pourquoi pas le L6219DS mais j'ai télécharger la datasheet et je ne comprend pas ce que je dois envoyer au L6219DS pour qu'il fasse tourner le moteur.
J'avoue que ce circuit est moins simple que le L297 à mettre en oeuvre !
bye
22/06/2011 - 20h38
Tidus1707
Date d'inscription
avril 2009
Localisation
Hoenheim
Âge
21
Messages
42
Re : Contrôler un moteur pas à pas
merci de la rapidité de votre réponse.
Mais c'est faisable avec un pic je pense non ?
Mais je ne vois pas comment faire. je programme en C. Il faudrait donc un truc pour laisser la broche n à l'état 1 pendant x secondes et pour faire ca a chaque fois une boucle avec un compteur c'est ca ?
Sinon c'est vraiment plus simple avec le L297 ? La partie logique se pilote avec un pic aussi ?
Bonne soirée
22/06/2011 - 21h13
petardfrancois
Date d'inscription
septembre 2010
Localisation
Montauban
Messages
123
Re : Contrôler un moteur pas à pas
Bien-sur, cela est faisable avec un micro qui pourrait substituer un circuit de commande dédié.
Pour le dimensionner nous devons :
reserver un port (8bit) en sortie pour commander le(s) moteurs (un moteur X et un moteur Y)
reserver au moins 4bit en entrée pour les commandes (sens moteur x et Y, vitesse, pas ou demi-pas...etc)
Et enfin les 2 broches pour l'oscillateur si on veut de la précision.
donc un PIC 16F628 ou 88 convient parfaitement à l'application.
Ensuite à ce circuit il faut rajouter un circuit "buffer" pour commander les moteurs en "courant" avec les diodes anti-roue libres comme ULN2803 ou autre...
Pour la partie soft:
Définir avec le timer du micro la vitesse du moteur et cela suivant en mode pas ou demi-pas
une variable que l'on incrémente ou décremente grace au timer et
créer une fonction "bipolaire pas" où est
22/06/2011 - 21h23
petardfrancois
Date d'inscription
septembre 2010
Localisation
Montauban
Messages
123
Re : Contrôler un moteur pas à pas
Merdé... bon je continue
Une variable que l'on incrémente ou décrémente avec le timer et suivant les commandes en entrée du micro
une variable qui mémorise la position de la séquence de façon que si on change de sens ou de mode, que cela soit fait convenablement.
une fonction "bipolaire pas" trés simple avec la séquence du moteur à pas complet en mémoire
une fonction " bipolaire demi pas" avec la séquence demi pas.
deux fonction identiques aux précédentes mais avec les unipolaires.
bon, il n'y a pas tout, j'ai juste dégagé les idées...
Ok nickel . J'ai pas tout compris mais je vais m'y pencher. Etant donner que je compte le faire par un pas à chaque fois je pense que c'est faisable non ?
Je vais faire chauffer mikroC demain ^^.
J'ai qu'un seul moteur à controler donc ca devrait aller non ? Si jamais vous avez des exemples de programmes de moteur pas à pas en C je suis preneur mais ce n'est pas du tout pour les cours c'est juste un projet, un petit challenge on va dire.
Vous êtes parfait ! j'avais pas pensé à chercher sur ce site et pourtant j'ai cherché un peu partout. Je vais travailler mon anglais demain je vous tiens au courant.
merci et bonne nuit
23/06/2011 - 11h31
Tidus1707
Date d'inscription
avril 2009
Localisation
Hoenheim
Âge
21
Messages
42
Re : Contrôler un moteur pas à pas
Alors j'ai regardais et je me pose quelques questions :
- le composant L297 c'est la partie puissance ou ça fait partie de la logique ?
Je ne comprend pas très bien a quoi il sert.
- si je vous envoie le programme que j ai écrit et si vous avez le temps vous pourriez regarder si ça colle ?
- il ya un kit chez mechatronic avec des moteurs cc pas a pas. Vous pensez que ça peut etre bien ?
Le L297 c'est la partie gestion et controle pour le moteur pour fournir les séquences mais celui-ci ne peut fournir guére plus que 10ma et généralement on l'associe à un L298 qui servira de commande de puissance, tu peut remarquer dans la datasheet en regardant sa structure interne qu'il sagit d'un double pont en H dont on pourrait se servir pour commander deux moteurs continus et que les diodes anti-roue libres ne sont pas intégrées (erf ils auraient pu faire un effort ) sinon ce circuit fonctionne sur les moteurs pas à pas avec un courant maximal de 2,5 A en respectant un rapport cyclique de 8/2 avec 10ms max pour l'etat haut... en page 8/13 tu as LE schema type pour une application avec un moteur pas-à-pas.
J'éspere ne pas t'avoir trop embrouillé, mais comme on peut mettre un L297+L298, nous pouvons aussi faire micro+L298 ou même micro+transistor pour commander le moteur, le tout est d'appliquer la séquence de fonctionnement en tenant compte du type de moteur et de ses caratéristiques électriques...
Pour le programme tu peux le placer dans le post à la vue de tous, ainsi des personnes peuvent éventuellement te faire partager leur commentaires et surtout leur aide !
Oui, le kit t'aidera trés certainement à la compréhension du fonctionement des moteurs pas à pas, mais selon le niveau, je pense qu'il est mieux de se le fabriquer soit-même !
Voilà
23/06/2011 - 15h52
Tidus1707
Date d'inscription
avril 2009
Localisation
Hoenheim
Âge
21
Messages
42
Re : Contrôler un moteur pas à pas
C'est bon j'ai bien compris vous êtes très clair.Ben je me demande si le prix est vraiment plus cher si je l'achète tout fait parce que je risque de faire des conneries si je le fait moi même ^^.
je vais lire la datasheet de la partie puissance pour voir comment écrire le programme en C.
Merci à vous en tout cas
Je pense avoir saisi l'esprit mais je ne comprend pas la rédaction.
Les setup déjà ...
Bref c'est dommage qu'il n'y ait pas de commentaires ca aurait pu m'aider.
Je vais le faire à ma façon et je posterai ca.
23/06/2011 - 19h04
Tidus1707
Date d'inscription
avril 2009
Localisation
Hoenheim
Âge
21
Messages
42
Re : Contrôler un moteur pas à pas
Voilà ce que je pensais faire :
//----------------------------- E/S --------------------------------------------
Le delay_ms est tout à fait arbitraire. Il définit la vitesse je pense non ?
Au bout de ce programme le moteur aura fait 1 tour ou un demi tour ? (ou aucun si c'est totalement faux ^^)
Dernière modification par Tidus1707 ; 23/06/2011 à 19h10.