le 05-13-2019 06:56 AM
Bonjour,
j'utilise une carte NI USB 6212 16 bits (http://www.ni.com/fr-fr/support/model.usb-6212.html) me permettant de générer des signaux "propres" jusqu'à 25kHz car elle à une fréquence d'échantillonnage de 250kHz, elle permet de faire des acquisitions jusqu'à 400kHz (40kHz "propre" pour des signaux périodiques).
Mon problème est le suivant :
Je souhaite générer deux signaux sinusoïdaux de même fréquence appelés V et Vref sur les voies AO0 et AO1 et en même temps faire une mesure différentielle qui correspond à V - Vref sur la voie AI0 de la carte. Cette mesure me permettra ensuite d'asservir à chaque itération l'amplitude de la tension V afin que V - Vref = 0.
J'ai pendant plusieurs jours cherché, regardé des exemples et des idées que je trouvais sur le forum ce qui m'a permis de trouver un programme qui me permet de générer deux sinus et d'en acquérir la différence (sans utiliser l'assistant DAQmx) mais cela ne résout pas le problème.
En effet, le programme me permet de générer et de lire mais comme seule la lecture est dans la boucle while je n'ai pas moyen d'asservir la génération (elle ne prend en compte que les conditions initiales et ne s'actualise pas), j'ai essayé de la mettre dans la boucle, en vain je me retrouve avec des erreurs de tâche déjà en cours d’exécution...
De plus, je n'arrive pas à utiliser l'horloge d'échantillonnage de ma carte j'utilise ce qui est appelé la OnBoardClock (je pense que c'est celle du PC) en tant que source de mon horloge, dès que j'utilise d'autres voies comme les PFI, AO0SampleClock j'ai des erreurs lorsque j'arrête le programme et en lecture j'ai 0 ou bien aucun signal, j'utilise pour l'instant 250kHz pour la génération et la lecture. Pour finir, j'utilise un Trigger qui est je pense censé stabiliser ma mesure comme sur un oscilloscope mais cela ne fonctionne pas également surement à cause des autres problèmes cités auparavant. N'hésitez pas à me demander si je n'ai pas été assez clair/précis.
Je vous transmets mon VI en pièce jointe et je suis ouvert à toutes suggestions.
Merci d'avance,
NC
Résolu ! Accéder à la solution.
le 06-04-2019 09:49 AM
Depuis j'ai trouvé comment asservir le système mais c'est un asservissement très lent pour ceux qui sont intéressés par la potentielle suite de la discussion et mon VI : https://forums.ni.com/t5/Discussions-au-sujet-de-NI/Optimiser-la-vitesse-d-%C3%A9xecution-de-boucles...
le 09-18-2019 03:06 PM
Bonjour, as tu essayé les files d'attente avec la structure producteur - consommateur...? Au pire avec un producteur- double consommateur