Discussions au sujet des autres produits NI

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

carte analogique

Bonjour à tous;

J'aimerai bien comprendre ce que reçoit une carte de sortie analogique (ni 6353 type pcie) du PC

pour pouvoir générer des signaux  analogiques.

C'est à dire, je me demande s'il y a une loi qui à l'entrée reçoit des données binaires du PC et en sortie va correspondre une valeur de la tension.

Merci!

0 Compliments
Message 1 sur 4
2 906 Visites

Bonjour Zackzach,

 

Les cartes multifonctions du type de la 6353 citée dans ton message, disposent d'entrées et de sorties numériques et analogiques.

Si nous partons sur voies analogiques, il y a donc des entrées et des sorties, fonctionnant ainsi :

   - Les entrées sont converties par un ADC (Analog to Digital Converter) avant d'être lues par le PC

   - Les sorties sont converties par un DAC (Digital to Anaolog Converter) pour pouvoir être générées par la carte.

Ces convertisseurs sont le plus souvent sur 16 bits. Aussi, que ce soit dans le sens DAC ou ADC, le signal analogique est codé sur 16 bits.

 

Cela répond-il à ta question?

Bonne journée!

M-Junior

0 Compliments
Message 2 sur 4
2 877 Visites

Bonjour,

Tout d'abord, merci

En  effet, cela répond partiellement à ma question, j'aimerais avoir une correspondance entre le signal ou la commande exécutée à travers l'ordinateur et la réponse de la carte qui sera une valeur de tension analogique (cela dépend du type de codage, je pense oui, tu l'avais dit aussi)

Comme exemple:

commande binaire de l'ordinateur:00011010

valeur analogique à la sortie de la carte: 2.7V

et MERCI encore une fois.

0 Compliments
Message 3 sur 4
2 867 Visites

Bonjour,

 

Basiquement, il y a une relation entre la pleine échelle du convertisseur et la gamme considérée. Si la voie de génération est configurée en ±10V pour une résolution de 16 bits, on aurait en théorie

  • 0b1000000000000000 (-32768) pour -10V,
  • 0b0111111111111111 (32767) pour +10V,
  • environ 0b0010001010001111 (8847) pour 2.7V.

En pratique, ce n'est pas exactement ±10.00V, le système n'est pas pile poil linéaire, il y a des problématiques de calibration, etc...  Bref, ce niveau de détail n'est pas forcément intéressant, dans la mesure où c'est le driver DAQmx qui fait le job.

 

Pour l'avoir déjà fait, je sais que les fonctions avancées permettent, pour l'acquisition, de récupérer les échantillons bruts sortis du convertisseur (sur un I16, typiquement). Pour obtenir l'équivalent en tension (par exemple), il faut prendre en compte un jeu de coefficients qu'il est possible de relire depuis les nœuds de propriété de DAQmx. Cela me permettait à l'époque d'optimiser la quantité de donnée enregistrée dans un TDMS (2 octets par échantillon en I16 plutôt que 8 en double, empreinte disque réduite d'un facteur 4). Le driver est désormais capable de gérer cet enregistrement optimisé de lui même.

 

Je viens de regarder côté génération, il y a des instances Unscaled du VI DAQmx Write, qui doivent être utilisable selon le même principe.

 

Ceci dit, je ne vois pas bien l'intérêt de refaire ce que le driver DAQmx est capable de traiter tout seul comme un grand - et ce qu'il fait très bien ! Dans le principe, on configure une tache de génération, avec la gamme (±10V par exemple) qui va bien, une éventuelle mise à l'échelle, et ensuite on donne à DAQmx les échantillons à générer dans la grandeur configurée :

  • Ma voie est configurée en ±10V, je vais lui donner des tensions entre -10 et +10V;
  • Ma voie est configurée en ±5V, avec une échelle DAQmx qui me donne 1V pour 200Pa (exemple débile), je vais lui donner des pression en pascal (entre -1000Pa et 1000Pa), et DAQmx me génèrera la tension correspondante, dans la gamme ±5V;

Pourquoi faire plus compliqué ? Smiley clignant de l'œil

 

Cordialement,

0 Compliments
Message 4 sur 4
2 765 Visites