Piloter un moteur pas à pas

Bonjour à tous,
Je suis un stagiaire à l'entreprise Axess tech, et une petite partie de mon projet est de commander et piloter un petit moteur pas à pas à l'aide du logiciel Labview (la vitesse, le sens, le nombre de pas à éffectuer et également convertir le nombre de pas en distance).
Par exemple, on rentre une distance en mm et le moteur la convertit en nombre de pas qu'il va donc faire. Je pense que cette convertion dépend du moteur choisi mais on pourrait commencer par établir une valeur par défaut que je changerai une fois mon moteur dans les mains.
Ayant fait de nombreuses recherches sur internet et sur le forum, je n'ai pas trouvé de "tuto" assez explicatif pour débutant pour pouvoir programmer ce type de moteur.
Je débute sur Labview et je ne sais pas par où commencer car je n'ai ni de moteur ni de carte de commande actuellement et je ne sais pas comment les choisir en fonction de mon application.
J'aurais donc plusieurs questions :
Est-ce qu'il y une carte de commande spécifique pour piloter du PC au moteur ? Si oui, qu'elle est sa référence ?
Est-ce qu'un programme marche avec n'importe quel carte commande/moteur pas à pas?
Existe-t-il un programme .VI déja fait pour ce type d'application ?
J'ai la version d'évaluation de Labview étudiant, est-ce que j'ai besoin d'une autre version pour faire cette application ? Télécharger des "drivers" ou autres ?
J'ai trouvé un petit tuto pour commander une rotation d'un moteur, mais c'est un programme qui gère juste la vitesse de rotation en fonction de la temporisation et le sens... or moi je voudrais également effectuer un certain nombre de pas spécifique. Peut-être que vous pourriez m'aider à l'améliorer... ou changer complètement de programme car celui-ci n'est pas adapté ? (voir images ci-joint)
Désolé de mon ignorence, j'espère que vous pourrez m'aider.
Je vous remercie d'avance, mes salutations distinguées.

Le premier pas - indispensable et incontournable - consiste à choisir le moteur en fonction de l'application et le driver qui servira à le piloter.
Tant que le matériel n'est pas défini, il ne sert pas à grand chose de parler "programmation" car celle-ci en dépendra très fortement.

