IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

LabVIEW Discussion :

compter les fronts montant sur un sinial sinusoidal


Sujet :

LabVIEW

  1. #1
    Futur Membre du Club
    Inscrit en
    Février 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 8
    Points : 5
    Points
    5
    Par défaut compter les fronts montant sur un sinial sinusoidal
    Bonjour,

    Je suis débutant avec Labview aussi, j'essaie de créer un programme qui me permette de compter les fronts montants d'un signal sinusoidal. Je voudrai que mon programme fonctionne jusqu'à 50Hz environ.

    J'ai utiliser l'algorythme (plutôt simple) suivant:
    - je génère une sinusoide
    - j'utilise la fonction trigger pour détecter le passage à 0 sur un front montant
    - j'incrémente mon compteur sur signal de la fonction trigger

    J'ai joint mon programme qui présente le problème suivant:
    - lorsque j'augmente la fréquence de ma sinusoide à une valeur supérieure à 10Hz, mon compteur agit comme si la sinusoide était toujours à 10Hz. Pour des fréquences inférieures à 10Hz, il n'y a pas de problème, le compteur se comporte bien.

    Merci pour votre aide,
    Thibault
    Fichiers attachés Fichiers attachés

  2. #2
    Membre actif Avatar de eaglewatch
    Homme Profil pro
    Chercheur
    Inscrit en
    Avril 2009
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Chercheur

    Informations forums :
    Inscription : Avril 2009
    Messages : 191
    Points : 236
    Points
    236
    Par défaut
    Salut tamtit

    Voila un VI avec la fonction "Détection de pics" (Traitement du signal >> Operations sur les signaux >> Detection de pics).

    N'oublis pas de mettre le post si c'est ok

    A+
    Fichiers attachés Fichiers attachés
    Windows 10 Pro 64bits & UNIX Arch Linux
    LabVIEW 2018 32bits / 64bits
    LabVIEW 2017 32bits / 64bits


    "Gott würfelt nicht"- Albert Einstein

  3. #3
    Futur Membre du Club
    Inscrit en
    Février 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Bonjour Eaglewatch,

    Merci pour ta réponse. Malheureusement elle ne répond pas totalement à ma problématique:

    1 - Je voulais détecter un passage par 0 car au final, mon programme devra analyser un signal qui risque d'être bruité. Il me parait donc plus sûr de compter les fronts montants plutôt que les pics (Les pics risquent d'être trop nomreux; un système d'hystérisis sur le passage à 0 me permettra de m'affranchir du problème de bruit)
    2 - Je souhaite que mon programme analyse un signal sinusoidal en continue. A final, il devra analyser la tension qui sortira d'un capteur de position et compter le nombre de cycles réaliser par le capteur de position. Ton VI me semble être "statique".
    3 - Quelle est la limite qui empêche mon programme initial de fonctionner correctement? J'imagine que je n'utilise pas les fonctions les plus optimales de Labview.

    Au final, lorsque je réaliserai l'acquisitioin, je voudrai importer mon VI dans SignalExpress pour qu'il soit capable de compter le nombre de cycle réaliser sur une entrée de ma carte PXI-6229.

    Merci pour votre aide,
    Thibault

  4. #4
    Membre actif Avatar de eaglewatch
    Homme Profil pro
    Chercheur
    Inscrit en
    Avril 2009
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Chercheur

    Informations forums :
    Inscription : Avril 2009
    Messages : 191
    Points : 236
    Points
    236
    Par défaut
    Est ce que la fonction "Détection de seuil" te conviendrais ?

    Traitement du signal >> Opérations sur les signaux >> Détecteur de seuil
    Windows 10 Pro 64bits & UNIX Arch Linux
    LabVIEW 2018 32bits / 64bits
    LabVIEW 2017 32bits / 64bits


    "Gott würfelt nicht"- Albert Einstein

  5. #5
    Futur Membre du Club
    Inscrit en
    Février 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    Il me semble que c'est la fonction que j'utilise. J'ai pris le bloc suivant:
    Express >> Signal manipulation >> Trigger and Gate.
    P.S. j'ai Labview 2011 en Anglais.

    Lorsque le bloc détecte un front montant, il me délivre un logical=1 que j'utilise pour incrémenter mon compteur. Tout fonctionne correctement sauf lorsque la fréquence est supérieure à 10 Hz.

    Eaglewatch, as-tu essayer de faire tourner mon programme? As-tu le même problème?

    Merci pour ton aide,
    Thibault

  6. #6
    Membre actif Avatar de eaglewatch
    Homme Profil pro
    Chercheur
    Inscrit en
    Avril 2009
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Chercheur

    Informations forums :
    Inscription : Avril 2009
    Messages : 191
    Points : 236
    Points
    236
    Par défaut
    Je n'ai pas pu ouvrir ton VI car moi j'ai Labview 10.0 et non pas la version 11.0.
    Donc je ne sais pas si j'ai le même problème que toi. Si tu veux, tu peux enregistrer ton VI en version précédente et le poster sur le forum; je regarderai.

    La fonction que je te parle n'est pas un VI express. Ce n'est pas la même que tu utilise.
    Elle se trouve dans : Traitement du signal >> Opérations sur les signaux >> Détecteur de seuil
    Windows 10 Pro 64bits & UNIX Arch Linux
    LabVIEW 2018 32bits / 64bits
    LabVIEW 2017 32bits / 64bits


    "Gott würfelt nicht"- Albert Einstein

  7. #7
    Futur Membre du Club
    Inscrit en
    Février 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    J'ai enfin trouvé la fonction dont tu parles. Mais je ne pense pas que le problème vienne d'elle. Je pense que mon problème vient
    - Soit du fait que je n'arrive pas à correctement incrémenter ma variable. Je pense qu'il faudrait que j'utilise les "shift register" mais je n'ai pas réussi à le faire fonctionner.
    - Soit du fait que je n'utilise pas le correct générateur de Sine wave.

    La fonction "Trigger and Gate" que j'utilise arrive bien à détecter les passages à 0.

    J'ai joint à ce message mon VI enregistré en Labview 10.0.

    Merci,
    Thibault
    Fichiers attachés Fichiers attachés

  8. #8
    Futur Membre du Club
    Inscrit en
    Février 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Help!
    J'ai l'impression que je n'utilise pas la bonne architecture ...

  9. #9
    Membre averti
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Avril 2010
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes

    Informations forums :
    Inscription : Avril 2010
    Messages : 210
    Points : 338
    Points
    338
    Par défaut
    Salut,

    Voici le programme à base du VI "Détecteur de seuil" (qui je pense fonctionne : idée d'EagleWatch). A VÉRIFIER (j'ai seulement vérifié que le compteur avance plus vite à 100Hz qu'a 10Hz !!)

    Le VI que tu utilises ne détecte qu'une seule montée alors qu'il peut en avoir plus dans le package de données que tu lui envois, d'où le problème de comptage de fronts.

    Bon courage pour la suite.

    Losaque
    Fichiers attachés Fichiers attachés

  10. #10
    Futur Membre du Club
    Inscrit en
    Février 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    Merci beaucoup, c'est effectivement ce que je cherchais.
    J'ai encore des progrès à faire sur Labview.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 04/04/2013, 21h02
  2. Détection front montant sur un booléen
    Par Spyro29 dans le forum LabVIEW
    Réponses: 2
    Dernier message: 11/05/2012, 11h21
  3. Réponses: 1
    Dernier message: 02/04/2012, 08h57
  4. Comment compter les cases cochées sur une page ?
    Par Paul Reed Smith dans le forum Débuter
    Réponses: 4
    Dernier message: 24/03/2011, 12h03
  5. front montant sur bit dans un mot
    Par Baxter67 dans le forum C++Builder
    Réponses: 0
    Dernier message: 23/01/2008, 23h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo