Comptage impulsion codeur incrémenta​l

Bonjour,
Je vous explique mon application:
Je souhaite compter le nb d'impulsion d'un codeur incrémental de la marque BAUMER afin d'en déduire un signal 0-10V proportionnel à la vitesse d'un moteur.
Données techniques:
Codeur incrémental 1024 Pts/tour
Sortie TTL 0-5V
Vitesse max 60tr/min  donc fmax= 1024Hz
Matériels utilisés:
NI cDAQ 9174
Carte de comptage NI 9421
Carte sorties analogiques NI 9263
Labview 2011 11.0
Problèmes rencontrés:
Sur ma face du programme Labview j'ai mis un graphe en sortie du bloc fonction DAQ ou je souhaite mesurer la fréquence des impulsions du codeur afin d'en déduire la vitesse. Quand je lance l'application et tourne le codeur je n'obtiens rien du tout.....
La led "Active" du NI DAQ ne s'allume pas est-ce un problème? La led de ma voie de comptage ne s'allume pas non plus.
J'ai pensé à un problème de câblage, j'ai donc branché directement en sortie du codeur un voltmètre. En tournant doucement le codeur je vois bien la sortie passer successivement de 0V à 5V.
Je vous joins des photos de mon banc, le bout de programme et le schéma de câblage.
J'espère que quelqu'un pourra m'apporter une aide...
Merci par avance
Christophe
Pièces jointes :
Comptage_codeur_incremental.zip ‏1983 KB

bonjour,
normalement la led active de la carte d'acquisition doit être allumé en fonctionnement. utiliser MAX pour vérifier si votre carte est bien détecté.
ensuite vous pouvez avoir un problème de cablage si les fils sont serré sur la gaine et non sur les brins (coté matériel
NI).
Les assistant DAQ sont pratique pour ceux qui débute, mais pas toujours pratique. essayé de les évité aux maximum. il faut connecté le nom du périphérique en entrée de votre assistant. n'hésité pas à utiliser la sortie d'erreur qui vous permettra de débugger votre soft et de demander du support technique.
Cordialement
L.MICOU

Similar Messages

  • Mesure de vitesse avec un codeur incrémental

    Bonjour,
    Je souhaite mesurer la vitesse de rotation d'un moteur sur lequel il y a un codeur incrémental HEDS 5540 (3 canaux, 500 impulsions par tour) à l'aide de LabView 8.6 et d'un banc NI cDAQ-9172.
    J'ai câblé les fils de mon codeur sur une carte NI9401.
    Avec l'assistant DAQ, j'ai fait Acquérir des signaux -> Entrée numérique -> Entrée de ligne et j'ai sélectionné : cDAQ1Mod1/port0/line0 à 3.
    Sur ma face-avant j'ai 3 leds (voie A, voie B et voie I) qui s'allument ou s'éteignent en fonction de la rotation de l'arbre du moteur.
    Ma question est : comment mesurer (ou calculer) la vitesse de rotation de l'arbre ?
    Codeur HEDS 5540 : datasheet et data sheet 2
    Mezrci d'avance !

    tu as répondu à ce post dans celui-ci
    Temps entre 2 changement​s d'états
    non ??
    Luc Desruelle | Voir mon profil | LabVIEW Code & blog
    Co-auteur livre LabVIEW : Programmation et applications
    CLA : Certified LabVIEW Architect / Certifié Architecte LabVIEW
    CLD : Certified LabVIEW Developer / Certifié Développeur LabVIEW

  • Synchronisation de l'acquisition de signaux analogique par un codeur incrémental

    Bonjour,
    Pour mon stage, je dois réaliser un VI par le biais de LabVIEW. Ce VI sera utilisé dans de le cadre de la caractérisation de moteur électrique.
    J'ai à ma disposition un cDAQ-9174 avec 2 modules qui sont : 9215 pour les signaux analogiques et 9411 pour les signaux numériques.
    On me demande de faire l'acquisition de signaux analogique comme un capteur de couple, une sonde à effet hall, ... en fonction de la position angulaire du moteur. Pour déterminer cette dernière, j'ai un codeur incrémental avec une résolution de 5000 point sachant qu'il possède une voie A, B et un index de position.
    Pour le moment, je suis parvenu à réaliser un projet permettant de mettre la position angulaire et la valeur de la tension du capteur dans un tableau pour chaque position différente. Je rencontre un problème qui est que je n'ai aucun contrôle sur l'échantillonnage. En effet, je n'ai pas un pas angulaire constant. Si l'utilisateur fait tourner le moteur très lentement, on arrive à avoir un échantillon tous les 0.018°, mais s'il tourne à une vitesse d'environ 15s/tour, il se peut que l'on ait des échantillons tous les degrés.
    J'aimerai faire une acquisition de mes signaux analogiques à chaque nouveaux angles avec une résolution angulaire choisit par l'utilisateur.
    J'ai mis une pièce jointe montant mon VI réalisé.
    En vous remerciant par avance
    Cordialement
    Pièces jointes :
    VI.jpg ‏135 KB

    Je n'ai pas beaucoup de temps en ce moment pour entrer dans tous les détails mais le principe consiste à utiliser le codeur pour déclencher les acquisitions de manière matérielle.
    Cela revient à dire qu'un échantillon de chaque signal AI et un échantillon de position est lu à chaque changement d'état de ce signal de déclenchement.
    Dans les exemples s'installant avec LabVIEW, vous trouverez des VIs montrant comment procéder pour une acquisition déclenchée par un signal externe.
    Si la résolution de 5000 impulsions/tour du codeur est suffisante, il vous suffit d'utiliser le signal A (ou B) du codeur en l'adaptant si nécessaire pour les niveaux TTL de la NI-9215. En utilisant un LS7184 configuré en mode X4, cette résolution pourrait être facilement multipliée par 4 en ajoutant de plus un filtrage hardware pour éliminer les éventuels parasites sur les signaux.
    C'est un principe que j'applique fréquemment avec les cartes DAQ multifonctions PCI. Il faudrait toutefois encore vérifier que le déclenchement externe est supporté par les deux modules que vous utilisez; vérification que je n'ai pas le temps de faire.

  • Comptage impulsion ni9215

    Bonjour,
    Je mesure un signal carré issu d'un anémomètre parv l'intermédiaire d'un module cDAQ NI9215, j'aimerai compter le nombre d'impulsions par seconde pour en déduire la fréquence.
    Voir le VI ci-dessous, est ce la bonne solution, car mon compteur ne s'incrémente pas à chaque impulsions ?
    merci d'avance pour votre aide.

    Bonjour,
    Il existe déja un VI Express qui permet de mesurer la fréquence directement " Mesures temporelles et mesures de transition " : http://zone.ni.com/reference/fr-XX/help/371361L-0114/lvexpress/timing_transition_measure/
    En espérant que cela puisse vous aider,
    Cordialement,
    Maxime G. | Application Engineer
    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;}
    LabVIEW Tour
    Journées Techniques dans 10 villes en France, du 4 au 20 novembre 2014

  • Problème acquisition codeur incrémental

    Bonjour,
    Nous sommes actuellement en train de réaliser un projet d'asservissement numérique de position d'un moteur MCC.
    Nous avons deux soucis majeurs sur notre programme:
    - Afin de mettre le moteur en marche, il nous faut appuyer sur 'Enable drive' et activer 'Ordre moteur' jusqu'ici tout va bien mais en plus de cela nous sommes obligé d'appuyer sur le bouton 'Stop' et cela n'est pas normal.
    - Nous avons 3 voyants nous donnant la position (codeur phase A, B et Z). A vitesse élevée du moteur, le programme temps réel n'arrive pas à suivre et donc les voyants ne s'allument pas au bon moment. Le problème c'est que même à vitesse très réduite (en tournant le moteur manuellement) nous avons exactement le même souci.
    Comment pouvons nous remédier à ces problèmes ?
    Nous avons essayer au préalable de regarder les exemples disponibles sur Labview mais pas de réponses à nos questions.
    Matériel utilisé:
    - Labview 2011
    - Module cRIO NI 9075
    - DC Brushed Servo Drive NI 9505
    - Codeur incrémental HEDS-5540 A13
    Ci-joint vous trouverez le projet réalisé.
    Cordialement,
    Pièces jointes :
    essai2.lvproj ‏61 KB

    Bonjour fredou29,
    Merci d'avoir posté sur le forum de NI.
    En tout premier lieu, le .lvproj "n'est qu'un" fichier xml qui décrit votre projet LabVIEW que vous êtes en train de créer. Du coup il n'y a pas de source. N'hésitez pas à faire un zip de tout votre projet afin que la communauté puisse vous venir en aide .
    Bonne journée
    Flo
    Open Diagram First

  • Incrémenter un numéro dans un champs de formulaire Adobe

    Bonjour,
    J'utilise un formulaire qui a été construit sous adobe acrobat.
    Ce formulaire comporte un champs avec un numéro chronologique . J'aimerai qu'à chaque ouverture de ce ficher, ce numéro chronologique s'incrémente.
    Comment faire ?
    Merci à vous.
    Enola

    Tout est là : Contacter l’assistance clientèle
    Y compris :
    Appelez le :
    France: 01 71 23 01 96
    Belgique: 027119960
    Suisse: 044 800 9581
    Du lundi au vendredi, 9am - 5pm CET

  • Incrémenter une valeur avec Rechercher/Remplacer sous Indesign

    Bonjour, je voudrais savoir comment je pourrais utiliser la fonction Rechercher/Remplacer d'Indesign pour remplacer et incrémenter des valeurs.
    Je m'explique. En fait, je viens de finir un catalogue pour un client, et pour l'instant, tout les produits portent la référence "WAV/RE43", et j'aimerais les remplacer par "FRA056", puis "FRA057", "FRA058,... et ainsi de suite, dans l'ordre de lecture.
    Les deux paramètres sont donc l'incrémentation, et de ne pas partir de 0, mais d'un nombre arbitraire.
    J'ai pensé à utiliser un script vu que j'ai des connaissances de base en javascript, et donc utiliser une boucle pour incrémenter le tout, mais j'avoue ne pas savoir comment combiner cela avec Rechercher/Remplacer.Voilà, j'espère avoir été aussi clair que possible.
    Merci d'avance.

    jmlevy wrote:
    L'ordre dans lequel se place les nombres ne respecte néanmoins pas vraiment le sens de lecture.
    D'après les différents tests que j'ai put faire, l'ordre des incrémentations se fait tel que la recherche opère, et elle opère du premier élément créé, au dernier […]
    Absolument, c'est l'ordre chronologique qui est pris en compte pour la numérotation, pas la position sur la page. Mais dans les tests que j'ai faits, l'ordre de lecture corresoond à l'ordre chronologique.
    L'ordre chronologique ne fonctionne plus si je rajoute un bloc e haut de la page, après avoir créé tout les autres, et d'autant plus vu que mon client me fait échanger des places de produit. Sachant que chaque produit est représenté par un bloc de texte, et non une ligne.
    […] indépendament de l'ordre des sous obets du calque au quel ils appariennent.
    Je sais qu'il est possible d'intervenir directement sur le "code" de la forme visible que l'on peut voir dans le mode naturel.
    Je ne suis pas certain de comprendre…
    Excuse moi, je n'ai pas été très claire. Je voulais pas parler du mode d'editeur.
    Mais je ne parviens pas à accéder à un mode editeur qui me permette de voir l'arborescence total des mes blocs, et donc de pouvoir intervenir sur son ordre.
    Ce n'est surement pas destiné à ce type d'utilisation j'imagine.
    Car je sais que mon client va me demander de rajouter des produits au milieu des autres, ou d'en déplacer certain, et vu qu'il l'a déjà fait auparavent, mes blocs ne sont de toute façon pas disposé par rapport à leur création chronologique.
    Je viens de tester : j'ai ajouté une ligne entre deux existantes et tout est renuméroté en conséquence.
    Comme je le disais plus haut, 1 produit=1 bloc de texte, et non une ligne.

  • Détecter une incrémenta​tion ou une décrémenta​tion d'une variable

    Bonjour à tous,
    j'aimerais tout simplement créer un bout de code permettant de detecter si une de mes variables s'incrémente ou décrémente.
    Cordialement

    salut, et la structure évènementielle? structure event? sur le changement de valeur ?
    http://zone.ni.com/reference/fr-XX/help/371361H-01​14/lvhowto/cfgevents/
    A+
    Luc Desruelle | Voir mon profil | LabVIEW Code & blog
    Co-auteur livre LabVIEW : Programmation et applications
    CLA : Certified LabVIEW Architect / Certifié Architecte LabVIEW
    CLD : Certified LabVIEW Developer / Certifié Développeur LabVIEW

  • Incrémenter à chaque run

    Bonjour.
    Est-il possible d'incrémenter une variable à chaque éxécution ? C'est à dire que Labview garderait en mémoire la valeur n et qu'à l'éxécution suivante, il me ressorte la valeur n+1
    Nicolas

    Oui.
    Tu peux utiliser un "Action Engine" ou mieux reconnus sous le terme de "Functional Global Variable".
    Le concepte est simple.  Tu as une boucle avec un "shift register" qui est non-initiale'.  Chaque fois que l'application l'appelle, il se souvient de la derniere valeur.  Tu pourrais donc avoir au sein de ton logiciel (si tu utilises un "State Machine"), un etat qui s'occuppe de contenir la derniere valeur.  Et tu peux l'incrementer chaque fois que tu appelles cet etat. 
    La solution la plus simple est d'incorporer un "Action Engine" a ton code.  Tu peux faire une rechercher sur ce terme.  Il y a quelques exemples de disponibles.
    Cependant, des que tu fermes ton application (exe) ou tu fermes LabVIEW, la valeur en memoire est perdu..  Si tu veux maintenir cette valeur meme si LabVIEW est fermer (ou ton ordi est fermer), je suggere que tu sauvegarde la derniere valeur dans un fichier.

  • Comptage front codeur ni6211

    Bonjour
    je cherche à faire l'acquisition et le comptage des fronts montant délivré par un codeur de volant de jeu vidéo ( obtenir l'angle et le sens de rotation)
    Avec la carte oscillo et aussi une carte ni6211, j'arrive à acquérir le signal mais je n'arrive pas à effectuer le comptage: j'ai un décompte mais très farfelu.
    Existe-t-il des applications qui permettent de réaliser ceci ou un programme..
    Voilà un des programmes que j'ai réalisé en simulation qui fonctionne dans une certaine mesure mais qui ne débouche sur rien quand je veux acquérir un vrai signal.
    ChF
    Pièces jointes :
    Simulation Codeur volant.vi ‏96 KB

    Bonjour,
    la carte USB 6211 intègre deux compteurs que vous pouvez configurer pour faire du comptage. Je vous adresse en pièce jointe un exemple.
    N'hésitez pas à consulter ce document sur la mesure d'encodeur :
    http://www.ni.com/white-paper/7109/fr/
    Il explique comment utiliser les compteurs pour faire de la mesure d'encodeur.
    Cordialement
    Guillaume D
    Pièces jointes :
    exemple compteur .vi ‏53 KB

  • Incrémenter avec un bouton poussoir

    bonjour,
    j'utilise LV 8.5 et je voudrais incréménté la valeur d'un indicateur numérique de 1 à chauqe fois que j'appui sur un bouton poussoir de type commutation à lappui.
    pouvez vous m'aider svp
    cordialement
    manu

    http://forums.ni.com/t5/Discussions-de-produit-de-NI/compter-le-nombre-de-pression-sur-un-poussoir/t...
    Rodéric L
    Certified LabVIEW Architect

  • Create unique filename by auto-incre​ment path

    I needed a program that would take in a pathname, see if the file name already existed at that location, and if so it needed to auto-increment the file name. I wanted it to work the way windows inherently does when you copy a file of the same name into a location because that seems the most natural to me. I was running into problems with the ftp functions in the internet toolkit becaues if the local file already exists at the path you input, it just doesn't perform the get files function.
    I discovered after searching the forums that a lot of people run into this all the time and usually the way they get a unique file name is by adding the date and time to the end of the file. This is both effective and informative, but results in unnecessarily long and ugly file names. 
    So I made a subVI and I wanted to share it with you guys. Hope someone finds it useful. Let me know what you think.
    [will work for kudos]
    Attachments:
    Unique File Name.vi ‏34 KB

    I took your suggestions
    - appended (T) to the check existence input description to indicate its default position
    - Created a "New Path?" output that idicates whether a new path was created (T) or if the inputted path was simply passed through (F)
    And for all the users who dont have 2009... Here are some older versions for you
    enjoy
    [will work for kudos]
    Attachments:
    Unique File Name.vi ‏35 KB
    Unique File Name_8-5.vi ‏44 KB
    Unique File Name8-6.vi ‏35 KB

  • Fichier TDMS valeur incrément

    Bonjour à tous,
    Quelqu'un sait-il si on peut modifier la valeur de WF_INCREMENT qui ***** trouve dans le premier onglet d'un fichier TDMS.
    Dans mon application il est toujours à 1 alors que je le voudrais à 0,01, j'echantiollone à 100 hz
    Par avance merci et bonne journée

    Bonjour leader09,
    La fonction DAQmxConfigureLogging est assez rigide et il est impossible de rajouter des channels "faits maison" : elle loggue chacune des voies d'acquisition. Si l'information du temps est importante, il faut récupérer les données DAQmx sous forme de Waveform (qui inclut la donnée temporelle). L'autre façon de procéder est de faire l'acquisition dans un thread, et l'enregistrement TDMS à partir des fonctions native dans un autre. Cela demande cepandant plus de notions sur le multitasking.
    Pour permettre à l'utilisateur de définir le chemin du fichier TDMS, je recommande d'aller faire un tour sur coté de la fonction FileSelectPopup !
    Cdt,
    Eric M. - Application Engineering Specialist
    Certified LabVIEW Architect
    Certified LabWindows™/CVI Developer

  • Remplissage excel incrémenté

    Bonjour,
    Je cherche à exporter des données sous excel sous plusieurs utilisations.
    Par exemple une personne A réalise au jour J une performance de 21. Le lendemain ( J+1), une personne B réalise une performance de 30.
    J'aimerais que ces données soient sous un même fichier excel, malgré le fait que l'enregistrement n'ait pas été fait le même jour.
    Cela donnerait sous excel un tableau avec une colonne personne, une colonne date et une colonne performance, avec en dessous les valeurs des personnes associées.
    Merci d'avance,
    Cordialement
    Ggermm
    Solved!
    Go to Solution.

    Si vous utilisez le "Write to Spreadsheet String", il y a un choix d'ajouter ou écrire un nouveau fichier. J'ai mis des boutons pour chaque cas.
    Attachments:
    Exemple.vi ‏14 KB
    Exemple 8.0.vi ‏15 KB

  • NI 9403 pwm / mli fpga mode

    Bonjour à tous,
    J'ai déjà une expérience de labview et je désire générer une pwm à une fréquence de 1KHz avec un NI 9024 + NI 9403, et ceux avec 100 valeurs différentes de rapport cyclique.
    Pour cela je réalise dans mon fpga, de façon cyclique, 100 itérations d'une boucle de 1 us ou je met à jour l'état logique de la sortie en fonction du rapport cyclique donné en consigne. Pour cela, je compare la consigne à un registre de comptage qui s'incrémente à chaque itération de la boucle et qui se remet à 0 au bout de la 100 em, si la consigne est supérieure au registre de comptage, je met la sortie à 1 sinon je la met à 0.
    Je ne sais pas si c'est la méthode usuelle sous labview, mais je me suis inspiré de celle que l'on m'a enseignée sur d'autres systèmes de contrôles. J'ai d’ailleurs utilisé le même code sur une carte sbRIO 9632, et cela marchait très bien.
    Je fais donc le test sur mon cRIO et obtient alors une fréquence de 760.455 Hz (et la fréquence ne change pas). Auriez vous, s'il vous plaît, une idée de ceux à quoi cela pourrait être du ??
    Solved!
    Go to Solution.

    problème résolu (si ça peut aider quelqu'un, un jour):
    La vitesse max de rafraichissement des DIO est trop faible (une grosse dizaine de us). Ce qui est trop lent pour générer corectement des pwm pour des fréquence supérieur à 1 kHz. Merci quand même, bonne journée à tous.

Maybe you are looking for

  • Due days

    We have created the formula variable ZGIN_DAT and customer exit in CMOD for capturing the GRN date from /BIC/AZSD_O2100 table. The following are the codes. when 'ZGIN_DAT'. break-point. CLEAR : wa_loc_var_range, wa_var_range. data zgrndat type /BIC/O

  • N85(HK)-Music Library Problem

    I bought an N85 in hong kong last year. after i went back to China, i changed its language to Simplified Chinese, then the music library didn't work. I transfered new songs( i tried both .mp3 & .aac) to the phone, then i click "refresh the library",

  • FCP X is running very slowly

    I'm using a brand new Macbook Pro with 8 gigs of ram, but when I type in titles, each letter pops on the screen in slow motion. I'm using one of the built in title backgrounds, but no other video. The Activity Monitor says FCP X is using 3 Gigs of me

  • Trace a workflow

    hi, there is a workflow 'WXXXX' , how do i identify where all this workflow gets triggered. cheers, Aditya.

  • Numbers not synching with iCloud

    Dear Apple Numbers on my iOS devices and my iMac do not synch with iCloud.  I have been struggling with this issue for 2 months.  When oh when will Apple fix this. My decides: iMax iMac (21.5-inch, Mid 2010) running OS X Yosemite 10.10.1(14B25) iPad