Similar Messages

  • Libération des broches de commandes d'un moteur pas à pas

    Bonjour,
    Je voudrais savoir comment libérer les broches de commande d'un moteur pas à pas par l'intermédiaire des transistors à collecteur-ouvert.
    Deuxiement, je voudrais savoir si il est possible que la commande de moteur pas à pas crée des interférences sur des sorties anaologiques d'un autre axe ?
    Merci

    En fait, tout ca je connaissais deja; ou du moins pour la plupart. Cependant, cela ne répond pas à mes questions. J'explique alors plus en détails :
    Il se trouve que la carte motion pilote une interface de puissance où il est possible de commander les moteurs manuellement par des boutons et ce seulement lorsque INHOUT n'est pas activée, mais alors les broches STEP et DIR (surtout DIR) impose un sens de déplacement à l'interface et ce meme aux commandes manuelles. Je voudrais donc pouvoir libérer ces deux broches en commandant les transistors à collecteurs ouverts sans utiliser la broche INHOUT qui doit rester impérativement inactive pour que la commande manuelle des moteurs reste active.
    Voila, en espérant que cela vous aide à mieux comprendre.
    Merci pour vo
    s réponses.

  • Commander 2 moteurs pas à pas

    galega
    Bonjour, 
    je souhaite commander, non pas un, mais deux moteurs pas à pas sous labview. J'utilise une carte PCIe 6321.
    J'ai réussi à commander un moteur (cf VI en pièce jointe).j'envoie un signal carré sur un compteur et je fias varier la fréquence.
    Mais je ne sais pas comment faire pour en piloter un deuxième, sachant que les 2 moteurs sont indépendants et qu'ils doivent fonctionner en même temps, et non pas l'un après l'autre.
    Si quelqu'un peut m'aider, je le remercie d'avance.
    Cordialement, 
    Résolu !
    Accéder à la solution.
    Pièces jointes :
    test 1.vi ‏19 KB

    Bonjour,
    Il vous suffit de rajouter une condition événement puis coder de la même façon que dans votre structure Frequency valeur changée. N’oubliez pas de décocher Verrouiller la face avant jusqu'à la fin de l’exécution de cette condition d’événement lorsque que vous créez la nouvelle condition (décochez aussi sur la condition frequency).
    Samuel G. | Application Engineer Team Leader
    Certified LabVIEW Developer
    National Instruments France
    #adMrkt{text-align: center;font-size:11px; font-weight: bold;} #adMrkt a {text-decoration: none;} #adMrkt a:hover{font-size: 9px;} #adMrkt a span{display: none;} #adMrkt a:hover span{display: block;}
    Été de LabVIEW 2014
    12 présentations en ligne, du 30 juin au 18 juillet

  • Commander un moteur pas à pas à travers labview

    Bonjour, 
    Je voudrais commander un moteur pas à pas à partir d'un circuit intégré SAA1027. Sauf que je ne sais pas comment faire pour écrire un programme de commande sur labview (je ne sais même pas si c'est possible).
    L'algorithme du programme:
    Entrer le nombre de pas N du moteur
    Entrer le temps K d'arrêt du moteur 
    Choisir le sens de rotation R du moteur 
    Faire tourner le moteur à N pas dans le sens R
    Puis, s'arrêter pendant K secondes 
    Reprendre la rotation du moteur avec les mêmes paramètres N et R
    Fin du programme (en cliquant sur un stop)
    Merci de m'aiguiller un peu

    Bonjour,
    Je vous transmet le .zip en pièce jointe. Il contient les sous VIs et VIs correspondant au StateMachine.
    Brice S.
    National Instruments France
    Pièces jointes :
    statemachine.zip ‏214 KB

  • Je voudrais commander un petit moteur pas à pas à partir du port LPT dun boitier de commande . mais je ne sais pas quel programme écrire dans labview

    bonjour !
    je suis débutant dans l'utilisation de Labview.je dois commander une table de déplacement 3D ,je voudrais commander un petit moteur pas à pas chargé du déplacement suivant les axes(X,Y,Z) à partir du port LPT dun boitier de commande . mais je ne sais pas quel programme écrire dans labview

    Bonsoir Max,
    Le point de départ serait de consulter le site du constructeur de l'équipement (table trois axes) pour voir s'il n'existe pas déjà un driver existant (des fonctions à utiliser directement dans LabVIEW). S'il n'existe pas de driver, récupére la doc de l'équipement et prend ton courage à deux main, il va falloir se l'écrire, ce driver.
    Brut de pomme, deux liens:
    How Do I Use the Parallel Port in LabVIEW?
    Can VISA Communicate with Parallel Ports?
    Plus précisément: NI-VISA est une surcouche logicielle qui permet d'avoir une interface de programmation (API) commune pour différents types de bus (série, USB, PCI, und so weiter). Il est possible de l'utiliser pour adresser un port parallèle. Il y a aussi d'autres méthodes proposés (Cf.How Do I Use the Parallel Port in LabVIEW?, méthode 2, In Port.vi et Out Port.vi). Ceci constituerai la solution 'bas niveau' pour envoyer une commande et relire la réponse de ton équipement - fabriquer les fonctions LabVIEW / le driver de ton équipement, à partir de la documentation, en espérant que la doc mentionne les commandes de l'équipement ("comment-que-j'y-cause-à-mon-boitier-pour-qu'il-fasse-ce-que-je-lui-ai-demandé")
    Bon courage,
    .mrLeft{float:left} .mrInfo{border-left:solid 1px #989898;font-size:x-small;color:#989898}
    Mathieu R.  
      CTD - Certified TestStand Developer / Développeur TestStand Certifié  
      CLAD - Certified LabVIEW Associate Developer  

  • Utilisatio​n de NI myDAQ pour commander un moteur pas à pas

    salut est-il possible d'utiliser NI myDAQ pour commander un moteur pas à pas sachant que la commande du moteur est réaliser en utilisant labview-solidworks avec le module NI softymotion

    Bonjour,
    Il faudrait éviter de poster vos questions en double sur le forum.
    http://forums.ni.com/t5/Discussions-au-sujet-des-a​utres/NI-myDAQ-pour-interfa%C3%A7age-labview-solid​...
    Ou a la limite, essayez de répondre lorsqu'on vous apporte des éléments de réponse. En faisant un peu de recherche, vous verrez qu'on ne peut pas utiliser DAQmx et le matériel DAQ avec SoftMotion. Il y a des vidéos et des présenattions sur le site NI qui explique quels sont les matériels compatibles avec SoftMotion. Google est ton allié.
    Cordialement
    .mesLeft{float:left} .mesInfo{border-left:solid 1px #989898;font-size:x-small;color:#989898} .mesLogo{float:right;opacity:0.18} .mesLogo:hover{opacity:0.9}
    Maxime R.  
      CLD - Certified LabVIEW Developer / Développeur LabVIEW Certifié  
      CLAD - Certified LabVIEW Associate Developer   

  • Objectif : capter une position de référence d'un moteur pas à pas

    Bonjour je suis actuellement en tsti2d et mon but est de simuler la détection de position de référence d'une caméra comportant un moteur pas à pas grâce à un capteur à fourche.
    Et j'ai du mal à construire mon VI.
    Pourais-je avoir un avis pour savoir comment procéder.
    Merci d'avance

    Bonjour Bakrav,
    Il va falloir un peu plus d'informations pour t'aider sur ce point là. Si je comprends bien tu as du mal à démarrer l'implémentation de ton projet dans LabVIEW, ce qui est souvent le cas lorsqu'on décide de démarrer par la programmation sur LabVIEW sans avoir réfléchi à un algorithme au préalable. Aussi je te conseille de suivre la méthodologie ci-dessous afin de pouvoir implémenter le diagramme de ton programme, cela n'est vraiment pas du temps perdu, bien au contraire. Une fois que cela sera fait, si tu as des questions plus spécifiques à une implémentation dans LabVIEW, n'hésite pas à re-solliciter notre aide sur ce forum :
    LabVIEW Core 1 - The Software Development Method
    Je te souhaite une très bonne journée,
    Bien cordialement,
    M-Junior

  • Compter le nombre de pas pour moteur pas à pas, pour calculer le déplacemen​t

    Bonjour,
    Actuellement j’ai d’un logiciel qui me permet de contrôler un moteur pas à pas.
    Je voudrais afficher la distance parcourue en comptant le nombre de pas.
    Actuellement, la distance est calculée avec la vitesse et le temps. (Exemple: si je donne comme consigne une vitesse de 1 mm/s j’incrémente ma distance de 0.02 mm toutes les 20 ms) j’ai remarqué que j’avais un décalage qui se crée au bout d’un certain nombre d’aller-retour.
    Ce que j’aimerais maintenant faire pour augmenter ma précision, c’est faire varie le déplacement en fonction des pas réalisés, mais je n’arrive pas à trouver la solution.
    Ci-joint, le  Vi (CommandeMoteur) que je viens de réaliser pour faire des essais dans lequel on trouve juste la partie commande moteur avec une acquisition de force.
    si vous avez besoin de plus de précision posez-moi des questions c’est peut être des questions que je ne me suis pas posées qui peuvent m’aider à avancer 
    merci par avance
    Pièces jointes :
    CommandeMoteur.vi ‏67 KB

    Bonjour,
    Compte tenu de votre VI, vous utilisez apparemment le driver DAQmx pour interagir avec votre moteur pas à pas. 
    Je vous invite à consulter ces deux exemples qui me semblent apropriés compte tenu de votre problématique :
    Using SW-Timed Digital I/O to Control a Stepper Motor with DAQmx
    Controlling a Stepper Motor Drive for Constant Velocity with a DAQ Device
    Cordialement,
    Jérémy C.
    National Instruments France
    #adMrkt{text-align: center;font-size:11px; font-weight: bold;} #adMrkt a {text-decoration: none;} #adMrkt a:hover{font-size: 9px;} #adMrkt a span{display: none;} #adMrkt a:hover span{display: block;}
    Travaux Pratiques d'initiation à LabVIEW et à la mesure
    Du 2 au 23 octobre, partout en France

  • Je suis débutant,j​e veus savoir comment commander moteur pas à pas avec labVIEW via la carte NI UMI-7764 merci

    je suis débutant,je veus savoir comment commander moteur pas à pas avec labVIEW via la carte NI UMI-7764 merci  

    abdelkhalk wrote:
    je suis débutant,je veus savoir comment commander moteur pas à pas avec labVIEW via la carte NI UMI-7764 merci  
    Pour commander un moteur pas à pas il faut également un controleur (NI-7330,7340 ou 7350) et un driver. Les controleurs NI viennent avec la librairie Motion I/O qui contient les VIs qui permettent de controler le moteur.
    Ben64

  • Control d' un Moteur pas a pas

    Salut a tous,
    je suis un débutant dans Labview et actuellement en stage ou je dois automatiser une bande d essai comportant un petit moteur pas á pas que je dois pouvoir donner une position, une vitesse, le nombre de tour et le temps d intervalle d arret jusqua la position finale. Par la suite j ai egalement deux capteurs, avec un je dois pouvoir donner une force précise sur un corps et l autre pourvoir mesurer la temperature de la partie du corps sur laquellle la pression de la force s applique. J aimerais svp avoir des idees comment pouvoir deja controler mon moteur en donnant tous ses parametres mais aussi pouvoir afficher sur des courbes de temperature et et la pression (mesurée par un autre capteur) exercée par la force en fonction du temps. merci bien pour vos aides.

    Salut bigcorneille,
    Pour contrôler les axes du moteur vous pouvez utiliser le module LabVIEW SoftMotion. Dans les liens suivants vous trouvez toutes les informations concernant ce module :
    Module LabVIEW SoftMotion -
    http://sine.ni.com/nips/cds/view/p/lang/fr/nid/14234
    Getting Started with NI SoftMotion for SolidWorks -
    http://www.ni.com/pdf/manuals/372876e.pdf
    Using the NI SoftMotion Axis Interface -
    http://www.ni.com/pdf/manuals/372597a.pdf
    Afin d’afficher les courbes de températures et pression, vous pouvez utiliser des graphes déroulants avec multiples tracés :
    Types de graphes et de graphes déroulants -
    http://zone.ni.com/reference/fr-XX/help/371361L-0114/lvconcepts/types_of_graphs_and_charts/
    Vous pouvez accéder aux exemples de LabVIEW sous « Aide >> Recherche d’exemples ». Là-bas vous pouvez trouver plusieurs exemples concernant le module SoftMotion et les graphes dans LabVIEW.
    Cordialement.

  • Lorsque je joue au backgammon masters il y a une anomalie qui m'est signalée par:"Votre version de Macromedia Flash ActiveX Control n'est pas compatible avec cette version de Windows "

    J'arrive a jouer mais la fenêtre du jeu est trop petite et je ne peux pas l'agrandir que faire? je suis nulle en informatique.

    J'ai trouvé la solution dans la documentation en
    englais. Après l'avoir essayer, ça fonctionne.
    Alors voici je joins le code: attach code à ce document.
    C'est un pas à pas. En espérant que cela peut
    aider d'autres personnes.
    À une prochaine !
    Nurse 1

  • Comment commander un moteur CC avec Labview

    Bonjour,
    Je suis étudiant en mécanique et dans le cadre d'un projet, je dois créer un programme labview qui:
    - en entrée utilise les image provenant d'un caméra qui film une goutte sur un tapis
    - traiter cette image avec Vision Assistant (étape déjà faite)
    - générer une tension proportionnelle à la position du barycentre de la goutte (trouvé par le traitement précédent) par rapport au centre de l'image (avance ou retard).
    Le problème réside dans la génération de cette tension.
    Je voudrais faire varier la vitesse de rotation d'un moteur CC d'essuie-glace 12V ( Valéo, modèle voiture 406). Pour celà, je sais que je dois envoyer une tension générée depuis mon ordinateur jusqu'à une carte moteur (je pensais à une carte Sabertooth 2*12) mais je dois envoyer l'information par du RS 232. Est-il possible de générer ce type de tension à partir de Labview? Si oui, comment puis-je adapter une génération à la suite de mon programme en remplacement du signal simulé? (Dois-je utiliser VISA?)
    Est-t-il également possible de choisir une carte du type NI USB-6008, de communiquer avec elle et de la connecter à mon moteur? Car je m'aperçois que la sortie analogique n'est que de 5V maxi, donc cela nécessiterai une amplification supplémentaire?
    (Je joins au message la doc de la carte Saberttoth et le programme que j'ai commencé ainsi que l'image sur laquelle je travaille).
    Merci d'avance pour votre aide!
    Résolu !
    Accéder à la solution.
    Pièces jointes :
    test_ouverture_fichier2.vi ‏153 KB
    Carte_moteur_Sabertooth.pdf ‏1314 KB
    goutte test.png ‏249 KB

    Bonjour,
    Si j'ai pu aider. Dans tous les cas, tu auras besoin de ta carte Sabertooth pour servir d'interface de puissance. Par contre, entre le RS232 et l'analogique pour la piloter c'est à toi de voir. Je pense que le 0-5 V fournit par une 6008 est plus imple à mettre en oeuvre, tu auras a mon vis la sortie 0-12V proportionnelle à l'entrée 0-5V. De toute façon, tu ne pourrais pas piloter le moteur en direct, il faut du matériel dédié (comme ta carte), car sinon, une 6008 ne founit pas de puissance, juste une tension.
    L'utilisation en RS232 peut être un peu plus compliqué à mettre en oeuvre au début, masi je pense que tu auras plus de souplesse et de possibilité pour le pilotage du moteur.
    Bonne continuation.
    Pense a marquer le forum comme résolu et à donner des compliments aux personnes qui ont répondu.
    Merci
    .mesLeft{float:left} .mesInfo{border-left:solid 1px #989898;font-size:x-small;color:#989898} .mesLogo{float:right;opacity:0.18} .mesLogo:hover{opacity:0.9}
    Maxime R.  
      CLD - Certified LabVIEW Developer / Développeur LabVIEW Certifié  
      CLAD - Certified LabVIEW Associate Developer   

  • TML_LIB_LabView et contrôle d'un moteur

    Bonjour,
    dans le cadre de mon stage, je dois piloter et effectuer des mesures sur différents moteur (pas à pas, courant continu, etc.) avec une carte IBL2403-CAN de Technosoft.
    J'ai une librairie LAbView avec différents exemples de VI pour le contrôle du moteur. Mais je trouve que ces exemples ne sont pas très clairs..
    Quelqu'un a déjà-t-il utilisé une telle carte avec LabView ?
    Comment faire pour mesurer la résistance et l'inductance d'un moteur connecté à cette carte avec LabView ?

    Bonjour,
    La carte IBL2403CAN de Technosoft est effectivement compatible avec LabVIEW, par le biais de la librairie TML_LIB dédiée que vous possédez sans doute déjà.
    En cas de besoin, vous pouvez retrouver les informations concernant cette librairie sur le site de Technosoft, dans le lien suivant : http://www.technosoftmotion.com/products/OEM_PROD_TML_LIB.htm.
    Afin de vous aider dans l’utilisation de celle-ci, vous pouvez vous reporter au manuel dédié à LabVIEW de cette librairie (en pièce jointe à ce post, ou, plus généralement, via le lien ci-dessous :
    http://www.technosoftmotion.com/products/Freedemo-products.php ).
    En revanche, la carte en question est une unité de pilotage et non une unité de mesure. Il ne semble donc pas, à priori, possible d’effectuer des mesures d’impédance par son biais. Il est peut être possible d’effectuer une mesure à l’aide des entrées analogiques mentionnées sur la documentation de la carte, mais cela sera moins simple qu’avec du matériel dédié. Je vous conseille de contacter directement l’assistance technique du fabricant qui sera plus à même de vous renseigner sur ce type de problèmes (via leur site web ou leur support email : [email protected]).
     J’espère vous avoir apporté quelques éléments de réponse. N’hésitez pas à nous recontacter en cas de besoin
    Guillaume Hyvert
    Pièces jointes :
    TML_LIB_LabVIEW_v2_Technosoft.pdf ‏1968 KB

  • Moteur DC/NI 9505

    Bonjour à tous !
    Dans mon école, j’ai reçu le projet de piloter un moteur DC (Maxon), sur lequel est accouplé un codeur (Encoder products), via le module NI9505 sur un cRIO. J’aimerais dans un premier temps réussir à contrôler la vitesse du moteur.
    Tout d’abord, j’ai copié le projet exemple nommé « Servo Drive (9505).lvproj » sur mon compte pour ensuite, le faire correspondre à l’adresse de mon cRIO (je n’ai fait aucune autre modification des VIs composants le projet). Actuellement, j’arrive à varier la vitesse du moteur grâce à l’onglet « Current Loop » du VI FPGA pendant que celui-ci est exécuté seul. Cependant, je ne comprends pas l’utilité du second VI nommé « RT Servo Drive (9505).vi». La commande « Current Output Range » de la face avant ne semble pas avoir d’influence sur la vitesse du moteur…
    J’ai suivi les opérations à effectuer du fichier « .txt » fourni dans le projet, mais malheureusement en utilisant l’« Interactive Test Panel » j’arrive uniquement à mettre le moteur « Enable » et il m’est impossible de varier la vitesse du moteur comme je le fais avec le VI FPGA…
    Pouvez-vous m’éclairer sur le fonctionnement simultané de ces 2 VIs et à quoi sert la commande « Current Output Range » du VI « RT Servo Drive »?
    Est-il aussi possible de modifier la vitesse du moteur via le panneau de test ?
    Merci pour vos réponses !
    (Désolé pour le double post dans la communauté anglaise^^) 
    Esteban

    Bonjour!
    Le RT Servo Drive appel le VI du FPGA: Du coup on ne devrait normalement pas l'appeler directement.
    Le RT Servo Drive va seulement faire la configuration de l'axe. Il faut le lancer avant que vous ouvriez le test panel.
    Après il faut utiliser le interactive test panel pour vraiment le piloter. La dans le deuxième registre, vous avez un champ pour la vitesse en rev/sec. Dans le premier registre il faut aussi noter combien de révolution vous aimeriez faire. Après quand vous appuyez sur play, le moteur devrait tourner.
    Le manual suivant dans une bonne description, comment utiliser le SoftMotion avec cRIO et le FPGA:
    Using the NI SoftMotion Axis Interface - July 2009 - National Instruments
    http://digital.ni.com/manuals.nsf/websearch/383F3C​8B73ADA618862576010057570B
    Veuillez regarder aussi le lien suivant pour plus des informations:
    Introduction to LabVIEW NI SoftMotion and C Series Drive Interfaces - National Instruments
    http://www.ni.com/tutorial/9666/en/#toc8
    Vous pouvez aussi essayer les autres examples dans le projet. Est-ce qu'ils marchent?
    J'espère que ça aide pour resoudre votre problème.
    Salutations
    Corinne

  • Pilotoage moteur brushless

    Bonjour,
    Je dois faire un petit programme pour piloter un moteur Brushless.
    Je dispose de la bibliothèque correspondante à ce moteur.
    Seulement c'est pour le principe que je ne sais pas comment faire.
    Par exemple, est ce que je dois faire un paramètrage pid, pour regler la vitesse?
    Quelqu'un aurait-il un exemple simple de pilotage de moteur?
    Merci d'avance.

    **lllllll a écrit :
    je cherche donc un exemple basique.
    Prenez 30 secondes pour vous mettre à notre place... Même plein de bonnes intentions et soucieux d'aider, comment pourriez-vous répondre à cette requête alors que vous n'avez pas la moindre idée du matériel utilisé par l'auteur de la question ?
    Pour ne citer que cette seule question : Comment la consigne de vitesse doit-elle être définie ? Signal analogique, USB, série, CAN, NI-Motion... Autant de drivers et autant de méthodes. Celui qui saura vous fournir un exemple fonctionnel - même basique - sans compléments d'information est doué de capacités surnaturelles !
    Donc, au risque de me répéter : Quelle est votre configuration matérielle ? Toute aide sera impossible tant que vous n'aurez pas pris la peine de répondre à cette question !

Maybe you are looking for