Mesure de valeur stabilisée d'un signal carré
Bonjour,
je cherche actuellement à effectuer une mesure sur un signal "carré". En effet il s'agit de la mesure d'un capteur monté dans un pont de Wheatstone. On peut voir un petit effet capacitif lorsqu'on alimente le pont. La tension que j'obtients dans le pont est en pièce jointe.
Je connais mes valeurs de Ton et Toff mais je cherche à récupérer la valeur de la tension lorsque le signal est stabilisé et j'avoue ne pas savoir comment m'y prendre. Pouvez vous m'aider?
Merci d'avance,
Renaud
Pièces jointes :
Capture.PNG 12 KB
7,
Si j'ai bien compris votre problème, vous souhaitez lancer l'enregistrement de vos données lorsque votre signal est stabilisé (lorsque Ton a un niveau de tension fixe).
Je peux vous proposer deux solutions:
-Si vous connaissez le temps de stabilisation, lancer l'acquisition et l'enregistrement après ce délais.
-Etablir un niveau seuil (par exemple 10,5V si Ton=10V) puis établir une condition pour l'enregistrement si Ton est inférieur au seuil pendant plus d'une période.
Je vous souhaite une bonne journée,
Cordialement,
Sabri JATLAOUI
Sabri JATLAOUI - Certified LabVIEW Developer
Similar Messages
-
Pour mon application, je suis obligé de mesurer le temps d'évolution d'un signal acquis (de t1 à t2) par une entrée analogique d' un module NI 9203, et comparer cette valeur avec une valeur connu afin de juger si ce temps d'évolution est correct ou non.
J'espere que vous me donner un exemple qui figure la situation citée ci-dessus.Hello.
To get an answer on this part of forum you should post in English. Another possibility is to post on the french forum here.
Could you explain us more which problems you have? Could you attach your code and explain to us where are you bloked? It should be helpfull.
Thanks in advance.
Best Regards.
Message Edité par R_Duval le 04-23-2008 12:14 PM
Romain D.
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;}
NIDays 2010 : Conférence mondiale de l'instrumentation virtuelle
>>Détails et Inscription<< -
Bonjour,
Je tiens d’abord à préciser que je suis un novice en ce qui concerne Labview.
Je développe une expérience pour la mesure des moments d’inertie. Pour cela, j’ai besoin de mesurer l’accélération angulaire d’une roue. J’ai acheté une « photogate head » qui délivre un signal carré de 5V lorsque la roue tourne ( style encodeur). La période de chaque cycle de ce signal me permettra de calculer la vitesse de rotation de la roue à un instant donné. Le nombre de cycle est limité (i.e. le signa n’est pas continu). A partir du graph v=f(t), les étudiants pourront calculer l’accélération angulaire.
J’ai acheté une carte d’acquisition NI-6008. Avec Labview, j’arrive à acquérir un signal carré analogique provenant d’un générateur ( avec le VI « lire » DAQmx) et à l’écrire dans un fichier.
Avec le VI « mesure d’impulsion », j’arrive à mesurer la période et la durée d’impulsion, mais uniquement pour le premier cycle. Ce que je veux c’est mesurer la période pour des cycles allant de n= 1 à N et écrire un fichier (temps, période ou vitesse) afin de calculer l’accélération. J’ai essaye d’utiliser une boucle « For » sur l’entrée « numéro d’impulsion » du VI (mesure impulsion) mais sans succès.
Que dois-je faire ?
Est-ce que j’utilise une méthode correcte ou existe-t-il une solution plus simple ?
Merci pour votre aideBonjour Lou60,
Grâce à Rodéric, il n'y a plus d'erreur au niveau de votre VI. Toutefois, comme il l'avait signalé auparavant, vous avez un problème de structure. En effet, pour réaliser la mesure N fois, vous devez inclure dans votre boucle for la fonction daqmx read, ceci afin d'acquérir de nouvelles données Je vous envoie un exemple qui doit convenir à votre application.
Cordialement
Nb: vous pouvez directement glisser l'image que je vous envoie dans le diagramme de LabVIEW
Mathieu B
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;}
Forum Aéronautique, Spatial et Défense. Avec la participation exceptionnelle de Bernard DUPRIEU, Res...
Pièces jointes :
mesure signal carre.png 49 KB -
Comment générer un signal carré de rapport cyclique très faible?
Bonjour,
je voudrais générer un signal carré dont la période est d'environ 5 secondes. Mais le rapport cyclique que je désire est de l'ordre de 0,7E-6 !!! Le problème est que si petites valeurs de rapport cyclique ne peuvent être réalisées avec les fonctions "Easy I/O for Data Acquisition" de CVI. Comment faire ?Bonjour,
Au vu de ce que vous me dites, votre carte d'acquisition semble être une carte de la série E, ou du moins vous utilisez un compteur 24 bits.
Or pour faire une période de 5s avec un rapport cyclique de 0,7E-6, vous devez utiliser une base de temps de 20MHz (disponible sur votre compteur 100KHz ou 20MHz). 5 secondes avec une base de temps de 20MHz correspondent à 100000000 counts, or votre compteur 24 bits, ne peut compter que jusqu'à 2E24, soit 16777216.
Donc vous avez deux solutions, soit acheter une carte avec un compteur 32 bits (type PCI-6602, ou série M), méthode la plus simple, ou utiliser deux compteurs de votre carte. Dans ce dernier cas de figure, il vous faut générer un train d'impulsions de période 5s et rapport cyclique 0,5, et de se servir du front montant pour déclencher une impulsion simple "re-triggerable" sur le deuxième compteur. Voir la fonction "DelayedPulseGenConfig".
Gianni Martinico
NI France.
Cordialement,
Gianni Martinico
NI France -
Je veux compter les impulsions et connaître le signe du déphasage de mes deux signaux carrés
Je veux compter les impulsions
de deux signaux analogiques plus ou moins carrés dont la fréquence des
deux signaux varie de façon identique. Je dois également tenir compte du
signe du déphasage afin de savoir si il faut additionner ou soustraire les
impulsions (je l'appelle sens dans monVI).
Lorsque je fais varier la fréquence de mes signaux le sens change alors qu'il ne devrait pas puisque le déphasage est le même.
Enfin comme les signaux que je dois récupérer ne sont pas
parfaitement carrés je simule deux signaux sinusoïdaux que je dois
redresser (cette partie me semble correcte)
Je joins deux VI identiquent mais peut-être que l'un et plus facile à lire que l'autre
Auriez-vous une idée concenant ce changement de sens qui perturbe mon comptage lorsque je fais varier la fréquence ?
Merci de votre aide
Pièces jointes :
VI comptage-sens-double seuil-simulation en séquence.vi 155 KB
VI comptage-sens-double seuil-simulation.vi 149 KBBonjour,
Merci d'avoir posté votre question sur les forums de National Instruments.
Afin de pouvoir vous aider au mieux, j'aurais quelques questions à vous poser, afin de mieux comprendre votre programme.
Pourquoi ne pas utiliser directement des signaux carrés plutôt qu'un signal sinusoïdal ? Cela vous rapprocherait de vos conditions d'utilisation réelles.
Etes vous sûr que votre signal est bien tel qu'il vous intéresse ? Pour ma part, quand j'utilise votre VI, je vois un signal sinusoidal décalé d'un certain offset, mais pas redressé.
J'ai également pu observer que le signe de votre sens changeait effectivement quand on changeait de fréquence, mais il change également parfois pour une même et unique fréquence.
Je m'interroge également sur l'utilisation que vous faites de votre signal. Dans votre première étape (0) de votre séquence, vous obtenez la valeur de votre signal dans un indicateur scalaire grâce à un VI de conversion des données dynamiques vers des données numériques double. Du fait de votre architecture (séquentielle ou utilisation de variables locales), votre indicateur scalaire, lorsque vous l'utilisez dans la seconde étape, ne contiendra que la dernière valeur de votre signal et non la totalité comme l'aurait fait un tableau.
Vous n'effectuez donc votre comparaison que sur la base d'un seul point. Est ce vraiment le comportement que vous attendez ?
En ce qui concerne la globalité de votre code, vous pourriez sans doute améliorer son fonctionnement en initialisant vos registres à décalage (ce qui évitera des problèmes de données inatendues).
J'attends vos réponses afin de pouvoir vous aider sur ce sujet.
Bien cordialement,
Guillaume H.
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;}
>> NIDays 2011, le mardi 8 février au CNIT de Paris La Défense -
Génération signal carré [débutant]
Bonjour
Je souhaiterais générer un signal carré sur Labview 2011, lequel serait : - modifiable en jouant sur la fréquence et l'amplitude.
- visualisable sur l'oscilloscope.
Je dispose d'un module cRIO FPGA 9075 sur lequel sont connectés un module d'entrées analogiques NI 9215 et
un module de sorties analogiques NI 9263 sur lequel est branché l'oscilloscope.
Comment importer notre signal carré obtenu sous Labview vers notre module FPGA ?Bonjour
J'arrive a transférer le programme labview vers mon cRIO.
Cependant, il faut maintenant que je modifie celui-ci en y ajoutant une sortie analogique pour que mon oscilloscope me renvoie le signal a partir de mon module de sorties analogiques ni 9263.
Que doit-on rajouter au programme pour y parvenir ?
Merci de votre aide.
Pièces jointes :
Untitled.lvproj 45 KB -
Mesure de la fréquence d'un signal issu d'un anémometre avec crio9074
Bonjour,
j'ai à la sortie d'un anémomètre, une tension AC dont la fréquence est relié à la vitesse du vent. malheureusement je narrive pas à obtenir la fréquence de mon signal.J'utilise le compactRIO 9074 avec le module NI9205. j'observe bien mon signal mais je n'arrive pas à extraire sa fréquence.Avez vous une idée de VI? C'est urgent.
Merci.Bonjour Levla,
Pour récupérer la fréquence de votre signal, peut etre pourriez vous utiliser une FFT.
Je vous joins un exemple avec des VIs express.
Cordialement,
Eloise
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
Pièces jointes :
Express VI - Spectral Measurements.vi 61 KB -
Générer un signal carré dont la fréquence peut etre modifier en temps réel
Pour le moment je n'ai réussi qu'à trouver un VI dont la fréquence reste constante durant toute la durée du process
Il est possible de réaliser cela avec une sortie compteur.
Pour un compteur du type DAQ-STC : "..\examples\DAQ\counter\daq-stc.llb\Frequency Shift Keying (DAQ-STC).vi.
Pour un compteur du type NI-TIO : "..\examples\DAQ\counter\ni-tio.llb\Frequency Shift Keying (NI-TIO).vi.
Le principe est d'avoir deux définitions qui sont sélectionnés par l'entrée GATE du compteur utilisé. Pendant qu'un jeu est utilisé, l'autre peut être modifié.
Cela peut être réalisé également par une sortie analogique. Il existe également un exemple qui vous servira de base. Il s'agit du générateur de fonctions livré avec l'installation de LV. Vous pouvez le lancer par le menu DAQ Solutions --> ... --> Galeries de solutions --> Instrument de banc --> Générateur de fonctions
J'utilise LV6.1 mais je pense que le chemin est identique pour LV6. -
Comment mesurer un fréqunce avec une carte pxi-6602?
Bonjour,
Je cherche grâce à une carte PXI 6602 à mesurer la fréquence d'une signal périodique.
Cette carte possèdent 8 compteur/timer, et je suis déja parvenu à genérer des trains d'impulsion sur ces compteurs.
Néanmoins je ne parviens pas à mesurer des fréquences...
Pour cela j'ai tenté de mesurer la fréquence d'un simple signal carré de 50Hz (amplitude 10V) généré par un GBF. J'injecte ce signal sur le PFI38/GATE0 du compteur 0, mais j'obtiens apres génération de mon code une fréquence nulle. J'ai réalisé ce code sur labVIEW 8.6 avec la fonction "Measure Pulse Width or Period.vi" (code en pièce jointe)
Merci d'avance pour votre aide
Pièces jointes :
mesure_freq.jpg 515 KBDesole, je ne parle pas francais bien. Vous devriez avoir des exemples pour l'usage du dispositif de l'E-serie DAQ en Visual Basic dans le repertoire \Program Files\National Instruments\NI-DAQ\Examples.
Chris Matthews
National Instruments -
Mesurer le bruit de fond, l'écart type et la stabilité d'un courant en fonction du temps
Bonjour
Je travaille sur un petit projet sur l'acquisition d'un signal à l'aide de keithley 2700. J'ai besoin de mesurer le bruit de fond, l'écart type et la stabilité du signal en utilisant LabVIEW.
J'ai trouvé un exemple pour mesurer la valeur du signal mais je n’ai pas pu trouver comment intégrer dans le programme les fonctions de l'écart type et la stabilité du bruit de fond du signal.
Bonne soirée.
Attachments:
Keithley 2700 Single Measurement.vi 25 KBBonjour,
Tu as posté sur le forum international, donc si tu psoes ta question en francais, tu as peu de chance d'avoir un réponse.
Le forum francophone ce trouve ici : http://forums.ni.com/t5/Discussions-au-sujet-de-NI/bd-p/4171
Tu peux t'aider des exemples LabVIEW Aide>>Recherche d'exemples.
La fonction Variance et écart-type (VI) pourrait répondre à tes attentes.
Bonne journée
Valentin
Certified TestStand Architect
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;}
Travaux Pratiques d'initiation à LabVIEW et à la mesure
Du 2 au 23 octobre, partout en France -
Linksys EA3500 Signal Problems: How to Adjust for Maximum Stability
I have ATT DSL service; 6Mbps down, .5 Mbps up. That is the maximum offered where I live. I have no phone service on the line and use VOIP. I have discovered that the QOS degrades to awful at random times. Awful means .79 down, .24 up, with ping of 430 ms, Jitter at 100, and Packet Loss unmeasurable. Unfortunately, and I say this because ATT won't do anything about it, if I perform cold start on my network, after an initial somewhat unstable period of a couple of minutes, the network stabilizes at a good QOS. The VOIP goes from unintelligible to working fine.
I've set my EA3500 QOS settings so that the VOIP unit (OOMA) has top priority. Other streaming units (Blue Ray/Amazon Prime and Dish) come next, then internet. The streaming units are not a factor in this because they are not on when the VOIP problems occur. (Although, when the units are on, we can see the signal dipping below 1 Mbps at times and the video freezes while the stream catches up.)
What functionality can I manipulate on the EA3500 to maximize stability and monitor the signal in so that I can present ATT with an indisputable trace of poor signal data.I do not think there’s something we can do on the router since obviously the issue is with the modem through your internet provider. I suggest, you run a speed test from the modem at least 5 times; observe and record the speed you’re getting in every test. Inform then your ISP about it. They could also perhaps troubleshoot the modem to make sure it is working properly. Everything should be good from their end considering the VOIP service is supported by it and not by the router.
-
Lire et écrire valeurs supérieures à un seuil
Bonjour,
Le but de mon petit programme (dans l'objectif d'intégrer celui-ci à un plus gros), est de générer une sinusoïde, d'en mesurer la valeur efficace, et lorsque cette valeur efficace dépasse un certain seuil (fixé par l'utilisateur), alors ces valeurs doivent être écrites dans un tableau sur la face avant avec :
1ère colonne la date et heure ;
2ème colonne la valeur mesurée instantanée.
Est-il possible aussi de faire la moyenne sur 1minute de la valeur efficace, et si cette moyenne dépasse, alors on affiche la moyenne au lieu d'afficher plein de valeurs instantannées ?
Je voudrais aussi enregistrer tout cela dans un fichier texte à pars.
Tout va bien pour générer et lire la valeur efficace instantanée de mon signal. J'arrive aussi par une LED a indiqué quand la valeur à dépassé le seuil que j'ai fixé. La ou ça ne marche plus, c'est lorsque je veux écrire ces valeurs dans un fichier texte... En même temps c'est normal, la sortie de mon comparateur c'est du booléen, donc dans mon fichier texte, il n'écrit que 0 ou 1, et non pas les valeurs ...
Y-a-t'il une parade pour écrire les vraies valeurs au lieu de 0 ou 1 ??
Pour ce qui est d'afficher en direct les valeurs dans un tableau, je ne sais pas du tout comment m'y prendre...
Je vous dis merci d'avance en espérant que vous pourrez m'aider à avancer !
Je vous met mon VI (très basique) en pièce jointe.
Pièces jointes :
Ecrire valeurs supérieures à.vi 144 KBBonjour Pat'Rick
J'ai jeté un oeil sur votre VI, il y a en effet quelques modifications à faire, je vais donc le modifier pour qu'il réponde à ce que vous demandez. Pour développer ce genre de programme, je vous conseille cette documentation :
Getting Started with LabVIEW
Getting Started with NI LabVIEW Student Training
Ici vous trouverez une mine d'information qui pourrons vous aider dans votre développement.
Vous pouvez aussi aller voir sur la DevZone pour trouver exemple, Tuto, Astuces de programmation etc.
Par ailleurs sur quelle version de LabVIEW travaillez vous ?
Je vous souhaite une bonne journée
Bien cordialement
Victor F. | Application Engineer
Certified LabVIEW Developer | Certified TestStand Architect
National Instruments France -
Bonjour a tous,
Voila, je voudrais remettre a niveau un ancien Banc de test de ma société qui n'a pas été développé en Labview a la base...
Ce Banc de test effectue donc une mesure d'overshoot et de droop sur un signal carré de 250KHz. J'ai testé une pièce avec cette ancien Banc de test pour me créer une pièce "étalon" pour mon nouveau Banc en Labview.
Le problème que je rencontre est que je n'arrive pas a obtenir les memes résultat que l'ancien Banc de test pour les mesures d'overshoot et de droop...
J'aimerais savoir comment vous effectueriez une mesure de droop et d'overshoot sur le signal que j'ai mis en piece jointe (carré de 250KHz et 10Vpp). Car moi j'ai essayé pas mal de chose et je n'arrive pas au résultat voulu... Mon ancien Banc de test à mesuré une valeur de 77.5mV d'overshoot et 0.256% de Droop sur la pièce testé. Je n'arrive pas dutout a retrouver ces résultats avec labview...
Si quelqu'un s'y connait en mesure sur les signaux, je suis prenneur parceque la je ne sais plus trop comment faire...
Merci d'avance.
Résolu !
Accéder à la solution.
Pièces jointes :
mesure droop + overshoot.vi 54 KB
mesure droop + overshoot.vi 46 KBsalut l'overshoot est en %, donc overshoot% * amplitude / 100, tu as oublié la division par 100
donc 0.0686448 V soit 68.6 V VS 77.5 mv.
il y a une différence de 10% par rapport à ton premier banc, à comprendre.
PS pour info il y a une documentation livrée avec le vi de NI : ctrl + h >> detail
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 -
Bonjour,
J'ai un programme qui mesure 3 tensions analogiques grace à une carte NI 9215.
J'ai voulu ajouté une voie de mesure de Hz, mais n'y suis pas arrivé.
1/ Dois-je utiliser obligatoirement la tâche daqmx de lecture des tensions pour mesurer ma HZ, ou puis-je créer une nouvelle tâche?
Je précise que ces 2 lectures sont dans des sous vi séparés et qu la lecture des tensions se fait dans une while qui tourne sans arret.
J'ai donc pensé que ma lecture de Hz avait échouée à cause de l'occupation de la carte par la tâche "lecture" des tensions
2/ D'autre part, je me demande si ma carte est tout simplement capable de mesurer une Hz.
3/ Est-il possible d'utiliser qu'une seule lecture (création d'une tache -> démarage -> lecture -> arret -> suppression de la tache) pour me surer deux choses différentes (une Hz et une tension)?
4/ Par ailleurs, je souhaite savoir si il y a une différence (au point de vu du temps d'execution) dans le cas où je réunirait tout les lectures ensemble ou si j'en ai 3 d'un coté, et 1 de l'autre.
Merci
Labview 8.2 version étudiante
Sound & Vibration ToolkitBonjour,
Oui je ne vois que cette solution. Mais étrangement, j'ai essayé dans un premier de créer un nouveau programme dans lequel je ne faisait qu'une lecture du signal dont la Hz m'intéresse. Le signal avait la forme d'un créneau de rapport cyclique régulier. Donc tout allait bien.
Les paramètres étaient: cadencement à 1000Hz en échantillonnage continu et une lecture en waveform
J'ai ensuite tout simplement couplé cette nouvelle mesure aux 3 autres déjà existant (ce qui revient à la méthode que vous avez proposé). Celle-ci est exactement du même type (cadencement à 1000Hz en échantillonnage continu et une lecture en waveform) mais je n'ai pourtant pas retrouvé un signal carré propre. En effet le rapport cyclique affiché est maintenant variable. Est-ce simplement un problème d'affichage? La lecture a ralentie à cause du grand nombre de voie lues en même temps et par conséquent l'échantillonnage n'est plus vraiment continue, ce qui cause cette variation de rapport cyclique?
Pouvez-vous d'autre part m'indiquer un moyen de mesure la Hz d'un signal carré. J'ai essayé le vi express qui caractérise les paramètres temporels d'une waveforme, mais les valeurs affichées étaient faussent (Inf.)
Cordialement,
Teka
Labview 8.2 version étudiante
Sound & Vibration Toolkit -
Pourquoi la dernière valeur de mon buffer n'est-t-elle pas générée ?
J'utilise Labview 7.0 avec les nouvelles fonctions DAQmx. Je génère un signal carré formé d'une suite de valeurs entre 2 et 0 mais la dernière valeur (0) n'est jamais pris en compte et mon signal reste à 2. Pour mieux comprendre mon problème je joint une routine Labview 7.0 ainsi que le résultat du signal enregistré sur un oscilloscope numérique.
Merci de m'aider.
Marc Ducommun
University of applied sciences
Switzerland
Attachments:
ExToNI2.vi 69 KB
MissedLastData.jpg 56 KBTu ne parlez pas anglais ?
Maybe you are looking for
-
I have 10.9.1 OS and a HP deskjet 5440 scanner. I can scan anything to the computer, but cannot save it or send it anywhere. I tried to save to my desktop as PDF and wouldn't and I also tried to send as attachment to email and it wouldn't. Any sugges
-
802.1X Port Based Authentication - IP Phone- MDA - Port Security Violation
I have configured 802.1X authentication on selected ports of a Cisco Catalyst 2960S with Micorsoft NPS Radius authentication on a test LAN. I have tested the authentication with a windows XP laptop, a windows 7 laptop with 802.1X, eap-tls authenticat
-
Hi; at http://www.pccashdrawer.com/index07.html I have an image in the upper left hand cell and a continuation of that image as a background image in the cell to its right. In firefox, they don't line up unless you reduce the browser text size to its
-
Command Line Mail and Contacts
I love alpine, but as it can't load my contacts like gmail's web interface I feel like it can never be a daily driver. Is there a way to get contacts from alpine or another command line mail service? Does anyone use command line mail services?
-
Allow only authenticated users to enter the internet
Hi guys. I have an ASA 5510 with IOS 8.4. I want that only authenticated active directory users can pass the firewall. I don't have a clue how to solve that. Can somebody give me a hint? WBR Robert Fenz