Générateur de sinus à fréquence variable

Bonjour à tous,
Comme le titre l'indique, je cherche à mettre en oeuvre un générateur de tension sinusoidale à fréquence variable. J'ai actuellement réussi un créer une partie de mes attentes, c'est à dire que je génère bien une tension sinusoidale variant d'une fréquence F1 à une fréquence F2 dans un temps imparti. Cependant j'aimerai, une fois ma fréquence arrivée à ma valeur F2 décrémenter vers ma fréquence F1 . ( F1-F2-F1-F2 etc selon le nombre de cycle que je souhaite réaliser .)
Je vous joint le Vi que j'ai réalisé, Pour ma part je pense que c'est au niveau du bloc "chirp" que la modification doit-etre réalisée mais je après diverses tantatives je n'y arrive point..
Cordialement
Pièces jointes :
test avec DAQ assistant 2.vi ‏50 KB
Chirp.png ‏1320 KB

Bonjour Geoff54,
Merci d'avoir posté sur le forum NI.
Je ne suis pas sur d'avoir bien compris, votre signal est-il simplement un générateur sinusoïsale dont l'amplitude décrémente en gardant constant l'offset ou votre signal doit il avoir la même forme que celui dans le VI ci joint?
Pourriez vous éventuellement nous renvoyer votre projet (il manque une dépendance).
Cordialement.
P Denis
National Instruments
Pierre_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;}
LabVIEW Tour
Journées Techniques dans 10 villes en France, du 4 au 20 novembre 2014
Pièces jointes :
test.zip ‏12 KB

Similar Messages

  • Sinus a fréquence variable

    Bonjour à tous,
    Je cherche à générer un signal sinusoidale à fréquence variable à partir du FPGA d'un cRio, mais rien n'y fais, le vi "Sine Wave Generator" ne marche pas...
    Quelqu'un connaitrait-il une alternantive à ce VI?
    Cordialement,
    Nathan
    Résolu !
    Accéder à la solution.

    Ah mince j'avais oublier ce post ^^
    Au final j'ai résolu mon probleme, je ne sais pas pourquoi ca ne marchait pas mais j'ai trouvé une alternative qui fonctionne à l'aide du VI Générateur de fonction élémentaire disponible dans la palette génération de waveform.
    A bientot
    Nathan

  • Acquisition fréquence variable et basse fréquence

    Bonjour,
    Je suis débutant en LV et dois mesurer la vitesse de rotation d'un moteur qui ralenti. Pour cela, un capteur de vitesse
    me délivre un signal traité par une carte électronique. Un signal carré est issu de cette carte
    dont la fréquence est image de la vitesse de rotation du moteur (160 Hz => 1600 tr/min et 0 Hz => 0 tr/min).
    La carte électronique apporte quelque fluctuation de fréquence, j'utilise donc deux compteur large gamme
    pour mesurer la fréquence.
    Mon problème est le suivant:
    Mon objectif est d'avoir en "temps réel" ( juste une indication, pas de "vrai" temps réel)
    sur ma face avant la vitesse de ralentissement de mon moteur. Cela fonctionne lorsque celui ci tourne
    jusqu'à 150 tr/min environ (15 Hz) en dessous mon VI bloque et je viens même dépasser le time out fixé lors
    de l'acquisition. Il faudrai au moins que j'observe le ralentissement jusqu'à 10 tr/min.
    Si quelqu'un a une idée pour pallier ce problème.
    Par avance merci pour votre aide
    Vincent V.
    Pièces jointes :
    Ralentissement.vi ‏83 KB

    C'est toujours le même soucis quand on a (le grand plaisir) de rencontrer un débutant : 
    1) un Block Diagramme qui fait plusieurs écrans
    2) des dizaines de variables locales partout, partout 
    3) ... bravo !!!! ... tu es passé a côté de la 3eme chose qui caractérise un débutant .... les structures séquences    il n'y en a pas (ouf)
    Pourquoi utiliser toutes ces variables locales ???
    ... alors que tu disposes sur le Diagramme de toutes les informations .
    Pourquoi ne cables-tu pas directement sur le terminal correspondant ? (au llieu de RE-lire l'info via une variable locale)
    Je ne vois aucune gestion de l'erreur sur ton Diagramme.
    Tu as plusieurs noeuds de propriété "de réinitialisation" ... ces noeuds sont flottant !!!
    Qui te dis que cette "réinitialisation" se fera en début d'exécution et pas à la fin ?
    Avec labview, le séquencement du code se fait via le "flux de données" .... sans flux de données l'ordre d'exécution est inconnu.
    Cabler les entrées/sorties d'erreur permet d'établir un flux de données.
    La première chose :
    réduire ton code à UN écran (au passage, aligne, fait "du propre")
    supprime tes variables locales.
    crée un flux de données pour tes noeuds de propriété.

  • Lire une fréquence variable, parfois nulle

    Bonjour,
    Je voudrais lire une fréquence avec DAQmx, sur une carte PCI 6624 (compteurs).
    J'arrive à le faire simplement avec le DAQ Express, mais le problème est que cette fréquence varie au cours du temps, et peut, dans certains cas, être nulle. Quand elle est nulle, j'ai une erreur comme quoi le timeout est dépassé.
    Comment puis-je faire pour résoudre ce problème ? Avec les noeuds de propriété ?
    Je voudrais pouvoir lire la fréquence en permanence, et savoir quand elle est nulle, sans avoir d'erreur...
    Merci d'avance.

    Reliez le VI que j'avais posté ici  à la sortie du cluster d'erreur de votre VI Express en définissant son entrée Erreur à annuler selon l'erreur en cas de fréquence nulle (-200474 si je ne m'abuse). Alternativement, le même résultat peut être obtenu en utilisant General Error Handler.vi en définissant ses entrées de la manière suivante :
    exception action : cancel error on match
    exception code : code de l'erreur à ignorer
    La capture d'écran ci-dessous illuste les deux variantes :
    Donnez-moi des nouvelles si le VI Express devait tout de même afficher une boîte de dialogue avec l'erreur et je vous indiquerai alors les opérations suivantes à réaliser.
    Message Edité par JB le 04-07-2008 10:11 AM
    Attachments:
    Example_VI_BD2.png ‏4 KB

  • TestStand : génération automatique de steps et problème de référence VeriStand

    Bonjour,
    je développe actuellement un générateur automatique de séquences TestStand en LabVIEW.
    Certains de mes steps devant s'interfacer avec VeriStand, j'ai donc créé un premier step codé en LabVIEW qui se connecte à VeriStand et qui stocke la référence obtenue dans une variable TS de type Object.
    Le problème vient lorsque je souhaite transmettre cette référence à d'autres steps LabVIEW qui doivent interagir avec VeriStand. En effet, j'ai l'erreur suivante qui apparaît dans TS lorsque j'ouvre la séquence que j'ai généré :
    Le problème disparaît lorsque je clique sur le bouton "Reload VI prototype".
    J'ai constaté que ce problème n'apparaissaît qu'avec les steps LabVIEW qui nécessitent une référence vers VeriStand sur leur connecteur (que ce soit en direct sur le connecteur ou via un cluster).
    Une de mes hypothèses serait que cela vient du fait que ma référence vers VS n'a pas de valeur par défaut.
    Qu'en pensez vous ?
    Benoît

    Bonjour Benoît,
    Avez-vous bien en sortie de votre VI une sortie de type référence ?
    Si oui l'envoyez-vous bien aux step suivant ?
    Voici deux liens qui vous permettrons de simplifier votre utilisation. Il existe des steps VeriStand créés spécialement pour faciliter leurs utilisation.
    https://decibel.ni.com/content/docs/DOC-40123
    https://decibel.ni.com/content/docs/DOC-25218
    Cordialement,
    Alexis JUBIN

  • Parallélisme FPGA - Génération / Echantillonnage

    Bonjour à tous,
    Je travail actuellement sur une application sensé générér un signal sinusoïdale à fréquence variable, qui sera alors envoyé dans un procédé de commande. Cette même application doit alors échantillonnée la sortie de ce procédé.
    Les deux partie marche parfaitement séparement, mais une fois ensemble, je constate des sauts sur l'oscilloscope du sinus généré ainsi que sur l'échantillonnage...
    J'ai essayer de jouer sur les fréquences d'échantillonnage, mais rien n'y fais...
    Quelqu'un aurait une idée de où le probleme peut venir?
    Cordialement,
    Nathan
    P.S.: Vous trouverez en piece jointes mes codes, c'est peut etre plus pratique pour dépanner
    Résolu !
    Accéder à la solution.
    Pièces jointes :
    Regul Num.zip ‏389 KB

    En général c'est une jolie preuve par 3 selon la profondeur de la FIFO, la fréquence d'acquisition FPGA (ou génération), et le temps de cycle côté RT.
    Exemple : si j'acquiers dans le FPGA 1 échantillon toutes les 10µS, et je l'envoie dans ma FIFO DMA, côté RT je dois faire en sorte de lire 1000 éléments toutes les 10ms (arbitrairement) (à condition d'avoir une FIFO FPGA suffisamment grande pour qu'elle envoie les données vers le controleur au fil de l'eau sans en perdre).
    Dans la pratique, pour lire ces 1000 éléments, il y a plusieurs méthodes, l'essentiel est de ne pas perdre de données, de ne pas avoir un CPU à 100% et de ne pas laisser les FIFOs se remplir.
    Une illustration complète dans le classique cRIO Dev Guide :
    - http://www.ni.com/compactriodevguide/f/
    La leçon 3 contient notamment un exemple.
    --Eric
    Eric M. - Application Engineering Specialist
    Certified LabVIEW Architect
    Certified LabWindows™/CVI Developer

  • DAQmx : Synchronisation de deux compteurs

    Bonjour,
    Je commence à travailler avec DAQmx et je tombe sur un os. De multiples recherches un peu partout n'ayant pas résolu mon problème (pourtant simple), je me décide à envoyer un message sur ce forum.
    J'ai un boîtier USB-6212 et je souhaite générer deux trains d'impulsions (en fait, une horloge et une impulsion de fréquence variable). L'impulsion a une durée égale à une demie période d'horloge et doit impérativement avoir son front montant alors que l'horloge est à son état bas.
    Pour cela, je pensais utiliser les deux compteurs ctr0 et ctr1. J'arrive parfaitement à générer l'horloge et l'impulsion, mais seulement en mode de cadencement "Implicite (compteur)" et évidemment, elles ne sont pas synchronisées entre elles. Quand j'essaye de passer en mode "Horloge d'échantillonage", j'ai droit à deux erreurs selon le cas: l'une qui me dit que je n'ai pas le droit d'utiliser le mode "échantillons continus" et que je dois utiliser "point à point", et l'autre qui me dit que "point à point" n'est pas supporté.
    Connaissez-vous un moyen de contourner le problème ?
    Je joins mon vi (qui ne marche pas...).
    Merci de votre aide et bonne soirée !
    JB
    Pièces jointes :
    Essai_Synch.vi ‏29 KB

    Bonjour et merci de ta réponse.
    Je ne suis pas sûr de bien comprendre comment faire ce que tu dis. DAQmx a encore beaucoup de zones d'ombres pour moi... 
    Dans le vi joint, j'ai essayer de faire ce que tu dis. Il fonctionne, mais les deux pulses ne sont pas synchrones.
    Est-ce que STP tu pourrais le regarder rapidement et me dire si c'est bien ce à quoi tu pensais ?
    Merci beaucoup !
    JB
    Pièces jointes :
    Essai_Sync_3.vi ‏25 KB

  • Erreur de calcul amplitude FFT à f = 0Hz

    Avec l'objet sousMesuresSpectrales [subSpectralMeasurements.vi] de la librairie LabView, sous LabVIEW7.1\vi.llb\express\express analysis\SpectralBlock.llb, je constate un problème de calcul sur la FFT pour fréquence = 0 Hz en amplitude.
    Dans mon application, j'ai exporté ce VI express pour n'utiliser que certaines de ses fonctionnalités, en autres propriétés : "Paramètres du signal" pour afficher sa FFT.
    Normalement, à la fréquence = 0Hz, l'amplitude max et efficace doivent être identiques et correspondre à la composante continue i.e DC value. Ce résultat n'est pas observé. J'observe le rapport racine de 2 habituel pour une valeur pic ou RMS à f = 0Hz.

    A présent , je réussis à mesurer mon accélération, obtenir le déplacement et ma vitesse ( pour tenir compte du gabari ) et je réalise un singnal sinusoidale de fréquence variable ! Dois-je utiliser la fonction PID pour mon asservissement ?
    Je ne sais également pas comment tenir compte des points de cassures de mon "gabari" présent en pièce jointe auparavant ? Help

  • Comment desactiver la création d'un compte mail en imap, et le configurer en pop pour ne pas perdre les mails du serveur

    Bonjour,
    pour parametrer un compte mail, le choix pop/imap ne s'offre plus et le compte mail ainsi créé se fait automatiquement en imap.
    Commet faire pour eviter que lorsque j'efface un message de mon iphone il soit effacé aussi du serveur ?
    il n'y a plus d'option effacer du serveur : jamais  comme sur les versions precedentes.
    merci d'avance si qq a une solution

    Bonjour Florent_A,
    Merci déja de t'interesser à mon sujet, pour répondre à ta question la tempo de 50 ms dans la boucle for n'a pas d'intéret particulier je l'ai supprimé, cependant le problème est toujours le même.
    certe partie consiste à générer un tableau d'amplitude et de fréquence à partir des points de cassures définis auparavant.
    Je résume : 
    1°) définition du profilé ( points de cassures principaux)
    2°) Bloc Sweep sine ( construit un tableau pour générer les amplitude et fréquences intermédiaires entre ces points de cassures, plus le paramètre "fréquency line" est important plus le nombre de points générés sont conséquents)
    Mon système est assez simple voici ma boucle de régulation : 
    Je réalise un asservissement, j'ai une génération d'un signal sinusoidale de fréquence variable et une mesure d'amplitude à l'aide d'un accéléromètre.
    cordialement

  • Mon ipod s'arrete au bout de quelques secondes de lecture, avec la mise en veille de l'ecran. que faire pour que la musique continue?

    Bonjour,
    J'ai changé d'ipod à Noel, et j'ai reçu comme cadeau le nouvel ipod nano 6è generation.
    Il fonctionnait trés bien jusque hier quand il s'est mis à s'arrêter au bout de quelques secondes avec la mise en veille de l'écran!
    Que faut-il faire pour que mon ipod fasse ce que j'en attends : lire de la musique en continu?
    Merci de m'aider car je ne sais pas quoi faire!
    J'ai déjà essayé les commandes de réglage de la veille, sans véritable succès!
    J'ai réinstallé le logiciel sur itune, restauré puis synchronisé, aucune évolution...
    Rien n'y fait, je suis bloqué avec cette panne!
    D'avance, merci!

    A présent , je réussis à mesurer mon accélération, obtenir le déplacement et ma vitesse ( pour tenir compte du gabari ) et je réalise un singnal sinusoidale de fréquence variable ! Dois-je utiliser la fonction PID pour mon asservissement ?
    Je ne sais également pas comment tenir compte des points de cassures de mon "gabari" présent en pièce jointe auparavant ? Help

  • Nombres d'échantillons

    Bonjour,
    je viens vers vous car je bloque sur une question d'échantillonage..
    Je dispose d'un boitier NI USB 6211 ( 16 bit , 250 kS/s ) , j'utiliserai son entrée analogique et sa sortie analogique aux mêmes fréquences . La fréquence maximale que je serai amené à mesurée est de 15 Hz et au maximum 7500 Hz.
    Mon entrée analogique récéptionne une accélération et ma sortie analogique génère une tension sinusoidale à fréquence variable.
    Quelle formule concrète permet de définir le nombre d'échantillons à prélever ?
    Cordialement
    Résolu !
    Accéder à la solution.

    Bonjour Geof,
    Je principe est d'utiliser le théorème de Nyquist. Celui ci indique que pour retrouver être capable de récupérer la fréquence de ton signal, il faut échantillonner à une fréquence égale au minimum à deux fois la fréquence la plus élevée de ton signal.
    >> Sampling Theorem
    >> Bandwidth, Sample Rate, and Nyquist Theorem
    Cela permet de récupérer la bonne fréquence/période de ton signal. Pour récupérer la bonne forme du signal, il faudra augmenter cette proportion. En principe, il est conseillé d'échantillonnée à une fréquence de 5 à 10 fois la fréquence max de ton signal.
    Cela répond-il à ta question?
    Bonne journée,
    M-Junior

  • Comparaison message en boucle

    salut les amis!
    alors je voulais faire un teste toute simple, ce teste c'est comparer deux réel! et faire un test si la deuxieme valeur depasse la premiere un messgae s'affiche! et ceci en boucle puisque un des réel est variable!!
    j'ai fait comme indique l'image ci-joint!  et ca n'a pas marché!
    des suggéstions? et merci  
    Pièces jointes :
    test.PNG ‏7 KB

    oui, plus "propre" ... mais la propreté n'est pas la finalité de se passer des "locales".
    Une variable locale est un "objet" qui se trouve "en dehors" du flux de données.
    Tu ne maîtrises pas "le moment" où la valeur du Contrôle sera effectivement dupliquée dans sa variable locale correspondante.
    La variable locale est-elle "à jour", ne l'est-elle pas ? ... tu ne peux avoir aucune certitude absolue à ce sujet.
    La seule façon d'être certain, est d'encapsuler la variable locale dans une structure séquence, de façon à forcer cette locale a se trouver "dans" le flux.
    Ici, le code est simple ... mais si tu lis et écris dans une locale à des endroits différents, vois depuis des process différents (boucles différentes),
    là ... tu auras des soucis de " race condition ". 
    Labview est un langage qui est basé sur le "flux de données". Je suis contre tous les objets qui "brisent" ou "forcent" ce flux ... structure séquence, variable locale ...
    Eventuellement, un cas ou les variables locales peuvent être utilisées (en écriture), est le cas de l'initialisation avant exécution.
    et bien entendu ... dans une structure séquence et dans le flux. Jamais de "locale flotante".
    Les locales sont des objets "exotiques", qu'il faut utiliser le moins possible et toujours avec beaucoup de réflexion.

  • Bonjour,j ai un mba et je souhaite liberer de la place sur le disque ssd ,je dispose d un disque externe de 1T ,pouvez vous m indiquer la procedure pour deplacer et donc acceder a la bibliotheque Itunes et Iphotos a partir du Mba sur le disque externe

    Bonjour j ai un MBA et je souhaite liberer de la place sur SSD et j ai donc acquis un disque dur externe de 1T .
    Quelle est la procedure a suivre pour deplacer la bibliotheque ITUNES et IPHOTOS sur le disque externe et y acceder
    merci d vance
    jmp

    A présent , je réussis à mesurer mon accélération, obtenir le déplacement et ma vitesse ( pour tenir compte du gabari ) et je réalise un singnal sinusoidale de fréquence variable ! Dois-je utiliser la fonction PID pour mon asservissement ?
    Je ne sais également pas comment tenir compte des points de cassures de mon "gabari" présent en pièce jointe auparavant ? Help

  • Letrack pad fonctionne  mais  pas  la souris  ou tout au  moins avec retard  et en insistant par appui prolonge  sur  le  carre

    depuis 15 jours je n'arrives plus  à utiliser  la souris liée au Trackpad . Le curseur  se  déplace  mais  lors d'appui sur  le carré  celui -ci dysfonctionne et  n'ouvre  pas  les applications  ou  bien avec retard
    La souris  externe USB  fonctionne   parfaitement
    QSue  dois  je  faire 
    J'ai procédé à un controle  avec CD d'installation et  remise  à jour   après  réparation et réinstallation complète sans résultats
    Est  ce  une  panne  électrique  ou bien  Logicielle ?

    A présent , je réussis à mesurer mon accélération, obtenir le déplacement et ma vitesse ( pour tenir compte du gabari ) et je réalise un singnal sinusoidale de fréquence variable ! Dois-je utiliser la fonction PID pour mon asservissement ?
    Je ne sais également pas comment tenir compte des points de cassures de mon "gabari" présent en pièce jointe auparavant ? Help

  • Fréquence maximal générée par sbrio-9631 et carte de sorties analogiques NI-9263

    Bonjour,
    Je suis relativement nouveau au concept de programmation LabView. Voici donc mon problème. J'essai de générer une onde sinus variable en fréquence de 100 à 500 kHz. Je suis partie d'un exemple fourni avec le kit d'évaluation SBRIO NI9631 que j'ai modifié selon mes besoins particuliers. La partie du FPGA fait appel à un générateur d'onde sinus dans une boucle. J'obtiens une belle forme sinusoïdal que j'envoie conjointement avec un autre signal dans une pile FIFO pour traitement ultérieur dans le HOST. Tout va bien jusque-là mais, lorsque ma demande (en periodes/tick) dépasse 10kHz, la fréquence actuelle commence à diminuer pour atteindre 0Hz pendant que la demande de fréquence est de +/-20kHz (mesure prise à l'aide d'un oscilloscope extérieur) et ainsi-de-suite pour toute la gamme de fréquence demandée sans jamais dépasser 10kHz. Est-ce la limitation du kit d'évaluation? Quelqu'un a une idée?
    Pièces jointes :
    AO_FPGA.jpg ‏257 KB

    Bonjour,
    Lorsque vous dépassez 10kHz, la génération sur AO0 et AO1 se passe bien ? (si vous mesurez à l'oscilloscope).
    J'ai modifié votre code coté RT, car vous n'aviez pas spécifié de buffer pour les FIFOs DMA coté RT. De plus, il ne faut pas que vous preniez 1024 points à chaque tour de boucle, sinon la FIFO va être pleine.
    Coté FPGA, j'ai modifié le remplissage de la FIFO DMA. Pouvez vous vérifier que vous n'avez pas de TimeOut ? Si vous avez un TimeOut, vous essayez d'écrire dans une FIFO pleine, et vous perdez des points.
    Vous trouverez le code en pièce jointe. Dites moi si il y a du changement.
    Cordialement,
    PS: Je ne comprends pas à quoi sert le code pour attendre une IRQ coté RT, car vous ne générez pas d'IRQ.
    Benoit S. - Field Sales Engineer
    Certified LabVIEW Developer
    Certified TestStand 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
    Pièces jointes :
    Filter and DC-RMS.zip ‏883 KB

Maybe you are looking for

  • Nokia 5800 - the contact list doubles in size by d...

    Hello, I own a Nokia 5800, After updating firware from v11 to v20, i started facing a weird problem. from the home screen when i   press the contacts button, the contact list comes up as expected, but after about half a sec, all the contacts gets dou

  • Cannot pay bill! URGENT PLEASE READ!

    i cannot afford to pay my bill this month i was let go from my job 2 weeks before giving birth my employer lied about reason i was fired so i was denied unemployment for 7 weeks and now have to reapply ive exhausted all the money i had in my account

  • Oracle BI Apps questions, kindly help

    Hi All, I wanted to checkout the preconfigured reports that come with Oracle BI applications, for this i had download and installed OBIEE 10.1.3.4.1 ORacle BI Applications 7.9.5 Informatica PowerCenter 8.6.0 Oracle EBS R12, Question 1) I see that the

  • Sqlj TestInstallSQLJ.sqlj

    Trying to translate this sample code brougt the following error: unexpected error occurred... java.lang.NoSuchMethodError: sqlj.runtime.profile.ref.EntryInfoImpl.<init>(Ljava /lang/String;IIIILjava/lang/Object;[Lsqlj/runtime/profile/TypeInfo;[Lsqlj/r

  • Can I uninstall & then reinstall ff without losing bookmarks and passwords? If so, how?

    I made the mistake of changing permissions within page info on my fantasy football site. Was trying to get rid of an advertisement that covered areas of the page and prevented me from setting my weekly starting lineup. Rather than doing that, it has