From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Discussions au sujet des autres produits NI

annuler
Affichage des résultats de 
Rechercher plutôt 
Vouliez-vous dire : 

Acquisition deux AI tensions NI DAQmx USB 6003

Bonjour à tous,

 

Je suis actuellement confronté à un problème, je souhaite lire en simultané deux entrées analogiques sur mon boitier d'acquisition configurées en tension. J'ai trouvé des topics similaires mais ne répondant pas à ma problématique.

 

Ma première voie lit un signal de commande entre 2 et 12V (j'ai créé au préalable une échelle personnalisée pour pouvoir décaler mes niveaux de tension). C'est un signal PWM à une fréquence de 1kHz, je souhaitais faire une acquisition de 100 points à une fréquence de 100kHz mais je suis limité à 50kHz lorsque je lis une seconde voie analogique.

 

Ma seconde voie est un signal sinusoïdale -1V / 1V qui est le reflet d'un sinus 230V. Je n'ai pas besoin d'autant de point que pour le précédent, je souhaiterai réaliser une acquisition de 10 points à une fréquence de 1kHz

 

received_10214887309200003.jpeg

Vous pouvez voir les deux courbes sur l'image ci-dessus.

Mon champ PWM d'une fréquence de 1kHz à dans un premier temps une tension max de 9V. A la suite d'une commande, cette tension max chute à 6V. Mon système détecte ce changement d'état et ferme un contacteur générer un sinus 230V.

 

Pour réaliser cette tâche, je procède ainsi:

Capture.PNG

- J'initialise mes variables

- Je configure la taille de mon buffer; je démarre un chronomètre qui calcule le temps écoulé; et je pilote une sortie numérique pour faire varier mon champ PWM

- Je fais une acquisition de mon entrée analogique "PWM droit" pendant 10sec et j'insère les éléments dans un tableau; puis je pilote à nouveau ma sortie numérique pour faire varier mon PWM

 

Ce processus fonctionne pour une voie "PWM droit", je souhaite alors intégrer ma voie "L1 droit". Avez-vous une idée de comment je pourrai faire ? 

Mon objectif est de comparer en fonction des valeurs de mes deux tableaux le temps écoulé entre deux instants (PWM droit = 6V et L1 droit différent de 0)

 

Merci par avance et j'espère avoir été suffisamment précis dans mes explications

 

Gabriel Leroy 

0 Compliments
Message 1 sur 2
2 696 Visites

Bonjour,

 

J'ai d'abord quelques remarques concernant votre code :

 

 - ça ne sert à rien d'utiliser le buffer pour cette acquisition car quand vous configurez la fréquence, qui est de 1kHz dans le cas de votre application, le buffer est configuré automatiquement.

 - N'utilisez pas d'indicateur pour écrire. Les commandes 9V 6V etc doivent être en "commande" et pas en "indicateur"

 - Il est conseillé d'utiliser une machine à état plutôt que des structures séquences.

 - Il est aussi conseillé de faire la gestion d'erreur.

 - Il serait plus facile pour vous d'utiliser des voies physiques (à l'entré de "DAQmx - Créer une voie") que de créer plusieurs tâches.

 

Vous pouvez vous référer à l'exemple en pièce jointe pour faire l'acquisition de deux Analog Inputs avec une seule tâche, que vous adapterez à votre application.

 

Cordialement,

0 Compliments
Message 2 sur 2
2 621 Visites